GBDT(Gradient Boosting Decision Tree) 从名字上理解包含三个部分:提升、梯度和树。它最早由 Freidman 在 greedy function approximation :a gradient boosting machine 中提出。很多公司线上模型是基于 GBDT+FM 开发的,我们 Leader 甚至认为 GBDT 是传统的机器学习集大成者。断断续续使用 GBDT 一年多后,大胆写一篇有关的文章和大家分享。
如果你的朋友提供一个可以使用但是不完美的模型,比如 \[F(x_1)=0.8y_1=0.9\] \[F(x_2)=1.4y_2=1.3\] 在如何不修改这个模型的参数情况下,提高模型效果?
唯独没有提到 Gradient Descent,GBDT 的理论依据却恰恰和它相关。
所以,参数的梯度下降和函数的梯度下降原理上是一致的:
每一轮拟合负梯度,而不是拟合残差,是为方便之后扩展到其他损失函数。
最小化问题中,如果有解析解,直接带入。否则,利用泰勒二阶展开,Newton Step 得到近似解。
这一篇就先到这里,之后还会分享 GBDT 常用损失函数推导以及 XGboost 相关内容。如果有任何想法,都可以在留言区和我交流。
