GBDT的理解

GBDT是Gradient Boosting Decision Tree的缩写,由Freidman提出,是集成学习的一种。与Adaboost不同,GBDT限制弱学习器为CART回归树,并通过梯度下降优化目标函数。文章回顾了AdaBoost的基本思想,然后介绍了如何将梯度下降应用于AdaBoost,形成Gradient Boost,并进一步扩展到回归问题。最后,说明了GBDT如何结合决策树实现性能提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

GBDT 的全称是 Gradient Boosting Decision Tree,梯度提升决策树,由Freidman提出。GBDT也是集成学习Boosting家族的成员,但是却和传统的Adaboost有很大的不同。Adaboost是利用前一轮迭代弱学习器的误差率来更新训练集的权重。GBDT也是迭代,使用了前向分布算法,但是弱学习器限定了只能使用CART回归树模型,同时迭代思路和Adaboost也有所不同。

AdaBoost回顾

un(t+1)={ un(t)⋅Θt,  if  incorrect⇒yngt(xn)=−1un(t)/Θt,  if  correct⇒yngt(xn)=1 {u_n}^{\left( {t + 1} \right)} = \left\{ \begin{array}{l} {u_n}^{\left( t \right)} \cdot {\Theta _t},\;if\;incorrect \Rightarrow {y_n}{g_t}\left( { {x_n}} \right) = - 1\\ {u_n}^{\left( t \right)}/{\Theta _t},\;if\;correct \Rightarrow {y_n}{g_t}\left( { {x_n}} \right) = 1 \end{array} \right. un(t+1)={ un(t)Θt,ifincorrectyngt(xn)=1un(t)/Θt,ifcorrectyngt(xn)=1

这里的uuu代表同一份数据取几次,而Θt=1−εtεt{\Theta _t} = \sqrt {\frac{ {1 - {\varepsilon _t}}}{ { {\varepsilon _t}}}}Θt=εt1εt ,其中εt\varepsilon _tεt代表错误率。

我们可以进一步化简,可得un(t+1)=un(t)⋅Θt−yngt(xn){u_n}^{\left( {t + 1} \right)} = {u_n}^{\left( t \right)} \cdot \Theta _t^{ - {y_n}{g_t}\left( { {x_n}} \right)}un(t+1)=un(t)Θtyngt(xn)

因为 αt=ln⁡Θt=ln⁡1−εtεt{\alpha _t} = \ln {\Theta _t} = \ln \sqrt {\frac{ {1 - {\varepsilon _t}}}{ { {\varepsilon _t}}}}αt=lnΘt=lnεt1εt

所以 un(T+1)=un(1)⋅∏t=1Te−ynαtgt(xn)=1N⋅e−yn∑t=1Tαtgt(xn){u_n}^{\left( {T + 1} \right)} = {u_n}^{\left( 1 \right)} \cdot \prod\limits_{t = 1}^T { {e^{ - {y_n}{\alpha _t}{g_t}\left( { {x_n}} \right)}}} = \frac{1}{N} \cdot {e^{ - {y_n}\sum\limits_{t = 1}^T { {\alpha _t}{g_t}\left( { {x_n}} \right)} }}un(T+1)=un(1)t=1Tey

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值