机器学习——boosting之XGBoost(未完)

划水一整天,模型看了仨!不错,虽然现在在打哈欠,还是很想把XGBoost梳理梳理
先从名字开始

XGBoost,eXtreme Gradient Boosting: em。。。。不理解

书上说,XGBoost有很好的性能,在各大比赛中大放异彩,行吧,冲这句,好好看看!

看了几篇,总感觉这个XGBoost不仅仅是对GBDT的改进版,还包含了对CART决策树的改进

  1. 首先,GBDT是经过泰勒一阶导出来的,XGBoost则是经过泰勒二阶导,越高阶导越接近原函数值
    L ( y , f ( x ) ) = L m − 1 ( y , f m − 1 ( x ) ) + ə L ( y , f m − 1 ( x ) ) ə f m − 1 ( x ) ∗ [ f ( x ) − f m − 1 ( x ) ] + 1 2 ∗ ə L ( y , f m − 1 ( x ) ) 2 ə f m − 1 ( x ) 2 ∗ ( f ( x ) − f m − 1 ( x ) ) 2 L(y,f(x)) = L_{m-1}(y,f_{m-1}(x))+\frac{ə_{L(y,f_{m-1}(x))}}{ə_{f_{m-1}(x)}}*[f(x)-f_{m-1}(x)]+\frac{1}{2}*\frac{ə^2_{L(y,f_{m-1}(x))}}{ə^2_{f_{m-1}(x)}}*(f(x)-f_{m-1}(x))^2 L(y,f(x))=Lm1(y,fm1(x))+əfm1(x)əL(y,fm1(x))[f(x)fm1(x)]+21əfm1(x)2əL(y,fm1(x))2(f(x)fm1(x))2

g i = ə L ( y i , f m − 1 ( x i ) ) ə f m − 1 ( x i ) g_i = \frac{ə_{L(y_i,f_{m-1}(x_i))}}{ə_{f_{m-1}(x_i)}} gi=əfm1(xi)əL(yi,fm1(xi)) h i = ə L ( y , f m − 1 ( x i ) ) 2 ə f m − 1 ( x i ) 2 h_i = \frac{ə^2_{L(y,f_{m-1}(x_i))}}{ə^2_{f_{m-1}(x_i)}} hi=əfm1(xi)2əL(y,fm1(xi))2 L ( y , f m − 1 ( x ) ) L(y,f_{m-1}(x)) L(y,fm1(x))这仨都是前k-1轮的,相当于常数

f ( x ) = f m ( x ) f(x)=f_m(x) f(x)=fm(x),则有 T m = f m ( x ) − f m − 1 ( x ) T_m = f_m(x)-f_{m-1}(x) Tm=fm(x)fm1(x)

L k ( y , f m ( x ) ) = L m − 1 ( y , f m − 1 ( x ) ) + g i ∗ T m ( x i , θ m ) + 1 2 h i ∗ T m 2 ( x i , θ m ) L_k(y,f_m(x)) = L_{m-1}(y,f_{m-1}(x))+g_i*T_m(x_i,θ_m)+\frac{1}{2}h_i*T^2_m(x_i,θ_m) Lk(y,fm(x))=Lm1(y,fm1(x))+giTm(xi,θm)+21hiTm2(xi,θm)

  1. 其次,XGBoost的优化①:增加正则化项 Ω ( T m ( x ) ) Ω(T_m(x)) Ω(Tm(x))

晕了…明天再说!

你可能感兴趣的:(机器学习基础,统计学习,算法,机器学习,boosting,人工智能)