1、基本知识点简介

  • 在集成学习的Boosting提升算法中,有两大家族:第一是AdaBoost提升学习方法,另一种是GBDT梯度提升树。
  • 传统的AdaBoost算法:利用前一轮迭代弱学习器的误差来更新训练集的权重,一轮轮迭代下去。
  • 梯度提升树GBDT:也是通过迭代的算法,使用前向分布算法,但是其弱分类器限定了只能使用CART回归树模型。

  • GBDT算法原理:指通过在残差减小的梯度方向建立boosting tree(提升树),即gradient boosting tree(梯度提升树)。每次建立新模型都是为了使之前模型的残差往梯度方向下降。

2、梯度提升树GBDT算法

2.1 思路和原理

  • 基本思路:假设前一轮迭代得到的强学习器是\(f_{t-1}(x)\),损失函数是\(L(y, f_{t-1}(x))\),则本轮迭代的目标是找到一个CART回归树模型的弱学习器\(h_{t}(x)\),让本轮的损失函数\(L(y,f_{t}(x)) = L(y,f_{t-1}(x)) - h_{t}(x)\)最小。即本轮迭代找到的损失函数要使样本的损失比上一轮更小。
  • 大牛Freidman提出用损失函数的负梯度来拟合本轮损失的近似值,进而拟合一个CART回归树,第 t 轮的第 i 个样本的损失函数的负梯度表示为:
    \[r_{ti} = - [\frac{\partial L(y_{i}, f(x_{i})) }{\partial f(x_{i}) }]_{f(x)=f_{t-1}(x)}\]

2.2 梯度代替残差建立CART回归树

利用\((x_{i}, r_{ti}), (i=1,2,...,m)\)(此处损失函数的负梯度代替了一般提升树的残差),我们可以拟合一棵CART回归树,得到第 t 棵回归树,其对应的叶结点区域\(R_{tj}, j=1,2,...,J\)。其中J为叶子结点的个数。

  • 对于每一个叶子结点的样本,通过使平方误差损失函数最小,输出拟合叶子结点最好的输出值\(C_{tj}\)(CART回归树中采取的公式是每一个样本的划分单元上的所有实例\(x_{i}\)的所有输入实例对应的输出平均值,即\(\hat{c}_{m} = ave(y_{i} | x_{i} \in R_{m})\)),此处输出值为:
    \[c_{tj} = arg \min\limits_{c} \sum\limits_{x_{i} \in R_{tj}} L(y_{i}, f_{t-1}(x_{i}) + c)\]
    因此本轮决策树的拟合函数为:
    \[h_{t}(x) = \sum\limits_{j=1}^{J} c_{tj} I(x \in R_{tj})\]
    从而得到本轮的强学习器表达式为:
    \[f_{t}(x) = f_{t-1}(x) + \sum\limits_{j=1}^{J} c_{tj} I(x \in R_{tj})\]

  • 如果是GBDT分类算法,则需要改变损失函数为指数损失函数(类似为AdaBoost算法),或者对数似然损失函数(逻辑回归)。——暂时不作分析。
  • 指数损失函数:\(L(y, f(x)) = exp(-Y(f(x)))\)
  • 对数损失函数:\(L(Y,P(Y|X)) = -log P(Y|X)\)

参考
1、GBDT:https://www.cnblogs.com/pinard/p/6140514.html

