news 2026/7/28 15:14:41

集成学习(ensemble learning)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
集成学习(ensemble learning)

目录

什么是集成学习?

1.学习器相关的基本定义:

2 .集成学习的方法

3 .并行计算 :

4 .串行计算 :

boosting实例:

给定如下表所示训练数据。假设个体学习器由x(输入)和y(输出)产生,其阈值v(判定正反例的分界线)使该分类器在训练数据集上分类误差率最低。(y=1为正例,y=-1为反例)

reference:



什么是集成学习?

集成学习(ensemble learning):通过构建并结合多个学习器来完成学习任务,是一大类模型融合策略和方法的统称

1.学习器相关的基本定义:

弱学习器:

对于二分类而言,弱分类器的准确率可能比较低,例如60%65%等等,但它们的最低要求是一定要大于50%即随机预测的准确率。

强学习器:

识别准确率很高并能在多项式时间内完成的学习算法

质集成( 集成中包含同一类型的学习器)

基学习器

对应的算法基学习算法

质集成:(继承中包含不同的类型的学习器)

组件学习器

2 .集成学习的方法

串行集成方法:

这种方法串行地生成基础模型(如AdaBoost)。串行集成的基本动机是利用基础模型之间的依赖。通过给错分样本一个较大的权重来提升性能。

并行集成方法:

这种方法并行地生成基础模型(如Random Forestbagging)。并行集成的基本动机是利用基础模型的独立性,因为通过平均能够较大地降低误差。

3 .并行计算 :

1. 实例 bagging的基本过程:

A从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中)。共进行k轮抽取,得到k个训练集。(k个训练集之间是相互独立的)

B每次使用一个训练集得到一个模型k个训练集共得到k个模型。(注:这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等)

C对分类问题:将上步得到的k个模型采用投票的方式得到分类结果;对回归问题,计算上述模型的均值作为最后的结果。(所有模型的重要性相同)

为了让更好地理解bagging方法,这里提供一个例子:

X表示一维属性Y表示类标号1-1)测试条件:x<=ky=?;x>ky=k为最佳分裂点

下表为属性x对应的唯一正确y类别,现在进行5轮随机抽样,结果如下:

每一轮随机抽样后,都生成一个分类器然后再将五轮分类融合:

对比符号和实际类,我们可以发现:在该例子中Bagging使得准确率可90%.

2.随机森林

随机森林:bagging +决策树(基学习器):

随机+森林:

随机主要体现在两个方面:一个是样本抽取随机,另一个是每棵树的M个特征的随机选取。

森林:多个决策树进程学习形成森林

每棵树的按照如下规则生成

1)如果训练集大小为N(总样本为MN<M),对于每棵树而言,随机且有放回地从训练集中的抽取N个训练样本(这种采样方式称为bootstrap sample方法),作为该树的训练集

2)如果每个样本的特征维度为M,指定一个常数m<<M随机地从M个特征中选取m个特征子集,每次树进行分裂时,从这m个特征中选择最优的;

3)每棵树都尽最大程度的生长,并且没有剪枝过程。

思考题:

为什么要随机抽样训练集?

如果不进行随机抽样,每棵树的训练集都一样,那么最终训练出的树分类结果也是完全一样的,这样的话完全没有bagging的必要;

为什么要有放回地抽样?

有放回地抽样才能保证每次抽取时可能的概率时一样的,即为了达到独立同分布,可保证每一颗决策树都是相互独立的,而随机森林最后分类取决于多棵树(弱分类器)的投票表决,这种表决应该是"求同",因此使用完全不同的训练集来训练每棵树这样对最终分类结果是没有帮助的,这样无异于是"盲人摸象"

随机的好处?

