1. 什么是集成学习
集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统(multi-classifier system)、基于委员会的学习(committee-based learning),其一般结构如下图所示:
集成学习示意图.jpg要获得好的集成学习效果,我们希望各个体学习器应“好而不同”
,即个体学习器要有一定的“准确性”,并且要有“多样性”,即学习器之间具有差异。
但事实上,个体学习器的“准确性”和“多样性”本身就存在冲突。如何产生并结合“好而不同”的个体学习器,是集成学习研究的核心。
2. 学习器结合策略
学习器结合可能会从三个方面带来好处:
- 从统计角度看,由于学习任务的假设空间往往很大,可能有多个假设在训练集上达到同等性能,此时若使用单个学习器可能因为误选而导致泛化性能不佳,结合多个学习器可以减小这一风险;
- 从计算角度看,学习算法往往会陷入局部极小,通过多次运行之后进行结合,可降低陷入糟糕局部极小的风险;
- 从表示的角度看,结合多个学习器由于相应的假设空间有所扩大,有可能学得更好的近似。
假设集成包含个基学习器,其中在示例上的输出为.
2.1 平均法
简单平均
加权平均
2.2 投票法
设
-
类别标记集合:
-
在样本的预测输出为一个维向量,其中是在类别标记上输出。
绝对多数投票法
majority voting.jpg绝对多数投票法有“拒接预测”选项,如果学习任务必须提供预测结果,可退化为如下的相对多数投票法。
相对多数投票法
如果有多个标记同时获得最多票,则随机选取一种一个。
加权投票
3. 集成学习器分类
根据个体学习器的生成方式,目前的集成学习方法大致可分为两类:
- 个体学习器之间存在强依赖关系,必须串行生成的序列化方法,代表是Boosting;
- 个体学习器不存在强依赖关系、可同时生成的并行化方法,代表是Bagging和Random Forest。
3.1 Boosting
3.1.1 工作机制
先从初始训练集训练出一个基学习器,再跟进基学习器的表现对训练样本进行调整,使得先前基学习器做错的训练样本在后续受到更多关注,然后基于调整后的样本分布来训练下一个基学习器;如此重复,直至基学习器数目达到事先指定的值,最终将这个基学习器进行加权结合。
从偏差-方差分解的角度看,Bagging主要关注降低偏差。
3.2.2 Boosting族代表算法
3.2 Bagging
Bagging(Booststrap Aggregating的缩写),最早由Breiman于1996年提出。
每个基学习器的训练样本是通过自助采样法(bootstrap sampling,就是对原始数据集进行有放回的采样)获得。
算法描述如下图:
Bagging算法.jpg其中,是自助采样产生的样本分布。
从偏差-方差分解的角度看,Bagging主要关注降低偏差。
3.3 Random Forest
随机森林是Bagging的一个扩展变体.RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。
随机森林的详解见【Random Forest理解】
参考
[1]周志华.机器学习[M].清华大学出版社:北京,2016:170.
[2]李航.统计机器学习[M].清华大学出版社:北京,2012:137.
网友评论