目录
1. 什么是集成学习
集成学习原名为
,它是根据训练数据构造一组基分类器(base classifier),通过聚合每个基分类器的输出来进行分类。
基分类器,就是一个小的分类器,单个基分类器的性能取决于它选择的分类算法和训练集。
对于单个性能比较弱的基分类器,我们称为弱分类器。
对于单个性能比较强的基分类器,我们称为强分类器。
多个基分类器集成的思想源于下列直觉:
- 考虑到几个基分类器的分类意见,而不是仅仅依靠一个基分类器的意见 。
- 许多弱分类器的组合至少可以和一个强分类器一样好。
- 一些强分类器的组合(通常)至少和基分类器中最好的一个一样好。
1.1 分类器集成的结果
多个分类器集成后的性能一定更好吗?我们带着这个疑问来看下面的例子:
分别代表了3个基分类器,
表示的是三个分类器的结合的最终结果:
由结果可以看出,多个基分类器的集合不一定犹豫单个基分类器的性能,那么:
什么时候选择集成呢?
- 基础分类器不会犯同样的错误。
- 每个基础分类器都是相当准确的。
1.2 构造基分类器的三种方法
实例操作:通过抽样产生多个训练集,并在每个数据集上训练一个基础分类器。
特征操作:通过不同的特征子集生成多个训练集,并在每个数据集上训练一个基础分类器。
算法操作:半随机地调整给定算法中的内部参数,在给定的数据集上生成多个基础分类器。
1.3 多个基分类器如何进行分类
在多个基分类器上进行分类的最简单手段是投票:
对于离散类,在测试集上运行多个基分类器,并选择由最多基分类器预测的类(少数服从多数)。例如一个二分类的数据集,,构造了5个基分类器,对于某个样本有三个基分类器的输出结果是1, 两个是0那么这个时候,总和来看结果就应该是1。
对于连续数值类,对我们基分类器预测的数字进行平均,将平均数作为最终的预测结果。
2. 分析预测模型的泛化误差
从模型角度看:
(偏置):衡量一个分类器进行错误预测的趋势。
(变异度):衡量一个分类器预测结果的偏离程度。
如果一个模型有更小的和
就代表这个模型的泛化性能很好。
3. 分类器集成方法
3.1 装袋法 Bagging(实例操作)
Bagging = bootstrap aggregating(自举汇聚法)
装袋法思想源于数据越多,性能越好的直觉判断。
具体方法:
通过随机抽样与替换相结合的方式构建新的数据集 。
将原始数据集进行有放回的随机采样次,得到了
个数据集,针对这些数据集一共产生
个不同的基分类器。对于这
个分类器,让他们采用投票法来决定最终的分类结果。
例子:
袋装法存在的问题:
因为袋装法是有放回的随机采样次,那就有可能有些样本可能永远不会被随机到。因为
个样本,每个样本每次被