GBDT-f_t(x_i)取值问题的个人理解

f_t(x_i) 可能存在下限

个人理解,在 l l l 为平方误差的时候, f t ( x ) f_{t}(x) ft(x) 是有范围的,我们对上面一阶泰勒展开的式子详细写开
l ( H t − 1 ( x i ) + f t ( x i ) ) ≈ l ( H t − 1 ( x i ) ) + ∂ l ( H t − 1 ( x i ) ) ∂ H t − 1 ( x i ) × f t ( x i ) = [ y i − H t − 1 ( x i ) ] 2 − 2 [ y i − H t − 1 ( x i ) ] × f t ( x i ) \begin{aligned} l(H_{t-1}(x_i) + f_t(x_i) ) &\approx l(H_{t-1}(x_i)) + \frac{\partial{l(H_{t-1}(x_i))}}{\partial{H_{t-1}(x_i)}} \times f_t(x_i) \\ &= [y_{i}-H_{t-1}(x_{i})]^{2}-2[y_{i}-H_{t-1}(x_{i})]\times f_{t}(x_{i})\\ \end{aligned} l(Ht1(xi)+ft(xi))l(Ht1(xi))+Ht1(xi)l(Ht1(xi))×ft(xi)=[yiHt1(xi)]22[yiHt1(xi)]×ft(xi)
这里需要注意的是,等式左面是平方损失,本身就是平方项,因此必须要大于等于 0,因此其最小值就为 0
  [ y i − H t − 1 ( x i ) ] 2 − 2 [ y i − H t − 1 ( x i ) ] × f t ( x i ) = 0 f t ( x i ) = 1 2 [ y i − H t − 1 ( x i ) ] f t ( x i ) = − 1 4 g t \begin{aligned} \ [y_{i}-H_{t-1}(x_{i})]^{2}-2[y_{i}-H_{t-1}(x_{i})]\times f_{t}(x_{i})&=0\\ f_{t}(x_{i})&=\frac{1}{2}[y_{i}-H_{t-1}(x_{i})]\\ f_{t}(x_{i})&=-\frac{1}{4}g_{t} \end{aligned}  [yiHt1(xi)]22[yiHt1(xi)]×ft(xi)ft(xi)ft(xi)=0=21[yiHt1(xi)]=41gt
当然如果 l l l 使用其他的计算公式那么这个推导就不适用了

为什么取 f_t(x_i)=-g_t

从迭代的角度说,其实 f t ( x i ) f_{t}(x_{i}) ft(xi) 也没必要很大,因为此时梯度为 ∂ l ( H t − 1 ( x i ) ) ∂ H t − 1 ( x i ) \begin{aligned} \frac{\partial{l(H_{t-1}(x_i))}}{\partial{H_{t-1}(x_i)}}\end{aligned} Ht1(xi)l(Ht1(xi)),但经过更新后,也就是 H t ( x ) = H t − 1 ( x ) + η f t ( x ) H_t(x) = H_{t-1}(x) + \eta f_t(x) Ht(x)=Ht1(x)+ηft(x),梯度的值也会重新变化,也就是损失函数下降最快的方向就会随之变化,因此我们需要不断更新梯度

对于一个凸函数,用泰勒展开并令其等于 0 得到的
f t ( x i ) = − 1 4 g t f_{t}(x_{i})=-\frac{1}{4}g_{t} ft(xi)=41gt
即使拟合的数完全符合这个规则,代入
H t ( x ) = H t − 1 ( x ) + f t ( x ) H_t(x) = H_{t-1}(x) + f_t(x) Ht(x)=Ht1(x)+ft(x)
并不会直接使得损失函数为 0,泰勒展开是约等于,只是使得在当前梯度情况下的损失函数最小值,也就是满足
l ( H t − 1 ( x i ) ) + ∂ l ( H t − 1 ( x i ) ) ∂ H t − 1 ( x i ) × f t ( x i ) = 0 l(H_{t-1}(x_i)) + \frac{\partial{l(H_{t-1}(x_i))}}{\partial{H_{t-1}(x_i)}} \times f_t(x_i)=0 l(Ht1(xi))+Ht1(xi)l(Ht1(xi))×ft(xi)=0

l ( H t − 1 ( x i ) + f t ( x i ) ) ≠ 0 l(H_{t-1}(x_i) + f_t(x_i) )\ne 0 l(Ht1(xi)+ft(xi))=0
如果想要
l ( H t − 1 ( x i ) + f t ( x i ) ) = 0 l(H_{t-1}(x_i) + f_t(x_i) )= 0 l(Ht1(xi)+ft(xi))=0
则需要拟合 f t ( x i ) = − g t f_{t}(x_{i})=-g_{t} ft(xi)=gt
感性的理解一下,也就是需要一步满足、
y = H t − 1 ( x i ) + f t ( x i ) y=H_{t-1}(x_{i})+f_{t}(x_{i}) y=Ht1(xi)+ft(xi)
这样损失函数就能直接为 0,但此时模型的泛化能力会很弱,整体模型偏差小,方差很大,也就是决策树模型,所以我们要在保证减小损失函数的前提下保证模型的泛化能力,因此就会有 η \eta η 以及参数 max_depth 等来限制模型一次性达到损失函数的最小值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值