集成学习(Ensemble Learning)

写作本博文只为学习与分享知识。所以如果本系列教程对你有帮助,麻烦不吝在github的项目上点个star吧!非常感谢!

本博客是针对周志华教授所著《机器学习》的“第8章 集成学习”部分内容的学习笔记。


个体与集成

集成学习,顾名思义,通过将多个单个学习器集成/组合在一起,使它们共同完成学习任务,有时也被称为“多分类器系统(multi-classifier system)”、基于委员会的学习(Committee-based learning)。

这里的【学习器】就是指机器学习算法训练得到的假设。而我们之所以有直觉要把多个学习器组合在一起,是因为单个学习器往往可能效果不那么好,而多个学习器可以互相帮助,各取所长,就可能一起合作把一个学习任务完成得比较漂亮。(后面我们将从数学上证明这一点)

如下图,集成学习的一般结构是:先产生一组“个体学习器”(individual learner),再用某种策略将它们结合起来。

个体学习器通常是用一个现有的学习算法从训练数据产生,例如C4.5决策树算法、BP神经网络算法等。此时集成中只包含同种类型的个体学习器,例如“决策树集成”中的个体学习器全是决策树,“神经网络集成”中就全是神经网络,这样的集成是“同质”(homogeneous)的,同质集成中的个体学习器也称为“基学习器”(base learner),相应的学习算法称为“基学习算法”(base learning algorithm)。有同质就有异质(heterogeneous),若集成包含不同类型的个体学习器,例如同时包含决策树和神经网络,那么这时个体学习器一般不称为基学习器,而称作“组件学习器”(component leaner)或直接称为个体学习器。

1

  • 弱学习器(weak learner)

    弱学习器常指泛化性能略优于随机猜测的学习器:例如在二分类问题桑精度略高于50%的分类器。

前面提到,集成学习的直觉是结合多个个体的能力,获得远超个体的集体能力优势。这种直觉在实际上对于“弱学习器”是非常符合的。故很多集成学习的研究也都是针对弱学习器,而基学习器有时也被直接成为弱学习器。

  • 确实有效的集成?

一般经验中,如果把好坏不一的东西掺杂在一起,那么最终结果很可能是整体效果比最坏的东西要好一些,但又比最好的那个要坏一些,那么这种情况下不如就让最好的单独去工作,而不要参与混合。但是集成学习还是对多个学习器进行了结合,那它怎么保证整体的效果会比最好的那个单一学习器的效果更好呢。

用一个简单的例子来进行说明:在一个二分类任务重,假设三个分类器在三个测试样本上的表现如下图所示。假设集成学习的结果通过三个个体学习器用投票发(voting)产生,即“少数服从多数”,那么当三个个体学习器分别对三个测试例有不同的判别优势时,集成的效果也会不一样。

2

在(a)图中,每个分类器原本只有66.6%的精度,集成学习却达到了100%;(b)图中,每个分类器都是一样的,集成之后性能没有任何提高;在(c)图中,每个分类器的精度只有33.3%,集成之后结果反而变得更糟。

这个例子表明:要获得好的集成,个体学习器应“好而不同”,即个体学习器要有一定的准确性,即学习器不能太坏,并且要有“多样性”(diversity),即学习器间具有差异。

  • 简单的数理分析

假设有一个二分类问题,其中 y ∈ − 1 , + 1 y\in{-1,+1} y1,+1,以及真实函数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为奇数)个基分类器,若有超过半数的基分类器正确,则集成分类就正确:
H ( x ) = s i g n ( Σ i = 1 T h i ( x ) 。 H(x)=sign(\Sigma_{i=1}^T h_i(x)。 H(x)=sign(Σi=1Thi(x)
假设基分类器的错误率相互独立,则由Hoeffding不等式可知,集成的错误率为:
P ( H ( x ) ≠ f ( x ) ) = Σ k = 1 [ T / 2 ] C T k ( 1 − ϵ ) k ϵ T − k ≤ e x p ( − 1 2 T ( 1 − 2 ϵ ) 2 ) 。 P(H(x)\neq f(x))=\Sigma_{k=1}^{[T/2]}C_T^k(1-\epsilon)^k\epsilon^{T-k}\le exp(-\frac{1}{2}T(1-2\epsilon)^2)。 P(H(x)̸=f(x))=Σk=1[T/2]CT

  • 11
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值