机器学习中的 Bagging 与 Boosting:Bagging 和 Boosting 的区别

已发表: 2020-11-12

由于机器学习应用程序的普及和计算能力的提高,数据科学家已经固有地对数据集实施了算法。 实现算法的关键是产生偏差和方差的方式。 通常首选具有低偏差的模型。

组织使用有监督的机器学习技术(例如决策树)来做出更好的决策并产生更多利润。 不同的决策树组合在一起时,可以形成集成方法并提供预测结果。

使用集成模型的主要目的是将一组弱学习器分组,形成一个强学习器。 它的完成方式在两种技术中定义:Bagging 和 Boosting,它们的工作方式不同,并且可以互换使用,以获得具有高精度和准确度以及更少错误的更好结果。 使用集成方法,将多个模型组合在一起以产生强大的模型。

这篇博文将介绍集成学习的各种概念。 首先,理解集成方法将为学习相关方法和设计适应解决方案开辟道路。 此外,我们将讨论 Bagging 和 Boosting 的扩展概念,以便读者清楚地了解这两种方法的不同之处、它们的基本应用以及从两者中获得的预测结果。

加入来自世界顶级大学的机器学习在线课程——机器学习和人工智能领域的硕士、高级管理人员研究生课程和高级证书课程,以加快您的职业生涯。

目录

什么是集成方法?

集成是机器学习算法中使用的一种方法。 在这种方法中,多个模型或“弱学习者”被训练以纠正相同的问题并整合以获得预期的结果。 弱模型组合正确地给出了准确的模型。

首先,需要基础模型来建立一个集成学习方法,然后进行聚类。 在 Bagging 和 Boosting 算法中,使用了单一的基础学习算法。 这背后的原因是我们手头会有同质的弱学习器,它们将以不同的方式进行训练。

以这种方式制作的集成模型最终将被称为同质模型。 但故事并没有到此结束。 在某些方法中,不同类型的基础学习算法也隐含在异构弱学习器中,从而形成“异构集成模型”。 但是在这篇博客中,我们将只处理前一个集成模型,并讨论两种最流行的集成方法。

  1. Bagging是一种同质弱学习器模型,它并行地相互独立学习,并将它们组合起来确定模型平均值。
  2. Boosting也是一种同质弱学习器模型,但与 Bagging 的工作方式不同。 在这个模型中,学习者顺序和自适应地学习,以改进学习算法的模型预测。

这就是 Bagging 和 Boosting。 让我们详细看看它们。 导致学习错误的一些因素是噪声、偏差和方差。 使用集成方法来减少这些因素,从而导致结果的稳定性和准确性。

另请阅读:机器学习项目理念

装袋

Bagging 是“Bootstrap Aggregation”的首字母缩写词,用于减少预测模型中的方差。 Bagging 是一种并行方法,它适合不同的、被认为相互独立的学习者,从而可以同时训练他们。

Bagging 从数据集中生成用于训练的额外数据。 这是通过从原始数据集中进行替换的随机抽样来实现的。 替换抽样可能会在每个新的训练数据集中重复一些观察。 Bagging 中的每个元素都同样有可能出现在新数据集中。

这些多数据集用于并行训练多个模型。 计算来自不同集成模型的所有预测的平均值。 在进行分类时会考虑从投票机制中获得的多数票。 Bagging 降低了方差并将预测调整为预期结果。

Bagging 示例:

随机森林模型使用 Bagging,其中存在具有较高方差的决策树模型。 它进行随机特征选择来种植树木。 几棵随机树组成一个随机森林。

提升

Boosting 是一种顺序集成方法,它根据最后一个分类迭代地调整观察权重。 如果一个观察被错误地分类,它会增加该观察的权重。 外行语言中的“Boosting”一词是指将弱学习器转换为更强学习器的算法。 它减少了偏差误差并建立了强大的预测模型。

发现每次迭代中错误预测的数据点,并增加它们的权重。 Boosting 算法在训练期间为每个结果模型分配权重。 具有良好训练数据预测结果的学习器将被分配更高的权重。 在评估新学习者时,Boosting 会跟踪学习者的错误。

