单个模型难免有偏见,把许多模型的意见综合起来往往更准。集成学习就是这套“集体决策”的思路。本文区分并列投票与逐个纠偏两种流派,并解释为什么模型之间必须有差异,集成才真正有效。

核心要点

  • 集成学习把多个弱模型组合成强模型,前提是它们各有各的长处。
  • Bagging 让模型并行训练再投票,主要作用是降低波动与方差。
  • Boosting 让后一个模型重点弥补前一个的错误,主要降低偏差。

集体决策为什么更准

一群人各自猜罐子里有多少颗糖,把答案平均一下,结果常常比绝大多数个人的猜测更接近真实值。这不是巧合:每个人犯的错方向不同,平均之后误差会互相抵消。集成学习借用的就是这条朴素道理——把若干个模型的判断综合起来,往往比单个模型更稳更准。

不过有个前提:参与投票的模型不能一模一样。如果十个人想法完全相同,投票十次和投一次没有区别。所以集成方法都会刻意制造差异,比如让每个模型只看一部分数据、只用一部分特征,或者干脆用不同类型的模型混合。差异越大,平均之后的收益越明显。

两种流派:投票与补短

第一派是并行式装袋法,思路是各训各的。它从原始数据中有放回地抽样出多份稍有区别的训练集,各训一个模型,最后投票或平均。随机森林就是它的代表。因为每个模型只见过部分数据,个体波动被抵消,整体方差明显下降,特别适合单模型不稳定的情况。

第二派是串行式提升法,思路是接力。它先训一个模型,看看哪里做错了,然后让下一个模型重点照顾这些难啃的样本,如此接力下去。每个新模型都在补前人的短板,整体偏差不断降低。这条路线催生了性能极强的梯度提升树系列,代价是需要按顺序训练,难以完全并行。

多样性是集成的前提

两种流派看似相反,其实都在降低误差,只是切的部位不同:一个主要削方差,一个主要削偏差。实际选哪个要看模型本身的问题——如果单个模型已经很复杂、换批数据结果就跳,用并行投票;如果模型太简单、连训练集都拟合不好,用串行补错。

集成也有代价。模型数量上去之后,训练和推理成本成倍增加,最终产物也不再是一眼能看懂的规则,可解释性变差。此外,串行方法对噪声标签相当敏感,因为它的机制就是反复盯着难样本,而异常样本往往难得毫无道理。所以集成前先把数据清洗干净,通常比堆更多模型更有效。

常见问题

集成一定比单个模型好吗?

大多数情况下会好一些,但不是绝对。如果各个成员模型都犯了同样的系统性错误,投票只会把这个错误放大;数据噪声很多时,串行方法还可能被异常样本带偏。稳妥的做法是先确认集成确实带来提升,再考虑上线成本是否值得。

本文为 AI 科普内容,仅用于知识普及,不构成任何技术选型、投资或职业决策建议。