Bagging 机器学习2025年7月10日 | 阅读9分钟 引言在本教程中,我们将讨论机器学习中的 bagging。Bagging,或称为 bootstrap aggregation(自助聚集),是一种常用的集成学习方法,用于降低嘈杂数据集中的方差。在 Bagging 中,会通过有放回的随机抽样来选择统计数据研究集中的一个随机样本,这意味着字符统计要素可能被选择多次。在生成了多个数据样本后,这些弱模型会独立进行训练。例如,根据任务类型(回归或分类),这些预测的平均值或多数投票可以产生一个准确的估计。需要注意的是,随机森林算法被认为是 bagging 方法的扩展,它结合了 bagging 和特征随机性来创建一个不相关的决策树森林。 Bagging 是一种集成方法,旨在解决分类或回归问题中的过拟合。Bagging 旨在提高机器学习算法的准确性和整体性能。它通过从原始数据集中有放回地抽取随机子集,并为每个子集拟合一个分类器(用于分类)或回归器(用于回归)来实现这一点。Bagging 也称为 Bootstrap aggregating。它是一种集成学习方法,可以提高机器学习算法的整体性能和准确性。它用于解决偏差-方差权衡问题,并降低预测模型的方差。Bagging 避免了数据过拟合,可用于回归和分类,尤其适用于决策树算法。 什么是集成学习?集成学习让我们相信“集体智慧”的理念,它表明一群人的决策通常比单个专家的决策要好。另一方面,集成学习指的是一组基学习器或模型,它们协同工作以获得更好的最终预测。单个模型,也称为基学习器或弱学习器,由于高方差或偏差而可能表现不佳。然而,当弱学习器被聚合时,它们可以形成一个强学习器,因为它们的组合减少了偏差或方差,从而提高了模型性能。集成学习是一种广泛使用且备受青睐的工具学习技术,其中多个个体模型(通常称为基模型)被组合以产生一个强大的预测模型。随机森林算法就是一个集成学习的例子。 集成学习经常使用决策树来举例,因为当决策树未被修剪时,它可能容易过拟合(高方差和低偏差)。当它非常小(例如,只有一个阶段的决策树“决策桩”)时,它也可能导致欠拟合(低方差和高偏差)。当算法过拟合或拟合其训练集时,它无法很好地泛化到新数据集,因此使用集成策略来抵消这种行为,以便模型能够泛化到新数据集。虽然决策树可能表现出高方差或高偏差,但值得注意的是,它并非唯一利用集成学习来找到偏差-方差权衡中“甜蜜点”的建模方法。 Bagging 和 Boosting 之间有什么区别?Bagging 和 Boosting 之间存在一些区别。它们是集成学习策略的两种主要形式。这两种学习策略的主要区别在于它们的训练方式。在 bagging 技术中,弱学习器是并行训练的。但在 boosting 中,它们是顺序训练的。这意味着会构建一系列模型,并且随着每个新模型的生成,前一个模型中错分类数据的权重会被提高。这种权重的重新分配使得算法能够识别出它需要关注以提高性能的参数。AdaBoost,即“自适应增强算法”,是最受欢迎的 Boosting 算法之一,因为它是最早的同类算法之一。其他类型的 Boosting 算法包括 XGBoost、GradientBoost 和 BrownBoost。 Bagging 和 Boosting 之间的另一个区别在于它们可以使用的场景。例如,bagging 策略通常用于弱学习器,特别是表现出高方差和低偏差的弱学习器。但当出现低方差和高偏差时,则利用 boosting 方案。 bagging 和 boosting 之间的区别是
Bagging 和 Boosting 之间的相似之处是什么?Bagging 和 Boosting 之间的相似之处在于它们都是常用的策略,并且有一个共同的相似点,即它们都被标记为集成策略。现在我们将简要解释 Bagging 和 Boosting 之间的相似之处。
描述 Bagging 技术假设有一个包含 d 个元组的数据集 D,在每个迭代 I 中,通过带替换的行采样(即,来自不同 d 元组的重复样本)从 D 中选择一个包含 d 个元组的训练集 Di(即 bootstrap)。然后为每个训练集 D < i 找到一个分类器模型 Mi。每个分类器 Mi 都返回其类别预测。bagged 分类器 M* 对投票进行计数,并将得票最多的类别分配给 X(未知样本)。 Bagging 的实现步骤是什么?
Bagging 的应用Bagging 有多种应用,如下所示: 1. IT Bagging 还可以提高 IT 系统(包括网络入侵检测系统)的精度和准确性。与此同时,本研究探讨了 Bagging 如何提高网络入侵检测的准确性并降低误报率。 2. 环境 包括 Bagging 在内的集成技术已在遥感领域得到应用。这项研究表明了它是如何被用来绘制沿海地区湿地模式的。 3. 金融 Bagging 也已与深度学习模型在金融行业结合使用,自动执行欺诈检测、信用风险评估和期权定价问题等关键任务。这项研究展示了 Bagging 等机器学习技术是如何被用于评估抵押贷款违约风险的。这突显了 Bagging 如何通过防止银行和金融机构的信用卡欺诈来限制风险。 4. 医疗保健 Bagging 已被用于构建科学数据预测。这些研究(PDF,2.8 MB)表明,集成技术已被用于各种生物信息学问题,包括基因和蛋白质选择,以识别特定感兴趣的特征。更重要的是,本研究主要深入探讨了其在根据各种风险预测因子预测糖尿病发病率方面的应用。 Bagging 的优点和缺点是什么?Bagging 的优点是:Bagging 有许多优点。Bagging 的优点如下: 1. 易于实现 Python 库,如 scikit-learn (sklearn),可以轻松地组合基础学习器或估计器的预测以提高模型性能。它们的文档概述了可用于模型优化的可用模块。 2. 方差降低 Bagging 可以降低学习算法中的方差,这在高维数据中尤其有用,在高维数据中,缺失值可能导致更大的冲突,使其更容易过拟合并阻止正确泛化到新数据集。 Bagging 的缺点是:Bagging 有许多缺点。Bagging 的缺点如下: 1. 灵活性较低 作为一种方法,Bagging 对不太稳定的算法特别有效。对于更稳定或存在大量偏差的问题,它提供的增益较少,因为模型的数据集中变化较小。正如“动手实践机器学习指南”中所指出的,“对线性回归模型使用 bagging 实际上只会返回原始预测,只要 b 足够大。” 2. 可解释性降低 由于迭代次数的增加,Bagging 会减慢速度并变得更加深入。因此,它不适合实时应用。对于大型数据集上快速创建 bag 集合,集群系统或大型处理核心是理想的选择。 3. 计算成本高 由于在预测过程中涉及平均化,因此很难通过 Bagging 获得独特的业务见解。虽然输出比单个数据点更准确,但更准确或更完整的数据集可以在单个分类或回归模型中产生更高的精度。 Bagging 分类器示例示例 这里我们给出一个使用 python 的 bagging 分类器示例。示例如下: 输出 通过迭代不同的估计器数量值,我们可以看到模型性能从 82.2% 提高到 95.5%。在 14 个估计器之后,准确率开始下降,同样,如果您设置不同的 random_state,您看到的值将会有所不同。这就是为什么交叉验证是确保结果稳健的充分实践。在此示例中,我们看到识别葡萄酒类型的准确率提高了 13.3%。现在我们编译上述程序然后运行它。之后,输出显示在下方: ![]() 另一种评估形式由于 bootstrapping 选择随机的观测值子集来创建分类器,因此一些观测值可能需要在选择过程中进行处理。这些“袋外”(out-of-bag) 观测值可用于评估模型,类似于测试集。请注意,袋外估计可能会高估二元分类问题中的错误,并且应作为其他指标的补充。我们在上一个练习中看到,12 个估计器产生了最高的准确率,因此我们可以使用它来创建我们的模型——这次将 oob_score 参数设置为 True,以评估袋外评分模型。 示例 这里我们给出一个使用 python 的“袋外”示例。示例如下: 输出 现在我们编译上述程序然后运行它。之后,输出显示在下方: 0.8951612903225806 |
我们请求您订阅我们的新闻通讯以获取最新更新。