机器学习——集成学习

article/2025/7/1 2:51:16

一、集成学习概念

集成学习:  (Ensemble Learning)是一种机器学习范式,它通过构建并结合多个模型来完成学习任务,获得更好的泛化性能。

核心思想:通过组合多个弱学习器来构建一个强学习器。

bagging思想:有放回的抽样;平权投票,多数表决方式决定预测结果;并行训练。

boosting思想:全部样本(重点关注上一训练器不足的地方训练);加权投票的方式;串行训练。

二、集成学习方法

核心对比:

方法训练方式预测方式适用场景
Bagging并行训练独立模型投票/平均

高方差模型

(如决策树)

Boosting顺序训练,调整样本权重加权投票/累加

高偏差模型

(如弱树)

Stacking两层模型(基模型+元模型)

元模型组合基模型预测

复杂任务,需模型融合

详细对比:

1.Bagging(如随机森林):

        训练时:通过"有放回"的自助采样(bootstrap)从训练集中生成多个子集,每个子集"独立"训练一个基学习器(如决策树)。

        预测时:所有基学习器对未知样本进行预测,最终结果通过 投票(分类) 或 平均(回归) 得到。

        API:sklearn.ensemble.RandomForestClassifier

2.Boosting(如AdaBoosting、GBDT、XGBoost):

        训练时:基学习器是顺序训练的,每个新模型都试图修正前一个模型的错误(如调整样本权重或拟合残差)。

        预测时:所有基学习器的预测结果进行加权组合(如AdaBoost)或累加(GBDT系列)。

        API:sklearn.ensemble.AdaBoostClassifier   /   sklearn.ensemble.GradientBoostingClassifier

3.Stacking:

        训练时:先训练多个不同类型的基学习器,再用它们的输出训练一个元学习器(meta-model)。

        预测时:基学习器先预测,然后元学习器基于它们的输出做最终预测。

三、底层详解

Bagging

概述:多个模型独立训练,投票决定结果(稳)

代表算法--随机森林算法 API:sklearn.ensemble.RandomForestClassifier

                 步骤:1.有放回的随机抽样产生训练集;2.随机挑选n个特征(n小于特征总数);3.训练弱学习器;4.重复1-3,训练n个弱学习器(决策树);5.预测结果:分类问题:多数表决;回归问题:计算平均值。

Boosting

概述:模型逐步改进,加权组合结果(准)

代表算法:

①Adaboost算法    API:sklearn.ensemble.AdaBoostClassifier

算法思想:通过逐步提高前一步分类错误的样本的权重来训练一个强分类器。

步骤:1.初始化数据权重,训练第一个学习器,根据预测结果找一个错误率最小的分裂点,然后重新计算样本权重,模型权重;

           2.根据新的样本权重,训练第二个学习器,根据结果找一个错误率最小的分裂点,然后再次更新样本权重,模型权重;

           3.重复以上过程,依次训练n个弱学习器.最终组合起来进行预测,结果大于0为正类,小于0为负类。

②GBDT    API:sklearn.ensemble.GradientBoostingClassifier

模型:f_{\left ( x \right )}=\sum_{t=1}^{T}f_{t}\left ( x \right )

残差:真实观测值-预测值

每一个新学习器,都是拟合真实值与之前所有基学习器共同预测的结果之间的残差来提升的。

对于回归问题,损失函数是平方损失,GBDT拟合的负梯度就是残差。

对于分类问题,损失函数变为 logloss,此时拟合的目标值就是该损失函数的负梯度值。

步骤:1.初始化弱学习器,将目标值的均值作为初始的预测值;

           2.迭代构建学习器,每一个新学习器拟合的是真实值与上一步模型(n-1个模型)预测结果之间的残差;

           3.达到指定的学习器个数停止;

           4.预测时,将所有弱学习器的输出结果组合起来作为强学习器的输出。

③XGBoost        API:import xgboost as xgb

模型:f_{\left ( x \right )}=\sum_{t=1}^{T}f_{t}\left ( x \right )


http://www.hkcw.cn/article/hgblgZRokw.shtml

相关文章

ResNet改进(46):Ghost-ResNet优化卷积神经网络

1.创新点分析 引言 在计算机视觉领域,ResNet是里程碑式的架构,但其计算量较大限制了在资源受限环境的应用。 华为诺亚方舟实验室提出的Ghost模块通过"廉价操作"生成冗余特征图,显著降低了计算成本。 本文将深入解析基于Ghost模块的ResNet实现,展示如何在不显著…

光伏功率预测 | LSTM多变量单步光伏功率预测(Matlab完整源码和数据)

