集成学习入门:组合弱模型变强模型

集成学习(Ensemble Learning)通过组合多个「弱模型」得到一个「强模型」,是表格数据竞赛中最常用的提分手段。核心思想很简单:三个臭皮匠顶个诸葛亮。

为什么集成有效

  • 不同模型会犯不同的错误,投票或平均可互相抵消。
  • 单个模型方差大时,平均能显著降低方差(Bagging)。
  • 单个模型偏差大时,串行纠错能逐步降低偏差(Boosting)。
  • 代价是训练与推理成本成倍上升。

Bagging:并行各练各的

  • 用自助采样(Bootstrap)生成多份略有差异的训练集,分别训练多个模型,再投票或平均。
  • 典型代表:随机森林(Random Forest),在决策树基础上加特征随机选择。
  • 特点:抗过拟合,训练可并行,适合高方差模型。

Boosting:串行纠正前一个

  • 逐个训练模型,后一个重点学习前一个的错误样本。
  • 典型代表:AdaBoost、GBDT、XGBoost、LightGBM、CatBoost。
  • 特点:精度高但对噪声敏感,训练串行、耗时更长。

Stacking:用元模型组合

  • 第一层多个不同模型各自预测,把预测结果作为特征,再训练一个元模型(第二层)综合。
  • 特点:灵活但更容易过拟合,需要交叉验证来生成第一层输出。

适用与注意

  • 表格数据竞赛中 XGBoost/LightGBM + 简单集成是标配。
  • 深度学习场景往往用「多模型平均」或「权重平均」,收益边际递减。
  • 先做好单模型再谈集成,集成救不了烂特征。

小结

集成学习是「组合优于个体」的典范:Bagging 降方差、Boosting 降偏差、Stacking 做融合。理解三类思路,就能在合适的场景里用对方法。

参考与延伸阅读

  • 周志华《机器学习》第 8 章「集成学习」(已核验)
  • 本站「特征工程入门」与「模型评估指标」教程
本文累计阅读