深度学习中关于模型融合问题

模型融合即Ensemble Generation,指的是将多个不同的Base Model组合成一个Ensemble Model的方法。它可以同时降低最终模型的bias和Variance。从而在提高分数的同时又降低过拟合的风险。

常见的Ensemble方法有以下几种:

1.Bagging:使用训练数据的不同随机子集来训练每个Base Model,最后进行每个基本模型权重相同的投票,即随机森林原理 。 

 2.Boosting:迭代地训练Base Model,每次根据上一个迭代中预测错误的情况修改训练样本的权重。也即Gradient Boosting,Adaboost的原理。比Bagging效果好,但是更容易过拟合。

上述两种之间的区别:(1)样本选择上:Bagging是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。

Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。

(2)样例权重:Bagging:使用均匀取样,每个样例的权重相等。Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。

(3)预测函数:Bagging:所有预测函数的权重相等。Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。

(4)并行计算:Bagging:每个预测函数可以并行生成。Boosting:每个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。

3.Blending:用不相交的数据训练不同的基本模型,将它们的输出取(加权)平均。实现简单,但对训练数据利用少了。

4.Stacking:(1)拆解训练集:将训练数据随机且大致均匀的拆为m份

(2)在拆解后的训练集上训练模型,同时在测试集预测。利用m-1份训练数据进行训练,预测剩余一份;在此过程进行的同时,利用相同的m-1份数据训练,在真正的测试集上预测;如此重复m次,将训练集上m次结果叠加为1列,将测试集上m次结果取均值融合为1列。

(3)使用k个分类器重复2过程。将分别得到k列训练集的预测结果,k列测试集预测结果。

(4)训练3过程得到的数据。将k列训练集预测结果和训练集真实label进行训练,将k列测试集预测结果作为测试集。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值