集成学习

集成学习

集成学习通常是通过构建多个学习器来完成学习任务。

  • 同质集成 : 集成中只包含同种类型的学习器;
  • 异质集成 : 集成中的个体学习器是不同的种类;

问题

一般经验中,把一些好与坏的学习器集合到一起,最终的效果是比好的要差一点,比最差的要好一点;

问题:如何获得比最好的单一学习器更好的效果

集成学习的核心思路: 要获得好的集成,个体学习器应该好而不同,即准确性和多样性;

分类

  • 个体学习器存在强依赖、必须串行生成的序列化方法,如 Boosting;
  • 不存在强依赖,可同时生成的并行化方法,如 Bagging 和随机森林;

Boosting

将一组弱学习器提升为强学习器的方法。主要关注于降低偏差。

工作机制: 先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练集的样本分布进行调整,使得先前基学习器做错的样本在后续受到更多关注,使得基于调整后的样本分布来训练下一个学习器;如此重复,直至达到T个学习器;最后进行加权求和;

代表算法 AdaBoost:

  • boost指集成方法中的提升方法,每一轮迭代寻找一个合适的弱学习器添加到模型中;
  • adaptive指所有的样本都有自己的权重,初始化时一致。每一轮迭代,我们要更新所有样本的权重,模型正确判别的样本权重减小,而错误判别的样本权重增加。这就是 Adaboost 的核心。
computational graph
  • 分类器的权重如何更新?
  • 样本分布如何更新?

Bagging 和 随机森林

主要是关注模型的多样性,实现手段就是将大的数据集采样为小的数据集,每个数据集去学习一个分类器;

Bagging

基本流程:采样出T个含有m个样本的训练集,基于每个训练集训练一个基学习器,再将这些基学习器进行结合。主要关注于降低方差,在易受样本扰动的学习器上效果更好。

算法流程如下:

computational graph

随机森林

在以决策树为基学习器构建bagging的基础上,进一步在决策树的训练中引入随机属性选择。

结合策略

  • 平均法
  • 投票法
  • 学习法,stacking

多样性

  • 误差-分歧分解: \(E=\overline{E} -\overline{A}\)

多样性度量

  • 不合度量
  • 相关系数度量,无关为0,正相关为正,负相关为负
  • Q-统计量
  • \(\kappa\)-统计量,涉及两个概念:取得一致和偶然达成一致

多样性增强

对数据样本、输入属性、输出表示、算法参数进行扰动;

posted @ 2019-05-20 10:48  静_渊  阅读(253)  评论(0编辑  收藏  举报