一、概念
集成学习通过构建多个学习器,并通过某种策略对多个学习器进行组合。
所以集成学习存在两个方面的问题:
1、如何得到若干个学习器
2、通过何种策略将其组合成一个强学习器
二、分类
首先解决问题1:如何得到若干弱分类器?
首先弱分类器分为两类:
第一类:同质 使用最多,CART决策树和神经网络,同质学习器根据学习器个体之间是否存在依赖关系可以分为两类
第一类:个体学习器之间存在强依赖关系,一系列的学习器都需要串行生成,例如:boost
第二类:个体学习器之间不存在强依赖关系,一系列的学习器可以并行生成,例如:bagging、随机森林
第二类:异质
三、实践
3.1 boost
首先通过初始的训练集训练一个分类器,然后测试训练集在其上的误差,最后根据误差调整训练集中样本的权重,使得权重更高的数据在后面的分类器中得到更多的重视。
最著名的是Adaboost和提升树算法。
3.2 bagging
弱分类器之间没有依赖关系,从图中可以看出弱分类器的的子训练集是通过随机采样得到的(自助采样,有放回的采样)
随机森林是bagging一个特别的版本,因为其弱分类器都是决策树,但是随机森林又在bagging的基础上增加了特征的随机选择。
四、组合策略
4.1平均法
最简单的是算术平均,也可以带权重
4.2 投票法
相对多数投票法:少数服从多数
绝对多数投票法:票数过半
加权投票法:带权重
4.3 学习法
在弱分类器之上再加上一层学习器,再次训练一个新的学习器,这种情况下弱分类器称为初级学习器,用于结合的分类器称为次级学习器。