这个算法出自Greedy function Approximation – A Gradient Boosting Machine

作者实在是有够抽象,一个不复杂的算法让他讲的那么复杂

本人也参考了这篇博客

http://www.cnblogs.com/LeftNotEasy/archive/2011/01/02/machine-learning-boosting-and-gradient-boosting.html

但是,最终让我基本明白这个算法还是看了这篇论文 web-search ranking with initialized gradient boosted regression trees

1. 首先讲下decision tree, 按照书上的算法是通过信息增益进行结点的分割和建树,这里我们是通过

建树

2. 再讲下random forest.RF与boosted trees没有多大关系。RF就是每次随机选择实例,并随机选择k个特征进行建树,决策的过程就是对所有树输出的结果的平均。

优点就是不会有过拟合。

这里说的不错:http://www.cnblogs.com/LeftNotEasy/archive/2011/03/07/random-forest-and-gbdt.html

按这种算法得到的随机森林中的每一棵都是很弱的,但是大家组合起来就很厉害了。我觉得可以这样比喻随机森林算法:每一棵决策树就是一个精通于某一个窄领域的专家(因为我们从M个feature中选择m让每一棵决策树进行学习),这样在随机森林中就有了很多个精通不同领域的专家,对一个新的问题(新的输入数据),可以用不同的角度去看待它,最终由各个专家,投票得到结果。

3.  gradient boosted trees

和rf类似,也是建立多颗树,并且决策的过程也是所有树输出结果的平均

但是当前树的建立是基于前面所有树的建立的。

每一次建立模型是在之前建立模型损失函数的梯度下降方向。这句话有一点拗口,损失函数(loss function)描述的是模型的不靠谱程度,损失函数越大,则说明模型越容易出错(其实这里有一个方差、偏差均衡的问题,但是这里就假设损失函数越大,模型越容易出错)。如果我们的模型能够让损失函数持续的下降,则说明我们的模型在不停的改进,而最好的方式就是让损失函数在其梯度(Gradient)的方向上下降。

首先,前m-1个模型是

其损失函数的梯度是:

那么下一个模型m,注意,就是要等于这个梯度,使得前m个模型相加的损失函数最小

对于g的系数,完全可以不管,影响不大

让r = g

那么就可以建立一颗树,

所以,gradient tree的装B算法可以这样描述:

其实,算法很简单,就是

注意其中,r = r- aT,r就是梯度

然后在下一轮的迭代中,就是根据梯度r来建树

gradient boosted regression tree相关推荐

  1. 台湾大学林轩田机器学习技法课程学习笔记11 -- Gradient Boosted Decision Tree

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了Random Forest算法模型.Random Forest就是通过bagging的方式将许多不同的decision tre ...

  2. 机器学习技法 之 梯度提升决策树(Gradient Boosted Decision Tree)

    梯度提升决策树从名字看是由三个部分组成,这里的提升(Boosted)指的是 AdaBoost 的运用,现在先看一下后两个部分提升决策树(Adaptive Boosted Decision Tree). ...

  3. 机器学习技法11: Gradient Boosted Decision Tree(GBDT)

    文章目录 11.1 Adaptive Boosted Decision Tree 11.2 Optimization View of AdaBoost 11.3 Gradient Boosting 1 ...

  4. Gradient Boosted Decision Trees详解

    感受 GBDT集成方法的一种,就是根据每次剩余的残差,即损失函数的值.在残差减少的方向上建立一个新的模型的方法,直到达到一定拟合精度后停止.我找了一个相关的例子来帮助理解.本文结合了多篇博客和书,试图 ...

  5. Gradient Boosting Decision Tree学习

    Gradient Boosting Decision Tree,即梯度提升树,简称GBDT,也叫GBRT(Gradient Boosting Regression Tree),也称为Multiple ...

  6. Gradient Boosted Decision Trees(GBDT)详解

    感受 GBDT集成方法的一种,就是根据每次剩余的残差,即损失函数的值.在残差减少的方向上建立一个新的模型的方法,直到达到一定拟合精度后停止.我找了一个相关的例子来帮助理解.本文结合了多篇博客和书,试图 ...

  7. 机器学习中的算法:决策树模型组合之GBDT(Gradient Boost Decision Tree)

    转载自:http://blog.csdn.net/holybin/article/details/22914417 前言 决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速 ...

  8. GBDT(Gradient Boosting Decision Tree

     GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由 ...

  9. 转载——Regression Tree 回归树

    本文转载于" 一个拉风的名字"的"Regression Tree 回归树" 1. 引言 AI时代,机器学习算法成为了研究.应用的热点.当前,最火的两类算法莫过于 ...

最新文章

  1. C:内存中供用户使用的存储空间
  2. 计算机科学导论第二章,计算机科学导论第二章.doc
  3. cmos全局曝光算法_2019腾讯广告算法大赛方案分享(冠军)
  4. 【python 3.6】调用另一个文件的类的方法
  5. iOS内存管理机制解析
  6. Unity超基础学习笔记(二)
  7. 秋风下的萧瑟 NOIP2018 游记
  8. HDU2519 新生晚会【组合计算】
  9. 天天工作拧螺丝,怎么突破瓶颈?
  10. 计算机应用技术拼音,搜狗拼音输入法研究 - 东北大学计算机应用技术研究所Web信息处理小组 - BlogJava...
  11. 点击页面出现富强民主,文明和谐之类的文字
  12. 植树节推文如何排版?—135植树节样式上新
  13. 什么是Galil(加利尔)运动控制卡,它是用来干嘛的呢?galil开发文件dmc32.dll,动态链接库,API
  14. win10系统可禁用的服务器,window10哪些服务可以禁止
  15. 从基础出发,带你深入了解Synchronized ,Synchronized 相 关 问 题讲解
  16. IDEA搜索上一个下一个搜索关键字的快捷键
  17. 国产FPGA Ethercat从站实时低成本运动控制系统方案
  18. HTML基础 - HTML列表
  19. Android自定义View 学习整理
  20. 从“天地一体”到“移动组网”,中国量子通信产业是如何“炼成”的?

热门文章

  1. 【小白学习C++ 教程】二十二、C++ 中的STL容器stack、queue和map
  2. 【小白学习PyTorch教程】十五、BERT:通过PyTorch来创建一个文本分类的Bert模型
  3. 一、使用两台Centos7系统搭建Hadoop-3.1.4完全分布式集群
  4. jieba分词小案例
  5. 文本分类和序列标注“深度”实践
  6. 岗位推荐 | 百度视觉技术部招聘移动端视觉算法工程师
  7. 微信小程序view动态长度_微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】...
  8. 已经无法合并还报请合并git_GIT 分支管理:创建与合并分支、解决合并冲突
  9. 全排列代码python_python全排列代码,求解释
  10. pagehelper 不分页几种情况的解决方法