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. HDFS-NameNode和SeconddaryNode

    一.NN和2N的工作机制 一.概述 一.概述 一.概述 一.概述 一.概述 一.概述 一.概述

  2. 用vuex写了一个购物车H5页面的示例代码

    用vuex写了一个购物车H5页面的示例代码:https://www.jb51.net/article/152008.htm 通过购物车的一个案列,把vuex学习了一篇. vuex概念浅谈 Vuex 是 ...

  3. tornado后台小框架

    import tornado.ioloop import tornado.web """使用get方法提交过来数据就是用get方法,使用post执行post方法这个框架的 ...

  4. form表单,登录用户,密码,按钮,提交、重置

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Java中的关键字--volatile

    volatile关键字经常用来修饰变量.不过,volatile本身很容易被误用.本篇就介绍一下volatile的原理和使用方式. 在介绍volatile关键字原理前,我们首先要了解JVM运行时的内存分 ...

  6. 纯手动拉WebPanel页面保存出现错误提示 "error:字符文本中的字符太多"

    环境为.Net 没有使用WorkWithPlus 纯手拉WebFrom页面  问题出现情况如下:在拉页面的过程中拖了3个Value类型的变量到Table中 页面如下 但是在我保存的时候 发现提示如下错 ...

  7. 各种条码的校验码算法(EAN13,COD128,GTIN,UCC等)

    校验码是由编码方案决定的,所以在代码中是否使用校验码和条码基本无关,但商品条码除外.今天给大家介绍几种校验码的计算方法. 一.商品条码: 商品条码中需要计算校验码的有:EAN-8(8位),EAN-13 ...

  8. 免费资源(CDN,顶级域名)汇集

    CloudFlare:免费CDN,需要将域名指向到cloudflare服务器.付费的可以使用二级域名 https://www.cloudflare.com/ Freenom:freenom会提供免费提 ...

  9. BJSV-P-002高精度测速一体机

    测速.抓拍.录像于一体,产品处于行业顶尖水平. 1        测速一体机参数 2       接口和资源 3      相机接口 1.       前面板接口 测速一体机镜头接口采用C-Mount ...

  10. zabbix入门之添加监控项

    zabbix入门之添加监控项 添加一个不带参数的监控项(system.cpu.switches) 进入"配置"-->"主机"选择某主机的"监控项 ...