集成学习:Bagging和Boosting比较

随机森林(random forest)和GBDT都是属于集成学习(ensemble learning)的范畴。集成学习下有两个重要的策略Bagging和Boosting。

1 Bagging和Boosting含义

Bagging算法是这样做的:每个分类器都随机从原样本中做有放回的采样,然后分别在这些采样后的样本上训练分类器,然后再把这些分类器组合起来。简单的多数投票一般就可以。其代表算法是随机森林。

Boosting的意思是这样,他通过迭代地训练一系列的分类器每个分类器采用的样本分布都和上一轮的学习结果有关。其代表算法是AdaBoost, GBDT,xgboost。

大多数boost方法会改变数据的概率分布(改变数据权值),adaboost具体是提高前一轮训练中被错分类的数据的权值,降低正确分类数据的权值,使得被错误分类的数据在下轮的训练中更受关注;然后根据不同分布调用弱学习算法得到一系列弱学习器实现的,再将这些学习器线性组合,具体组合方法是误差率小的学习器会被增大权值,误差率大的学习器会被减小权值。gbdt是每轮使用残差来学校。

2 偏差(拟合程度)方差(泛化能力)

Boosting主要关注降低偏差(用偏差不断迭代学习),因此Boosting能基于泛化性能相当弱的学习器构建出很强的集成;

Bagging主要关注降低方差(用很多简单模型,简单模型稳定,所以低方差),因此它在不剪枝的决策树、神经网络等学习器上效用更为明显。

3 为什么boosting模型要比bagging模型中树的深度要浅?

对于Bagging算法来说,由于我们会并行地训练很多不同的分类器的目的就是降低这个方差(variance) ,因为采用了相互独立的基分类器多了以后,h的值自然就会靠近.所以对于每个基分类器来说,目标就是如何降低这个偏差(bias),所以我们会采用深度很深甚至不剪枝的决策树。
对于Boosting来说,每一步我们都会在上一轮的基础上更加拟合原数据,所以可以保证偏差(bias),所以对于每个基分类器来说,问题就在于如何选择variance更小的分类器,即更简单的分类器,所以我们选择了深度很浅的决策树。

https://www.jianshu.com/p/005a4e6ac775

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值