1 集成学习概述
概念:
- 集成学习的思想是将若干个学习器(分类器&回归器)组合之后产生一个新学习器。弱分类器(weak learner)指那些分类准确率只稍微好于随机猜测的分类器(error rate < 0.5)
- 集成算法的成功在于保证弱分类器的多样性(Diversity)。而且集成不稳定的算法也能够得到一个比较明显的性能提升
作用:
- 弱分类器间存在一定的差异性,这会导致分类的边界不同,也就是说可能存在错误。那么将多个弱分类器合并后,就可以得到更加合理的边界,减少整体的错误率,实现更好的效果
- 对于数据集过大或者过小,可以分别进行划分和有放回的操作产生不同的数据子集,然后使用数据子集训练不同的分类器,最终再合并成为一个大的分类器
- 如果数据的划分边界过于复杂,使用线性模型很难描述情况,那么可以训练多个模型,然后再进行模型的融合
- 对于多个异构的特征集的时候,很难进行融合,那么可以考虑每个数据集构建一个分类模型,然后将多个模型融合
2 集成学习种类
集成方法分类为:
- Bagging(并行训练):随机森林
- Boosting(串行训练):Adaboost; GBDT; XgBoost
- Stacking:(新的训练数据集和新的测试集)
- Blending:(训练数据划分为训练和验证集+新的训练数据集和新的测试集)
或者分类为串行集成方法和并行集成方法
-
串行模型:通过基础模型之间的依赖,给错误分类样本一个较大的权重来提升模型的性能。
-
并行模型:利用基础模型的独立性,然后通过平均能够较大地降低误差。
3 集成学习介绍
1)Bagging思想(并行)( 自举汇聚法,Bootstrap Aggregating )
从训练集从进行子抽样组成每个基模型所需要的子训练集,对所有基模型预测的结果进行综合产生最终的预测结果。
-
第一步:在训练数据集中随机采样,对有m个样本训练集做T次的随机采样
随机采样:采集固定个数的样本,有放回的采样(每采样一个样本,都将样本放回)。一般是随机采集和训练集样本数m一样个数的样本。这样得到的采样集和训练集样本的个数相同,但是样本内容不同
-
第二步:训练一个基模型,对不同的子集进行训练,得到T个基模型。
Bagging方法的弱学习器可以是基本的算法模型,eg: Linear、Ridge、Lasso、Logistic、Softmax、ID3、C4.5、CART、SVM、KNN等。
-
第三步:T个基模型对测试数据进行预测,得到测试结果。
-
第四步:将T中结果综合起来。分类任务通常使用投票的方式得出结果,回归任务用平均的方式得到结果。
-
备注:Bagging方式是有放回的抽样