GBDT的全称是Gradient Boosting Decision Tree,梯度提升树,在传统机器学习算法中,GBDT算的上TOP3的算法。想要理解GBDT的真正意义,那就必须理解GBDT中的Gradient Boosting和Decision Tree分别是什么?
1、Decision Tree:CART回归树
首先,GBDT使用的决策树是CART回归树,无论是处理回归问题还是二分类以及多分类,GBDT使用的决策树通通都是CART回归树,为什么不用CART分类树呢?因为GBDT每次迭代要拟合的是梯度值,是连续值所以要回归树。
对于回归树算法来说最重要的是寻找最佳的划分点,那么回归树中的可换分点包含了所有特征的所有可取的值。在分类数中最佳划分点的判别标准是熵或基尼系数,都会用纯度来衡量的,但是在回归树中的样本标签是连续数值,所以再使用熵之类的指标不再合适,取而代之的是平方误差,它能很好的评判拟合程度。
回归树生成算法:
输入:训练数据集D
输出:回归树f(x)
在训练数据集所在的输入空间中,递归的将每个区域划分为两个子区域并决定每个子区域上的输出值,构建二叉决策树
(1)选择最优划分变量j与切分点s,求解
遍历变量j,对固定的切分变量j扫描切分点s,选择使得上式达到最小值的对(j,s)
(2)