集成学习

  • 1.集成学习概述
  • 2.集成学习之基学习器
  • 3.Bagging
  • 4.Boosting
  • 5.结合策略
    • 5.1 均值法
    • 5.2 投票法
    • 5.3 学习法
  • 参考资料

1.集成学习概述

简单来说,集成学习(Ensemble Learning)就是指采用多个弱分类器组成一个强分类器,然后,对数据进行预测,提高整个分类器的泛化能力。这里的弱分类器可以非常弱,只要其准确率大于50%就可以(即比随意猜的准确率大就可以)

和传统学习方法训练一个学习器不同,集成学习方法训练多个学习器并结合它们来解决一个问题。通常,集成学习也被称为基于委员会的学习或多分类器系统。

一个集成由多个基学习器构成,而基学习器由基学习算法在训练数据上训练获得,它们可以是决策树、神经网络或其他学习算法。下图给出一个通用的集成学习框架

通常,集成具有比基学习器更强的泛化能力。实际上,集成学习之所以那么受关注,很大程度上是因为它们能够把比随机猜稍好的弱学习器变成可以精确预测的强学习器。因此,在集成学习中基学习器也称为弱学习器。

在集成学习中有两个主要的问题需要解决,第一是如何得到若干个基学习器,第二是如何选择一种结合策略,将若干个基学习器集成为一个强学习器.

2.集成学习之基学习器

对于如何得到基学习器,我们一般有两种选择:

  1. 第一种就是所有的基学习器都是一个种类的,或者说是同质的.比如基学习器都是决策树或者都是神经网络.
  2. 第二种是所有的基学习器不全是一个种类的,或者说是异质的.比如基学习器中包括支持向量机,逻辑回归,朴素贝叶斯等等.

目前来说,同质集成的应用是最广泛的,一般我们常说的集成学习的方法都是指的同质基学习器.而同质个体学习器使用最多的模型是CART决策树和神经网络.

根据基学习器的生成方式,集成学习方法有两种范式:

  1. 串行生成基学习器,基学习器之间存在强依赖关系.串行集成方法的基本动机是利用基学习器之间的相关性.代表算法是boosting系列算法,如Adaboost.
  2. 并行生成基学习器,基学习器之间不存在强依赖关系.并行集成方法的基本动机是利用基学习器之间的独立性.代表算法是bagging系列算法,如随机森林.

3.Bagging

Bagging采用自助采样法,通过随机改变训练集的分布产生新的训练子集,然后分别用不同的训练子集来训练生成基学习器,最后将其集成为一个整体.

具体来讲,给定一个样本数为m的训练集合,它通过有放回的采用得到有m个训练样本的采样集.原始样本有的被选中多次,有的未被选中.重复过程T次,得到T个样本数目为m的训练子集,对每个训练子集使用基学习算法训练得到一个基分类器.

bagging采用最常用的方法来聚合基学习器,即:在分类任务上投票,在回归任务上取均值.

下面给出Bagging算法流程图:

4.Boosting

Boosting算法是一种将弱学习器转换为强学习器的迭代方法,它通过增加迭代次数,产生一个表现接近完美的强学习器.其中,弱学习器是指分类效果只比随机猜测效果稍好的学习器,即分类准确率略高于50%. 在实际训练中,获得一个弱学习器比获得一个强学习器更加容易.

下图给出Boosting算法流程图:

如图所示,Boosting算法反复运行一个弱学习器来处理不同分布的训练数据,然后按照顺序将每次产生的弱学习器组合成一个强学习器.

5.结合策略

5.1 均值法

  1. 简单平均法:直接对个体学习器的输出取均值来获取结合输出结果。
    H(x)=1T∑i=1Thi(x)H(x)=\frac{1}{T}\sum_{i=1}^T h_{i}(x) H(x)=T1​i=1∑T​hi​(x)

  2. 加权平均法:通过对每一个学习器的输出结果赋予不同的重要性权重来获取结合结果。
    H(x)=∑i=1Twihi(x)H(x)=\sum_{i=1}^T w_{i}h_{i}(x) H(x)=i=1∑T​wi​hi​(x)
    其中,wiw_{i}wi​表示hih_{i}hi​的权重,通常带有约束wi≥0w_{i}\ge0wi​≥0 且∑i=1Twi=1\sum_{i=1}^{T}w_{i}=1∑i=1T​wi​=1

5.2 投票法

  1. 绝对多数投票法

绝对多数投票法是最常用的投票方法。其中,每个分类器都会给一个类别标记进行投票,最终的输出类别标记为获取票数过半的标记;如果所有类别标记获取票数均不过半,则拒绝预测。

  1. 相对多数投票法

相对多数投票法仅需获胜方获取票数最多即可,如果平票则任选一个。

  1. 加权投票法

当个体分类器的性能差别较大时,赋予性能强的分类器更高的权重是合理的。
当赋予的权重合适时,加权投票法可以做到既优于最优的个体分类器,又优于绝对多数投票法。

5.3 学习法

前两种方法,均值法和投票法都相对比较简单,可能会存在误差较大的时候。于是就有了学习法,最具代表性的方法就是stacking。(有待完善)

