集成学习基础:Bagging 原理与应用

本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!

Bagging 介绍

1. 定义与全称:

  • BaggingBootstrap Aggregating 的缩写,中文常译为 装袋法
  • 它是一种并行式的集成学习方法。
  • 核心目标是通过构建多个基学习器的预测结果进行组合(通常是投票或平均),来获得比单一基学习器更稳定、更准确、泛化能力更强的模型。
  • 其名字直接反映了它的两个关键步骤:Bootstrap(自助采样)Aggregating(聚合)

往期文章推荐:

  • 20.CART算法全解析:分类回归双修的决策树之王
  • 19.C4.5算法深度解析:决策树进化的里程碑
  • 18.决策树:化繁为简的智能决策利器
  • 17.深入解析ID3算法:信息熵驱动的决策树构建基石
  • 16.类图:软件世界的“建筑蓝图”
  • 15.饼图:数据可视化的“切蛋糕”艺术
  • 14.用Mermaid代码画ER图:AI时代的数据建模利器
  • 13.ER图:数据库设计的可视化语言 - 搞懂数据关系的基石
  • 12.决策树:被低估的规则引擎,80%可解释性需求的首选方案
  • 11.实战指南:用DataHub管理Hive元数据
  • 10.一键规范代码:pre-commit自动化检查工具实战指南
  • 9.如何数据的永久保存?将信息以加密电磁波形式发射至太空实现永久保存的可行性说明
  • 8.NLP已死?大模型时代谁在悄悄重建「语言巴别塔」
  • 7.撕掉时序图复杂度:Mermaid可视化极简实战指南
  • 6.动手实践:LangChain流图可视化全解析
  • 5.LangChain LCEL:三行代码构建AI工作流的秘密
  • 4.LangChain执行引擎揭秘:RunnableConfig配置全解析
  • 3.避坑指南:Windows下pygraphviz安装全攻略
  • 2.Python3安装MySQL-python踩坑实录:从报错到完美解决的实战指南
  • 1.Git可视化革命:3分钟学会用Mermaid+AI画专业分支图

2. 核心思想:
Bagging 的基本思想非常简单而强大:

  1. 引入随机性: 通过对原始训练数据集进行 有放回的随机抽样(Bootstrap Sampling),创建出多个不同的、略有重叠的子训练集。
  2. 并行训练: 使用这些不同的子训练集,独立地训练出多个 同质的 基学习器。这些学习器通常是同一种算法(例如都是决策树)。
  3. 聚合结果: 对于一个新的预测样本,让所有训练好的基学习器进行预测,然后将它们的预测结果进行聚合
    • 分类任务: 采用 多数投票法(Majority Voting),即选择得票最多的类别作为最终预测结果。
    • 回归任务: 采用 简单平均法(Averaging),即计算所有基学习器预测值的平均值作为最终预测结果。

3. 关键步骤详解:

  • Bootstrap Sampling (自助采样):

    • 假设原始训练集 D 包含 N 个样本。
    • 要训练 T 个基学习器,就需要创建 Tbootstrap 样本集 D_1, D_2, ..., D_T
    • 生成每个 D_t 的过程:
      1. 从原始训练集 D有放回地随机抽取一个样本。
      2. 将该样本放入 D_t 中。
      3. 重复步骤 1 和 2 N 次。这样 D_t 就包含了 N 个样本(注意:因为有放回,某些样本会被多次抽中,而另一些样本可能一次都没被抽中)。
    • 重要特性:
      • 每个 bootstrap 样本集 D_t 的大小与原始训练集 D 相同(N 个样本)。
      • 由于有放回抽样,原始训练集 D 中大约有 63.2% 的样本会出现在任意一个给定的 D_t 中。剩下的约 36.8% 的样本被称为该基学习器的 袋外样本
      • 不同的 bootstrap 样本集之间会有一定的重叠,但也存在差异。
  • Base Learner Training (基学习器训练):

    • 使用第 t 个 bootstrap 样本集 D_t 独立地训练第 t 个基学习器 M_t
    • 基学习器可以是任何学习算法(决策树、神经网络、线性回归等),但决策树因其高方差(不稳定)特性,常作为 Bagging 的首选基学习器(这就是随机森林的基础)。
    • 训练过程是并行的,各个基学习器之间互不干扰。
  • Aggregating (聚合):

    • 分类 (Classification):
      • 对于一个新的输入样本 x,每个基学习器 M_t 预测一个类别标签 y_t
      • 最终的预测结果 y_final 是所有 T 个预测标签 {y_1, y_2, ..., y_T}出现次数最多的那个类别(即多数投票)。
    • 回归 (Regression):
      • 对于一个新的输入样本 x,每个基学习器 M_t 预测一个数值 r_t
      • 最终的预测结果 r_final 是所有 T 个预测值 {r_1, r_2, ..., r_T}算术平均值

