分类目录:《深入理解机器学习》总目录


集成学习基于这样一种思想:对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断好。实际上,就是“三个臭皮匠顶个诸葛亮”的道理。

历史上, Kearns和Valiant首先提出了“强可学习(Strongly Learnable)”和“弱可学习(Weakly Learnable)”的概念。他们指出:在概率近似正确(Probably approximately correct, PAC)学习的框架中,一个概念(一个类),如果存在一个多项式的学习算法能够学习它,并且正确率很高,那么就称这个概念是强可学习的;一个概念,如果存在一个多项式的学习算法能够学习它,学习的正确率仅比随机猜测略好,那么就称这个概念是弱可学习的。非常有趣的是,Schapire后来证明强可学习与弱可学习是等价的,也就是说,在PAC学习的框架下,一个概念是强可学习的充分必要条件是这个概念是弱可学习的。

集成学习 (Ensemble Learning)就是通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统( Multi-classifier System)、基于委员会的学习( Committee-based Learning)等。

上图显示出集成学习的一般结构:先产生一组“个体学习器”),再用某种策略将它们结合起来。个体学习器通常由一个现有的学习算法从训练数据产生,例如C4.5决策树算法、BP神经网络算法等,此时集成中只包含同种类型的个体学习器,例如“决策树集成”中全是决策树,“神经网络集成”中全是神经网络,这样的集成是“同质”
的。同质集成中的个体学习器亦称“基学习器”,相应的学习算法称为“基学习算法”。集成也可包含不同类型的个体学习器,例如同时包含决策树和神经网络,这样的集成是“异质”的。异质集成中的个体学习器由不同的学习算法生成,这时就不再有基学习算法;相应的,个体学习器一般不称为基学习器,常称为“组件学习器”或直接称为个体学习器。

集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化性能这对“弱学习器”尤为明显,因此集成学习的很多理论研究都是针对弱学习器进行的,而基学习器有时也被直接称为弱学习器。但需注意的是,虽然从理论上来说使用弱学习器集成足以获得好的性能,但在实践中出于种种考虑,例如希望使用较少的个体学习器,或是重用关于常见学习器的一些经验等,人们往往会使用比较强的学习器。在一般经验中,如果把好坏不等的东西掺到一起,那么通常结果会是比最坏的要好一些,比最好的要坏一些。但在集成学习中,把多个学习器结合起来,能获得比最好的单一学习器更好的性能。

考虑一个简单的例子:在二分类任务中,假定三个分类器在三个测试样本上的表现如下图所示,其中√表示分类正确,×表示分类错误,集成学习的结果通过投票法产生,即“少数服从多数”,在下图(a)中,每个分类器都只有66.6%的精度,但集成学习却达到了100%;在下图(b)中我们可以看到,三个分类器没有差别,集成之后性能没有提高;在下图(c)中,每个分类器的精度都只有33.3%,集成学习的结果变得更糟。这个简单的例子显示出:要获得好的集成,个体学习器应“好而不同”,即个体学习器要有一定的“准确性”,即学习器不能太坏,并且要有“多样性”,即学习器间具有差异。

考虑二分类问题 y ∈ { 1 , − 1 } y\in\{1, -1\} y∈{1,−1}和真实函数 f f f,假定基分类器的错误率为 ϵ \epsilon ϵ,即对每个基分类器 h i h_i hi​有:
P ( h i ( x ) ≠ f ( x ) ) = ϵ P(h_i(x)\neq f(x))=\epsilon P(hi​(x)=f(x))=ϵ

假设集成通过简单投票法结合 T T T个基分类器,若有超过半数的基分类器正确,则集成分类就正确:
H ( x ) = sign ( ∑ i = 1 T h i ( x ) ) H(x)=\text{sign}(\sum_{i=1}^Th_i(x)) H(x)=sign(i=1∑T​hi​(x))

假设基分类器的错误率相互独立,则由 Hoeffding不等式可知,集成的错误率为:
P ( H ( x ) ≠ f ( x ) ) = ∑ k = 0 ⌊ T 2 ⌋ ( T k ) ( 1 − ϵ ) k ϵ T − k ≤ e − 1 2 T ( 1 − 2 ϵ ) 2 P(H(x)\neq f(x))=\sum_{k=0}^{\lfloor\frac{T}{2}\rfloor}\binom{T}{k}(1-\epsilon)^k\epsilon^{T-k}\leq e^{-\frac{1}{2}T(1-2\epsilon)^2} P(H(x)=f(x))=k=0∑⌊2T​⌋​(kT​)(1−ϵ)kϵT−k≤e−21​T(1−2ϵ)2

上式显示出,随着集成中个体分类器数目 T T T的增大,集成的错误率将指数级下降,最终趋向于零然而我们必须注意到,上面的分析有一个关键假设:基学习器的误差相互独立。在现实任务中,个体学习器是为解决同一个问题训练出来的,它们显然不可能相互独立。事实上,个体学习器的“准确性”和“多样性”本身就存在冲突。一般的,准确性很高之后,要增加多样性就需牺牲准确性。事实上,如何产生并结合“好而不同”的个体学习器,恰是集成学习研究的核心根据个体学习器的生成方式,目前的集成学习方法大致可分为两大类,即体学习器间存在强依赖关系、必须串行生成的序列化方法,以及个体学习器间不存在强依赖关系、可同时生成的并行化方法;前者的代表是 Boosting,后者的代表是 Bagging。

