背景
GBDT是BT的一种改进算法。然后,Friedman提出了梯度提升树算法,关键是利用损失函数的负梯度作为提升树残差的近似值。 当使用平方损失时,负梯度就是残差。
算法模型
树模GBDT初始化ccc为所有标签的均值,即f0(x)f_0(x)f0(x)。
学习完第一棵树:
Υj1=argmin⏟Υ∑xi∈Rj1L(yi,f0(xi)+Υ)
\Upsilon_{j 1}=\underbrace{\arg \min }_{\Upsilon} \sum_{x_{i} \in R_{j 1}} L\left(y_{i}, f_{0}\left(x_{i}\right)+\Upsilon\right)
Υj1=Υargminxi∈Rj1∑L(yi,f0(xi)+Υ)
Υj1\Upsilon_{j 1}Υj1中的111表示第一颗树。GBDT已知Υ\UpsilonΥ, 然后最小化这个值求树的划分。使损失最小的树的划分。
学习完所有树:
f(x)=fM(x)=f0(x)+lr∗∑m=1M∑j=1JΥjmI(x∈Rjm)
f(x)=f_{M}(x)=f_{0}(x)+lr*\sum_{m=1}^{M} \sum_{j=1}^{J} \Upsilon_{j m} I\left(x \in R_{j m}\right)
f(x)=fM(x)=f0(x)+lr∗m=1∑Mj=1∑JΥjmI(x∈Rjm)
使用lrlrlr可以防止过拟合。Υjm\Upsilon_{j m}Υjm是叶子节点的值,III表示预测值是否属于这个节点,属于为1,不属于为0。f0(x)f_0(x)f0(x)是一个基(标签的均值),后续学的都是残差。1和0的计算需要将样本带入树中计算得到。叶子节点的数值表示残差值。树的数量是通过不断迭代产生的。
参考资料
https://blog.youkuaiyun.com/zpalyq110/article/details/79527653(GBDT案例介绍)
https://www.cnblogs.com/always-fight/p/9400346.html
https://www.cnblogs.com/ModifyRong/p/7744987.html

本文介绍了梯度提升树(GBDT)的基本概念,它是决策树的改进,利用平方损失下负梯度作为残差近似。文章详细阐述了GBDT的初始化过程、第一棵树的学习策略,以及如何通过迭代生成更多树来提升预测精度。最后,通过几个链接提供深入学习资源。
706

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



