目录

1. 什么是集成学习

1.1 分类器集成的结果

1.2 构造基分类器的三种方法

1.3 多个基分类器如何进行分类

2. 分析预测模型的泛化误差

3. 分类器集成方法

3.1 装袋法 Bagging(实例操作)

3.2 随机森林法 Random Forest(特征操作)

3.3 演进法 Boosting(算法操作)

3.3.1 演进法实例:AdaBoost

3.3.2 装袋法/随机森林和演进法对比

3.4 堆叠法 Stacking


1. 什么是集成学习

集成学习原名为    ,它是根据训练数据构造一组基分类器(base classifier),通过聚合每个基分类器的输出来进行分类。

基分类器,就是一个小的分类器,单个基分类器的性能取决于它选择的分类算法和训练集。

对于单个性能比较弱的基分类器,我们称为弱分类器

对于单个性能比较强的基分类器,我们称为强分类器

多个基分类器集成的思想源于下列直觉

  • 考虑到几个基分类器的分类意见,而不是仅仅依靠一个基分类器的意见 。
  • 许多弱分类器的组合至少可以和一个强分类器一样好。
  • 一些强分类器的组合(通常)至少和基分类器中最好的一个一样好。

1.1 分类器集成的结果

多个分类器集成后的性能一定更好吗?我们带着这个疑问来看下面的例子:

 分别代表了3个基分类器, 表示的是三个分类器的结合的最终结果:

由结果可以看出,多个基分类器的集合不一定犹豫单个基分类器的性能,那么:

什么时候选择集成呢?

  • 基础分类器不会犯同样的错误。
  • 每个基础分类器都是相当准确的。

1.2 构造基分类器的三种方法

实例操作:通过抽样产生多个训练集,并在每个数据集上训练一个基础分类器。

特征操作:通过不同的特征子集生成多个训练集,并在每个数据集上训练一个基础分类器。

算法操作:半随机地调整给定算法中的内部参数,在给定的数据集上生成多个基础分类器。

1.3 多个基分类器如何进行分类

在多个基分类器上进行分类的最简单手段是投票

对于离散类,在测试集上运行多个基分类器,并选择由最多基分类器预测的类(少数服从多数)。例如一个二分类的数据集,,构造了5个基分类器,对于某个样本有三个基分类器的输出结果是1, 两个是0那么这个时候,总和来看结果就应该是1。

对于连续数值类,对我们基分类器预测的数字进行平均,将平均数作为最终的预测结果。

2. 分析预测模型的泛化误差

从模型角度看:

  • (偏置):衡量一个分类器进行错误预测的趋势。
  • (变异度):衡量一个分类器预测结果的偏离程度。

如果一个模型有更小的 就代表这个模型的泛化性能很好。

3. 分类器集成方法

3.1 装袋法 Bagging(实例操作)

