简单来讲就一句话,为了可以扩展到更复杂的损失函数中。
这时候你可能就有疑问了,难道不是所有的损失函数都在 时最小吗?
那可能你忘了正则项这一回事,如果只是经验风险最小化的话非常容易过拟合,所以一个合理的办法就是在每个基模型中加入正则项,所以在有正则项的情况下就不再是 时损失函数最小了,所以我们需要计算损失函数的梯度,而不能直接使用分模型来拟合残差。
下面是我对上面的理解:有正则化项的时候我们需要拟合负梯度,我们可以把损失函数看做是的函数,当的时候损失函数较大,那么下一步就是拟合损失函数对负梯度,那么相当于又向负梯度方向走了一步,相当于每次只沿着负梯度方向走一个步长,得到新的提升树,新的提升树在之前提升树的基础上向负梯度方向走了一步,更加减小了损失函数,所以每个新的提升树,拟合的都是损失函数对之前提升树的负梯度方向。
我们要拟合损失函数的负梯度,可以看做拟合一个方向为负梯度方向,步长为单位长度的值,所以拟合的过程相当于我们沿着负梯度方向走了一个步长,具体走多少步(多少步可以理解为训练多少个决策树来拟合该分类器,使得损失函数最低)达到终止的条件,即走到最优点的附近。
作者:知乎用户
链接:https://www.zhihu.com/question/63560633/answer/379959040
来源:知乎
说一下我的理解,GBDT的求解过程就是梯度下降在函数空间中的优化过程。
1.我们能通过一阶泰勒展开证明负梯度方向是下降最快的方向。对于函数f: ,
则优化函数f时: 。
2.在GB中,对损失函数展开: ,
即, 。
则在优化 的时候: ,
即, 。所以需要当前的弱学习器来学习负梯度,这里和GBDT中差了一个 。
3.在1和2中都是随机梯度下降,但是不同的是:1在参数空间中优化,每次迭代得到参数的增量,这个增量就是负梯度乘上学习率;2在函数空间中优化,每次得到增量函数,这个函数会去拟合负梯度,在GBDT中就是一个个决策树。要得到最终结果,只需要把初始值或者初始的函数加上每次的增量。所以1的优化过程是(假设迭代了M次):
等号两边相加,得到最终的优化结果:
。
同样的,2中优化的过程是:
等号两边相加,得到:
4. 无论损失函数是什么形式,每个决策树拟合的都是负梯度。准确的说,不是用负梯度代替残差,而是当损失函数是均方损失时,负梯度刚好是残差,残差只是特例。
作者:奥奥奥奥噢利
链接:https://www.zhihu.com/question/63560633/answer/581670747
来源:知乎