GBDT (Gradient Boosting Decision Tree),梯度提升树,在传统机器学习算法里面是对真实分布拟合的最好的几种算法之一,在前几年深度学习还没有大行其道之前,gbdt在各种竞赛是大放异彩。原因大概有几个,一是效果确实挺不错。二是既可以用于分类也可以用于回归。三是可以筛选特征。
1. Decision Tree:CART回归树
GBDT使用的决策树是CART回归树,无论是处理回归问题还是二分类以及多分类,GBDT使用的决策树都是都是CART回归树。为什么不用CART分类树呢?因为gbdt 每轮的训练是在上一轮的训练的残差基础之上进行训练的。这里的残差就是当前模型的负梯度值 。这个要求每轮迭代的时候,弱分类器的输出的结果相减是有意义的。残差相减是有意义的。如果选用的弱分类器是分类树,类别相减是没有意义的。
对于回归树算法来说最重要的是寻找最佳的划分点,那么回归树中的可划分点包含了所有特征的所有可取的值。在分类树中最佳划分点的判别标准是熵或者基尼系数,都是用纯度来衡量的,但是在回归树中的样本标签是连续数值,所以再使用熵之类的指标不再合适,取而代之的是平方误差,它能很好的评判拟合程度。
回归树生成算法:
输入:训练数据集D:
输出:回归树f(x).
在训练数据集所在的输入空间中,递归的将每个区域划分为两个子区域R1,R2(CART是二叉树,所以分为两个区域),令R1,R2区域的标签值均值分别为c1,c2,并决定每个子区域上的输出值,构建二叉决策