重庆智能网站建设企业,霞山手机网站建设公司,网站建设文化信息,苏宁易购网站建设情况现在要开始重点关注名字了#xff0c;名字透漏了很多信息#xff01;名字暗藏线索#xff01; GBDT#xff0c;Gradient Boosting Decision Tree: 梯度提升决策树
果然信息很丰富
梯度#xff1a;意味着计算有迭代递进关系#xff0c;但还不明确是怎么迭代递进的 提升名字透漏了很多信息名字暗藏线索 GBDTGradient Boosting Decision Tree: 梯度提升决策树
果然信息很丰富
梯度意味着计算有迭代递进关系但还不明确是怎么迭代递进的 提升意味着前向分布式加法模型并且分类器之间是有相关提升的 决策树CART决策树、C4.5、忘记名字了… em…还是要再深挖深挖小小的boosting挖呀挖呀挖呀挖。。。 经过推导。。。发现我的GBDT回归实际就是上一篇提升树的二叉回归树… 看来可以省点儿功夫不写代码但可以稍微推导一下 首先明确回归问题采用平方损失函数: L o s s ( y , f ( x ) ) ( y − f ( x ) ) 2 Loss(y,f(x)) (y-f(x))^2 Loss(y,f(x))(y−f(x))2
其中f(x) 是强分类器且当前强分类器 f m f m − 1 T m ( x , θ m ) f_m f_{m-1}T_m(x,θ_m) fmfm−1Tm(x,θm)
问题来了我们现在要求Loss最小原本是可以直接使Loss对x求导进而求出θ得到强分类器的
但书上说了有时候Loss对x求导是无法实现的说实话我不知道为什么
不过不妨碍我对GBDT进行推导
首先梯度是想要Loss成梯度逐步下降那就采用让Loss在 f ( x ) f m − 1 ( x ) f(x)f_{m-1}(x) f(x)fm−1(x)处进行一阶泰勒展开
则有 L o s s ( y , f ( x ) ) L o s s ( y , f m − 1 ( x ) ) ə L ( y , f m − 1 ( x ) ) ə f m − 1 ( x ) ∗ [ f ( x ) − f m − 1 ( x ) ] Loss(y,f(x)) Loss(y,f_{m-1}(x))\frac{ə_{L(y,f_{m-1}(x))}}{ə_{f_{m-1}(x)}}*[f(x)-f_{m-1}(x)] Loss(y,f(x))Loss(y,fm−1(x))əfm−1(x)əL(y,fm−1(x))∗[f(x)−fm−1(x)]
令 f ( x ) f m ( x ) f(x) f_m(x) f(x)fm(x)则有 L ( y , f m ( x ) ) L ( y , f m − 1 ( x ) ) ə L ( y , f m − 1 ( x ) ) ə f m − 1 ( x ) ∗ [ f m ( x ) − f m − 1 ( x ) ] L(y,f_m(x)) L(y,f_{m-1}(x))\frac{ə_{L(y,f_{m-1}(x))}}{ə_{f_{m-1}(x)}}*[f_m(x)-f_{m-1}(x)] L(y,fm(x))L(y,fm−1(x))əfm−1(x)əL(y,fm−1(x))∗[fm(x)−fm−1(x)] Δ L o s s L ( y , f m ( x ) ) − L ( y , f m − 1 ( x ) ) ə L ( y , f m − 1 ( x ) ) ə f m − 1 ( x ) ∗ [ f m ( x ) − f m − 1 ( x ) ] ΔLoss L(y,f_m(x)) - L(y,f_{m-1}(x))\frac{ə_{L(y,f_{m-1}(x))}}{ə_{f_{m-1}(x)}}*[f_m(x)-f_{m-1}(x)] ΔLossL(y,fm(x))−L(y,fm−1(x))əfm−1(x)əL(y,fm−1(x))∗[fm(x)−fm−1(x)]
其中 [ f m ( x ) − f m − 1 ( x ) ] T ( x , θ m ) [f_m(x)-f_{m-1}(x)] T(x,θ_m) [fm(x)−fm−1(x)]T(x,θm)
要使下一次迭代时Loss降低则需要ΔLoss0那么对应的 ə L ( y , f m − 1 ( x ) ) ə f m − 1 ( x ) ∗ T ( x , θ m ) \frac{ə_{L(y,f_{m-1}(x))}}{ə_{f_{m-1}(x)}}*T(x,θ_m) əfm−1(x)əL(y,fm−1(x))∗T(x,θm)0
那么当 T ( x , θ m ) − ə L ( y , f m − 1 ( x ) ) ə f m − 1 ( x ) T(x,θ_m)-\frac{ə_{L(y,f_{m-1}(x))}}{ə_{f_{m-1}(x)}} T(x,θm)−əfm−1(x)əL(y,fm−1(x))时就可以保证 ə L ( y , f m − 1 ( x ) ) ə f m − 1 ( x ) ∗ T ( x , θ m ) \frac{ə_{L(y,f_{m-1}(x))}}{ə_{f_{m-1}(x)}}*T(x,θ_m) əfm−1(x)əL(y,fm−1(x))∗T(x,θm)0
因此 T ( x , θ m ) − ə L ( y , f m − 1 ( x ) ) ə f m − 1 ( x ) ə ( y − f m − 1 ( x ) ) 2 ə f m − 1 ( x ) T(x,θ_m)-\frac{ə_{L(y,f_{m-1}(x))}}{ə_{f_{m-1}(x)}}\frac{ə_{(y-f_{m-1}(x))^2}}{ə_{f_{m-1}(x)}} T(x,θm)−əfm−1(x)əL(y,fm−1(x))əfm−1(x)ə(y−fm−1(x))2
为了求解简洁美观可以 令 L o s s 为 1 2 ( y − f ( x ) ) 2 令Loss为\frac{1}{2}(y-f(x))^2 令Loss为21(y−f(x))2
这样 T ( x , θ m ) − ə L ( y , f m − 1 ( x ) ) ə f m − 1 ( x ) 1 2 ə ( y − f m − 1 ( x ) ) 2 ə f m − 1 ( x ) y − f m − 1 ( x ) T(x,θ_m)-\frac{ə_{L(y,f_{m-1}(x))}}{ə_{f_{m-1}(x)}}\frac{\frac{1}{2}ə_{(y-f_{m-1}(x))^2}}{ə_{f_{m-1}(x)}}y-f_{m-1}(x) T(x,θm)−əfm−1(x)əL(y,fm−1(x))əfm−1(x)21ə(y−fm−1(x))2y−fm−1(x)
哦这不就是残差嘛 r y − f m − 1 ( x ) r y-f_{m-1}(x) ry−fm−1(x) ,相当于每个新的弱分类器准确来说应该是基函数都应该尽可能地去拟合残差
所以啊实际上一轮的提升树本质上就是GBDT 不管就先这么确定以后打脸再说…好困