总是针对当前回归树所对应的损失函数梯度方向来拟合一棵回归树,将其加到回归树序列当中。这里所说的梯度方向,就是在感知机或者逻辑斯特回归当中的用的随机梯度方向,针对每一个样本都需要得到一个梯度方向,实际上就是将原来的样本一对一的替换成了梯度。
为什么这样做?实际上就是梯度下降法在这里的一个应用,总是在负梯度方向上进行搜索,从而可以加快达到极值点的速度。
一个比较通用的过程是这样的。
一、设计损失函数
二、初始化回归器$f_{0}(x)$
三、对 m=1,2,...,M 进行M此迭代,训练多个回归器
1. 对i=1,2,3,...,N 分别计算随机负梯度(为什么是负梯度?)
$r_{mi}$
2. 针对$r_{mi}$来拟合回归树。这里实际上就是得到了对特征空间的一个划分,也就是多个区域,这些区域的回归结果组合起来就是一个回归树
3. 更新回归树,将当前回归树,加到总的回归树当中,得到新的回归树
四、得到最终的回归树
可以看出实际上,GBDT就是一种思想,并没有具体的算法。许多博客实际上都在针对一种特殊情况在进行讨论,多分类问题的逻辑斯特回归问题。
[1] http://www.mamicode.com/info-detail-957178.html
[2] http://blog.sina.com.cn/s/blog_7d5ef4950100u85q.html
[3] http://www.cnblogs.com/leftnoteasy/archive/2011/03/07/random-forest-and-gbdt.html