1、GBDT的算法原理
原始论文地址:Greedy Function Approximation:A Gradient Bossting MAchine
原文很长,我这里只是简单介绍了GBDT的原理部分。最开始解除这个是在李航《统计学习方法》中,但李航书中介绍比较简单,这里参考一个博客,GBDT小结,讲的比较好(下面部分内容来自该博客,感谢博主,引用请指名原出处)。
提升树利用加法模型和前向分步算法实现学习的优化过程。当损失函数时平方损失和指数损失函数时,每一步的优化很简单,如平方损失函数学习残差回归树。
无论是分类还是回归:GBDT中用到的树都是回归树CART,不是分类树,GBDT也使用迭代决策算法,每一轮迭代生成的树都是拟合上一轮的残差,但和一般提升树不同的是,GBDT会用损失函数的负梯度(残差的减少方向)来拟合残差,叫伪残差。
假设我们的优化目标是:
F ∗ ( x ) = a r g min F ( x ) E y , x [ L ( y , F ( x ) ) ] F^*(x) = arg\min_{F(x)}E_{y,x}[L(y,F(x))] F∗(x)=argF(x)minEy,x[L(y,F(x))]
预测函数 F ( x ) F(x) F(x)的参数为:$ P={ P_1,P_2…P_M } , P_m= \beta_m,\alpha_m , 第 m 个 弱 分 类 器 或 者 回 归 树 表 示 为 : ,第m个弱分类器或者回归树表示为: ,第m个弱分类器或者回归树表示为:\beta_m h(x;\alpha_m)$, β m \beta_m βm 为弱分类器的系数(权重), α m \alpha_m αm表示其参数,则有:
那么对于样本$[ {x_i,y_i } ]^N$
,优化问题变为:
( β m , α m ) = a r g min α , β ( ∑ i = 1 N ) L ( y i , F m − 1 ( x i ) + β h ( x i , α ) ) (\beta_m,\alpha_m)= arg\min_{\alpha,\beta}(\sum_{i=1}^N) L(y_i,F_{m-1}(x_i)+\beta h(x_i,\alpha)) (βm,αm)=argα,βmin(i=1∑N)L(yi,Fm−1(x