GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它在被提出之初就和SVM一起被认为是泛化能力较强的算法。
  GBDT中的树是回归树(不是分类树),GBDT用来做回归预测,调整后也可以用于分类。
  GBDT的思想使其具有天然优势可以发现多种有区分性的特征以及特征组合。

一:回归树
我们先来回顾下那个回归树,这个其实我们在CART的学习中学过了的,
回归树算法如下图(截图来自《统计学习方法》5.5.1 CART生成):

最优切分变量x_j,就是切分选择的那个属性A,这里只是帮回顾下曾经学的,j和s是按照最小化和方差来作为评判标准,最后一共有M个区域,也就是M个叶子节点,每一个区域都选择该区域样本预测值的平均值来作为该区域的代表值。

其实就是取对应叶子节点的区域的平均值作为输出。

二:提升树
提升树是迭代多棵回归树来共同决策。当采用平方误差损失函数时,每一棵回归树学习的是之前所有树的结论和残差,拟合得到一个当前的残差回归树,残差的意义如公式:残差 = 真实值y - 预测值f(x) 。提升树即是整个迭代过程生成的回归树的累加。
  举个例子,下面这例子较直观地展现出多棵决策树线性求和过程以及残差的意义。
  训练一个提升树模型来预测年龄:
  训练集是4个人,A,B,C,D年龄分别是14,16,24,26。样本中有购物金额、上网时长、经常到百度知道提问等特征。提升树的过程如下:

该例子很直观的能看到,预测值等于所有树值得累加,如A的预测值 = 树1左节点 值 15 + 树2左节点 -1 = 14。
  因此,给定当前模型 fm-1(x),只需要简单的拟合当前模型的残差。现将回归问题的提升树算法叙述如下:

这里的f函数是多个弱回归树T加起来的。且最后一次迭代的那个f_M函数是最强的,也是包含了所有的回归树T。

三:GBDT

1:算法


2:GBDT的损失函数以及相应的负梯度
一共有四个,表达式和负梯度分别是:



3:和提升树的区别
提升树模型每一次的提升都是靠上次的预测结果与训练数据的label值差值作为新的训练数据进行重新训练,
GDBT则是将残差计算替换成了损失函数的梯度方向,将上一次的预测结果带入梯度中求出本轮的训练数据,也就是说这两种模型在生成新的训练数据时采用了不同的方法。在使用平方误差损失函数和指数损失函数时,提升树的残差求解比较简单,但是在使用一般的损失误差函数时,残差求解起来不是那么容易,所以就使用损失函数的负梯度在当前模型的值作为回归问题中残差的近似值。

ML《集成学习(四)Boosting之回归树、提升树和GBDT》相关推荐

  1. 决策树一一CART算法(第三部分)

    决策树一一CART算法(第三部分) CART-回归树模型 ​ 如果输出变量是 连续 的,对应的就是 回归 问题,对于决策树而言,输出的信息一定就是叶子结点,所以需要将连续变量按照一定的要求划分. 回归 ...

  2. [机器学习算法]决策树和CART树

    决策树综述 决策树的工作原理 决策树(decision tree)分类法是一种简单但广泛使用的分类技术.以是否贷款违约的二分类问题为例,当我们希望根据给定的训练集习得一个模型对新出现的贷款人进行分类时 ...

  3. ML近三年在CVPR比较流行被应用的技术有哪些?

    发信人: mlmonster (bishop), 信区: AI 标  题: ML近三年在CVPR比较流行被应用的技术有哪些? 发信站: 水木社区 (Sun Feb 13 01:31:10 2011), ...

  4. 树模型之三种常见的决策树:CART,…

    树模型(又称决策树或者树结构模型):基本思想和方差分析中的变异分解极为相似. 目的(基本原则):将总研究样本通过某些牲(自变量取值)分成数个相对同质的子样本.每一子样本因变量的取值高度一致,相应的变异 ...

  5. 决策树一CART算法(第四部分)

    决策树一CART算法(第四部分) CART树的剪枝:算法步骤 输入:CART算法生成的决策树. 输出:最优决策树T 设K=0,T=T0K=0,T=T_0K=0,T=T0​ ,从完整的决策树出发 ​ k ...

  6. 【机器学习基础】数学推导+纯Python实现机器学习算法5:决策树之CART算法

    目录 CART概述 回归树 分类树 剪枝 Python实现示例:分类树 在数学推导+纯Python实现机器学习算法4:决策树之ID3算法中笔者已经对决策树的基本原理进行了大概的论述.本节将在上一讲的基 ...

  7. 机器学习爬大树之决策树(CART与剪枝)

    分类与回归树(classification and regression tree,CART)是应用广泛的决策树学习方法,同样由特征选择,树的生成以及剪枝组成,既可以用于分类也可以用于回归.CART假 ...

  8. 决策树之CART 算法(回归树,分类树)

    CART 算法,英文全称叫做 Classification And Regression Tree,中文叫做分类回归树. ID3 和 C4.5 算法可以生成二叉树或多叉树,而 CART 只支持二叉树. ...

  9. 决策树之CART分类树

    目录 一.基尼系数 (1)离散型属性 (2)连续型属性 二.cart算法的步骤 三.举个栗子 四.代码实现过程 总结: 一.基尼系数 基尼系数(Gini)是一种不等性的度量,经济学上用基尼系数度量收入 ...

  10. 掰开揉碎机器学习系列-决策树(2)-CART决策树

    一.CART决策树和ID3决策树的区别在哪里: 区别主要体现在对于连续型特征的处理方式,ID3决策树完全根据特征值等于几,做决策分支,这肯定容易出现很多很多分支,即所谓过拟合. CART决策树在一定程 ...

最新文章

  1. python中表示红色的表达式_python-SymPy中表达式的抽象表示
  2. 2022 专属程序员的桌面必备单品!
  3. 总结—什么妖引起的MongoDB副本集初始化失败?
  4. Mask_RCNN训练自己的模型(练习)
  5. PowerDesigner显示mysql数据表注释
  6. project5 大数据
  7. mysql sql语句书写之面试部分
  8. 一致性哈希算法 应用
  9. PyTorch 1.9发布!移动端疯狂更新
  10. html签到插件,GitHub - inu1255/soulsign-chrome: 魂签,一款用于自动签到的chrome插件
  11. hadoop streaming 按字段排序与输出分割详解
  12. 连接mongoDB根据ObjectID写入json数据(初步)
  13. 和数传媒:区块链博弈论机制设计是未来关键
  14. 课时4.浏览器请求数据的过程(理解)
  15. Python贝叶斯决策面计算及仿真
  16. Drupal7学习笔记之Theme感觉非常好转来共享啊!
  17. 空间后方交会编程c语言,C语言空间后方交会源代码.doc
  18. c 语言字符串查找替换,c ++ - 如何在标准字符串中搜索/查找和替换?
  19. 小外包公司的商业运作模式,希望大家多补充补充!
  20. ABB机器人教程 (1)学习准备

热门文章

  1. http://ftp.gnu.org/gnu/ http://ftp.gnu.org/gnu/libc/
  2. 使用Telnet命令收发E-mail
  3. Codeforces Round #228 (Div. 2)
  4. 查询长期未登录AD的用户
  5. 哪里是我们最好的避风港?
  6. 《老子》中国古代先秦诸子百家经典欣赏
  7. Centos 监控进程,并自动重启
  8. 什么是DataV数据可视化?
  9. Spring REST XML和JSON示例
  10. BGP——AS—PATH正则表达式(实列讲解+配置)