Bagging = bootstrap aggregating(自举汇聚法


装袋法思想源于数据越多,性能越好的直觉判断。


具体方法

通过随机抽样与替换相结合的方式构建新的数据集 。

将原始数据集进行有放回的随机采样次,得到了个数据集,针对这些数据集一共产生个不同的基分类器。对于这个分类器,让他们采用投票法来决定最终的分类结果。


例子:


袋装法存在的问题

因为袋装法是有放回的随机采样次,那就有可能有些样本可能永远不会被随机到。因为个样本,每个样本每次被取到的概率为,那么一共取次没取到的概率为这个值在很大的时候的极限值


装袋法的特点

  • 始终使用相同的基分类算法 
  • 减少预测的(通过接受一些)。
  • 对不稳定的分类器(训练集的微小变化会导致预测的巨大变化)有效
  • 可能会使稳定分类器的性能略有下降
  • 基于抽样(构造基分类器的三种方法中的实例操作)和投票的简单方法。
  • 多个单独的基分类器可以同步并行进行计算。
  • 可以有效的克服数据集中的噪声数据,因为异常值可能会消失()。
  • 性能通常比基分类器要好得多,只是偶尔会比基分类器差。

3.2 随机森林法 Random Forest(特征操作

随机森林法的基分类器是随机树:一棵决策树,但每个节点只考虑一些可能的属性。


可以通过下图回忆什么是决策树:


也就是说随机树使用的特征空间不是训练集全部的特征空间

  • 例如,采用一个固定的比例来选择每个决策树的特征空间大小。
  • 随机森林中的每棵树的建立都比一个单独的决策树要简单和快速;但是这种方法增加了模型的

森林就是多个随机树的集合

  • 每棵树都是用不同的袋装训练数据集建立的。
  • 综合分类是通过投票进行的。


随机森林的超参数

树的数量B,可以根据“out-of-bag”误差进行调整。

特征子样本大小:随着它的增加,分类器的强度和相关性都增加 。因为随机森林中的每棵树使用的特征越多,其与森林中其他树的特征重合度就可能越高,导致产生的随机数相似度越大。


可解释性:单个实例预测背后的逻辑可以通过多棵随机树共同决定。


随机森林的特点

  • 随机森林非常强大,可以高效地进行构建
  • 可以并行的进行。
  • 过拟合有很强的鲁棒性
  • 可解释性被牺牲了一部分,因为每个树的特征都是特征集合中随机选取的一部分。

3.3 演进法 Boosting(算法操作

演进法的思想源于调整基础分类器,使其专注于难以分类的实例的直觉判断。


具体方法

迭代地改变训练实例的分布和权重,以反映分类器在前一次迭代中的表现。

  • 从初始训练集训练出一个基学习器;这时候每个样本的权重都为
  • 每个都会根据上一轮预测结果调整训练集样本的权重。
  • 基于调整后的训练集训练一个新的基学习器。
  • 重复进行,直到基学习器数量达到开始设置的值
  • 个基学习器通过加权的投票方法(weighted voting)进行结合。

例子


对于boosting方法,有两个问题需要解决:

  • 每一轮学习应该如何改变数据的概率分布
  • 如何将各个基分类器组合起来

Boosting集成方法的特点

  • 他的基分类器是决策树或者 OneR 方法。
  • 数学过程复杂,但是计算的开销较小;整个过程建立在迭代的采样过程和加权的投票(voting)上。
  • 通过迭代的方式不断的拟合残差信息,最终保证模型的精度。
  • 比bagging方法的计算开销要大一些。
  • 在实际的应用中,boosting的方法略有过拟合的倾向(但是不严重)。
  • 可能是最佳的词分类器(gradient boosting)。

3.3.1 演进法实例:AdaBoost

Adaptive Boosting(自适应增强算法):是一种顺序的集成方法(随机森林和 Bagging 都属于并行的集成算法)。


具体方法

  • 个基分类器:
  • 训练集表示为
  • 初始化每个样本的权重都为,即:

在每个  中,都按照下面的步骤进行:

1

计算错误率  

是一个函数,当函数的条件满足的时候函数值为1;即,当弱分类器对样本进行分类的时候如果分错了就会累积

2

使用来计算每个基分类器的重要程度(给这个基分类器分配权重

从这个公式也能看出来,当 判断错的样本量越多,得到的就越大,相应的就越小(越接近

3

根据来更新每一个样本的权重参数,为了第做准备:

样本的权重由变成这个过程中发生的事情是:如果这个样本在第中被判断正确了,他的权重就会在原本的基础上乘以;根据上面的知识因此所以根据公式我们可以知道,那些被分类器预测错误的样本会有一个大的权重;而预测正确的样本则会有更小的权重。

是一个项,为了保证所有的权重相加之和为

4

最终将所有的按照权重进行集成

5

持续完成从的迭代过程,但是当的时候需要重新初始化样本的权重最终采用的集成模型进行分类的公式:

这个公式的意思大概是:例如我们现在已经得到了3个基分类器,他们的权重分别是所以整个集成分类器可以表示为:

如果类别标签一共只有那就最终的对于的值大还是对于的值大了。

只要每一个基分类器都比随机预测的效果好,那么最终的集成模型就会收敛到一个强很多的模型。

3.3.2 装袋法/随机森林和演进法对比

装袋法和演进法的对比

Bagging Boosting
样本选择 训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。
 
每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。
 
样例权重 均匀取样,每个样例的权重相等。
 
根据错误率不断调整样例的权值,错误率越大则权重越大。
预测函数 所有预测函数的权重相等。
 
每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。
 
计序 各个预测函数可以并行生成。

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


装袋法/随机森林 以及演进法对比

Bagging/Random Forest Boosting
平行取样 迭代抽样
简单投票 加权投票
同质分类器 同质分类器
最小化变异度 最小化实例偏置
不容易过度拟合 容易过度拟合 

3.4 堆叠法 Stacking

堆叠法的思想源于在不同偏置的算法范围内平滑误差的直觉。


方法:采用多种算法,这些算法拥有不同的偏置


在基分类器() 的输出上训练一个元分类器()也叫

  • 了解哪些分类器是可靠的,并组合基分类器的输出
  • 使用交叉验证来减少偏置

:基分类器

  • 给定一个数据集
  • 可以是

:集成分类器

  • 分类器的基础上构建新的
  • 每个分类器的预测输出都会加入作为新的;如果有分离器最终就会加入
  • 删除或者保持原本的数据
  • 考虑其他可用的数据(概率分数,权重)
  • 训练来做最终的预测

可视化这个stacking过程:


stacking方法的特点

  • 结合多种不同的分类器
  • 数学表达简单,但是实际操作耗费计算资源
  • 通常与基分类器相比,stacking的结果一般好于最好的基分类器

机器学习基础:模型集成/集成学习相关推荐

  1. 机器学习 | 基础通俗讲解集成学习算法!

    来源:Datawhale 本文约6000字,建议阅读10+分钟 本文以图文的形式对模型算法中的集成学习,以及对集中学习在深度学习中的应用进行了详细解读. 标签:机器学习 数据及背景 阿里天池-零基础入 ...

  2. 机器学习基础模型回顾

    1 导论 1.1 什么是机器学习? ​ 机器学习的一个重要目标就是利用数学模型来理解数据,发现数据中的规律,用作数据分析和预测. 1.1.1 数据? ​ 数据通常由一组向量组成,这组向量中的每一个向量 ...

  3. 统计学习方法 pdf_机器学习基础教材-《统计学习与数据分析介绍》免费pdf分享...

    本书介绍 本入门级统计教科书主要讲解发展和培养统计思维所需的基本概念和工具.它提供了描述性,归纳性和探索性的统计方法,并指导读者完成定量数据分析的过程.在实验科学和跨学科研究中,数据分析已成为任何科学 ...

  4. Python 数据挖掘与机器学习基础-韦玮-专题视频课程

    Python 数据挖掘与机器学习基础-252人已学习 课程介绍         Python 数据挖掘与机器学习基础 课程收益     Python全栈工程师 讲师介绍     韦玮 更多讲师课程   ...

  5. 【机器学习基础】通俗讲解集成学习算法!

    作者:黄星源,Datawhale优秀学习者 本文以图文的形式对模型算法中的集成学习,以及对集中学习在深度学习中的应用进行了详细解读. 数据及背景 https://tianchi.aliyun.com/ ...

  6. 集成学习(上)机器学习基础

    集成学习(上)机器学习基础 1.机器学习概念 1.1 机器学习的重要的目标 利用数学模型来理解数据,发现数据中的规律,用作数据的分析和预测. 1.2 机器学习分类 1.机器学习的任务可分为:有监督学习 ...

  7. 机器学习系列笔记十三: 集成学习/模型聚合

    机器学习系列笔记十三: 集成学习/模型聚合 文章目录 机器学习系列笔记十三: 集成学习/模型聚合 什么是集成学习 Voting Hard Voting 模拟实现Hard Voting 集成学习 使用V ...

  8. 集成学习(上):机器学习基础task1-熟悉机器学习的三大主要任务

    机器学习基础task1-熟悉机器学习的三大主要任务 1.导论 1.1 回归 1.2 分类 1.3 无监督学习 学习内容来源链接 1.导论 什么是机器学习?机器学习的一个重要的目标就是利用数学模型来理解 ...

  9. 【组队学习】【30期】6. 树模型与集成学习

    树模型与集成学习 航路开辟者:耿远昊 领航员:姜萌 航海士:耿远昊 基本信息 开源内容:https://github.com/datawhalechina/machine-learning-toy-c ...

  10. 基础通俗讲解集成学习算法

    来源:Datawhale 本文约6000字,建议阅读10+分钟 本文以图文的形式对模型算法中的集成学习,以及对集中学习在深度学习中的应用进行了详细解读. 标签:机器学习 数据及背景 阿里天池-零基础入 ...

最新文章

  1. Focal Loss笔记
  2. Linux下基本栈溢出攻击【转】
  3. python观察日志(part16)--收集关键词参数
  4. P4159 [SCOI2009] 迷路
  5. ActiveMQ 发送和接收消息
  6. web 服务器和 web 技术发展历史简介
  7. JSON和JSONP的差别,以及用法
  8. 【网页素材】数据图表界面设计UI设计PSD模板
  9. 产品属性对风险定价有什么影响?
  10. 如何用 Python 快速开发一个区块链数据结构?
  11. 境外自助游服务平台澳乐网获戈壁千万级投资
  12. 网页监控检测网页变化同步推送百度
  13. Openstack+Opencontrail安装与部署初级教程
  14. 使用Git在G码云上传项目及同步
  15. 应用计算机测定电阻伏安特性,实验: 应用计算机测线性电阻伏安特性
  16. mac下Xshell和Xftp | Royal TSX
  17. 大数据工程师岗位JD中最常出现的技能
  18. 【黑马程序员西安中心】作为应届生的我,终于进入IT行业了
  19. 【Vue3】Vue3+Vite前端在组件中直接使用svg图标icon(实现设计稿的icon解决方案)
  20. 【电磁】基于Matlab模拟电偶极子电磁场附GUI界面

热门文章

  1. Python 实现验证身份证号真假以及查询归属地、出生年月等信息
  2. 会动的古代名画,如画的江南古镇
  3. 牛血清白蛋白修饰牛红细胞超氧化物歧化酶SOD/叶酸偶联2-ME白蛋白纳米粒的制备
  4. 尼彩A700 root教程_方法
  5. 第一章 ArcGIS软件安装(Desktop、Server):ArcGIS10.4为例
  6. Vim 编辑器的使用
  7. 效验文件后缀及其流后缀 是否验证;文件大小
  8. qt 3d迷宫游戏_类似《纪念碑谷》的好游推荐,这5款独立游戏你玩过没?
  9. 2022全新Ripro日主题V9.0升级修正版源码+美化包和插件
  10. 职称计算机考试ps cs4,计算机职称考试PhotoshopCS4图像处理考试大纲