GBDT推导-拟合负梯度和残差

梯度提升树-为什么拟合负梯度

将学习器F看做一个参数,损失函数为
L ( y , F ) L(y,F) L(y,F),为使L损失最小,采用梯度下降法:
F m = F m − 1 − d L d F F_m=F_{m-1}-\frac{dL}{dF} Fm=Fm1dFdL
提升树采用加法模型(基函数的线性组合)与前向分布算法:
F m = F m − 1 + T F_m=F_{m-1}+T Fm=Fm1+T
T为训练的新树,所以有:
T = − d L d F T=-\frac{dL}{dF} T=dFdL
因此每次需要拟合的是损失函数的负梯度值。
平方损失是特例(拟合残差)。

平方损失函数-为什么拟合残差

第t轮损失函数的负梯度为
− d L ( y , F t − 1 ) d F t − 1 -\frac{dL(y,F_{t-1})}{dF_{t-1}} dFt1dL(y,Ft1)
平方损失函数为
L ( y , F ) = 1 2 ( y − F ) 2 L(y,F)=\frac{1}{2}(y-F)^2 L(y,F)=21(yF)2
负梯度为
− d L ( y , F t − 1 ) d F t − 1 = -\frac{dL(y,F_{t-1})}{dF_{t-1}}= dFt1dL(y,Ft1)=
− d ( 1 2 ( y − F t − 1 ) 2 ) d F t − 1 = -\frac{d(\frac{1}{2}(y-F_{t-1})^2)}{dF_{t-1}}= dFt1d(21(yFt1)2)=
− ( y − F t − 1 ) ∗ d ( y − F t − 1 ) d F t − 1 = -\frac{(y-F_{t-1})* d(y-F_{t-1})}{dF_{t-1}}= dFt1(yFt1)d(yFt1)=
− ( y − F t − 1 ) ∗ − d ( F t − 1 ) d F t − 1 = -\frac{(y-F_{t-1})* -d(F_{t-1})}{dF_{t-1}}= dFt1(yFt1)d(Ft1)=
( y − F t − 1 ) (y-F_{t-1}) (yFt1)
当损失函数为平方损失时,负梯度值等于残差值。

初始化弱学习器

f 0 ( x ) = a r g m i n c ∑ i = 1 N L ( y i , c ) f_0(x)=arg min_c\sum_{i=1}^NL(y_i,c) f0(x)=argminci=1NL(yi,c)
f 0 ( x ) f_0(x) f0(x)为最小值时,求c的取值。使用平方损失函数,由于平方损失是凸函数,直接求导数为0时c的取值
∑ i = 1 N ∂ L ( y i , c ) ∂ c = \sum_{i=1}^N\frac{\partial L(y_i,c)}{\partial c}= i=1NcL(yi,c)=
∑ i = 1 N ∂ ( 1 2 ( y i − c ) 2 ) ∂ c = \sum_{i=1}^N\frac{\partial(\frac{1}{2}(y_i-c)^2)}{\partial c}= i=1Nc(21(yic)2)=
∑ i = 1 N ( y i − c ) ∗ ∂ ( y i − c ) ∂ c = \sum_{i=1}^N\frac{(y_i-c)*{\partial(y_i-c)}}{\partial c}= i=1Nc(yic)(yic)=
∑ i = 1 N ( c − y i ) \sum_{i=1}^N(c-y_i) i=1N(cyi)
令导数等于0
∑ i = 1 N ( c − y i ) = 0 \sum_{i=1}^N(c-y_i)=0 i=1N(cyi)=0
∑ i = 1 N c = ∑ i = 1 N y i \sum_{i=1}^Nc=\sum_{i=1}^Ny_i i=1Nc=i=1Nyi
c = ( ∑ i = 1 N y i ) / N c=({\sum_{i=1}^Ny_i})/{N} c=(i=1Nyi)/N
初始学习器 f 0 ( x ) f_0(x) f0(x) = c = 所有训练样本标签值的均值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值