什么是 Bagging 算法?

一位年轻人正在一边使用电脑,一边做笔记

什么是 Bagging 算法?

Bagging 算法又称引导聚合算法,是一种集成学习方法,通常用于降低噪声数据集中的方差。

在 Bagging 算法中,用替换法来选择训练集中的随机数据样本,这意味着可多次选择单个数据点。在生成多个数据样本后,将单独训练这些弱模型,根据任务类型(如回归或分类),这些预测的平均值或多数值会产生更准确的估计值。

值得注意的是,随机森林算法被认为是 Bagging 算法的扩展,它同时使用 Bagging 算法和特征的随机性来创建一个不相关的决策树森林。

集成学习

集成学习为“群体智慧”的观点提供了依据,这表明一个更大群体的决策通常要优于专家个人的决策。与此类似,集成学习指的是一组(集成的)基础学习器或模型,它们共同协作以获得更准确的最终预测。

单个模型,又称基础或弱学习器,由于高方差或高偏差可能个体性能不佳。然而,当弱学习器聚集后,可以形成一个强学习器,它们的结合可以减少偏差或降低方差,产生更好的模型性能。

集成方法通常使用决策树来说明,因为这种算法在没有修剪的情况下容易出现过拟合(高方差和低偏差)。如果决策树非常小,比如决策树桩,即仅有一层的决策树,则容易出现欠拟合(低方差和高偏差)。

请记住,当一个算法在训练集中出现过拟合或欠拟合现象时,它不能很好地泛化到新的数据集,所以集成方法用于抵消这种行为,以便将模型泛化到新的数据集。虽然决策树会表现出高方差或高偏差,但值得注意的是,它并不是唯一一种利用集成学习在偏差-方差权衡中找到“最佳位置”的建模技术。

Bagging 算法与 Boosting 算法

Bagging 算法和 Boosting 算法是两种主要的集成学习方法。正如本研究强调的那样,这些学习方法之间的主要区别在于它们的训练方式。

在 Bagging 算法中,弱学习器并行训练,但在 Boosting 算法中,它们按顺序进行学习。这意味着会构建一系列模型,并且随着每次新的模型迭代,前一个模型中误分类数据的权重会增加。

这种权重的重新分配可帮助算法发现需要关注的参数,从而提高其性能。AdaBoost 是英文“adaptative boosting”(自适应提升)的缩写,它是同类算法中的第一个,也是最受欢迎的 Boosting 算法之一。其他类型的 Boosting 算法包括 XGBoost、GradientBoost 和 BrownBoost。

另一个不同之处在于 Bagging 算法和 Boosting 算法的使用场景不同。例如,Bagging 算法通常用于呈现出高方差和低偏差的弱学习器,而 Boosting 算法用于低方差和高偏差的学习器。

小球在轨道上滚动的三维设计

最新的 AI 新闻 + 洞察分析

在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。 

Bagging 算法的原理

1996 年,Leo Breiman 提出了 Bagging 算法,它包含三个基本步骤:

  1. 引导:Bagging 算法利用引导采样技术来创建不同的样本。这种重采样方法通过随机选择数据点并进行替换,生成训练数据集的不同子集。这意味着每次从训练数据集中选择数据点时,都可以多次选择同一实例。因此,值或实例在样本中重复两次(或更多)。

  2. 并行训练:然后,使用弱学习器或基础学习器独立和并行训练这些引导样本。

  3. 聚合:最后,根据任务(即回归或分类),采用预测的平均值或多数值来计算更准确的估计值。在回归问题中,取单个分类器预测的所有输出的平均值,这就是软投票。而对于分类问题,接受票数最高的分类;这被称为硬投票或多数投票。
Mixture of Experts | 8 月 28 日,第 70 集

解码 AI:每周新闻摘要

加入我们世界级的专家小组——工程师、研究人员、产品负责人等将为您甄别 AI 领域的真知灼见,带来最新的 AI 资讯与深度解析。

Bagging 算法的优势和面临的挑战

Bagging 算法在用于分类或回归问题时,具有许多重要优势,但也面临诸多挑战。Bagging 算法的主要优势包括:

  • 易于实施:像 scikit-learn(又称 sklearn)这样的 Python 库可以很容易地将基础学习器或估计器的预测结合起来,进而提高模型性能。他们的文档展示了可用的模块,您可以在模型优化中利用这些模块。

  • 降低方差:Bagging 可以在学习算法中降低方差。这对于高维数据尤其有用,因为缺失值可能导致更高的方差,使其更易陷入过拟合,并阻止对新数据集的准确泛化。

Bagging 算法面临的主要挑战包括:

  • 可解释性损失:因为预测中会涉及平均值,所以通过 Bagging 算法很难得出非常精确的业务洞察。虽然输出比任何单个的数据点都更精确,但是更精确或更完整的数据集也可以在单一分类或回归模型中产生更高的精度。

  • 计算成本高:随着迭代次数的增加,Bagging 算法速度减慢,并且变得更加密集。因此,它不太适合实时应用。集群系统或大量处理核心是在大量测试集上快速创建装袋集成的理想选择。

  • 灵活性较差:作为一种技术,Bagging 对于不太稳定的算法尤其有效。一个更加稳定或者受到大量偏差影响的模型,提供的优势不如模型数据集中变化较小的时候多。正如《机器学习实践指南》中所指出的:“装袋线性回归模型将有效地返回足够大的 b 的原始预测。”

Bagging 算法的应用

Bagging 技术被广泛应用于许多行业,为现实世界的价值和有趣的观点提供洞察,例如在 GRAMMY Debates with Watson 中。主要用例包括:

  • 医疗保健:Bagging 算法已经被用于生成医学数据预测。例如,研究显示,集成方法已被用于处理一系列生物信息学问题,如基因和/或蛋白质选择,以确定感兴趣的具体特征。更具体地说,该项研究根据各种风险预测因子,深入研究了它在预测糖尿病发病方面的作用。

  • IT:Bagging 算法还可以提高 IT 系统的精度和准确性,例如网络入侵检测系统。同时,该研究着眼于 Bagging 算法如何提高网络入侵检测的准确性,并降低误报率。

  • 环境:集成方法(如 Bagging 算法)已经应用于遥感领域。更具体地说,该研究展示了如何使用它来绘制海岸景观中的湿地类型。

  • 金融:金融行业的深度学习模型也利用了 Bagging 算法,实现关键任务自动化,包括欺诈检测、信用风险评估和期权定价问题。这项研究展示了如何利用 Bagging 和其他机器学习技术来评估贷款违约风险。而这项研究则强调了 Bagging 算法如何通过防止银行和金融机构内部的信用卡欺诈将风险最小化。
相关解决方案
IBM® watsonx.ai

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

深入了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的 AI 专业知识和解决方案组合,让 AI 在您的业务中发挥作用。

深入了解人工智能解决方案
人工智能 (AI) 咨询服务

IBM Consulting AI 服务有助于重塑企业利用 AI 实现转型的方式。

深入了解人工智能服务
采取后续步骤

一站式访问跨越 AI 开发生命周期的功能。利用用户友好型界面、工作流并访问行业标准 API 和 SDK,生成功能强大的 AI 解决方案。

深入了解 watsonx.ai 预约实时演示