GBDT算法

GBDT 是 Gradient Boosting Decison Tree,是集成学习下boosting家族的一个算法。GBDT 可以用于分类和回归任务,但基学习器都是 CART 回归树,因为它使用的是负梯度拟合的方法做的,分类任务是通过采用损失函数来做的,类似于二分类逻辑回归的对数损失函数来说,相当于把之前的线性回归 f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b 这里用 CART 回归树 F ( x ) F(x) F(x)代替,即利用回归树表达分类结果 p ( y = 1 ∣ x ) = 1 1 + e − F ( x ) = e F ( x ) 1 + e F ( x ) p(y=1|x)=\frac{1}{1+e^{-F(x)}}=\frac{e^{F(x)}}{1+e^{F(x)}} p(y=1∣x)=1+eF(x)1=1+eF(x)eF(x),然后再套最大化似然函数的推导,最后结果可以看这里(注意这篇文章的2.2应该是替换成 p ( y = 1 ∣ x ) = 1 1 + e − F ( x ) p(y=1|x)=\frac{1}{1+e^{-F(x)}} p(y=1∣x)=1+eF(x)1,而不是直接替换成 F ( x ) F(x) F(x)代入上式,得到的结果是对的。另外补充近似值代替过程很值得看)。实际上也就是这里提到的损失函数(但是要注意这篇文章的标签分类是-1和1,而前面的分析都是0和1)。多分类任务和softmax回归中提到的损失函数和梯度一致
关于xgboost和lightboost可以看这里和这里 等

你可能感兴趣的:(算法)