读书笔记-《机器学习》第八章:集成学习

第八章 集成学习
  • 集成学习,通过构建并结合多个学习器来完成学习任务
  • 集成学习的一般结构:先产生一组“个体学习器”,再用某种策略将它们结合起来
  • 要获得好的集成,个体学习器应好而不同,即个体学习器要有一定的“准确性”,即学习器不能太坏,并且要有“多样性”,即学习器间具有差异
  • 目前的基础学习方法大致可以分为两大类,即个体学习器间存在强依赖关系,必须串行生成的序列化方法,以及个体学习器间不存在强依赖关系,可同时生成的并行化方法。前者的代表是Boosting,后者的代表是Bagging和“随机森林”
  • Boosting是一族可将弱化学习器提升为强学习器的算法。这族算法的工作机制类似:先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注,然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,直至基学习器数目达到事先指定的值T,最终将这T个基学习器进行加权结合
  • Boosting样本分布调整的方法
    • “重赋值法”:在训练过程的每一轮中,根据样本分布为每个训练样本重新赋予一个权重
    • “重采样法”:在每一轮学习中,根据样本分布对训练集重新进行采样,再用重采样而得的样本集对基学习器进行训练
  • AdaBoost可以理解为模型为加法模型、损失函数为指数损失函数、学习算法为前向分布算法的二分类学习方法
  • Bagging是并行式集成学习方法最著名的代表。它基于自助采样法,对给定包含m个样本的数据集,我们先随机取出一个样本放入采样集,再把该样本放回初始数据集(有放回采样),使得下次采样时该样本仍有可能被选中。这样,我们可采样出T个含m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合
  • 从偏差-方差分解的角度看
    • Boosting主要关注降低偏差
    • Bagging主要关注降低方差
  • 随机森林在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择
  • 随机森林对Bagging只做了小改动,但是与Bagging中基学习器的“多样性”仅通过样本扰动(通过对初始训练集采样)而来不同,随机森林中基学习器的多样性不仅来自样本扰动,还来自属性扰动。这就使得最终集成的泛化性能可通过个体学习器之间差异度的增加而进一步提升
  • 随机森林的训练效率常优于Bagging,因为在个体决策的构建过程中,Bagging使用的是“确定型”决策树,在选择划分属性时要对结点所有属性进行考察,而随机森林使用的“随机型”决策树则只需考察一个属性子集
  • 学习器结合策略
    • 平均法
    • 投票法
    • 学习法,Stacking
  • Stacking先从初始数据集训练出初级学习器,然后“生成”一个新数据集用于训练次级学习器。在这个新数据集中,初级学习器的输出被当做样例输入特征,而初始样本的标记仍被当做样例标记
  • 在训练阶段,次级训练集是利用初级学习器产生的,若直接用初级学习器的训练集来产生次级训练,则过拟合风险会比较大;因此,一般都是通过使用交叉验证或留一法这样的方式,用训练初级学习器未使用的样本来产生次级学习器的训练样本
  • 多样性度量:用于度量集成中个体分类器的多样性
    • 不合度量
    • 相关系数
    • Q-统计量
    • k-统计量
  • 多样性增强
    • 数据样本扰动
    • 输入属性扰动
    • 输出表示扰动
    • 算法参数扰动
  • 由于集成包含多个学习器,即便个体学习器有较好的可解释性,集成仍是黑箱模型

猜你喜欢

转载自blog.csdn.net/lz_peter/article/details/80417635