集成学习
集成学习
集成学习通常是通过构建多个学习器来完成学习任务。
- 同质集成 : 集成中只包含同种类型的学习器;
- 异质集成 : 集成中的个体学习器是不同的种类;
问题
一般经验中,把一些好与坏的学习器集合到一起,最终的效果是比好的要差一点,比最差的要好一点;
问题:如何获得比最好的单一学习器更好的效果
集成学习的核心思路: 要获得好的集成,个体学习器应该好而不同,即准确性和多样性;
分类
- 个体学习器存在强依赖、必须串行生成的序列化方法,如 Boosting;
- 不存在强依赖,可同时生成的并行化方法,如 Bagging 和随机森林;
Boosting
将一组弱学习器提升为强学习器的方法。主要关注于降低偏差。
工作机制: 先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练集的样本分布进行调整,使得先前基学习器做错的样本在后续受到更多关注,使得基于调整后的样本分布来训练下一个学习器;如此重复,直至达到T个学习器;最后进行加权求和;
代表算法 AdaBoost:
- boost指集成方法中的提升方法,每一轮迭代寻找一个合适的弱学习器添加到模型中;
- adaptive指所有的样本都有自己的权重,初始化时一致。每一轮迭代,我们要更新所有样本的权重,模型正确判别的样本权重减小,而错误判别的样本权重增加。这就是 Adaboost 的核心。
- 分类器的权重如何更新?
- 样本分布如何更新?
Bagging 和 随机森林
主要是关注模型的多样性,实现手段就是将大的数据集采样为小的数据集,每个数据集去学习一个分类器;
Bagging
基本流程:采样出T个含有m个样本的训练集,基于每个训练集训练一个基学习器,再将这些基学习器进行结合。主要关注于降低方差,在易受样本扰动的学习器上效果更好。
算法流程如下:
随机森林
在以决策树为基学习器构建bagging的基础上,进一步在决策树的训练中引入随机属性选择。
结合策略
- 平均法
- 投票法
- 学习法,stacking
多样性
- 误差-分歧分解: \(E=\overline{E} -\overline{A}\)
多样性度量
- 不合度量
- 相关系数度量,无关为0,正相关为正,负相关为负
- Q-统计量
- \(\kappa\)-统计量,涉及两个概念:取得一致和偶然达成一致
多样性增强
对数据样本、输入属性、输出表示、算法参数进行扰动;