为了账号安全,请及时绑定邮箱和手机立即绑定

Adaboost集成算法

标签:
算法

一、Adaboost算法原理

webp

        从图中可以看出,Boosting算法的工作机制是首先从训练集用初始权重训练出一个弱学习器1,根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视。然后基于调整权重后的训练集来训练弱学习器2.,如此重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。

        使用最广泛的Adaboost弱学习器是决策树和神经网络。对于决策树,Adaboost分类用了CART分类树。

二、Adaboost二分类算法流程

webp

webp

三、AdaBoost二分类的实例

webp

webp

webp

webp

四、AdaBoost的损失函数(推导系数a和权重w)

        Adaboost算法还有另一个解释:Adaboost是模型为加法模型,学习算法为前向分步学习算法,损失函数为指数函数的分类问题。

        模型为加法模型好理解,我们的最终的强分类器是若干个弱分类器加权平均而得到的。

        前向分步学习算法也好理解,我们的算法是通过一轮轮的弱学习器学习,利用前一个弱学习器的结果来更新后一个弱学习器的训练集权重。也就是说,第k-1轮的强学习器为:

webp

        而第k轮的强学习器为:

webp

        上两式一比较可以得到:

webp

        可见强学习器的确是通过前向分步学习算法一步步而得到的。

         前向分步算法的损失函数是指数函数:

webp

则Adaboost算法的损失函数为指数函数,即定义损失函数为:

webp

利用前向分步学习算法的关系可以得到损失函数为:

webp

webp

webp

五、Adaboost多元分类算法

        原理和二元分类类似,最主要区别在弱分类器的系数上。比如Adaboost SAMME算法,它的弱分类器的系数:

webp

        其中R为类别数。从上式可以看出,如果是二元分类,R=2,和我们上面的二元分类算法中的弱分类器的系数一致。

六、Adaboost算法的正则化

        为了防止Adaboost过拟合,我们通常也会加入正则化项,这个正则化项我们通常称为步长(learning rate)。定义为ν,对于前面的弱学习器的迭代:

webp

如果我们加上了正则化项,则有:

webp

        ν的取值范围为0<ν≤1。对于同样的训练集学习效果,较小的ν意味着我们需要更多的弱学习器的迭代次数。通常我们用步长和迭代最大次数一起来决定算法的拟合效果



作者:owolf
链接:https://www.jianshu.com/p/caf5985891b5


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消