提升树算法

这篇博文主要参考了李航《统计学习方法》与论文:GREEDY FUNCTION APPROXIMATION:
A GRADIENT BOOSTING MACHINE。这里简单记录下对提升树的简单理解。
1、梯度提升算法
有关梯度提升算法的细节请参考上述论文,这里直接贴出梯度提升算法的过程:
提升树算法_第1张图片
简单谈谈对该算法的理解:第三行表示组合模型为Fm-1时,下一步迭代的最速下降方向。第四行表示弱分类器对下降方向的拟合,从而把数据空间中的优化转化为函数空间中的优化问题;第五步是优化的线性搜索;第六步更新模型。具体而言,损失函数有平方损失、绝对值损失、对数损失等不同的损失函数,这里简单说下平方损失与对数损失。
2、Least-squares regression
这里损失函数为L(y,F)=(y-F)^2/2,对应的算法如图所示:
提升树算法_第2张图片

算法2中弱分类器拟合前面模型与真实值差(残差)

3、提升树算法
提升方法实际上采用加法模型与前向分步算法,以决策树为弱分类器的提升方法称为提升树。回归树提升树使用以下的前向分布算法:
提升树算法_第3张图片
可以看出,在求下一棵树的过程中,只需要对残差拟合就可以了。
4、Two-class logistic regression and classification
如果损失函数是平方损失函数的时候,残差是比较容易计算的。在不断拟合残差的过程中使得组合模型能够越来越好的拟合训练数据。但是对其他形式的损失函数每一步的优化并不简单。Freidman提出用当前模型的负梯度作为残差近似值,拟合一颗回归树。举例来说,如下损失函数的梯度求解:
提升树算法_第4张图片
有了残差的近似值就可以进行下面的拟合,进而得到最终的组合模型了。

你可能感兴趣的:(特征选择-机器学习,机器学习-特征构建)