当前位置: 首页 > news >正文

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(1m1)me10.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)=T1t=1Tht(x)(回归)
8.5.2.2 方差减少与袋外估计

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

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

http://www.cnnetsun.cn/news/159279.html

相关文章:

  • Kotaemon如何优化内存占用?垃圾回收策略调整
  • Java计算机毕设之基于springboot的中小学“延时服务”平台的设计与实现基于springboot的中小学课后延时服务系统(完整前后端代码+说明文档+LW,调试定制等)
  • 基于LangChain的大模型本地化实践:Langchain-Chatchat详解
  • Langchain-Chatchat与Kubernetes集成:实现容器化弹性伸缩部署
  • Langchain-Chatchat在物联网设备说明书管理中的应用
  • python+vue3的健康体检网络管理系统的设计与实现754682131
  • python+vue3的见山茶食酒馆网站 公益活动报名系统87433411
  • Langchain-Chatchat在设备维修手册查询中的快速响应能力
  • 【金猿案例展】中电防务科技股份有限公司——质量管理数据要素价值释放与智能知识库建设实践
  • Kotaemon可用于健身房课程预约智能助手
  • FaceFusion在AI健身课程教练形象多样化中的应用
  • Langchain-Chatchat实现错误信息智能诊断
  • Langchain-Chatchat在DevOps知识管理中的应用
  • Langchain-Chatchat在航空航天手册查询中的价值
  • FaceFusion在虚拟房地产导览中的形象应用
  • 基于Kotaemon的RAG应用实战:从零搭建高准确率问答系统
  • Spring6.0+Boot3.0:秒级启动、万级并发的开发新姿势
  • 计算机小程序毕设实战-基于springboot+微信小程序的汽车后市场二手车出售系统二手车买卖交易小程序系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 【必学收藏】从指令到智能:计算机学习的范式革命与大模型入门指南
  • FaceFusion能否用于体育解说?运动员历史形象重现
  • FaceFusion结合Stable Diffusion生成更逼真人脸?
  • 一文搞懂LangChain多模态:DeepSeek+content_blocks实战,从小白到工程师的必学之路
  • Langchain-Chatchat用于代码注释自动生成
  • FaceFusion如何处理反光眼镜造成的数据干扰?
  • Langchain-Chatchat助力精准广告投放
  • FaceFusion能否实现眼神跟随效果?视线重定向技术前瞻
  • 【课程设计/毕业设计】基于微信小程序的考研公共课资料库分享平台基于php+微信小程序的考公资料库分享平台资料库平台【附源码、数据库、万字文档】
  • 程序员必藏:大模型时代生存手册:从传统开发到AI工程师的转型秘籍
  • Langchain-Chatchat支持的知识库版本控制机制设计
  • Java毕设项目推荐-基于Java+SpringBoot的仓库管理系统的设计与实现基于springboot的自行车仓库管理系统设计与实现【附源码+文档,调试定制服务】