当前位置:   article > 正文

GBDT (Gradient Boosting Decision Tree)_gbdt算法中的关键就是利用损失函数的负梯度作为残差的近似值

gbdt算法中的关键就是利用损失函数的负梯度作为残差的近似值
背景

GBDT是BT的一种改进算法。然后,Friedman提出了梯度提升树算法,关键是利用损失函数的负梯度作为提升树残差的近似值。 当使用平方损失时,负梯度就是残差。

算法模型

树模GBDT初始化 c c c为所有标签的均值,即 f 0 ( x ) f_0(x) f0(x)
学习完第一棵树:
Υ j 1 = arg ⁡ min ⁡ ⏟ Υ ∑ x i ∈ R j 1 L ( y i , f 0 ( x i ) + Υ ) \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=Υ argminxiRj1L(yi,f0(xi)+Υ)
Υ j 1 \Upsilon_{j 1} Υj1中的 1 1 1表示第一颗树。GBDT已知 Υ \Upsilon Υ, 然后最小化这个值求树的划分。使损失最小的树的划分。
学习完所有树:
f ( x ) = f M ( x ) = f 0 ( x ) + l r ∗ ∑ m = 1 M ∑ j = 1 J Υ j m I ( x ∈ R j m ) 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)+lrm=1Mj=1JΥjmI(xRjm)
使用 l r lr lr可以防止过拟合。 Υ j m \Upsilon_{j m} Υjm是叶子节点的值, I I I表示预测值是否属于这个节点,属于为1,不属于为0。 f 0 ( x ) f_0(x) f0(x)是一个基(标签的均值),后续学的都是残差。1和0的计算需要将样本带入树中计算得到。叶子节点的数值表示残差值。树的数量是通过不断迭代产生的。

参考资料

https://blog.csdn.net/zpalyq110/article/details/79527653(GBDT案例介绍)
https://www.cnblogs.com/always-fight/p/9400346.html
https://www.cnblogs.com/ModifyRong/p/7744987.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/792315
推荐阅读
相关标签
  

闽ICP备14008679号