机器学习面试必知:集成学习之Bagging,Boosting与Stacking

39 篇文章 3 订阅
23 篇文章 1 订阅

集成学习是一大类模型融合策略和方法的统称,其中包含多种集成学习的思想。主要有Bagging与Boosting,当然还有Stacking。

Boosting
Boosting的过程很类似于人类学习的过程,我们会对错误的地方反复巩固学习,是不是每个人都有一本错题集反复练习。以后学习的时候,我们就针对翻过的错误加强学习,以减少类似的错误发生。如此反复,直到犯错误的次数减少到很低的程度。所以Boosting方法训练基分类器采用串行的方式,各个基分类器之间有依赖。基本思路就是将基分类器层层叠加,每一层在训练的时候,对前一层基分类器分错的样本,给予更高的权重。测试时,根据各层分类器的结果的加权得到最终结果。
参考机器学习面试必知:Adaboost算法的精确形式
Bagging
Bagging与Boosting的串行训练方式不同。Bagging方法在训练过程中,各基分类器之间无强依赖,可以进行并行训练,随机森林就是一种典型的例子。Bagging方法更像是一个集体决策过程,每个个体都进行单独学习,学习的内容可以相同,也可以不同,也可以部分重叠。由于个体之间存在的差异性,最终作出的判断不会完全一致。在做最终决策时,每个个体单独作出判断时,再通过投票的方式作出最后的集体决策。

我们再从消除基分类器的偏差和方差的角度来理解Bagging与Boosting的差异。基分类器又被称为弱分类器,基分类器的错误是偏差和方差两种错误之和。偏差主要是由于分类器的表达能力有限导致的系统性错误,表现在训练误差不收敛。方差是由于分类器对于样本分布过于敏感,导致在训练样本较少时,产生过拟合。

Boosting方法是通过逐步聚焦于基分类器分错的样本,减小集成分类器的偏差。Bagging方法则是采用分而治之的策略,通过对训练样本多次采样,并分别训练出多个不同模型,然后做综合,来减少集成分类器的方差。假设所有基分类器出错的概率是独立的,在某个测试样本上,用简单多数投票方法来集成成果,超过半数基分类器出错的概率会随着基分类器的数量增加而下降。

Stacking
Stacking指训练一个模型用于组合其他各个模型。即首先我们先训练多个不同的模型,再以之前训练的各个模型的输出作为输入来训练一个模型,这样就能得到一个最终的输出。如果可以选用任意一个组合算法,那么理论上,Stacking可以表示任意一种Ensemble算法。实际中,我们通常使用单层logistic(softmax)回归作为组合模型。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值