参考文献:
[1] 周志华. 机器学习[M]. 清华大学出版社, 2016.

深入理解机器学习——集成学习(Ensemble Learning):基础知识相关推荐

  1. 机器学习-集成学习(ensemble learning)

    集成学习ensemble learning:本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务. 可以用两句话形容: 1."三个臭皮匠顶个诸葛亮":一堆 ...

  2. RDKit |基于集成学习(Ensemble learning)预测溶解度

    Ensemble learning 集成学习 集成学习(Ensemble learning)是这样一个过程,按照某种算法生成多个模型,如分类器或者称为专家,再将这些模型按照某种方法组合在一起来解决某个 ...

  3. 集成学习(ensemble learning)(四)

    文章目录 一.GBDT概述 二.GDBT原理 1.负梯度拟合 2.GBDT回归算法 3.GBDT分类算法 (1)二元GBDT分类算法 (2)多元GBDT分类算法 4.GBDT常用损失函数 (1)分类任 ...

  4. 集成学习(Ensemble Learning)

    在机器学习的有监督学习算法中,我们的目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际情况往往不这么理想,有时我们只能得到多个有偏好的模型(弱监督模型,在某些方面表现的比较好).集成学习就是组 ...

  5. EL:集成学习(Ensemble Learning)的概念讲解、问题应用、算法分类、关键步骤、代码实现等相关配图详细攻略

    EL:集成学习(Ensemble Learning)的概念讲解.算法分类.问题应用.关键步骤.代码实现等相关配图详细攻略 目录 集成学习Ensemble Learning 1.集成学习中弱分类器选择 ...

  6. 集成学习(ensemble learning)(三)

    集成学习系列第三篇(Boosting相关方法),传送前两篇: 集成学习(ensemble learning)(一) 集成学习(ensemble learning)(二) 文章目录 一.Boosting ...

  7. 集成学习(ensemble learning)(一)

    文章目录 一.集成学习概述 二.个体学习器 三.Boosting 四.Bagging 五.结合策略 1.平均法 2.投票法 3.学习法 (1)核心图解 a.构建新的训练集 b.构建新的测试集 c.最终 ...

  8. 集成学习(ensemble learning)干货系列(3)——Boosting方法详解

    集成学习(ensemble learning)干货系列(1)--集成学习概述 集成学习(ensemble learning)干货系列(2)--随机森林(Bagging) Boosting基本原理 提升 ...

  9. 集成学习+ensemble learning

    集成学习+ensemble learning Blending is a word introduced by the Netflix winners. It is very close to sta ...

  10. 集成学习(ensemble learning)(二)

    文章目录 一.Bagging原理 1.随机采样(BootStrap) 2.弱分类器和结合决策 二.Bagging算法流程 三.随机森林(Random Forest,RF) 1.特点 2.两个" ...

最新文章

  1. Win64 驱动内核编程-31.枚举与删除映像回调
  2. make 调试和传参
  3. 地磅称重软件源码_电脑设备器件+塔吊主吊臂+撇渣管、丝杆+地磅称重传感器+极柱触头盒弯板+批式循环谷物干燥机+升降机标准节...
  4. DataGrip汉化方法
  5. bs4爬取笔趣阁小说
  6. Selenium04-selenium中的Xpath元素定位方法爬虫实践
  7. ME525+ 刷机工具及设置中心号码
  8. 协议和服务器有什么区别,服务期协议是什么,劳动合同与服务期协议有什么区别?...
  9. pyboard呼吸灯代码分享
  10. PEP8中文翻译(转)
  11. 艺术字体生成器v1.0绿色免费版
  12. 基于PortAudio+LAME3实现的ASIO多通道音频录制(mp3、WAV )
  13. 小新700显卡驱动下载地址
  14. c#+dev-ComboboxEdit控件用法
  15. 2017网易前端笔试题总结
  16. 一起做个刚需的“打卡”软件?对不起,要蹲5年6个月...
  17. lgg8各个版本_LGG8ThinQ刷机包
  18. 解决谷歌浏览器无法翻译问题
  19. 怎么把文字在线转换成语音?
  20. RTO与RPO的概念

热门文章

  1. 通过USB在传统电视上播放B站视频
  2. 总结:Web3用户体验的四个层
  3. 设置了相对定位relative之后,改变top值,如何去掉多余空白?
  4. java定义一个日期类 包括年 月 日_【说明】 设计一个日期类Date包括年、月、日等私有数据成员。要求实现日期..._考试资料网...
  5. 快递100快递实时快递查询接口API案例代码
  6. 成为顶流平台后 新氧阳谋峥嵘显露
  7. 顺丰理赔要讲究方法,注意这几个方面能获得满意结果
  8. 干货!我开发 Android 是如何界面设计的
  9. GPT-4 终问世!旧王已死,新王当立!面对AI,人类真的准备好了吗?
  10. 今年晋升本没抱希望,已有绩效更好的同事将参加晋升,leader却临时让我也去答辩,怀疑自己被拉去陪跑,该怎么办?...