7.2.4 GBDT算法
2026年01月16日
7.2.4 GBDT算法
GBDT算法,全称Gradient boosting Decision Tree,也就是梯度提升决策树,这里是将梯度提升算法与决策树相结合。GBDT依然是通过加法模型将基学习器结合起来,组成一个强学习器,GBDT里基学习器是决策树中的CART树。
GBDT算法与AdaBoost算法不同之处在于,如何辨别训练出的弱学习器存在的问题。AdaBoost算法是通过分类错误的样本识别,以及改变样本权重来改善下一轮训练的学习器。而GBDT算法则是通过负梯度来优化模型。
通过GBDT算法我们知道关键在于生成基学习器h(x)。GBDT算法就是基于{(xi,rim)}(i=1,…,n)使用CART回归决策树生成基学习器hm(x)。
我们依然假设训练集有N个样本,即{(x1,y1),(x2,y2),…,(xN,yN)},具体的算法流程如下。
(1)初始化基学习器为
![]()
(2)根据梯度下降计算学习率:(https://www.daowen.com)
![]()
(3)使用数据{(xi,rim)}(i=1,…,n)拟合CART回归树,得到第m棵树:

(4)求得的第m棵回归树后迭代更新后的预测函数为

(5)每次训练都会验证f(x)是否达到设定的收敛条件,或者迭代次数达到M次,如果满足以上条件就停止算法,得到最终的预测模型。