
揭秘集成方法:提升、装袋和堆叠的解释
图片来自:Editor | Ideogram
团结就是力量。这句名言完美地概括了集成方法的精髓:这是除了深度神经网络之外,最强大的机器学习(ML)方法之一——通过组合多个模型来解决一个预测任务,从而有效地处理基于复杂数据的复杂问题。本文介绍了构建集成模型的三个常用方法:Boosting、Bagging和Stacking。让我们开始吧!
Bagging
Bagging涉及独立且并行地训练多个模型。这些模型通常是同一类型,例如,一组决策树或多项式回归器。每个模型之间的区别在于,它们都在整个训练数据的随机子集上进行训练。在每个模型返回一个预测后,所有预测都被聚合到一个总体预测中。如何聚合?这取决于预测任务的类型。
- 对于回归模型的Bagging集成,数值预测被平均。
- 对于分类模型的Bagging集成,通过多数票合并类别预测。
在这两种情况下,与单独的ML模型相比,聚合多个模型预测可以减少方差并提高整体性能。
Bagging中的随机数据选择可以是基于实例的,也可以是基于属性的。
- 在基于实例的Bagging中,模型在数据的随机子集上进行训练,通常通过称为引导聚合 (bootstrapping) 的过程进行有放回抽样。有放回抽样意味着数据集中的某个特定实例可能被随机选择,用于零次、一次或多次训练将成为集成一部分的模型。
- 在基于属性的Bagging中,集成中的每个模型使用训练数据中不同的随机特征子集,从而在模型之间引入多样性。这种方法有助于缓解所谓的维度灾难:当在具有大量特征的数据集上训练ML模型时遇到的问题,导致效率损失、可能的过拟合(模型过度学习数据并记住它,从而失去泛化到未来数据的能力)等。
上述两种选择过程中的随机性有助于集成方法更全面地学习数据的不同“区域”,同时避免过拟合,最终使系统更加健壮。

Bagging集成示意图
作者提供图片
随机森林是Bagging方法的一个广泛应用的例子,它结合了实例和属性级别的随机性。顾名思义,随机森林构建多个决策树,每棵树都在引导聚合的数据样本和每个树的随机特征子集上进行训练。这种双重抽样促进了树之间的多样性,并降低了模型之间的相关性。
提升
与Bagging集成中多个模型并行训练并聚合其个体预测不同,Boosting采用顺序方法。在Boosting集成中,多个相同类型的模型被一个接一个地训练,每个模型纠正前一个模型最明显的错误。随着错误被一系列模型逐步修复,集成最终会产生一个更强大的整体解决方案,该方案更准确,并且对数据中的复杂模式具有更高的鲁棒性。

Boosting集成示意图
作者提供图片
XGBoost (Extreme Gradient Boosting) 是一个基于Boosting的集成方法的流行示例。XGBoost按顺序构建模型,在每一步都高度关注纠正错误,并以其在竞赛性机器学习任务中的效率、速度和高性能而闻名。虽然不严格限于决策树,但XGBoost类似于随机森林,因为它设计用于在决策树集成上特别高效。
堆叠
一种稍微复杂一些的方法是Stacking,它通常结合不同类型的模型(如决策树分类器、逻辑回归分类器和神经网络组合在一起),并在相同数据上单独训练。关键在于:每种类型的模型通常以不同的方式捕获数据中的模式。此外,Stacking不是聚合个体预测,而是更进一步:个体预测被用作最终阶段ML模型的输入,称为元模型 (meta-model),该模型学习如何加权和组合基础模型的预测,就好像它们是数据实例一样。总而言之,每种特定模型推理能力的综合优势可以带来更准确的最终决策。

Stacking集成示意图
作者提供图片
Stacked Generalization 是一种常见的Stacking方法,其中元模型通常是一个简单的线性或逻辑回归模型。
总结
Boosting、Bagging和Stacking等集成方法利用了组合多个ML模型的优势来提高预测准确性和鲁棒性。每种方法的独特性将帮助您更成功地应对复杂的数据挑战,将个体模型的潜在弱点转化为集体优势。
暂无评论。