从AdaBoost到GBDT(part 1)

标签(空格分隔): ML


注:本文假设读者已经有了AdaBoost和GBDT的背景知识。


看到网上关于AdaBoost和GBDT资料都不少,可是鲜有资料介绍他们联系,刚好之前有看过,最近复习到此,觉得有所收获,所以记录下来。此为读书笔记,若有错误,请予纠正。

前情概要:涉及公式较多,如要阅读,请提前找一个安静场所。

转载请标明出处:http://blog.csdn.net/wuzqChom/article/details/69487847
本篇文章分为两部分,第二部分:http://blog.csdn.net/wuzqChom/article/details/69487888

另一个角度看AdaBoost

我们已经知道AdaBoost每一次的样本的权重更新公式如下:

Ut+1n={UtntUtn/t,incorrect,correct.
其中:
t=1εtεt (更新权值公式的推导可见周志华《机器学习》p175),只需要这是最优的更新因子就行了,推导这里略过。
Ut+1n 为第 t+1 轮第 n 个样本的权重。
εt为分类器的错误率。

AdaBoost最终的学习的分类器为 G(x)=sign(Tt=1αtgt(x))
公式的符号说明如下:
T 为投票分类器的个数,即总共有多少棵决策树
αt为第 t 个分类器(决策树)的权重,且αt=lnt.
gt(x) 为第 t 个分类器(决策树)的学习到的结果,x为数据集中的样本特征
sign

Ut+1n=Utnyngt(xn)t=Utnexp(ynαtgt(xn))

这里只是利用 αt=lnt 做了一个小小的变换, yn xn 样本的真实label, gt(xn) 为训练出分类器得到的label,若同号则降低该样本的权重否则增大错误样本的权重使得分类器下一轮尽可能分对。

Ut+1n=Utnexp(ynαtgt(xn))=U1nΠTt=1exp(ynαtgt(xn))=1Nexp(ynt=1Tαtgt(xn))

还记得我们的前面的大分类器 G(x) 取符号函数钱的式子。
换个角度考虑 G(x)=sign(Tt=1αtwigt(x)ϕisn)
得到, UT+1nexp(ynsn)
w 看成是权重,ϕ看成是特征的转换,是不是有点像没有正规化的SVM边界优化目标

margin=yn(wTϕ(xn)+b)||w||

所以边界当然是希望是正的并且越大越好,这也显示了AdaBoost出来的可视化图形其边界和SVM很相似。
所以现在的优化目标变成了

最大化 ynsn 最小化 exp(ynsn) 最小化 UT+1n

所以可以认为AdaBoost的优化目标为减少 Nn=1Utn ,这也是很好理解的AdaBoost想要训练样本尽量正确那么就会降低其权值,从实验情况来看,也确实有这个性质。

如果说上面这种推导方式比较难以理解,那么我们再从另一个角度看看:
假设 Zt=Nn=1Utn ,为第t次迭代的权重之和。那么 Zt Zt1 的关系如下:

Zt=Zt1εtexp(αt)+Zt1(1εt)exp(αt)

什么意思呢?
εt 是我们的分类器的错误率, t=exp(αt) 把权重,即错误的权重乘上 t ,正确的权重除以 t 。第一部分就是所有错误样本更新后的权重之和,第二部分为所有错正确样本更新后的权重之和。和上面的权重更新公式是一致的。这个式子清楚之后我们把 αt 代入:

Zt=Zt1εtexp(αt)+Zt1(1εt)exp(αt)=Zt1εt(1εt)εt+Zt1(1εt)εt1εt)=2Zt1εtε2t

所以 εtε2t εt=0.5 时可以取得最大值,由于 0<εt<0.5 ,所以 Zt<Zt1 。所以从第二个角度说明了Adaboost的可以使得样本的权重之和不断减小。

于是,我么就有了新的目标函数:

Nn=1UT+1n=1NNn=1exp(ynTt=1αtgt(xn))

走了那么久,别忘了为什么出发,到现在还没有见到GBDT?有了上面这个式子,GBDT马上出场。请见下一部分。

参考资料:
林轩田. 机器学习课程技法部分 Lecture 11.
李宏毅. machine learning course Ensemble.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值