4. 为什么 Bagging 有效?

Bagging 的核心价值在于它能够显著降低模型的方差(Variance),从而提高模型的稳定性和泛化能力,尤其对于高方差、低偏差的基学习器(如深度未剪枝的决策树)效果非常显著。

  • 降低方差: 通过在不同的数据子集上训练多个模型,Bagging 减少了模型对训练数据中特定噪声或波动的敏感性。单个模型可能因为训练数据的微小变化而产生很大差异(高方差),但多个模型预测的平均或投票可以抵消这种波动,使得整体预测更加稳定和鲁棒。
  • 轻微增加偏差: 由于每个基学习器只看到原始数据的部分样本(约63.2%),并且可能没有看到一些重要样本(袋外样本),单个基学习器的性能可能略低于在整个数据集上训练的模型(轻微增加偏差)。但是,通过聚合多个模型,这种轻微的偏差增加通常被方差的显著降低所补偿,最终整体模型效果更好。
  • 降低过拟合风险: 通过降低方差,Bagging 有效地减少了模型过拟合训练数据的风险,提高了在未见数据上的泛化能力。

5. 优势:

  • 有效降低方差: 对高方差的基学习器(如决策树)效果尤其显著。
  • 提升模型稳定性与鲁棒性: 对训练数据的小变动不敏感,对噪声和异常值更具抵抗力。
  • 减少过拟合: 提高泛化性能。
  • 并行化: 基学习器的训练相互独立,天然适合并行计算,加速训练。
  • 简单易用: 概念清晰,实现相对直接。
  • 内置验证(利用袋外样本): 袋外样本可以用来评估单个基学习器的性能,它们的预测误差的平均值(袋外误差)可以作为Bagging集成模型泛化误差的一个近似无偏估计,无需额外划分验证集。

6. 局限性:

  • 对高偏差模型提升有限: 如果基学习器本身偏差很高(欠拟合),Bagging 主要降低方差,对整体性能提升不大(偏差问题依然存在)。它不能有效降低偏差。
  • 模型解释性降低: 集成的模型比单个基学习器更难解释。
  • 计算成本: 需要训练多个模型,计算和存储开销大于单个模型。
  • 可能损失部分信息: 每个基学习器只看到部分数据(约63.2%)。

7. 与 Boosting 的区别:

  • 并行 vs 串行: Bagging 是并行训练基学习器;Boosting(如 AdaBoost, GBDT, XGBoost)是串行训练,后续模型重点关注之前模型预测错误的样本。
  • 样本权重: Bagging 中所有样本在抽样时默认权重相同;Boosting 会根据之前模型的预测表现动态调整样本权重,错误样本权重增大。
  • 目标: Bagging 主要降低方差;Boosting 主要降低偏差(并能一定程度降低方差)。
  • 基学习器要求: Bagging 对基学习器要求不高,甚至可以是弱学习器(但效果会打折扣);Boosting 通常要求基学习器是弱学习器(仅比随机猜测略好)。
  • 稳定性: Bagging 模型更稳定;Boosting 模型对数据和参数更敏感,容易过拟合(需仔细调参和正则化)。