机器学习 之梯度提升树GBDT的更多相关文章

  1. 梯度提升树(GBDT)原理小结(转载)

    在集成学习值Adaboost算法原理和代码小结(转载)中,我们对Boosting家族的Adaboost算法做了总结,本文就对Boosting家族中另一个重要的算法梯度提升树(Gradient Boos ...

  2. 机器学习之梯度提升决策树GBDT

    集成学习总结 简单易学的机器学习算法——梯度提升决策树GBDT GBDT(Gradient Boosting Decision Tree) Boosted Tree:一篇很有见识的文章 https:/ ...

  3. scikit-learn 梯度提升树(GBDT)调参小结

    在梯度提升树(GBDT)原理小结中,我们对GBDT的原理做了总结,本文我们就从scikit-learn里GBDT的类库使用方法作一个总结,主要会关注调参中的一些要点. 1. scikit-learn ...

  4. scikit-learn 梯度提升树(GBDT)调参笔记

    在梯度提升树(GBDT)原理小结中,我们对GBDT的原理做了总结,本文我们就从scikit-learn里GBDT的类库使用方法作一个总结,主要会关注调参中的一些要点. 1. scikit-learn ...

  5. 梯度提升树(GBDT)原理小结

    在集成学习之Adaboost算法原理小结中,我们对Boosting家族的Adaboost算法做了总结,本文就对Boosting家族中另一个重要的算法梯度提升树(Gradient Boosting De ...

  6. 笔记︱决策树族——梯度提升树(GBDT)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 本笔记来源于CDA DSC,L2-R语言课程所 ...

  7. 梯度提升树GBDT算法

    转自https://zhuanlan.zhihu.com/p/29802325 本文对Boosting家族中一个重要的算法梯度提升树(Gradient Boosting Decison Tree, 简 ...

  8. 梯度提升树GBDT总结

    提升树的学习优化过程中,损失函数平方损失和指数损失时候,每一步优化相对简单,但对于一般损失函数优化的问题,Freidman提出了Gradient Boosting算法,其利用了损失函数的负梯度在当前模 ...

  9. 机器学习(七)—Adaboost 和 梯度提升树GBDT

    1.Adaboost算法原理,优缺点: 理论上任何学习器都可以用于Adaboost.但一般来说,使用最广泛的Adaboost弱学习器是决策树和神经网络.对于决策树,Adaboost分类用了CART分类 ...

随机推荐

  1. 最全的MonkeyRunner自动化测试从入门到精通(5)

    夜神模拟器的安装与配置步骤一:我们为什么会选择使用夜神模拟器呢? 众所周知,Android studio的模拟器运行速度也很快,可以媲美真机.虽然其运行速度很快,可以满足我们测试的需求.但仍存在以下问 ...

  2. Socket,ServerSocket,WebSocket

    一 区别 首先来说下区别吧, Socket和ServerSocket 指传输层网络接口协议,是基于套接字的服务端和客户端实现. 而WebScoket是应用层协议,是客户端-服务器的异步通信方法,用于双 ...

  3. 小程序自定义tabBar,动态控制tabBar

    最近做项目的时候,突然来了个小特殊的需求,根据客户的类型来动态显示底部的tabBar菜单.当时我就有点小懵逼了,这个不是小程序自带的组件么?还要做成动态?这就有点尴尬了..... 不过也只是一时尴尬而 ...

  4. Sigleton bj

    package com.bjsxt.base; class Sigleton{ private Sigleton(){}; private static Sigleton instance = new ...

  5. manjaro使用国内软件源

    虽然manjaro是基于arch修改的,但毕竟还是有些改动,如果可以用manjaro仓库里的,尽量不要用arch的源.如果嫌官方的软件源慢,可以直接一条命令修改成国内的软件源 sudo pacman- ...

  6. TheFatRat一般使用

    利用它生成后门 第一种通常情况下速度很快,较稳定,但免杀效果极差 推荐使用第二种 免杀效果好,如下图 第一种是最新的模块,较免杀效果极好.还可伪造图标 第二种是旧的

  7. JavaWeb-----ServletConfig对象和servletContext对象

    1.ServletConfig ServletConfig:代表当前Servlet在web.xml中的配置信息 String getServletName()  -- 获取当前Servlet在web. ...

  8. -bash: 未预期的符号 `(' 附近有语法错误

    [1]问题现象 -bash: 未预期的符号 `(' 附近有语法错误 [2]解决方案 给括号前面加反斜杠即可 Good Good Study, Day Day Up. 顺序 选择 循环 总结

  9. EasyUI出现多条边框重合的问题

    比如在 下面使用一个datagrid表格,可能出现某几条边框重合的问题,这种情况需要在div一层的panel添加"border:false"属性,datagrid不做处理即可

  10. TPS54331 TPS54332 3.5V to 28V Input, 3A, 570kHz Step-Down Converter with Eco-mode

    The TPS54331 is a 28-V, 3-A non-synchronous buck converter that integrates a low RDS(on) high side M ...