bagging与boosting原理详解

为了更好地对数据进行预测,通常要用到模型融合,模型融合算法成功的关键在于能保证弱分类器的多样性(diversity。融合不稳定的学习算法能得到更明显的性能提升。

最基本的模型融合方式有voting和averaging。Voting为投票法,是针对分类问题;Averaging是平均法,针对回归问题。

模型融合方法有bagging和boosting

1.Bagging

方法

  • 通过K次的有放回抽样,训练K个子模型(每次随机抽样训练1个模型)
  • 对K个模型结果进行Voting/Average融合

特点:

  • 关于bagging所采用的抽样方式为有放回抽样,抽样的样本数量等于总体样本数量;
  • 由于某些样本在有放回的情况下不止被抽到一次,有些样本一次也不会被抽到;
  • 可以并行产生所需要的样本子集个数以及并行训练子模型
  • 对于二分类问题,一般选取样本子集个数为奇数(避免出现两个类别投票数相同)

优点:

  • Bagging的准确率明显高于单个分类器,其原因是存在多个分类器,能够很好地克服一些噪音,即使一些模型错误判断也不会影响最后的结果,具有鲁棒性
  • 多个分类器不容易出现过拟合现象
  • Bagging减少variance(方差),boosting减少bias-偏差
Bagging 的准确率明显高于单个分类器,其原因是存在多个分类器,能够很好的克服一些噪音,即使一些模型错误判断也不会影响最后的结果,具有鲁棒性。
多个分类器不容易出现过拟合现象。所以我们是 Bagging 是减少 variance— 方差(相反, Boosting 是减少 bias— 偏差)
 

2.Boosting

Bagging算法可以并行处理(K个子模型),而boosting的思想是一种迭代的方法

Boosting每一次训练的时候都更加关心上一次分类错误的样例,给这些分类错误的样例更大的权重,下次训练的目标就是能够更容易辨别出上一次分类错误的样例

最终将多次迭代训练得到的弱分类器进行权重相加得到最终的强分类器

 
Boosting融合思想的经典算法:Adaboost, GBDT (Gradient Boosting Decision Tree),XGBoost
 

3.两者区别


取样方式(样本权重):Bagging是均匀选取,样本的权重相等,Boosting根据错误率取样,错误率越大则权重越大
训练集的选择:Bagging随机选择训练集,训练集之间相互独立,Boosting的各轮训练集的选择与前面各轮的学习结果有关
预测函数:Bagging各个预测函数没有权重,可以并行生成,Boosting有权重,顺序生成
Bagging是减少variance,Boosting是减少bias
Bagging 是 Bootstrap Aggregating的简称,意思就是再取样 (Bootstrap) 然后在每个样本上训练出来的模型取平均,所以是降低模型的 variance. Bagging 比如 Random Forest 这种先天并行的算法都有这个效果。
Boosting 则是迭代算法,每一次迭代都根据上一次迭代的预测结果对样本进行加权,所以随着迭代不不断进行行,误差会越来越小,所以模型的 bias 会不不断降低。这种算法无法并行。
 
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值