参考资料

《机器学习》 – 周志华
《集成学习》 – 周志华、李楠
机器学习之集成学习(ensemble learning)
集成学习(ensemble learning)原理详解

集成学习--基础概述相关推荐

  1. 机器学习基础 集成学习基础(Boosting+Adaboost+GBDT)

    文章目录 一.Boosting 1. 什么是boosting 2. 实现过程: 3. bagging集成与boosting集成的区别: 4. AdaBoost介绍 4.1 构造过程细节 4.2 关键点 ...

  2. 集成学习精讲之Boosting - SAP大神黄佳新作《零基础学机器学习》节选

    Boosting的意思就是提升,这是一族通过训练弱学习模型的肌肉将其提升为强学习模型的算法.要想在机器学习竞赛中追求卓越,Boosting是一种必须的存在.这是一个属于高手的技术. 图片来源于网上,侵 ...

  3. 集成学习精讲02 - Bagging方法:多个基模型的聚合(SAP大神黄佳新作《零基础学机器学习》节选)

    我们将分为5篇文章介绍集成学习,分别是: 集成学习基础知识:偏差和方差 - 戳此阅读 Bagging - Boosting - 戳此阅读 Stacking/Blending - 戳此阅读 Voting ...

  4. 【机器学习】集成学习知识点总结一

    集成学习算法概述 严格意义上来说,集成学习算法不算是一种机器学习算法,而更像是一种优化手段或策略,它通常是结合多个简单的弱机器学习算法,去做更可靠的决策.有人把它称为机器学习中的"屠龙刀&q ...

  5. 运用神经网络方法找寻集成学习中的最优权重

    众所周知,如今在众多数据科学竞赛中的获奖方案中,使用集成学习算法已然成为了家常便饭.集成学习独有的依据一系列假设对大量机器学习算法进行训练的能力,不仅增加了模型的稳定性,同时也使得模型的精确程度得到了 ...

  6. 【机器学习】集成学习投票法:投票回归器(VotingRegressor) 投票分类器(VotingClassifier)

    前言 投票回归器和投票分类器都属于集成学习.在[机器学习]集成学习基础概念介绍中有提到过,集成学习的结合策略包括: 平均法.投票法和学习法.sklearn.ensemble库中的Voting Clas ...

  7. 集成学习-非成对多样性度量-个人总结

    一.引言 集成学习:通过构建并结合多个学习器来完成学习任务.一般结构是:先产生一组"个体学习器",再用某种策略将它们结合起来.结合策略主要有平均法.投票法和学习法等. 在集成学习之 ...

  8. 机器学习之集成学习概述

    目录 集成方法概述 学习器生成策略(串行)--boosting 学习器生成策略(并行)-- bagging.Random Forest 结合策略之学习法--堆叠法(Stacking) 传送门 集成方法 ...

  9. 周志华教授专著《集成学习:基础与算法》上市,破解AI实践难题

    [ 摘要 ]<集成学习:基础与算法>上市一周,斩获京东IT新书销量榜第一名桂冠,并拿下京东IT图书销量总榜第二名的惊人成绩. 文中有数据派独家福利哦 本书共读活动已正式开启,文末加入读者交 ...

最新文章

  1. S/4 BP 的初步研究(一)
  2. 自然语言处理基本概念
  3. mysql函数GROUP_CONCAT,Cast,convert
  4. 图解Sqlite教程2
  5. php判断base64编码,检测PHP中的base64编码?
  6. Android 使用ContentProvider(内容提供者)查询手机联系
  7. 算法练习:将字符串中所有的空格替换为'%20'(只用基本数据结构)
  8. spark MLlib平台的协同过滤算法---电影推荐系统
  9. 家庭接入: dsl 电缆ftth 拨号和卫星_家庭宽带的路由器升级之路
  10. 25 个在 Web 中嵌入图表的免费资源
  11. vivo正式公布全新子品牌iQOO手机:冲击5千元+旗舰手机档
  12. LINQ to CSV,一种类型安全,动态的高性能方法
  13. java如何解析图片里面文字_如何识别图片中的文字 讯飞输入法文字扫描快捷翻译教程...
  14. Create a Search Scope for a Sharepoint 2010 List or Library
  15. pandas从时间序列中判断是一周的第几天或星期几
  16. ceph搭建及使用详解
  17. 送货记账软件网络版怎么用
  18. 程序启动,遇到Process finished with exit code 1 解决方法
  19. word表格分开快捷键_Word拆分与合并单元格快捷键
  20. excel技巧:满足多个条件分项汇总求和

热门文章

  1. CodeForces 670D2 Magic Powder - 2(二分+贪心)
  2. 计算机教研员讲座,卢美玉名师工作室
  3. Tracert(跟踪路由)是路由跟踪实用程序
  4. List去重的6种方法
  5. vue使用ts 引入组件_vue项目中使用ts(typescript)入门教程
  6. 怎么用python读.dat文件
  7. OKLink行业观察:投资数字资产的机构版图(二)微策略
  8. vue3.0-axios拦截器、proxy跨域代理
  9. 史上最简单的无缝衔接轮播图
  10. Starforce(几家欢喜几家愁)