提升树利用加法模型与前向分布算法实现学习的优化过程(原理相同),当损失函数是平方损失和指数损失函数时,每一步优化是很简单的。但对一般损失函数而言,往往每一步优化算法并不容易针对该问题有人提出了梯度提升(gradient boosting)算法,利用最速下降的近似方法,关键是利用损失函数的负梯度在当前模型的值:
作为回归问题提升树算法中的残差近似值,来拟合一个回归树。
梯度提升算法:
输入:训练数据集,损失函数L(y,f(x));
输出:回归树
(1) 初始化
(2) 对m=1,2,...,M
1) 对i=1,2,...,N,计算
2)对rmi拟合一个回归树,得到第m棵树的叶结点区域Rmj,j=1,2,....,J
3) 对j=1,2,...,j, 计算
4) 更新
(3)得到回归树:
第一步的算法初始化,估计使损失函数极小化的常数值,即只有1个根结点的树。第二步的1)计算损失函数的负梯度在当前模型的值,将其作为残差估计 ,2)估计回归树叶结点区域,来拟合残差近似值,3)以线性搜索估计叶结点区域值,使损失函数极小化,4)更新回归树,第三步得到输出最终模型