集成学习:通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统、基于委员会的学习等。
同质集成中的个体学习器亦称为“基学习器”,相应的算法称为“基学习算法”。
异质集成中的个体学习器由不同的学习算法生成,个体学习器称为“组件学习器”或直接称为个体学习器。
如何产生“准确性高”、“多样性”的个体学习器,是集成学习研究的核心。
根据学习器的生成方式,集成学习可以分为两类:即个体学习器间存在强依赖关系、必须串行生成的序列化方法(Boosting),以及个体间不存在强依赖关系、可同时生成的并行方法(Bagging、随机森林)。
Bagging:基于自助采样法(放回采样),采样出T个含m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些学习器进行结合。对分类任务使用简单投票法,回归任务使用简单平均法,Bagging主要关注降低方差。
随机森林(Random Forest):是Bagging的一个扩展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。先从该节点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。(样本扰动,和属性扰动)使得集成的泛化性能可通过个体学习器之间的差异度的增加而进一步提升。
结合策略:
平均法:
1.简单平均法
2.加权平均法
一般而言,个体学习器性能相差较大时宜采用加权平均法,而个体学习器性能相近时宜采用简单平均法。
投票法:
1.绝对多数投票法:若某标签得票过半数,则预测为该标签,或者拒绝预测。
2.相对多数投票法:预测为得票最多的标记,若有同时有多个标记获得高票,则从中随机选取一个。
3.加权投票法:类标记,类概率两种类型不能混用,通常类概率结合更好。可以把类概率转化为类标记进行比较。
学习法:通过一个学习器来进行结合。Stacking是学习法的典型。这里我们把个体学习器称为初级学习器,用于结合的学习器称为次级学习器或元学习器。
在训练阶段,次级训练集是用初级学习器产生的,若直接用初级学习器的训练集来产生次级训练集,则过拟合风险较大;因此,一般使用交叉验证或者留一法,使用初级学习器未使用的样本来训练次级学习器。
次级学习器的输入属性表示和次级学习算法对Stacking集成的泛化性能有很大影响。一般用初级学习器的输出概率作为次级学习器的输入属性,用多响应线性回归MLR作为次级学习算法效果好。
多样性:
个体学习器准确率越高、多样性越大,则集成越好。
多样性度量:k-统计量, k-误差图。k越大多样性越好。
多样性增强:
数据样本扰动(随机采样)、输入属性扰动(对属性随机抽样)
输出表示扰动:对输出进行操纵以增强多样性,例如将分类输出转化为回归输出后构建个体学习器。
算法参数扰动:基学习算法一般都有参数需要设置,例如神经网络的隐藏层的神经元数、初始连接权值等,通过随机设置不同的参数,往往可产生差别较大的个体学习器。