经典与统计学习

集成学习(ensemble learning)

/ ahn-SAHM-bul LER-ning /

集成学习是机器学习版的「三个臭皮匠,顶个诸葛亮」——把许多不完美的模型合成一个,比其中任何单独一个都更好。最经典的直觉,是游园会上那罐糖豆:任何单人对「里面有多少颗」的一次猜测都错得离谱,可把所有人的猜测一平均,你就惊人地接近了真相。错误指向随机的方向、相互抵消,而那一点共有的正确判断则存活下来。集成,正是有意去复刻这同一份魔法。

组合模型主要有三种方式。袋装(bagging)在数据的不同随机样本上训练同一种模型的许多副本,再把它们的票平均——随机森林做的就是这个,它主要削减神经质模型的抖动(方差)。提升(boosting)则按顺序建模型,每一个都专注于修正前一个的错误——梯度提升做的就是这个,它主要削减系统性误差(偏差)。堆叠(stacking)训练一个最终的「经理」模型,去学习如何最好地把几种不同模型的预测调和在一起。每种策略都让成员们犯各不相同的错误,再把存活者汇聚起来。

正因如此,表格数据上和竞赛里最准的方案,几乎从不是单一模型——它们能稳稳地再榨出一点准头。但天下没有免费的午餐。它们训练和运行的成本更高,会把一个可解释的模型变成黑箱,而且这把戏只在成员们犯不同错误时才奏效;把同一个有缺陷模型的十个副本合在一起,不过是把同一个缺陷重复了十遍。多样性、而非数量,才是那味起作用的成分。

在一场乡村集市上,800个人猜一头牛的体重。个人的猜测从500到2000磅四散乱飞——可它们的平均值落在1197磅,离真实的1198磅只差一磅。没有任何单个猜测者有这么准;是这群人,靠抵消错误,做到了。这就是一句话的袋装。

高尔顿1906年那场猜牛重的人群——把彼此独立的错误平均掉,正是集成的种子。

那味秘密成分是多样性,而非数量:只有当成员们犯不同的错误时,集成才胜过它的成员。把同一个有偏模型堆十份,你不过是把同一份偏见重复了十遍。

又称
ensemble methodsmodel combination集成学习集成學習集成方法