GBDT(Gradient Boosting Decision Tree)
1.提升树
提升树模型的基分类器为决策树,每次训练的结果影响下一次训练的决策树。我们这里只谈回归问题,训练的结果为M个决策树相加。对于二分类问题只需把AdaBoost算法的基分类器换为决策树。
用前向分步模型表示
fm(x)=fm−1(x)+T(x;θm)
其中
T(xi;θm)=∑j=1JcjI(xi∈Rj)
T(xi;θm)为回归决策树,它将特征空间分割J个区域,每个区域表示为Rj,每个区域设定一个值cj,当xi∈Rj时 决策树的输出为cj。
当使用平均方差损失函数时
L(yi,fm(xi))=12(yi−fm−1(xi)−T(xi;θm))2=12(rmi−T(xi;θm))2=L(rmi,T(xi;θm))
rmi是当前模型fm−1(x) 的残差yi−fm−1(xi)。因此我们可以用当前模型的残差去拟合下一颗决策树。
2.梯度提升
当损失函数不是平均方差时,用损失函数的负梯度近似去代替当前模型的残差
[−∂L(yi,f(x))∂f(x)]f(x)=fm−1(x)
算法:
初始化 f0(x)=argminc∑Ni=1L(yi−c)
对于 m= 1,2,.., M
a 对于 i = 1,.., N 计算
rmi=[−∂L(yi,f(x))∂f(x)]f(x)=fm−1(x)
b 对rm拟合一颗回归树,得到第m颗树的叶结点区域 Rmj ,j=1,2,..,Jc 对 j=1,2,,…J 计算
cmj=argminc∑xi∈RmjL(yi,fm−1(x)+c)
d 更新 fm(x)=fm−1(x)+∑jj=1cmjI(x∈Rmj)得到提升数 fM(x).
GBDT原理详解
本文深入探讨了GBDT(梯度提升决策树)的工作原理,包括其作为提升树模型的基础概念,以及如何通过前向分步模型来逐步逼近最优预测值。文章详细解释了在不同损失函数下的梯度提升策略,并提供了算法实现流程。
706

被折叠的 条评论
为什么被折叠?



