当前位置: 代码迷 >> 综合 >> 梯度提升树(GBDT)理解
  详细解决方案

梯度提升树(GBDT)理解

热度:25   发布时间:2023-10-18 08:11:13.0

GBDT是集成学习方法Boosting中的一种,所以其中每个弱分类器都有先后顺序,同时每个弱分类器都有其的权重。

GBDT的思想
在GBDT的迭代过程中,假如前一轮迭代得到的强分类器是Fm?1(x)Fm?1(x),而其的损失函数为L(y,Fm?1(x))L(y,Fm?1(x)),这是本轮的的迭代就是找一个CART回归树模型(弱分类器)T(x;θm)T(x;θm),让本轮的损失Ly,Fm?1+ρmT(x;θm)L(y,Fm?1+ρmT(x;θm))最小。简单说,就是本轮要找个决策树,使得已有的强分类器的损失变小。

“GBDT的核心”
Freidman提出用损失函数的负梯度来表示本轮损失的近似值,进而确定CART树。

假如迭代到第M轮,这时损失函数的负梯度就可以表示为如下:

gmi=?[?L(yi,Fm(xi))?F(xi)]F(x)=Fm?1 (x)gmi=?[?L(yi,Fm(xi))?F(xi)]F(x)=Fm?1(x)

其中i=1,2···N表示样本数。

这个负梯度就是本轮迭代的损失值,也就是我们优化CART树的标签。即有:

θm=argminα,βi=1N[gmi?βTm(xi;θ)]2θm=argminα,β∑i=1N[gmi?βTm(xi;θ)]2

这里用 Tm(x;θ)Tm(x;θ) 去拟合上面提到的“标签”,而且使用了最小二乘法的拟合方法。

同时每个弱分类器都有其的权重,这里我们可以理解成“步长”:

ρm=argminρi=1NL(yi,Fm?1(xi)+ρT(xi,θm))ρm=argminρ∑i=1NL(yi,Fm?1(xi)+ρT(xi,θm))

最后迭代完这轮后,得到的强分类器Fm(x)=Fm?1(x)+ρmT(x;θm)Fm(x)=Fm?1(x)+ρmT(x;θm)

  相关解决方案