news 2026/10/23 11:07:25

8.5 集成学习方法:Bagging、Boosting、Stacking原理与实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
8.5 集成学习方法:Bagging、Boosting、Stacking原理与实现

8.5 集成学习方法:Bagging、Boosting、Stacking原理与实现

集成学习通过构建并结合多个学习器来完成学习任务,其性能通常显著优于单一学习器,是现代机器学习工具箱中的核心组件。集成学习的有效性基于一个基本假设:多个模型的组合可以修正单个模型的错误,从而获得更稳定、更准确的预测。本节将系统阐述三种主流的集成学习范式:通过并行构建独立模型以减少方差的Bagging,通过序贯构建模型以修正偏差的Boosting,以及通过训练元模型以组合基学习器预测的Stacking。

8.5.1 集成学习基础与有效性分析

集成学习的核心思想是“集思广益”。给定一个包含mmm个样本的数据集D={ (xi,yi)}i=1mD = \{(\mathbf{x}_i, y_i)\}_{i=1}^mD={(xi​,yi​)}i=1m​和一组基学习算法,集成学习旨在生成多个基学习器{ h1,h2,...,hT}\{h_1, h_2, ..., h_T\}{h1​,h2​,...,hT​},并通过某种策略(如投票法、加权平均)将它们组合成最终模型HHH。

其有效性可以从统计、计算和表示三个角度理解:

  1. 统计角度:当假设空间较大而数据有限时,单一学习器可能因陷入局部最优或过拟合而性能不佳。集成通过对多个可能假设进行平均,可以降低选择到错误假设的风险。
  2. 计算角度:许多学习算法(如决策树、神经网络)的优化过程是非凸的,受初始值影响大。通过多次运行并从不同起点开始构建模型并集成,可以逼近更好的解。
  3. 表示角度:真实的假设可能不在当前算法的假设空间内。通过组合多个假设空间中的模型,有可能扩展有效的假设空间,逼近更复杂的真实函数。

从偏差-方差分解的视角看,集成主要致力于降低方差(如Bagging)或降低偏差(如Boosting),从而提升泛化性能。

8.5.2 Bagging:并行自助聚合

Bagging(Bootstrap Aggregating)由Breiman于1996年提出,是一种基于自助采样法的并行式集成方法[1]。其核心是通过引入样本扰动来构建多样性,然后通过平均来稳定预测。

8.5.2.1 算法原理与步骤

给定训练集DDD和基学习算法(通常为不稳定学习器,如决策树),Bagging重复进行以下步骤TTT次:

  1. 自助采样:从DDD中有放回地随机抽取mmm个样本,形成一个自助采样集DtD_tDt​。每次采样,每个样本未被抽中的概率为(1−1m)m≈e−1≈0.368(1 - \frac{1}{m})^m \approx e^{-1} \approx 0.368(1−m1​)m≈e−1≈0.368,因此DtD_tDt​中约有63.2%的原始样本。
  2. 基学习器训练:使用自助采样集DtD_tDt​独立训练一个基学习器hth_tht​。
  3. 结果聚合:对所有TTT个基学习器的预测进行聚合。对于分类任务,通常采用简单投票法(少数服从多数);对于回归任务,采用简单平均法:
    H(x)=1T∑t=1Tht(x)(回归) H(\mathbf{x}) = \frac{1}{T} \sum_{t=1}^{T} h_t(\mathbf{x}) \quad \text{(回归)}H(x)=T1​t=1∑T​ht​(x)(回归)
8.5.2.2 方差减少与袋外估计

Bagging通过自助采样引入了样本扰动,使得各基学习器在不同数据子集上训练,增加了模型间的多样性(不相关性)。对于输出具有较大方差的基学习器(如深度决策树),这种对预测结果的平均操作能够有效降低整体模型的方差,从而提高泛化能力,尤其能抑制过拟合。

自助采样过程天然地产生了袋外样本(Out-Of-Bag, OOB),即未出现在某个特定自助采样集DtD_tDt​<

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/22 21:34:28

Kotaemon如何优化内存占用?垃圾回收策略调整

Kotaemon如何优化内存占用&#xff1f;垃圾回收策略调整在数字音频设备的开发中&#xff0c;一个微小的延迟就可能毁掉整场演出。想象一下&#xff1a;现场演出控制器正在切换效果链&#xff0c;突然音频断流半秒——观众或许听不出具体问题&#xff0c;但那种“不专业”的感觉…

作者头像 李华
网站建设 2026/10/23 3:45:45

Java计算机毕设之基于springboot的中小学“延时服务”平台的设计与实现基于springboot的中小学课后延时服务系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/10/23 4:51:17

基于LangChain的大模型本地化实践:Langchain-Chatchat详解

基于LangChain的大模型本地化实践&#xff1a;Langchain-Chatchat详解 在企业智能化浪潮中&#xff0c;一个现实问题日益凸显&#xff1a;通用大语言模型虽然能对答如流&#xff0c;但面对“我们公司报销流程是什么”这类具体问题时&#xff0c;往往只能尴尬地回答“我不清楚”…

作者头像 李华
网站建设 2026/10/23 0:06:38

Langchain-Chatchat与Kubernetes集成:实现容器化弹性伸缩部署

Langchain-Chatchat 与 Kubernetes 集成&#xff1a;构建安全高效的智能问答平台 在企业知识管理日益复杂的今天&#xff0c;如何快速、准确地从海量文档中获取所需信息&#xff0c;已成为提升组织效率的核心挑战。传统的问答系统往往依赖云端AI服务或预设规则&#xff0c;不仅…

作者头像 李华
网站建设 2026/10/22 15:58:29

Langchain-Chatchat在物联网设备说明书管理中的应用

Langchain-Chatchat 在物联网设备说明书管理中的应用 在一家智能医疗设备制造商的售后支持中心&#xff0c;一名工程师正站在一台报错“E05”的呼吸机前。他掏出手机&#xff0c;在企业内网系统中输入&#xff1a;“E05是什么故障&#xff1f;怎么处理&#xff1f;”不到三秒&a…

作者头像 李华
网站建设 2026/10/22 22:55:07

python+vue3的健康体检网络管理系统的设计与实现754682131

文章目录 系统截图项目技术简介可行性分析主要运用技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 系统截图 pythonvue3的健康体检网络管理系统的设计与实现754682131 项目技术简介 Python版本&…

作者头像 李华