核心要点

  • Bagging:对数据有放回采样(bootstrap)并行训练多个弱模型,再投票/平均,主要降方差。

  • Boosting:串行训练,每个新模型聚焦前者的错误(残差或加权样本),逐步降偏差。

  • 代表:Bagging→随机森林(并行、抗过拟合、可并行加速);Boosting→GBDT/XGBoost(精度高、需调参防过拟合)。

  • 取舍:基模型易过拟合(高方差)用 Bagging;基模型欠拟合(高偏差)用 Boosting。

标准回答

Bagging(Bootstrap Aggregating)

对训练集做有放回采样得到多个子集,并行训练多个同类弱模型,分类用投票、回归用平均。各模型相互独立,聚合降低了方差,对训练集扰动更稳健。随机森林是代表,它在 Bagging 基础上再对特征随机采样,进一步去相关、抑制过拟合,且天然可并行。

Boosting

串行训练:每一轮根据前面模型的错误调整重点——AdaBoost 提高被分错样本的权重,GBDT 让新树去拟合当前的残差(负梯度)。模型逐步纠错,主要降低偏差,能把弱学习器提升为强学习器。代表有 GBDT、XGBoost、LightGBM,精度高但对噪声敏感、需控制树深/学习率/迭代数防过拟合。

核心差异

并行 vs 串行;样本等权采样 vs 关注难例;主攻降方差 vs 主攻降偏差。

常见误区

⚠️ 常见踩坑

别说「Boosting 一定比 Bagging 强」——Boosting 精度上限高但更易受噪声/异常值影响、调参更难、不易并行;Bagging 更稳健省心。两者优化目标不同(方差 vs 偏差),按基模型特性选择。

追问

追问 1随机森林相比普通 Bagging 多做了什么?

随机森林在 Bagging 的样本采样之外,每次分裂只从随机子集的特征中选最优分裂点。这进一步降低树之间的相关性,使平均后方差下降更明显、泛化更好。

追问 2GBDT 如何防止过拟合?

常用手段包括:限制树深和叶子数、调小学习率(shrinkage)并增加树数、行/列子采样、L1/L2 正则(XGBoost 内置),以及用验证集做早停。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。