光伏功率预测 | MATLAB实现基于LSTM长短期记忆神经网络的光伏功率预测 目录 光伏功率预测 | MATLAB实现基于LSTM长短期记忆神经网络的光伏功率预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 光伏功率预测 | LSTM多变量单步光伏功率预测(Matlab完整源码和…

langGraph多Agent

目录 子图(Subgraphs)使用子图共享状态模式(Shared state schemas)不同状态模式(Different state schemas)添加持久化查看子图状态流式获取子图输出 多智能体系统(Multi-agent systems&#xff…

OVD开放词汇检测中COCO数据集的属性

前面的文章介绍了在Detic中基于COCO数据集实现OVD检测的操作方法,但是要在其他数据集上迁移,还是要了解COCO数据集是如何被利用的,这里针对数据集的属性进行说明。 COCO数据集的标签形式做过目标检测的应该都很熟悉,图像名称、宽…

构建高性能风控指标系统

一、引言 在金融风控领域,指标是风险识别的核心依据。风控平台核心系统之一--规则引擎的运行依赖规则、变量和指标,一个高性能的指标系统非常重要,本文将深入探讨风控平台指标系统的全链路技术实现,涵盖从指标配置到查询优化的完…

【LLM】Agent综述《Advances And Challenges In Foundation Agents》

note 拥有完善的认知架构仅仅只是第一步。Foundation Agent 的核心特征之一在于其自进化 (Self-Evolution) 的能力,即 Agent 能够通过与环境的交互和自我反思,不断学习、适应和提升自身能力,而无需持续的人工干预。自进化机制:优…

《Pytorch深度学习实践》ch3-反向传播

------B站《刘二大人》 1.Introduction 在神经网络中,可以看到权重非常多,计算 loss 对 w 的偏导非常困难,于是引入了反向传播方法; 2.Backward 这里模型为 y x * w,所以要计算的偏导数为 loss 对 w; …

房产销售系统 Java+Vue.js+SpringBoot,包括房源信息、房屋户型、房源类型、预约看房、房屋评价、房屋收藏模块

房产销售系统 JavaVue.jsSpringBoot,包括房源信息、房屋户型、房源类型、预约看房、房屋评价、房屋收藏模块 百度云盘链接:https://pan.baidu.com/s/1Ku27fPWwc47z2aSO_dow6w 密码:da1g 房产销售系统 摘 要 随着科学技术的飞速发展&#xf…

从0开始学vue:vue3和vue2的关系

一、版本演进关系1. 继承关系2. 版本生命周期 二、核心差异对比三、关键演进方向1. Composition API2. 性能优化 四、迁移策略1. 兼容构建模式2. 关键破坏性变更 五、生态演进1. 官方库升级2. 构建工具链 六、选型建议1. 新项目2. 现有项目 七、未来展望 一、版本演进关系 1. …

python 如何写4或5的表达式

python写4或5的表达式的方法: python中和是用“and”语句,或是用“or”语句。那么4或5的表达式为“4 or 5” 具体示例如下: 执行结果:

电子电气架构 --- 如何应对未来区域式电子电气(E/E)架构的挑战?

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

绿盟 IPS 设备分析操作手册

一、操作手册说明 本手册面向安全监控分析人员,聚焦绿盟 IPS 设备的基础功能操作与典型攻击场景分析,提供安全事件监控、告警详情查看、白名单配置等功能指引,以及 Shiro 反序列化漏洞的检测与应急方法,助力及时发现并处置安全威…

Arch安装megaton

安装devkitPro https://blog.csdn.net/qq_39942341/article/details/148387077?spm1001.2014.3001.5501 安装cargo https://blog.csdn.net/qq_39942341/article/details/148387783?spm1001.2014.3001.5501 确认一下bashrc sudo pacman -S git cmake ninjagit clone https:/…

【Qt开发】对话框

目录 1,对话框的介绍 2,Qt内置对话框 2-1,消息对话框QMessageBox 2-2,颜色对话框QColorDialog 2-3,文件对话框QFileDialog 2-4,字体对话框QFontDialog 2-5,输入对话框QInputDialog 1&…

7.4-Creating data loaders for an instruction dataset

Chapter 7-Fine-tuning to follow instructions 7.4-Creating data loaders for an instruction dataset 我们只需将InstructionDataset对象和custom_collate_fn函数接入 PyTorch 数据加载器 ​ 使用以下代码来初始化设备信息 device torch.device("cuda" if tor…

android 上位机调试软件-安卓串口 com ttl 调试——仙盟创梦IDE

在 Android 开发中,基于com.ttl库的串口调试 Web 编写意义非凡。它打破了硬件与软件之间的壁垒,让 Android 设备能够与外部串口设备通信。对于智能家居、工业控制等领域,这一功能使得手机或平板能成为控制终端,实现远程监控与操作…

【笔记】解决虚拟环境中找不到 chromedriver 的问题

✅解决虚拟环境中找不到 chromedriver 的问题 📌 问题描述: 在 Windows 中已将 D:\chromedriver\ 添加到系统环境变量 PATH,在系统终端中运行 chromedriver 没有问题。 但在项目虚拟环境(如 .venv)中运行项目时&…

Linux 基础指令入门指南:解锁命令行的实用密码

文章目录 引言:Linux 下基本指令常用选项ls 指令pwd 命令cd 指令touch 指令mkdir 指令rmdir 指令 && rm 指令man 指令cp 指令mv 指令cat 指令more 指令less 指令head 指令tail 指令date 指令cal 指令find 指令按文件名搜索按文件大小搜索按修改时间搜索按文…

基于STM32的循迹避障小车的Proteus仿真设计

文章目录 一、基于STM32的循迹避障小车1.题目要求2.思路2.1 主控2.2 显示2.3 电源模块2.4 舵机云台2.5 超声波测距2.6 红外循迹模块2.7 蓝牙模块2.8 按键2.9 电机驱动 3.电路仿真3.1 未仿真3.2 自动模式3.3 手动模式3.4 蓝牙模式 4.仿真程序4.1 程序说明4.2 主程序4.3 红外程序…

周星驰导演电影《女足》今日杀青 历时三月圆满收官

迪丽热巴主演的周星驰执导电影《女足》于2025年6月2日正式杀青。此前有报道称,新电影《女足》的路透拍摄画面曝光,其中包含特效动作场面,看起来与《少林足球》相似。该片由周星驰执导,结合了少林功夫与足球元素,讲述了中国女子足球队“峨嵋队”征战亚冠杯的热血故事。整个…