集成学习(核心算法,算法中精度最高):
概念:
将若干个学习器(分类器&回归器)组合之后产生一个新学习器。弱分类器指那些分类准确率只稍微好于随机猜测的分类器(errorrate < 0.5)(弱学习器准确率不高,整合起来能得到一个强的学习器,准确率也会提高)
集成算法的成功在于保证弱分类器的多样性(Diversity)。而且集成不稳定的算法也能够得到一个比较明显的性能提升
常见的集成学习思想有:Bagging Boosting Stacking
作用:
弱分类器间存在一定的差异性(都没有差异,整合之后就没有提升精确度的效果),这会导致分类的边界不同,也就是说可能存在错误。那么将多个弱分类器合并后,就可以得到更加合理的边界,减少整体的错误率,实现更好的效果
对于数据集过大或者过小,可以分别进行划分和有放回的操作产生不同的数据子集,然后使用数据子集训练不同的分类器,最终再合并成为一个大的分类器
如果数据的划分边界过于复杂,使用线性模型很难描述情况,那么可以训练多个模型,然后再进行模型的融合
对于多个异构的特征集的时候,很难进行融合,那么可以考虑每个数据集构建一个分类模型,然后将多个模型融合
效果:
对新的实例进行预测的时候,把个体学习器集成起来,通过对多个学习器的结果进行某种组合来决定最终的决策
集成学习形式:
种类:
Bagging(用同一种样本进行):
自举汇聚法(Bootstrap Aggregating),思想是:在原始数据集上通过有放回的抽样的方式,重新选择出S个新数据集来分别训练S个分类器的集成技术。也就是说这些模型的训练数据中允许存在重复数据。
Bagging方法训练出来的模型在预测新样本分类的时候,会使用多数投票或者求均值的方式来统计最终的分类结果。
Bagging方法的弱学习器可以是基本的算法模型,eg: Linear、Ridge、Lasso、Logistic、Softmax、ID3、C4.5、CART、SVM、KNN等。(其中ID3、C4.5、CART是配合最多的,也表明了集成学习的核心思想是决策树)
备注:Bagging方式是有放回的抽样,并且每个子集的样本数量必须和原始样本数量一致,但是子集中允许存在重复数据。
思想介绍:
Boosting思想(精确度比Bagging高,速度稍慢):
个体学习器之间存在强依赖关系,一系列个体学习器基本都需要串行生成,然后使用组合策略,得到最终的集成模型,这就是boosting的思想
结构:
串行地构造多个个体分类器,然后以一定的方式将他们组合成一个强学习器
Bagging思想:
个体学习器之间不存在强依赖关系(影响运算速度),一系列个体学习器可以并行生成,然后使用组合策略