GBDT 全称为 Gradient Boosting Decision Tree。顾名思义,它是一种基于决策树(decision tree)实现的分类回归算法。不难发现,GBDT 有两部分组成: gradient boosting, decision tree。Boosting 作为一种模型组合方式,与gradient descent 有很深的渊源,它们之间究竟有什么关系?同时 decisiontree 作为一种 base weak learner,又是如何通过 boosting 组装成一个强分类器?本文就通过回答这两个问题来深入了解下 GBDT 的“面子”和“里子”。
-
Gradient Descent: method of steepest descent
梯度下降作为求解确定可微方程的常用方法而被人所熟知。它是一种迭代求解过程,具体就是使解沿着当前解所对应梯度的反方向迭代。这个方向也叫做最速下降方向。具体推导过程如下。假定当前已经迭代到第 k 轮结束,那么第 k+1 轮的结果怎么得到呢?我们对函数 f 做如下一阶泰勒展开:
为了使得第 k+1 轮的函数值比第 k 轮的小,即如下不等式成立。
则只需使:
按照这样一直迭代下去,直到 ∇f(xk)=0, xk+1=