Bagging 算法又称引导聚合算法,是一种集成学习算法,通常用于降低噪声数据集中的方差。 在 Bagging 方法中,用替换法来选择训练集中的随机数据样本,这意味着可多次选择单个数据点。 在生成多个数据样本后,将单独训练这些弱模型,根据任务类型(如回归或分类),这些预测的平均值或多数值会产生更准确的估计值。
值得注意的是,随机森林算法被认为是 Bagging 算法的扩展,利用装袋和特征的随机性来创建一个不相关的决策树森林。
集成学习为“群体智慧”的观点提供了依据,这表明一个更大群体的决策通常要优于专家个人的决策。 与此类似,集成学习指的是一组(集成的)基础学习器或模型,它们共同协作以获得更准确的最终预测。 单个模型,又称基础或弱学习器,由于高方差或高偏差可能性能不佳。 然而,当弱学习器聚集后,可以形成一个强学习器,它们的结合可以减少偏差或降低方差,产生更好的模型性能。
集成方法通常使用决策树来说明,因为这种算法在没有修剪的情况下容易出现过拟合(高方差和低偏差);如果决策树非常小,比如决策树桩,即仅有一层的决策树,则容易出现欠拟合(低方差和高偏差)。 请记住,当一个算法在训练集中出现过拟合或欠拟合现象时,它不能很好地泛化到新的数据集,所以集成方法被用来抵消这种行为,以便将模型泛化到新的数据集。 虽然决策树会表现出高方差或高偏差,但值得注意的是,它并不是唯一一种利用集成学习在偏差-方差权衡中找到“最佳位置”的建模技术。
Bagging 算法和 Boosting 算法是两种主要的集成学习方法。 正如本研究报告 (PDF, 248 KB)(此链接位于 ibm. com 外部)中强调的那样,这些学习方法之间的主要区别在于它们的训练方式。 在 Bagging 算法中,弱学习器并行训练,但在 Boosting 算法中,它们串行训练。 这意味着会构建一系列模型,并且随着每次新的模型迭代,前一个模型中误分类数据的权重会增加。 这种权重的重新分配可帮助算法发现需要关注的参数,从而提高其性能。 AdaBoost 是英文“adaptative boosting”(自适应提升)的缩写,它是同类算法中的第一个,也是最受欢迎的提升算法之一。 其他类型的 Boosting 算法包括 XGBoost、GradientBoost 和 BrownBoost。
另一个不同之处在于 Bagging 算法和 Boosting 算法的使用场景不同。 例如,Bagging 算法通常用于呈现出高方差和低偏差的弱学习器,而 Boosting 算法则用于低方差和高偏差的学习器。
1996 年,Leo Breiman (PDF, 829 KB)(此链接位于 ibm. com 外部)提出了 Bagging 算法,它包含三个基本步骤:
Bagging 算法在用于分类或回归问题时,具有许多重要优势,但也面临诸多挑战。 Bagging 算法的主要优势包括:
Bagging 算法面临的主要挑战包括:
Bagging 技术被广泛应用于许多行业,为现实世界的价值和有趣的观点提供洞察,例如在 GRAMMY Debates with Watson 中。 主要用例包括:
IBM SPSS Modeler 可提供预测性分析来帮助您发现数据模式、保证预测准确性并改善决策。
在任何云中构建和扩展可信 AI。 实现 ModelOps 的 AI 生命周期自动化。
探索 IBM 数据科学社区,了解更多关于数据科学和机器学习的信息。