集成学习时,如何选择使用Bagging还是Boosting

集成学习

  • 不是一个单独机器学习算法,而是构建多个并结合多个弱学习器来完成学习任务
  • 通过训练若干个个体学习器,用一定结合策略,就可形成一个强学习器
  • 主要分为Bagging和Boosting两种类型的算法

BaggIng(有放回的抽取样本)

  • Bagging算法的弱学习器(基学习器)之间无依赖关系,可并行生成;
  • 典型算法有随机森林

Boosting(提升树)

  • 一般是串行学习,一轮学完,学错的在下一轮多学
  • 典型算法有AdaBoosting, XGBoosting, LightGBM,GBDT

在我们训练一个模型时,偏差和方差都要得到照顾。
对于Bagging类型算法来说,由于我们在取样时就考虑的是每次有放回的抽样,且会并行地训练很多不同分类器(并行学习),其主要目的就是降低方差(variance),故当选取了相互独立的基学习器多了以后,方差就很小,但是该算法会导致偏差(bias)比较高,因此我们对于每个基学习器的目标就是降低它们 的偏差,所以我们采用深度很深甚至不剪枝的决策树(增加拟合度)。
对于Boosting类型算法来说,它每轮训练集都不变且一般是对所有样本进行学习,每一步都是在上一轮基础上为了更加拟合原数据(串行学习,学错了在下一轮增加权重,进行多学),所以该类型算法一般可以有较低的偏差,但同样会导致有较高的方差,另外也容易产生过拟合;因此,我们对于Boosting类型的算法,需要考虑如何选择方差更小的分类器,即更简单的分类器(简单的分类器学习少,方差小,不容易过拟合),所以一般选择深度很浅的决策树。
所以,根据应用场景和业务需求不同,我们需要判断使用何种类型算法。比如,对于银行对账这类需求,对于模型精度要求高,那么多考虑使用Boosting算法;而对于一般比较宽泛的需求预测,但是要求方差波动较小的,可以考虑使用Bagging类型的算法。

在这里插入图片描述
Boosting与Bagging比较

  1. 样本选择
    Boosting:每轮训练集不变,只是训练集中每个样例在分类器中权重发生变化,而权值为根据上一轮分类结果进行调整
    Bagging:训练集是在原始集中进行有放回选取,从原始集中选出的各轮训练集之间为独立
  2. 样例权重
    Boosting:根据错误率不断调整样例权值,错误率越大,则权重越大,因此Boosting分类精度要优于Bagging(学习错了,多学点,故权重越大,精度也越高
    Bagging:用均匀取样,每个样例权重相等
  3. 预测函数
    Boosting:每个弱分类器都有相应权重,对于分类误差小的分类器有更大的权重
    Bagging:所有预测函数权重相等
  4. 并行计算
    Boosting:各函数顺序生成,因为后一个模型参数要考虑前一轮模型结果
    Bagging:各函数可并行生成,对神经网络这样极为耗时的学习方法,Bagging可用并行训练节省大量时间

二者区别与联系:

  • Bagging和Boosting都可有效提高分类准确性,在大多数数据集中,Boosting准确性比Bagging要高
  • 在有些数据集中,boosting由于过拟合,会引起退化

集成学习结合策略:

  1. 投票法
  2. 平均法
  3. 学习法:stacking(堆叠),即将训练集弱学习器结果作为输入,将训练集的输出作为输出,重新训练一个学习器来得到最终结果

参考文献
https://zhuanlan.zhihu.com/p/33700459

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值