21/8/15 读书笔记 集成学习

21/8/15 读书笔记

机器学习 集成学习

集成学习的基本概念是先训练一组“个体学习器”(又称基学习器),然后根据一定策略将它们组合起来。如果基学习器是相同类型的,称为同质的集成,反之称为异质的集成。

集成学习通常能够获得比单一学习器显著优越的泛化性能,而且由于对于单一学习器的训练可能也涉及多次训练结果选最优,因此效率上也不一定差。这种有时对于弱学习器的集成尤其明显

弱学习器:泛化性能略优于随机猜测的学习器。

基于理论分析,我们得知基学习器的准确度越高、多样性越大,则集成后的泛化误差越低,性能越好。多样性指各个基学习器之间的差异性。因此集成学习研究的核心在于训练和结合“好而不同”的基学习器。

训练一系列基学习器,可以分为两种思想:

  • 序列化方法:基学习器间具有相互依赖性,必须串行生成。
    • 常见的有Boosting算法,其需要利用前一个基学习器的表现来调整样本分布,再来训练下一个基学习器,不断迭代。每一轮都会检查模型性能,如果不满足继续训练的条件就会停止。调整样本分布的方法可以分为重赋权法重采样法,前者调整现有样本的权重,后者重新从样本空间内按调整后的目标分布取出相应的样本。从偏差-方差分解的角度看,Boosting算法主要关注如何降低偏差,即预测结果和实际的偏差值。
  • 并行化方法:基学习器间不存在强依赖关系,可以同时进行训练。
    • Bagging算法采用相互有交叠的采样子集来训练多个基学习器,这是为了在保证基学习器在训练样本上的差异性的同时保证能够获得足够的训练样本来进行有效学习,其实际采用的采样方法为自助采样法
    • 随机森林RF算法是以决策树为基学习器的Bagging算法的延伸,引入了随机属性选择,即在选择最优划分属性时引入随机性。RF相比Bagging,不仅保持Bagging通过自助采样法获得的样本上的差异性,又在属性上添加了随机扰动,使得基学习器的多样性进一步增强,其性能通常优于Bagging算法。

对多个基学习器的结合能够从三个方面提高性能:

  • 从统计的方面看,每个基学习器对应的假设的性能同等但不同质,单个基学习器在特定样本上可能产生误选,采用多个基学习器相互补充,能够从统计的角度降低这种误选发生的概率。
  • 从计算的方面看,单个基学习器容易落入局部最优,多个基学习器结合有助于寻找全局最优
  • 从表示的方面看,真实假设可能并不处在我们的假设空间内,但是每个基学习器都基本围绕着真实假设,通过结合它们来对真实假设进行进一步的逼近。

结合的方法可以分为:

  • 平均法:对于数值型输出,常见的方法是简单平均法和加权平均法。如果基学习器性能差异较大时,常用加权平均法,反之使用简单平均法。
  • 投票法:对于分类任务,多个基学习器对同一输入样本的结果进行投票表决。
  • 学习法:训练一个次级学习器,来对多个基学习器(称为初级学习器)的输出向量和真实样本标记的关系进行学习。常用的算法是Stacking算法,次级学习器的输入向量表示方式以及次级学习算法的选择很大程度上决定了Stacking算法的泛化性能。

为了增强基学习器的多样性可以采用:

  • 数据样本扰动:给定初始数据集,从中参数不同的数据子集来训练不同的基学习器。比如Bagging算法中采用的自助采样法。对于决策树、神经网络这些拟合能力强、方差大的学习器(称为不稳定基学习器),数据样本扰动很有效;但是对于线性学习器、朴素贝叶斯、支持向量机等稳定基学习器来说作用不大。
  • 输入属性扰动:训练样本由一组属性组成,利用这组属性构成的空间的不同子空间来训练不同的基学习器。如果数据本身的属性很多,那么输入属性扰动降低了每个基学习器训练数据的维度,提高了效率,但是输入属性扰动并不适合属性本来就很少的数据集
  • 输出表示扰动:将训练样本的类标记进行变动,比如把分类输出转化为回归输出、将多分类问题转换为多个不同的二分类问题等。
  • 算法参数扰动:一般的基学习器都依赖特定的模型及其参数,通过设定不同的初始参数来获得不同的基学习器。

如何理解多样性是集成学习领域的圣杯问题,现有的多样性度量都存在显著缺陷。

posted @ 2021-08-15 09:53  neumy  阅读(139)  评论(0)    收藏  举报