自助聚合(Bootstrap aggregating),通常称为装袋(bagging),是一种集成元算法,在机器学习中旨在提高分类和回归算法的稳定性与准确性。它能减少方差并有助于缓解过拟合。虽然装袋常应用于决策树方法,但它可用于任何类型的模型。它是更广泛的集成平均方法的一个特例,其中多个模型被组合以产生单一预测。
该技术由托马斯·迪特里希在1990年代引入,尽管“装袋”一词由迈克尔·乔丹在1994年的一篇论文中创造。此后,装袋已成为机器学习中的基础工具,特别是在随机森林和其他集成方法的发展中。
核心思想
装袋的核心思想是利用平均的力量。在训练数据的略微不同子集上训练的单个模型往往具有不相关的误差。通过平均其预测,这些误差相互抵消,从而产生更稳健和准确的最终模型。这对于不稳定算法尤其有益,因为训练数据中的微小变化可能导致学习模型的巨大变化。
装袋算法
给定大小为 \( n \) 的标准训练集 \( D \),装袋通过从 \( D \) 中有放回地均匀抽样,生成 \( m \) 个新训练集 \( D_i \),每个大小为 \( n' \)。此抽样过程称为自助法。当 \( n' = n \) 时,对于大的 \( n \),每个 \( D_i \) 预计包含来自 \( D \) 的约63.2%的唯一样本,其余为重复样本。此比例源自极限 \( 1 - 1/e \)。有放回抽样确保每个自助样本彼此独立,因为每个样本的选择不依赖于先前选择。
生成 \( m \) 个自助样本后,在每个样本上拟合 \( m \) 个模型。对于回归任务,最终预测是各个模型输出的平均值。对于分类任务,最终预测由投票决定,通常是多数投票。
关键术语:原始数据集、自助数据集和袋外数据集
在自助聚合中,相关数据集有三种类型:原始数据集、自助数据集和袋外数据集。原始数据集是给定的训练数据。自助数据集通过从原始数据集有放回地随机抽样创建,且与原始数据集大小相同。例如,如果原始数据集包含12个人,名为Emily、Jessie、George、Constantine、Lexi、Theodore、John、James、Rachel、Anthony、Ellie和Jamal,则一个自助样本可能包括James、Ellie、Constantine、Lexi、John、Constantine、Theodore、Constantine、Anthony、Lexi、Constantine和Theodore。此处,Constantine出现四次,Lexi两次,Theodore两次。
袋外数据集由自助样本中未选中的观测组成。在示例中,袋外集合将是Emily、Jessie、George、Rachel和Jamal。由于集合忽略重复项,差异是在原始集合和自助集合的唯一元素之间取差。
应用于决策树和随机森林
装袋常与决策树结合使用,从而创建随机森林。在随机森林中,每棵树在自助样本上训练,此外,在每个分割点,仅考虑一小部分随机选择的特征。这进一步增加了树之间的多样性,使集成更稳健。
为了从自助数据集构建决策树,算法检查每个特征,并确定其如何将样本分为正类和负类。这通常通过混淆矩阵完成,该矩阵列出真阳性、假阳性、真阴性和假阴性。特征根据信息增益或“优良性”度量等指标排名。排名最高的特征用于将样本分为两组:拥有该特征的样本和不拥有该特征的样本。此过程对每个子集递归重复,直到达到停止标准(如最大深度)。在叶节点,样本根据多数类被分类为正类或负类。
随机森林结合了装袋和随机特征选择,已被证明能达到高准确率,并在实践中广泛使用。森林中的树数量影响性能;例如,有50棵树的模型通常优于有10棵树的模型,因为随着树数量增加,观察值被排除在所有自助样本之外的概率降低。
对不同算法的影响
装袋导致对不稳定程序的改进,这些程序包括人工神经网络、分类与回归树以及线性回归中的子集选择。它也被证明能改善前像学习。另一方面,装袋可能轻微降低稳定方法的性能,如k近邻,因为对相似模型的平均不会显著减少方差,并可能引入偏差。
理论见解
装袋的有效性源于方差减少。对于高方差模型,如深层决策树,训练数据中的微小扰动可能导致截然不同的模型。通过对在自助样本上训练的多个模型进行平均,最终预测的方差被减少,通常不会显著增加偏差。这在深度学习和人工智能应用中遇到的高维场景中尤为重要。
实际考虑
装袋在计算上是高效的,因为每个模型可以独立训练,易于并行化。这促成了其在大型机器学习管道中的普及,包括亚马逊网络服务和谷歌云等云提供商使用的管道。在实践中,自助样本数量 \( m \) 通常根据可用计算资源选择,典型值从10到几百不等。
与其他集成方法的关系
装袋与其他集成技术密切相关,如提升和堆叠。提升侧重于顺序训练模型以纠正错误,而装袋则并行训练模型并通过平均或投票组合。这一区别使装袋特别适合减少方差,而提升在减少偏差方面更有效。随机森林作为装袋与决策树的具体实现,是机器学习中使用最广泛的集成方法之一。
结论
装袋仍是机器学习中的基础技术,提供了一种简单而强大的方式来提高模型稳定性和准确性。其原理影响了更高级集成方法的发展,并在从传统表格数据到神经网络和大型语言模型等复杂领域的现代应用中持续相关。