Gradient Boost
来源:互联网 发布:网络写作和传统写作 编辑:程序博客网 时间:2024/05/18 03:35
对GBDT一直有所耳闻,但是从未深入地了解一下,这次仔细研究了一下Gradient Boost这个东东。
基本知识
在正式介绍之前,先普及些基本知识。后面重点介绍Gradient Boost 的思想。
参数估计:在参数空间内进行数值优化(以参数作为变量)。
函数估计:在函数空间内进行数值优化(以函数作为变量)。
模型的含义:
总体目标抽象为损失函数
Additive Expensions: 对模型函数的拓展
其中
数值优化在参数空间内的基本流程
选择一个参数化的模型
得到最优模型
若是采用梯度下降的思想进行参数寻优,则有
此处对
梯度下降+线性搜索
当前梯度:
线性搜索:
最速下降向量:
数值优化在函数空间内的基本流程
可以变形得到
其中
若是采用梯度下降的思想进行函数寻优,则有
此处对
梯度下降+线性搜索
当前梯度:
线性搜索:
Gradient Boost 的基本流程
实际上,我们只是了解了上面的函数优化,是不能解决实际问题的,只是了解了大体思想。怎么找到函数增量呢?在实际有限的样本集下,如何计算函数增量是关键。
在无限样本下,求个期望搞定总体目标;在有限样本下,可以计算均值。
假设每一步都能找到满足下面条件的解:
于是
这是抽象出来的式子,比较难以搞定
想个办法:
方法有了:
取
下面给出在最小均方误差下的GB算法框架伪码:
——————————————————————————————————
——————————————————————————————————
从代码中也可以看到,这是个很强大的提升框架,我们可以任意调换
几个关键点的解释
1.为什么总体目标是求损失函数的期望?
损失函数,反映了模型与实际值之间的差距,其总和越小,表示模型对数据的拟合度越高,也反映了模型对数据分布的拟合越好。
期望,是某变量的总体均值,是评估整体的一个有效指标。
2.为什么需要线性搜索?
线性搜索,可以保证下降方向上移动最大,是下降步幅的控制。
3.有限样本与无限样本
无限样本下的期望是真实的反映;有限样本则是近似;
4.
其中在参数空间内优化的过程中,没有明显地体现,只是在参数
在函数空间内优化的过程中,则是表现为最好的模型函数是由一点点的增量函数累计起来的。
5.模型评估策略的选择
根据不同问题类型,可以有多重评估策略
回归问题:
可以选择最小均方误差策略
求导为:
也可以选择Least-squares
求导得:
也可以选择其他的策略等等。
分类问题:
logistic likelihood crit
思考
抛开推导,让我们再理一理GB思路。
一开始想找个函数
但是我们希望能够使得
如果每次迭代(此处迭代隐藏在M中,也与后面的梯度思想相对应)的时候,能够找到一个
那么每一次迭代的时候,就变成了这么个问题:
这里看到
我们再仔细想想
而损失函数
所以这里可以解决一个大大问题:
既然这俩打算干的事情一样,那岂不是他俩差距越小,越可能是
则有
解决了
然后
至此,也就将additive expension 与gradient 结合起来了。
举例:
如果损失函数为
参考文献
1) Greedy Function Approximation : A Gradiented Boosting Machine.
2) http://www.cnblogs.com/LeftNotEasy/archive/2011/03/07/1976562.html
- Gradient Boost
- Gradient Boost 算法流程分析
- Gradient Boost 算法流程分析
- Gradient Boost Decision Tree(模型测试报告)
- GBDT(Gradient Boost Decision Tree)
- ML-Gradient Boost Decision Tree(+ Treelink)
- GBDT:Gradient Boost Decision Tree算法
- 机器学习——Gradient Boost Decision Tree(&Treelink)
- 机器学习——Gradient Boost Decision Tree(&Treelink)
- 机器学习——Gradient Boost Decision Tree(&Treelink)
- 机器学习——Gradient Boost Decision Tree(&Treelink)
- 机器学习 基本算法 (5 (adaboost、 Gradient boost
- gradient
- gradient
- gradient
- 机器学习中的算法:决策树模型组合之GBDT(Gradient Boost Decision Tree)
- 机器学习中的算法:决策树模型组合之GBDT(Gradient Boost Decision Tree)
- CART分类与回归树与GBDT(Gradient Boost Decision Tree)
- 现代论文的一个通病.专家你中招了几个?
- Android OpenGL 学习笔记
- MyEclipse中SVN的使用方法
- Ram和Rom
- go restful json api
- Gradient Boost
- /etc/rc.d/rc与/etc/rc.d/init.d的关系介绍 linux中chkconfig 启动程序顺序
- 小议:如何用PowerShell彻底删除Site Collection?
- 第二周项目3 体验复杂度 汉诺塔
- 程序员求职成功路(1)
- click事件多次执行的解决办法
- ibatis
- ASM在线替换ASM磁盘
- Linux 管道