随机森林中的“随机”就是指的上述的两个随机性,即二重随机性。两个随机性的引入对随机森林的分类性能至关重要。由于它们的引入,使得随机森林不容易陷入过拟合,并且具有很好得抗噪能力(比如:对缺省值不敏感。

填空题:

Bagging属于______集成的基本动机是利用基础模型的(__独立性___)

A串行B并行

4 .串行计算 :

1.Boosting

boosting是一族可将弱学习器提升为强学习器的算法,这族算法的工作机制类似:

1,先从初始训练集训练出一个基学习器;

2,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注;

3,基于调整后的样本分布来训练下一个基学习器;

4,重复进行上述步骤,直至基学习器数目达到事先指定的值T,最终将这T个基学习器进行加权结合。

boosting实例:

给定如下表所示训练数据。假设个体学习器由x(输入)和y(输出)产生,其阈值v(判定正反例的分界线)使该分类器在训练数据集上分类误差率最低。(y=1为正例,y=-1为反例)

具体过程可以看(太长了懒~~~):

https://www.zhihu.com/collection/213299143

思考题:

试述随即森林为什么比决策树Bagging集成的训练速度快?(首先理解决策树Bagging与随机森林的区别)

随机森林不仅会随机样本,还会在所有样本属性中随机几种出来计算。这样每次生成分类器时都是对部分属性计算最优,速度会比Bagging计算全属性要快。

BaggingBoosting二者之间的区别?

1)样本选择上:

Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。

Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根 据上一轮的分类结果进行调整。

2)样例权重:

Bagging:使用均匀取样,每个样例的权重相等

Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。

3)预测函数:

Bagging:所有预测函数的权重相等。

Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。

4)并行计算:

Bagging:各个预测函数可以并行生成

Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果

Reference:

https://www.cnblogs.com/zongfa/p/9304353.html

https://www.zhihu.com/collection/213299143

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

企业400电话办理全流程指南与优化建议

1. 企业400电话业务概述 400电话作为企业专属客服热线&#xff0c;已经取代传统固话成为现代企业客户服务的标配。与普通电话号码不同&#xff0c;400号码采用全国统一接入、话费分摊的通信模式&#xff0c;客户拨打无需支付长途费用&#xff0c;企业则按接听量付费。这种模式特…

作者头像 李华
网站建设 2026/7/28 15:13:23

爬虫转大模型,我的旧方法先崩了:权限日志才是真门槛

《我用爬虫经验做了次 AI 项目&#xff0c;最先失效的是旧方法》看起来是个大话题&#xff0c;但真落到项目里&#xff0c;常常就是几个具体选择。下面我尽量按实际开发时会遇到的问题来讲。摘要摘要&#xff1a;从信息采集到 AI 竞争力&#xff0c;我靠一次联调失败悟了——De…

作者头像 李华
网站建设 2026/7/28 15:12:36

C++实现大小写不敏感字符串集合:自定义比较器与安全字符处理

1. 项目概述&#xff1a;一个大小写不敏感的字符串集合在C的日常开发里&#xff0c;处理字符串集合是家常便饭。std::set<std::string>用起来很顺手&#xff0c;但它有个“固执”的脾气&#xff1a;严格区分大小写。这意味着“Apple”、“apple”和“APPLE”会被它当作三…

作者头像 李华
网站建设 2026/7/28 15:12:17

C++ RESTful API 与 Nginx 集成:构建高性能后端服务的完整实践

在 C++ 项目中,构建一个高性能、可维护的后端服务是许多开发者追求的目标。这类项目通常不仅需要处理复杂的业务逻辑,还需要对外提供稳定、高效的 API 接口,并能够安全、快速地分发前端静态资源。结合常见的工程实践,一个典型的 C++ 后端项目架构可能涉及 RESTful API 设计…

作者头像 李华
网站建设 2026/7/28 15:12:15

Gitee代码托管平台核心技术解析与企业实践

1. Gitee在中国开发者生态中的核心定位作为国内领先的代码托管与协作平台&#xff0c;Gitee自2013年上线以来已经服务超过800万开发者。与全球性平台相比&#xff0c;Gitee最显著的特点是构建了完整的本土化开发者服务体系。从代码托管、CI/CD到知识管理&#xff0c;Gitee提供的…

作者头像 李华
网站建设 2026/7/28 15:11:55

Taskbar-Lyrics:Windows 11任务栏歌词显示插件完整指南

Taskbar-Lyrics&#xff1a;Windows 11任务栏歌词显示插件完整指南 【免费下载链接】Taskbar-Lyrics BetterNCM插件&#xff0c;在任务栏上嵌入歌词&#xff0c;目前仅建议Windows 11 项目地址: https://gitcode.com/gh_mirrors/ta/Taskbar-Lyrics Taskbar-Lyrics是一款…

作者头像 李华