为什么常说GBDT用负梯度近似残差?


残差=真值-预测值,明明可以直接计算。

为什么要引入麻烦的梯度?有什么用吗?

实际上这是因果倒置,GBDT想要计算的是负梯度。参考https://www.zhihu.com/question/63560633

1、我们知道,函数中下降最快的方向是导数方向,同理:GBDT中,损失函数减小最快的方向也是本身的导数方向。

2、如上图所示:GBDT中,损失函数的导数L(f(x))是关于拟合函数f(x)的复合函数。所以每棵树拟合时,拟合损失函数的导数方向,就是拟合损失函数减小最快的方向,即:损失函数的负梯度方向。

3、再次强调:在gbdt模型中,我们需要拟合的是损失函数的负梯度,与残差没有一点关系。

4、巧合的是,当损失函数为均方误差时,损失函数的负梯度跟残差一模一样。这使得模型看起来就像在拟合残差一样,也就是所谓的残差代替了负梯度。实际上我们拟合的还是损失函数的负梯度,只是这个负梯度的表达式跟残差意外一样了而已。


作者:ADVANCE ALGO
链接:https://www.zhihu.com/question/63560633/answer/1684606783
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM