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