提升树算法
2017-02-25 12:04
80 查看
这篇博文主要参考了李航《统计学习方法》与论文:GREEDY FUNCTION APPROXIMATION:
A GRADIENT BOOSTING MACHINE。这里简单记录下对提升树的简单理解。
1、梯度提升算法
有关梯度提升算法的细节请参考上述论文,这里直接贴出梯度提升算法的过程:
简单谈谈对该算法的理解:第三行表示组合模型为Fm-1时,下一步迭代的最速下降方向。第四行表示弱分类器对下降方向的拟合,从而把数据空间中的优化转化为函数空间中的优化问题;第五步是优化的线性搜索;第六步更新模型。具体而言,损失函数有平方损失、绝对值损失、对数损失等不同的损失函数,这里简单说下平方损失与对数损失。
2、Least-squares regression
这里损失函数为L(y,F)=(y-F)^2/2,对应的算法如图所示:
算法2中弱分类器拟合前面模型与真实值差(残差)
3、提升树算法
提升方法实际上采用加法模型与前向分步算法,以决策树为弱分类器的提升方法称为提升树。回归树提升树使用以下的前向分布算法:
可以看出,在求下一棵树的过程中,只需要对残差拟合就可以了。
4、Two-class logistic regression and classification
如果损失函数是平方损失函数的时候,残差是比较容易计算的。在不断拟合残差的过程中使得组合模型能够越来越好的拟合训练数据。但是对其他形式的损失函数每一步的优化并不简单。Freidman提出用当前模型的负梯度作为残差近似值,拟合一颗回归树。举例来说,如下损失函数的梯度求解:
有了残差的近似值就可以进行下面的拟合,进而得到最终的组合模型了。
A GRADIENT BOOSTING MACHINE。这里简单记录下对提升树的简单理解。
1、梯度提升算法
有关梯度提升算法的细节请参考上述论文,这里直接贴出梯度提升算法的过程:
简单谈谈对该算法的理解:第三行表示组合模型为Fm-1时,下一步迭代的最速下降方向。第四行表示弱分类器对下降方向的拟合,从而把数据空间中的优化转化为函数空间中的优化问题;第五步是优化的线性搜索;第六步更新模型。具体而言,损失函数有平方损失、绝对值损失、对数损失等不同的损失函数,这里简单说下平方损失与对数损失。
2、Least-squares regression
这里损失函数为L(y,F)=(y-F)^2/2,对应的算法如图所示:
算法2中弱分类器拟合前面模型与真实值差(残差)
3、提升树算法
提升方法实际上采用加法模型与前向分步算法,以决策树为弱分类器的提升方法称为提升树。回归树提升树使用以下的前向分布算法:
可以看出,在求下一棵树的过程中,只需要对残差拟合就可以了。
4、Two-class logistic regression and classification
如果损失函数是平方损失函数的时候,残差是比较容易计算的。在不断拟合残差的过程中使得组合模型能够越来越好的拟合训练数据。但是对其他形式的损失函数每一步的优化并不简单。Freidman提出用当前模型的负梯度作为残差近似值,拟合一颗回归树。举例来说,如下损失函数的梯度求解:
有了残差的近似值就可以进行下面的拟合,进而得到最终的组合模型了。
相关文章推荐
- 程序员学习能力提升三要素
- TRIM:提升磁盘性能,缓解Android卡顿
- 动态加载JS文件提升访问网站速度
- opcache php性能提升用法小结
- 【Ubuntu】用apt-fast代替apt-get,下载速度提升26x倍
- 如何提升自己的编码水平
- 财富提升成都IT产业吸引力
- 提升逼格Get - 玩转Xcode之修改系统生成的注释模板(类似极光推送等等)
- 程序员到项目经理:从内而外的提升(比较全面的介绍)
- apache_openssl漏洞的利用及权限的提升
- 用"池"来提升对象的复用
- 为编写的Windows程序提升权限
- 数据库性能提升的经验
- Linkwedo 提升信息在决策中的力量
- Git 进阶:10大技巧让你迅速提升
- Serv-U3.X-6.0本地权限提升漏洞的防御方案
- DataTorrent 将数据分析速度从“实时”提升至“现在时”
- javascript的变量声明和函数声明提升
- Serv-U权限提升再提升--记一次虚拟主机入侵