集成学习
集成学习通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统。
集成学习的一般结构:先产生一组“个体学习器”,再用某种策略将他们结合起来。
个体学习器通过有一个现有的学习算法从训练数据产生。集成中只包含同种来下的个体学习器。这样的集成是同质,同质集成中的个体学习器称为“基学习器”,相应的学习算法称为基学习算法。
集成中也可包含不同类型的个体学习器。这样的集成是异质的。异质集成的个体学习器有不同的学习算法生成,称为“组件学习器”
集成学习方法分类:
个体学习间存在强依赖关系、必须串行生成的序列化方法。代表是Boosting
个体学习器间不存在强依赖关系、可同时生成的并行化方法。代表是Bagging和随机森林
Boosting(提升法)
Boosting是一族可将弱学习器提升为强学习器的算法。Boosting主要关注降低偏差。
Boosting工作机制:先从初试训练集训练出一个基学习器,在根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注,然后基于调整后的样本分布来训练下一个基学习器,如此重复进行,直至基学习器达到事先指定的值T,最终将这T个基学习器进行加权 结合。Boosting最著名的代表是AdaBoost。
Boosting算法要求基学习器能对特定的数据分布进行学习。这可通过“重赋权值”实施,即在训练过程的每一轮中,根据样本分布为每个训练样本重新赋予一个权重,对无法接收带权样本的基学习器算法,则可通过“重采样法”来处理。即在每一轮学习中,根据样本分布对训练集重新进行采样,在用重采样而得的样本集对基学习器进行训练。
AdaBoost
AdaBoost是基于“加性模型”即基学习器的线性组合。只适用于二分类任务。
Bagging
Bagging是并行式集成学习方法的代表。能不经修改地用于多分类、多回归等任务。Bagging主要关注降低方差。
Bagging基本流程:基于自助采样法对数据进行采样,采样出T个含M个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合。
自助采样法:给定包含M个样本的数据集,我们先随机取出一个样本放入采样集中,再把样本放回初试数据集,使得下次采样时该样本仍有可能被选中,这样,经过m次随机采样操作,我们得到包含,m个样本的采样集,初试训练集中有的样本在采样集中多次出现,有的则未出现。初试训练集中有63.2%的样本出现在采样集中。
在对预测输出进行结合时,Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法。若分类预测四出现两个类收到同样票数的情形是,则最简单的做法是随机选择一个。
随机森林RF
随机森林是Bagging的一个扩展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性集合,RF简单、容易实现、计算开销小。RF中基学习器的多样性不仅来自样本扰动,还来自属性扰动,这就使得最终集成的泛化性能可通过个体学习器之间差异度的增加而进一步提升。
结合策略
学习器的结合可带来三方面的好处,分别在统计方面、计算方面和表示方便
常见的结合策略:
平均法分为简单平均法、加权平均法。一般而言,在个体学习器性能相差较大时宜采用加权平均法,而在个体学习器性能相近时宜采用简单平均法。
投票法:
绝对多数投票法:即若某标记得票过半数,则预测为该标记,否则拒绝预测。
相对多数投票法:即预测为得票最多的标记,若同时有多个标记获最高票,则从中随机选取一个。。
加权投票法:
学习法
即通过另一个学习器来进行结合,把个体学习器称为初级学习器,用于结合的学习器称其为次级学习器或元学习器。
多样性增强
在集成学习中需有效地生成多样性大的个体学习器,一般思路是在学习过程中引入随机性,常见做法是对数据样本、输入属性、输出属性、算法参数进行扰动。这可同时使用多个扰动。