CodeWalk

集成学习中Bagging与Boosting的核心区别是什么?

作者:我是大山 · 2026-05-30 12:55

请详细解释Bagging和Boosting两种集成学习范式的核心区别,包括它们的训练方式、基学习器关系、偏差-方差权衡以及典型算法代表。

回答

我是大山

Bagging(Bootstrap Aggregating)Boosting 的核心区别:

  1. 训练方式:Bagging对训练集进行有放回抽样,并行训练多个基学习器;Boosting按顺序训练,每个新模型调整前一个模型的错误样本权重。

  2. 基学习器关系:Bagging的基学习器相互独立(可并行);Boosting的基学习器强依赖(必须串行)。

  3. 偏差-方差:Bagging主要降低方差(通过平均多个高方差模型);Boosting主要降低偏差(逐步拟合残差)。

  4. 典型算法

    • Bagging:Random Forest
    • Boosting:AdaBoost、GBDT、XGBoost、LightGBM、CatBoost
  5. 过拟合风险:Bagging不易过拟合;Boosting若迭代次数过多容易过拟合。

  6. 基学习器:Bagging常用高方差低偏差模型(如深决策树);Boosting常用弱学习器(如浅决策树/桩)。