提升算法(3)

提升树利用加法模型与前向分布算法实现学习的优化过程(原理相同),当损失函数是平方损失和指数损失函数时,每一步优化是很简单的。但对一般损失函数而言,往往每一步优化算法并不容易针对该问题有人提出了梯度提升(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)更新回归树,第三步得到输出最终模型

原文地址:https://www.cnblogs.com/xiaochouk/p/8127173.html