提升示例:

AdaBoost 使用 Boosting 技术,维护模型所需的误差减少了 50%。 在这里,Boosting 可以保留或丢弃单个学习器。 否则,重复迭代直到获得更好的学习器。

Bagging 和 Boosting 的异同

Bagging 和 Boosting 都是常用的方法,具有普遍的相似性,被归类为集成方法。 在这里,我们将强调它们之间的更多相似之处,然后是它们彼此之间的差异。 让我们首先从相似之处开始,因为理解这些将使理解差异更容易。

Bagging 和 Boosting:相似之处

  1. Bagging 和 Boosting 是专注于从单个学习器中获取 N 个学习器的集成方法。
  2. Bagging 和 Boosting 进行随机抽样并生成多个训练数据集
  3. Bagging 和 Boosting 通过平均 N 个学习者或接受其中大多数人的投票排名来做出最终决定。
  4. Bagging 和 Boosting 可减少方差并提供更高的稳定性,同时最大限度地减少错误。

阅读:机器学习模型解释

Bagging 和 Boosting:差异

正如我们已经说过的,

Bagging 是一种合并相同类型预测的方法。 Boosting是一种合并不同类型预测的方法。

Bagging 减少了方差,而不是偏差,并解决了模型中的过度拟合问题。 提升会减少偏差,而不是方差。

在 Bagging 中,每个模型都获得相同的权重。 在 Boosting 中,模型根据其性能进行加权。

模型是在 Bagging 中独立构建的。 新模型会受到先前构建的模型在 Boosting 中的性能的影响。

在 Bagging 中,训练数据子集是随机抽取的,并替换为训练数据集。 在 Boosting 中,每个新子集都包含被先前模型错误分类的元素。

Bagging 通常应用于分类器不稳定且方差较大的情况。 Boosting 通常应用于分类器稳定、简单且具有高偏差的情况。

Bagging 和 Boosting:结论性总结

既然我们已经彻底描述了 Bagging 和 Boosting 的概念,我们已经到了文章的结尾,并且可以得出结论,两者在数据科学中是同等重要的,以及在模型中应用的位置取决于给定的数据集,它们的模拟和给定的情况。 因此,一方面,在随机森林模型中,使用了 Bagging,而 AdaBoost 模型隐含了 Boosting 算法。

机器学习模型的性能是通过比较其训练准确度和验证准确度来计算的,这是通过将数据分成两组来实现的:训练集和验证集。 训练集用于训练模型,验证集用于评估。

您可以与upGrad一起查看IIT 德里的机器学习执行 PG 计划IIT德里是印度最负盛名的机构之一。 拥有超过 500 多名在主题方面最优秀的内部教职员工。

为什么 bagging 比 boosting 更好?

Bagging 从数据集中创建额外的训练数据。 使用来自原始数据集的随机抽样和替换来实现这一点。 在每个新的训练数据集中,替换抽样可能会重复某些观察。 每个 Bagging 元素都有相同的机会出现在新的数据集中。 使用这些多数据集并行训练多个模型。 它是来自多个集成模型的所有预测的平均值。 在确定分类时,会考虑通过投票过程获得的多数票。 Bagging 减少了变化并将预测微调到所需的结果。

bagging 和 boosting 的主要区别是什么?

Bagging 是一种通过将重复与组合相结合以创建原始数据的多组来从数据集中生成用于训练的额外数据来减少预测方差的技术。 Boosting 是一种迭代策略,用于根据之前的分类调整观察值的权重。 如果它被错误地分类,它会尝试增加观察的权重。 Boosting 通常会创建良好的预测模型。

bagging 和 boosting 有什么相似之处?

Bagging 和 boosting 是旨在从单个学习器中产生 N 个学习器的集成策略。 他们随机抽样并创建许多训练数据集。 他们通过平均 N 个学习者的投票或选择其中大多数人的投票等级来做出最终决定。 它们减少了差异并增加了稳定性,同时减少了错误。