Boosting Ensemble: 机器学习中,Ensemble model除了Bagging以外,更常用的是Boosting。与Bagging不同,Boosting中各个模型是串行的。其思想是,后面的model,要从前面models的预测中结果中,试图将错误纠正。下面两张图可以看出二者的异同:

在第一个模型训练之前,各个Training Examples出现在本次训练中的概率相同;训练后的模型,如果在某些数据的预测上出现错误,则这些数据点出现在下个模型中的概率将会被提升,反之预测正确的数据点的概率将会被下调。最终,再将各个模型的输出做合并,给出最终Ensemble模型的预测。该算法的关键点是去设定‘何时停止迭代’,因为无休止的纠错最终将导致Overfitting.

Gradient Boosting Decision Tree(GBDT): 该算法改版自Boosting Ensemble,每个model采用的都是Decision Tree,同时融入了Gradient Descent的思想。首先,我们想象在最基础的Boosting Ensemble中,当第一个模型训练后,得到一个预测值h1(X),而期望的输出output为Y,则二者的差值(残差:Residual)为:

R1(X)=Y-h1(X)

那如果,我们能够构建一个模型model2,去输出R1(X),那么Model1与Model2的输出之和为Y:

Y=h1(X)+R1(X)

当然,拟合出R1(X)是最理想的情况,但实际中却只能输出近似值r1(X),将其累加到第一个model的输出上,我们就得到了model2的输出:

h2(X)=h1(X)+r1(X)

这是我们又得到了R2(X)为Y与h2(X)的差值。循环往复,最终的输出将会不断逼近Y。但,这和Gradient有什么关系呢?

该模型在第n个模型上输出的hypothesis是:

hn(X)=hn-1(X)+rn-1(X)

如果把残差Residual展开:

hn(X)=hn-1(X)+(y-hn-1(X))

在Gradient Descent里面,我们知道,Cost Function被定义为:

当m为1时,我们很容易看出,hn(X)的值是在hn-1(X)的基础上,减去了一倍的梯度(learning rate α=1),所以该算法被冠上了Gradient的名字,不无道理哦。

Boosting Ensemble and GBDT Algorithm的更多相关文章

  1. Boosting决策树:GBDT

    GBDT (Gradient Boosting Decision Tree)属于集成学习中的Boosting流派,迭代地训练基学习器 (base learner),当前基学习器依赖于上一轮基学习器的学 ...

  2. 机器学习--boosting家族之GBDT

    本文就对Boosting家族中另一个重要的算法梯度提升树(Gradient Boosting Decison Tree, 以下简称GBDT)做一个总结.GBDT有很多简称,有GBT(Gradient ...

  3. A Gentle Introduction to the Gradient Boosting Algorithm for Machine Learning

    A Gentle Introduction to the Gradient Boosting Algorithm for Machine Learning by Jason Brownlee on S ...

  4. GBDT(Gradient Boosting Decision Tree) 没有实现仅仅有原理

                阿弥陀佛.好久没写文章,实在是受不了了.特来填坑,近期实习了(ting)解(shuo)到(le)非常多工业界经常使用的算法.诸如GBDT,CRF,topic model的一些算 ...

  5. 集成学习算法汇总----Boosting和Bagging(推荐AAA)

     sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  6. Parallel Gradient Boosting Decision Trees

    本文转载自:链接 Highlights Three different methods for parallel gradient boosting decision trees. My algori ...

  7. CatBoost使用GPU实现决策树的快速梯度提升CatBoost Enables Fast Gradient Boosting on Decision Trees Using GPUs

    python机器学习-乳腺癌细胞挖掘(博主亲自录制视频)https://study.163.com/course/introduction.htm?courseId=1005269003&ut ...

  8. 壁虎书7 Ensemble Learning and Random Forests

    if you aggregate the predictions of a group of predictors,you will often get better predictions than ...

  9. (转) Ensemble Methods for Deep Learning Neural Networks to Reduce Variance and Improve Performance

    Ensemble Methods for Deep Learning Neural Networks to Reduce Variance and Improve Performance 2018-1 ...

随机推荐

  1. 使用Angular2+的内置管道格式化数据

    在简书看到一篇关于Angualr运用内置管道格式化数据的总结,感觉挺实用的,转载一下以供参考: [转载]https://www.jianshu.com/p/a8bd5a1d2c53 PS:管道是在HT ...

  2. Mint-Linux【最佳】【快速】安装微信、企业微信、TIM、QQ等软件

    废话不多说 直接上教程 注意看 方式一.在线安装 在本地目录下.如 /home/root/Document 直接使用在线安装脚本,安装最新的Release版本: wget -qO- https://r ...

  3. NGUI的窗体的推动和调节大小(drag object和drag resize object)

    一,我们先添加一个sprite,给sprite添加一个背景图片,然后attach添加一个box Collider,但是这时我们右键attach是找不到drag object的我们需要在add comp ...

  4. C#面试 笔试题 六

    1.String str=new String("a")和String str = "a"有什么区别? String str = "a"; ...

  5. weblogicjsp编译:查看编译后的java中间代码

    转自:https://www.xuebuyuan.com/1069484.html 运行自己配置的web应用,往往只能看见weblogic编译之后的class文件.而看不见编译前的java的文件.为了 ...

  6. GeneXus笔记本—常用函数(中)

    这篇文章是接着上一篇 常用函数(上)来写的 上次写到了Format 这个函数 我们继续接着这个往下来好了(づ ̄ 3 ̄)づ  还是一样 函数列表在此 https://wiki.genexus.com/c ...

  7. linux内存子系统调优

  8. How To Find Out Attachments By File Type In Outlook?

    ext: (extension extension) Take the attachments of zip files and of txt files for example, just ente ...

  9. poj 1845 Sumdiv (等比求和+逆元)

    题目链接:http://poj.org/problem?id=1845 题目大意:给出两个自然数a,b,求a^b的所有自然数因子的和模上9901 (0 <= a,b <= 50000000 ...

  10. ssm科普篇

    springMVC执行步骤: 1.用户发送请求到前端控制器,前端控制器根据请求信息来决定选择页面控制器,并将请求委托给它 2.页面控制器收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象, ...