集成学习之Boosting

Boosting是集成算法之一,通过整合多个弱分类器,从而形成一个强分类器。

任一弱学习算法可以通过加强提升到一个任意正确率的强学习算法,并通过构造一种多项式级的算法来实现这一加强过程,这就是最初的Boosting算法的原型。

Boosting是一种将弱分类器通过某种方式结合起来得到一个分类性能大大提高的强分类器的分类方法。该方法可以把一些粗略的经验规则转变为高度准确的预测法则。强分类器对数据进行分类,是通过弱分类器的多数投票机制进行的。该算法是一个简单的弱分类算法提升过程,这个过程通过不断的训练,以提高对数据的分类能力。
如果一个学习算法通过一组样本,识别率很高,则称其为强学习算法,如果识别率仅比随机猜测略高,其猜测准确率略大于50%,则称其为弱学习算法。

核心思想:
先从初始训练集中训练一个基学习器,再根据基学习器的表现对训练样本进行分布调整,使得先前基学习器做错的训练样本在后续受到更多的关注,即对分类错误的样本加大权重,对正确分类的样本减少权重,然后基于调整后的样本分布来训练下一个基学习器,如此重复进行,直至基学习器数目达到事先指定的值T,最终这T个基学习器进行加权结合。
Adaboost
1、自适应的调整弱学习算法的错误率,经过若干次迭代后错误率能达到预期的效果。
2、它不需要精确的知道样本空间分布,在每次弱学习后调整样本空间分布,更新所有训练样本的权重,把样本空间中被正确分类的样本权重降低,被错误分类的样本权重将会提高,这样下次弱学习时就能更关注这些被错误分类的样本,该算法可以很容易的应用到实际问题中,因此,已经成为目前最流行的Boosting算法。
Boosting算法流程如下:
1、先通过对N个训练数据的学习得到第一个弱分类器h1。
2、将h1分错的数据和其他新数据一起构成一个新的有N个训练数据的样本,通过对这个学习样本的学习得到第二个弱学习分类器h2。
3、将h1和h2都分错了的数据加上其他新的数据构成另外一个新的有N个训练数据的样本,通过对这个样本的学习得到第三个弱分类器h3。
4、最终经过提升的强分类器为所有弱分类器的加权结合。即某个数据被分为哪一类要通过所有的弱分类器的多数决定。
上述Boosting算法,存在两个问题:
1、如何调整训练集,使得在训练集上训练弱分类器得以进行。
2、如何将训练得到的各个弱分类器联合起来形成强分类器。
针对以上两个问题,AdaBoost算法进行了调整:
1、使用加权后随机选取的训练数据代替随机选取的训练数据,这样将训练的焦点集中在比较难分的训练数据上。
2、将弱分类器联合起来,使用加权的投票机制代替平均投票机制,让分类效果好的弱分类器具有较大的权重,而分类效果差的分类器具有较小的权重。

这里写图片描述
这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值