GBDT是一个加法模型,其基模型是决策树,所以名字中带着DT,使用的优化方式是梯度提升,所以名字中带有GB. GDBT类模型如xgb, lgb, catboost, thunderboost都是GBDT的改进版本

基本推导

GBDT的基本形式:

XGB

$$ J^{(t-1)} = \sum_{j \in T}\left[\left( \sum_{i \in I_j} g_i\right)w_j + \frac{1}{2}\left(\sum_{i \in I_j}h_i + \lambda \right)w_j^2 \right] + \gamma T \ = \sum_{j \in T}\left[G_jw_j + \frac{1}{2}\left(H_j + \lambda \right)w_j^2 \right] + \gamma T $$

其中 G_j 是落入第\(j\)个叶节点的样本一阶梯度之和, H_j 是落入第\(j\)个叶节点的样本的二阶梯度之和, 对于式

$$ G_jw_j + \frac{1}{2}\left(H_j + \lambda \right)w_j^2 $$ $w_j$相当于自变量$x$,从而 $$ w_j = -\frac{G_i}{H_j + \lambda} $$ 时该式取得最小值,将其带入目标函数中,得到

$$J^{(t)} = -\frac{1}{2}\sum_{j=1, \cdots , T}\frac{G_j^2}{H_j + \lambda} + \gamma T$$

参考资料

  1. GBDT的原理和应用