模型融合算法概念算法
它不是具体的指某一个算法,而是一种把多个弱模型融合合并在一块儿变成一个强模型的思想框架
用模型融合算法的缘由性能
一、单个模型容易过拟合,多个模型融合能够提升范化能力学习
二、单个模型预测能力不高,多个模型每每能提升预测能力spa
三、对于数据集过大或太小,能够分别进行划分和有放回的操做,产生不一样的数据子集,而后经过数据子集训练不一样的分类模型,最终合并成一个大的分类器3d
四、对于多个异构的特征集的时候,很难进行融合,能够考虑每一个数据集构建一个分类模型,而后将多个模型融合blog
五、模型融合算法成功的关键在于能保证弱分类器(弱模型)的多样性,融合不稳定的学习算法能获得更明显的性能提高效率
融合模型示例基础
一个天气预报的示例,能够看到多个模型融合后能够显著提高预测效果:5个子模型平均都会有两个到三个的错误,可是使用少数服从多数的投票法融合以后,最终的预测结果100%正确原理
模型融合基础算法:
投票法(Voting):若是是分类模型,每一个模型都会给出一个类别预测结果,经过投票的方式,按照少数服从多数的原则融合获得一个新的预测结果。
均值法(Averaging):若是是回归模型,每一个模型给出的预测结果都是数值型的,这时候咱们能够经过求全部子模型的预测结果的均值做为最终的融合结果
Bagging融合框架:
Bagging融合的原理是采用有放回的抽样,即每次从训练样本中随机取出一个样本,并且每次抽取的样本数量与整体的样本数量一致,取K次样本,对K个抽样获得的训练样本进行训练获得K个子模型,而后对K个子模型结果进行融合,分类采用投票法,回归采用均值法。典型算法是随机森林。下图即为Bagging框架示意图。
因Bagging融合算法各子模型间没有相互联系,因此它是一种并行的融合方法,可同时并行处理K个子模型,这样大大提高算法执行效率。
Boosting融合框架
Boosting融合在每次训练模型时更关注上一次的模型错判的样例,而且会给这些错判的样例更大的权重,这样作的目的是就是为了增强对错判样本的学习,让模型经过不断的迭代,效果愈来愈好。最终将屡次迭代的训练获得的弱模型进行加权求和,获得最终的强模型。由于Boosting框架各模型间是有依赖关系存在的,因此它是一种串行的融合方法。
如上图所示,使用Boosting融合方法迭代了3轮获得3个弱分类器,每一轮的训练样本权重是不同的,它会根据上一轮的预测结果对错判的样本进行加权,目的是为了在下一轮的训练学习中更加关注这些错判的样本,最后把每一轮训练获得的模型加权融合起来。典型算法是Adaboost,GBDT(梯度提高决策权)
Bagging融合更加关注的是获得一个更稳定的模型,而Boosting融合关注的是获得一个预测能力更强的模型。