集成分类器 | 数据挖掘
集成学习通过组合多个模型来帮助提高机器学习结果。与单个模型相比,这种方法可以产生更好的预测性能。基本思想是学习一组分类器(专家)并允许它们投票。
优点:提高预测准确率。
缺点:很难理解分类器集合。
为什么集成能发挥作用?
Dietterich(2002)表明,集成可以克服三个问题——
- 统计问题——
当假设空间对于可用数据量来说太大时,就会出现统计问题。因此,有许多假设对数据的准确性相同,而学习算法只会选择其中之一!所选假设在未见数据上的准确性可能会很低! - 计算问题——
当学习算法无法保证找到最佳假设时,就会出现计算问题。 - 表征问题——
当假设空间不包含目标类别的任何良好近似时,就会出现表征问题。
开发集成模型的主要挑战是什么?
主要的挑战不是获得高精度的基础模型,而是获得犯不同错误类型的基础模型。例如,如果使用集成进行分类,即使基础分类器准确率较低,如果不同的基础模型对不同的训练示例进行错误分类,也可以实现高精度。
独立构建集成的方法 –
- 多数票
- 套袋和随机森林
- 随机性注入
- 特征选择集成
- 纠错输出编码
协调构建集成的方法 –
- 提升
- 堆叠
可靠分类:元分类器方法
联合训练和自训练
集成分类器的类型
Bagging:
Bagging(Bootstrap Aggregation)用于降低决策树的方差。假设一个由 d 个元组组成的集合 D,在每次迭代i时,都会从 D 中抽取一个由 d 个元组组成的训练集 D i (即 bootstrap)。然后针对每个训练集 D < i 学习一个分类器模型 M i 。每个分类器 M i返回其类别预测。Bagged 分类器 M* 计算投票数并将投票数最多的类别分配给 X(未知样本)。
Bagging的实施步骤
随机森林:
随机森林是 bagging 的扩展。集合中的每个分类器都是决策树分类器,使用每个节点的随机属性选择来生成,以确定分割。在分类过程中,每棵树都会投票并返回最受欢迎的类别。
随机森林的实施步骤-
- 从具有相等元组的原始数据集创建多个子集,并选择可替换的观测值。
- 在每个子集上创建一个基础模型。
- 每个模型从各个训练集中并行学习,且彼此独立。
- 最终的预测是通过结合所有模型的预测来确定的。