10. 集成学习

  1. 个体与集成
    1. 集成学习(ensemblelearning)通过构建并结合多个学习器来提升性能
    2. 集成个体应:好而不同
    3. 假设基分类器的错误率相互独立,则由Hoeffding不等式可得集成的错误率为:
    4. 上式显示,在一定条件下,随着集成分类器数目的增加,集成的错误率将指数级下降,最终趋向于0
    5. 分析
      1. 上面的分析有一个关键假设:基学习器的误差相互独立
      2. 现实任务中,个体学习器是为解决同一个问题训练出来的,显然不可能互相独立
      3. 事实上,个体学习器的“准确性”和“多样性”本身就存在冲突
      4. 如何产生“好而不同”的个体学习器是集成学习研究的核心
      5. 集成学习大致可分为两大类
  2. Boosting
    1. 个体学习器存在强依赖关系
    2. 串行生成
    3. 每次调整训练数据的样本分布
    4. Boosting族算法最著名的代表是AdaBoost
      1. 基学习器的线性组合
      2. 达到了贝叶斯最优错误率,说明指数损失函数是分类任务原来0/1损失函数的一致替代函数。
      3. 数据分布的学习
        1. 重赋权法:在训练的每一轮中,根据样本分布为每个训练样本重新赋予一个权重。
        2. 重采样法:在训练的每一轮中,根据样本分布对训练集重新采样,再用重采样而得的样本集对基学习器进行训练。
      4. 重启动,避免训练过程过早停止
      5. 从偏差-方差的角度:降低偏差,可对泛化性能相当弱的学习器构造出很强的集成
  3. Bagging与随机森林
    1. 个体学习器不存在强依赖关系:欲得到泛化性能强的集成,集成中的个体学习器应尽可能相互独立,但“独立”在现实中无法做到,可以设法使基学习器尽可能具有较大的差异。例如产生若干个不同的子集,再从每个数据子集中训练出一个基学习器;
    2. 但如果每个子集完全不一样,则每个基学习器只用到一小部分数据训练,又无法保证个体学习器的性能。
    3. 并行化生成
      1. 自助采样法——Bagging
      2. 特点
        1. 时间复杂度低
      3. 自助采样法--自助法
      4. 评估方法
        1. 留出法
        2. 交叉验证法
        3. 留一法
      5. bagging实验
        1. 从偏差-方差的角度:降低方差,在不剪枝的决策树、神经网络等易受样本影响的学习器上效果更好
      6. 随机森林
        1. 随机森林(RandomForest,简称RF)是Bagging的一个扩展变种,以决策树为基础,进一步在决策树的训练过程中引入了随机属性选择。
        2. 采样的随机性:训练集的划分;
        3. 属性选择的随机性:在随机选择的k个属性集合中,依次选择最优属性进行划分,k为随机性的引入程度
        4. 随机森林的优点
          1. RF简单,容易实现,计算开销小;在很多现实任务中展现出强大的性能,被誉为代表集成学习水平的方法。
          2. RF中的基学习器的多样性不仅来自于样本的扰动,还来自属性的扰动,使得最终集成的泛化性能可以通过个体学习器之间的差异度增加而进一步提升。
          3. 随着个体学习器数目的增加,随机森林通常可以收敛到更低的泛化误差;训练效率常常优于其他Bagging方法。
  4. 结合策略
    1. 平均法
      1. 简单平均法
      2. 加权平均法
      3. 特点
        1. 简单平均法是加权平均法的特例
        2. 加权平均法在二十世纪五十年代被广泛使用
        3. 集成学习中的各种结合方法都可以看成是加权平均法的变种或特例
        4. 加权平均法可认为是集成学习研究的基本出发点
        5. 加权平均法未必一定优于简单平均法
    2. 投票法
      1. 绝对多数投票法
      2. 相对多数投票法
      3. 加权投票法
    3. 学习法
      1. Stacking是学习法的典型代表
        1. 从初始数据集训练出初级学习器,然后生成一个新数据集用于训练次级学习器,初级学习器的输出被当成样例输入特征,而初级样本的标记仍当做样例的标记。
        2. 多响应线性回归(MLR)作为次级学习器的学习算法,效果较好
      2. K折交叉验证/留一法,学习T个初级学习器
  5. 误差-分歧分解
    1. 分歧项代表了个体学习器在样本回上的不一致性,即在一定程度上反映了个体学习器的多样性,
      1. 个体和集成
    2. 个体学习器准确率越高,多样性越大,则集成越好。
    3. 多样性度量(diversitymeasure)用于度量集成中个体学习器的多样性
    4. 对于二分类问题,分类器ℎ�与ℎ�的预测结果联立表(contingencytable)为
      1. 常见的多样性度量
        1. Q统计量
        2. K统计量
  6. 多样性增强
    1. 常见的增强个体学习器多样性的方法
      1. 数据样本扰动
      2. 输入属性扰动
      3. 输出表示扰动
      4. 算法参数扰动
        1. 基学习法一般都有参数需要设置,例如神经网络的隐层神经元数,初始连接权值,通过随机设置不同的参数,往往可产生差别较大的个体学习器;
        2. 负相关法:显式的通过正则化项来强制个体神经网络使用不同的参数;
        3. 不同的多样性增强机制同时使用:例如随机森林中同时使用数据样本扰动和输入属性扰动
    2. 数据样本扰动通常是基于采样法
      1. Bagging中的自助采样法
      2. Adaboost中的序列采样
      3. 数据样本扰动对“不稳定基学习器”很有效
    3. 对数据样本扰动敏感的基学习器(不稳定基学习器)
      1. 决策树
      2. 神经网络等
    4. 对数据样本扰动不敏感的基学习器(稳定基学习器)
      1. 线性学习器,支持向量机,朴素贝叶斯,k近邻等
    5. 输出表示扰动
      1. 将输出表示进行操控以增强多样性;
      2. 翻转法(FlippingOutput):随机改变一些训练样本的标记;
      3. 输出调剂法(OutputSmearing):对输出表示进行转换,例如将分类输出转化为回归输出后构建个体分类器;
      4. ECOC法:利用纠错输出码将多类任务拆解为一系列二分类任务来训练基学习器;

10. 集成学习
http://binbo-zappy.github.io/2024/12/07/PR-ML/10-集成学习/
作者
Binbo
发布于
2024年12月7日
许可协议