8. 典型应用:

  • 随机森林: 这是 Bagging 最著名和最成功的应用。它以决策树为基学习器,并在 Bagging 的基础上额外引入了特征随机性(在节点分裂时随机选择特征子集),进一步增强了多样性和效果。
  • 其他模型的 Bagging 变体: 理论上,任何学习算法都可以作为 Bagging 的基学习器(如 Bagged KNN, Bagged SVMs 等),但决策树因其不稳定性而受益最大。
  • 需要高稳定性模型的场景。

总结:

Bagging 是一种强大且实用的集成学习技术,其核心在于通过 Bootstrap 自助采样生成多样化的训练子集,并行训练多个基学习器,然后通过投票(分类)或平均(回归) 聚合它们的预测结果。它最擅长降低高方差模型的方差,从而提升模型的稳定性、鲁棒性和泛化能力,减少过拟合风险。随机森林是 Bagging 思想的杰出代表和扩展。理解 Bagging 是深入掌握集成学习,特别是随机森林的关键基础。

本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/86811.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/86811.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

skiaSharp linux 上报错

The type initializer for SkiaSharp.SKImageInfo threw an exception 这个错误表明在 Linux 系统上初始化 SkiaSharp 的 SKImageInfo 类型时出现了问题。以下是完整的解决方案: 安装系统依赖: # Ubuntu/Debian sudo apt-get update sudo apt-get ins…

crawl4ai crawler.arun( 超时问题

delay_before_return_html500 # 单位:毫秒 会导致 crawler.arun 超时问题。按理说不应该 await crawler.arun( 1. 浏览器加载页面 ✅ 2. 页面DOM构建完成 ✅ 3. JavaScript执行完成 ✅ 4. 等待 delay_before_return_html 时间 ⏳ (500ms) 5. 返回最终HTML内容 &…

Linux Kernel下exFat使用fallocate函数不生效问题

1)Linux驱动开发相关问题,分享给将要学习或者正在学习Linux驱动开发的同学。 2)内容属于原创,若转载,请说明出处。 3)提供相关问题有偿答疑和支持。 Linux下经常使用fallocate去预分配一个很大的文件空间…

大学专业科普 | 物联网、自动化和人工智能

在选择大学专业时,可以先从自身兴趣、能力和职业规划出发,初步确定几个感兴趣的领域。然后结合外部环境因素,如专业前景、教育资源和就业情况等,对这些专业进行深入的分析和比较。 物联网专业 课程设置 基础课程:包括…

人工智能-基础篇-7-什么是大语言模型LLM(NLP重要分支、Transformer架构、预训练和微调等)

大型语言模型(Large Language Model)。这类模型是自然语言处理(NLP)领域的一个重要分支,它们通过在大量文本数据上进行训练来学习语言的结构和模式,并能够生成高质量的文本、回答问题、完成翻译任务等。 1…

【赵渝强老师】基于PostgreSQL的分布式数据库:Citus

由于PostgreSQL具有强大的功能和良好的可扩展性,因此基于PostgreSQL很容易就可以实现分布式架构。Citus便是具体的一种实现方式。它以扩展的插件形式与PostgreSQL进行集成,且独立于PostgreSQL内核,部署也比较简单。Citus是现在非常流行的基于…

【赵渝强老师】OceanBase OBServer节点的接入层

OceanBase数据库代理ODP(OceanBase Database Proxy,又称OBProxy)是OceanBase数据库的接入层,负责将用户的请求转发到合适的OceanBase数据库实例上进行处理。ODP是独立的进程实例,独立于OceanBase数据库实例部署。ODP监…

ISP Pipeline(8): Color Space Conversion 颜色空间转换

Color Space Conversion(颜色空间转换) 是图像处理中的一个重要步骤,它将图像从一个颜色空间(Color Space)转换到另一个,以满足 显示、分析、压缩或算法需求。 为什么转换颜色空间? 应用场景…

Spring Web MVC ①

