集成学习是一类机器学习技术,将多个称为基学习器或估计器的模型组合成一个预测系统。集成模型不依赖单个拟合好的模型,而是通过投票、平均、加权求和或学习得到的组合规则来汇总各模型的输出。其目的通常是改善泛化(机器学习)能力或鲁棒性,但组合模型并不保证性能一定更好。集成模型既可以包含同一种学习方法训练出的多个模型,也可以包含由不同方法训练出的模型。(scikit-learn.org)
原理与统计基础
集成模型的有效性既取决于各成员的预测质量,也取决于它们所犯错误的多样性。如果所有成员都犯几乎相同的错误,将它们组合起来就很难带来优势。这种多样性可以来自不同的训练数据样本、特征子集、模型结构或随机化训练过程。随机森林理论明确将分类性能与单棵树的预测能力以及树之间的依赖程度联系起来。(stat.berkeley.edu)
取平均可以降低方差,因为不同预测中的波动会部分抵消。降低幅度受到成员之间相关关系的限制:加入高度相似的预测器,带来的收益会逐渐递减。这将集成学习与偏差-方差权衡联系起来。自助聚合主要针对模型的不稳定性,而序列式方法可以逐步构建表达能力更强的预测器。这些描述体现的是一般趋势,而非普遍适用的规则;实际效果取决于学习问题、模型类别和聚合方式。(doi.org)
基学习器不一定都是弱模型。充分生长的决策树可以成为平均型集成模型中的有效成员,而浅层树则常用于提升法。关键在于每个学习器如何为组合后的预测器作出贡献,而不只是它自身的准确率高低。(doi.org)
自助聚合与随机森林
自助聚合的英文名称 Bagging 是 bootstrap aggregating 的缩写,它在重采样得到的数据集上训练同一预测器的多个版本。在其经典形式中,自助采样从原始数据集中有放回地抽取观测样本。数值预测通过取平均进行汇总;分类预测则可以通过相对多数投票进行组合。利奥·布雷曼在 1996 年的论文中表明,自助聚合可以改善不稳定的学习方法;对于这类方法,训练数据的微小变化就会导致预测结果发生显著变化。(doi.org)
决策树学习尤其适合这种方法,因为数据变化时,拟合得到的树结构可能发生很大变化。随机森林通过限制每次分裂时考虑的候选特征,进一步引入随机性。这在保留有效预测能力的同时,降低了树之间的依赖程度。布雷曼在 2001 年提出的形式化描述建立了一个理论框架,将这些性质与随机森林的泛化误差联系起来。(stat.berkeley.edu)
自助采样还支持袋外评估。评估某个观测样本时,使用的是自助样本中未包含该观测样本的树,从而得到预测误差的内部估计。这种方式重复利用训练样本,无须为每一次评估划分单独拟合模型,但仍不能取代适当的外部评估。(stat.berkeley.edu)
提升法
提升法按顺序构建集成模型,每个新学习器都会利用当前集成模型提供的信息。AdaBoost通过调整观测样本的权重,让此前被误分类的样本得到更多重视,随后通过加权投票组合各学习器。约阿夫·弗罗因德和罗伯特·沙皮尔提出了这一方法的基础形式,相关研究于 1995 年以扩展摘要形式发表,并于 1997 年以期刊论文形式发表。(sciencedirect.com)
梯度提升将学习表述为对加性模型的逐阶段改进。每个新学习器都近似拟合所选损失函数相对于当前预测值的负梯度。对于平方误差回归,这相当于拟合残差。杰罗姆·弗里德曼在 2001 年的论文中发展了这一方法,将其用于回归和分类,使不同损失函数能够在统一框架下处理。(doi.org)
因此,提升法与函数空间中的数学优化密切相关。其表现取决于学习率、学习器的复杂度和阶段数量。收缩、子采样和早停法都可以用来控制模型复杂度。与独立训练的自助聚合成员不同,提升法的后续阶段依赖于前面的阶段,因此难以直接对整个序列中的各阶段进行并行训练。(scikit-learn.org)
投票、平均与堆叠
投票直接组合分类输出。硬投票选择得票总数最多的类别;软投票对预测的类别概率取平均,并选择得分最高的类别。通过设置权重,可以让某些成员拥有更大的影响力。对于数值预测,类似的做法是对模型输出取平均。这些方法可以组合原理不同的预测器,而无须另外学习一个组合模型。(scikit-learn.org)
堆叠又称堆叠泛化,与上述方法不同,它将基模型的预测作为输入,训练一个元模型。例如,可以用逻辑回归组合多个学习器的分类得分。元模型能够学习各模型输出之间的关系,而不是应用固定的投票规则。(scikit-learn.org)
训练这一第二层模型时需要格外谨慎。使用交叉验证时,可以为每个观测样本生成折外预测,即由拟合时未使用该样本的相应基模型作出的预测。这些预测用于训练元模型,随后可以利用全部可用训练数据重新拟合基学习器。如果改用样本内预测,则会带来较高的过拟合风险,并可能因数据泄漏(机器学习)而产生误导性的评估结果。(scikit-learn.org)
神经网络集成与评估
集成方法也可以组合人工神经网络。由于初始化和训练过程中的随机性,独立训练的网络可能产生不同的预测。深度集成对各网络的预测分布取平均,研究者已将其作为一种可扩展的不确定性估计方法进行研究。已发表的评估包括其在分布偏移下的表现,但不确定性估计的质量仍需通过实证检验,而不会仅因模型数量增加就自动得到保证。(arxiv.org)
集成模型的评估需要区分模型拟合、参数设置选择和最终性能测量。如果反复使用同一个测试集来选择集成权重或其他超参数,模型也可能对该测试集过拟合。交叉验证用于支持模型选择,而未被使用过的测试集则用于评估最终选定的系统。对于具有时间依赖关系或分组结构的观测样本,数据划分方法应保留这些结构,而不能假定所有观测样本都可以任意互换。(scikit-learn.org)