🚀 一、Spring MVC MVC三层 Controller:乐团指挥,接收请求→调用模型→选择视图(Controller) Model:乐手,处理业务逻辑与数据(POJO对象) View:舞台展示&…

【数据挖掘】贝叶斯分类学习—NaiveBayes

NaiveBayes 朴素贝叶斯的核心是贝叶斯定理,它描述了如何根据新证据更新事件的概率。 要求: 1、实现朴素贝叶斯分类算法,验证算法的正确性,并将算法应用于给定的数据集Data_User_Modeling数据集,选择一部分数据集作为已…

Java面试宝典:基础二

🔒 25. final vs abstract 关键字 关键字修饰对象作用规则final类禁止被继承final class MyClass { ... }方法禁止被子类重写public final void func()变量变为常量(基本类型值不可变,引用类型地址不可变)final int MAX 100;abs…

小米手机安装charles证书

使用红米手机下载Charles证书一直下载中,无法正常下载。 不使用原装浏览器,使用第三方浏览器下载就可以了。 使用第三方浏览器安装,如我使用的是UC浏览器 使用第三方浏览器安装的证书格式是".pem"格式问卷 将这个文件放入小米的dow…

DeepSeek R2 推迟发布:因 H20 算力短缺

DeepSeek 今年早些时候凭借其 R1 AI 模型备受广泛关注。据《The Information》报道,R2 模型的工作似乎因 H20 处理器而停滞不前。 DeepSeek尚未透露其R2 模型的具体上市时间。 DeepSeek 使用 5 万块 Hopper GPU(包括 3 万块 H20、1 万块 H800 和 1 万块…

智能之火,重塑创造:大模型如何点燃新一代开发引擎?

导言:普罗米修斯之火再现 在科技演进的长河中,每一次生产力的跃迁都伴随着工具的质变。从蒸汽机轰鸣到电力普及,再到信息高速公路的铺就,人类驾驭能量的能力不断突破。今天,我们站在一个崭新的临界点上:大语…

一文入门JS

转自个人博客 因为本人经常使用QML,而由于QML与JS之间的关系,本人经常使用到JS相关语法,所以在此系统性对JS基础知识进行总结、记录。 1. 入门 JavaScript(简称 JS)是一种广泛应用于Web开发的脚本语言,它…

libtool: error: ‘/usr/.local/lib/libgmp.la‘ is not a valid libtool archive

背景: 安装gcc时提示需要vc11,然后安装gcc依赖gmp、mpfr、mpc。 到mpc make时出错: libtool: error: ‘/usr/.local/lib/libgmp.la’ is not a valid libtool archive 详细: /usr/bin/grep: /usr/.local/lib/libgmp.la: No such f…

HDC2025聚焦鸿蒙生态,FairGuard加固方案保驾护航

近日,在2025年华为开发者大会(HDC)上,华为正式启动HarmonyOS 6开发者Beta,并全面展示一年多以来与合作伙伴共建鸿蒙生态的创新成果:“累计有9000多个应用参与了70多个系统级创新体验的联合打造,目前有3万多鸿蒙应用和元…

GAN的思考及应用

一、对文献的思考 CycleGAN的思考,前两周看到了关于CycleGAN的原始论文,是用于处理图像数据,有了如下思考: 1、基础理论与方法 《Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks》是Cycle…

Xcode26新特性与iOS26适配指南

Xcode 26 新特性 在 WWDC25 上 Apple 推出了 Xcode 26,相比较 Xcode 16,它有如下的变化。 项目 安装包更小,其他组件与工具链只有在需要时才会下载。设置界面重新设计,菜单从顶部挪到了左侧,其中 Accounts 改名为 Apple Accounts,Text Editing 改名为 Editing,Key Bind…

闲庭信步使用SV搭建图像测试平台:第二十课——RGB图像转HSV图像

(本系列只需要modelsim即可完成数字图像的处理,每个工程都搭建了全自动化的仿真环境,只需要双击文件就可以完成整个的仿真,大大降低了初学者的门槛!!!!如需要该系列的工程文件请关注…