参考:https://blog.csdn.net/google19890102/article/details/51746402/

一、回顾

1、有监督学习方法

(1)、模型:给定自变量和因变量进行预测或者分类

(2)、参数:模型中需要学习的东西

(3)、目标函数:损失+正则,误差函数(解决模型中多拟合数据的问题),正则化项(惩罚复杂模型)

(4)、优化算法:给定目标函数后怎么学的问题,比如决策树每一步优化gini index

2、梯度下降法

梯度下降法(Gradient Descent,GD)算法是求解最优化问题最简单、最直接的方法。梯度下降法是一种迭代的优化算法,对于优化问题:

迭代步骤为:

(1)随机选取初始点

(2)重复执行:

a.决定下降的方向:i

b.选择步长

c.更新:

(3)直至满足停止迭代条件

上图是梯度下降法的具体过程,由初始值经过不断迭代得到最优解

3、梯度下降法在函数空间的优化:

上述梯度下降法是在指定的函数中找到最优解,而我们需要在函数空间中查找到最优的函数

设置初始值:,对于每一个样本,都存在对应的函数值。经过M次迭代,得到最优的函数:。具体的梯度下降法在函数空间中的应用参照文献。

4、boosing与bagging

bagging通过对训练样本重新采样得到不同的训练样本集,在这些新的训练样本集上分别训练学习器,然后等权重得合并多个学习器。Bagging方法中最重要的就是随机森林算法,各个基学习器之间相互独立,从而Bagging算法更容易并行。

Boosting中,学习器之间存在先后顺序,同时每个样本具有权重,初始时每个样本的权重相等,随后增大错误样本的权重再进行下个学习期的学习,最终不同学习器的权重不同。

具体关于boosting和bagging算法的异同以后会整理在博客中。

二、Gradient Boosting

上图Boosting方法中最终预测的函数为:,基于函数的优化得到最优的预测函数与上面第一部分中的3介绍的梯度下降方法在整个函数空间中的应用相似,从而这也被称为基于梯度的Boost方法。具体算法步骤如下:

三、Gradient Boosting Decision Tree

在上面简单介绍了Gradient Boost框架,梯度提升决策树Gradient Boosting Decision Tree是Gradient Boost框架下使用较多的一种模型,在梯度提升决策树中,其基学习器是分类回归树CART,使用的是CART树中的回归树。

1、分类回归数CART

关于CART的内容会在其他博客中补充

2、GBDT二分类算法可以帮助理解GBDT

四、GBDT与Boosting

boosting算法中对错误分类的样本会分配更高的权重,最后对学习到的多个学习器进行组合,但是GBDT算法中并未有权重的改变,和boosting有什么关系?Gradient Boosting与Boosting区别在于,每一计算的是为了减少上一次的残差,下一个模型主要在残差减少的梯度方上建立模型,使得残差往梯度方向上减少。

虽然不同,但是GBDT算法会更关注那些梯度比较大的样本,和Boosting思想类似。

[机器学习算法]GBDT梯度提升决策树相关推荐

  1. 机器学习-集成学习-梯度提升决策树(GBDT)

    目录 1. GBDT算法的过程 1.1 Boosting思想 1.2 GBDT原理 需要多少颗树 2. 梯度提升和梯度下降的区别和联系是什么? 3. GBDT的优点和局限性有哪些? 3.1 优点 3. ...

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

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

  3. GBDT(梯度提升决策树)

    gbdt树分为两种, (1)残差版本  残差其实就是真实值和预测值之间的差值,在学习的过程中,首先学习一颗回归树,然后将"真实值-预测值"得到残差,再把残差作为一个学习目标,学习下 ...

  4. 梯度提升决策树GBDT及其优秀改进XGBoost的浅析

    梯度提升决策树 英文是Gradient Boosting Decision Tree (GBDT).是一种迭代的决策树算法,由多棵决策树组成,将所有树的结论累加起来做最终答案.值得注意的是,GBDT中 ...

  5. 简单易学的机器学习算法——梯度提升决策树GBDT

    梯度提升决策树(Gradient Boosting Decision Tree,GBDT)算法是近年来被提及比较多的一个算法,这主要得益于其算法的性能,以及该算法在各类数据挖掘以及机器学习比赛中的卓越 ...

  6. [机器学习]梯度提升决策树--GBDT

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

  7. 机器学习之梯度提升决策树(GBDT)

    1.GBDT算法简介 GBDT(Gradient Boosting Decision Tree)是一种迭代的决策树算法,由多棵决策树组成,所有树的结论累加起来作为最终答案,我们根据其名字(Gradie ...

  8. 【机器学习】深入剖析梯度提升决策树(GBDT)分类与回归

    1. 梯度提升决策树概述 梯度提升决策树(Gradient Boosting Decision Tree,GBDT)是以决策树为基学习器的一种Boosting算法,它在每一轮迭代中建立一个决策树,使当 ...

  9. 机器学习 の04 梯度提升决策树GBDT

    机器学习 の04 梯度提升决策树GBDT GBDT的背景知识 集成学习(ensemble learning) Bagging(Bootstrap Aggregating)算法 Boosting提升算法 ...

最新文章

  1. Android 生成keystore和ecplise 发布release apk
  2. Pangolin在cmake时报“Could NOT find GLEW”错误
  3. linux select使用
  4. 【深度学习】吴恩达网易公开课练习(class1 week3)
  5. Python应用实战-Clumper库 | 常用的数据操作函数
  6. web文件管理系统_财务影像管理系统
  7. 京东商城网上购物登录
  8. CenOS 6.0 安装NVIDIA GeFore GT 440 显卡驱动
  9. python编程练习:爬虫爬取全国大江大河实时水情
  10. 162-SOP8液晶手写板专用IC
  11. POJ 3368 Frequent values
  12. 8通道温度采集器工作特性介绍
  13. JavaScript中的let声明
  14. Win10 如何给Inf驱动文件签名
  15. 思考-个人成长(面向前端,也不只是前端)
  16. @jsonIgnore不生效
  17. Node.js 沙箱环境
  18. 刚体在三维空间的旋转(关于旋转矩阵、DCM、旋转向量、四元数、欧拉角)
  19. 走在团队的前沿(9)---面向交付的团队建设
  20. 【最小费用最大流(改进Dijkstra)】2016 icpc 青岛 G - Coding Contest

热门文章

  1. java 线程安全和不安全
  2. STM32 ADC单通道与多通道_DMA学习笔记
  3. C语言winmain函数的参数,c++:谁调用了main/WinMain函数!
  4. tshark命令示例
  5. mysql : 使用不等于过滤null的问题
  6. C# 电脑麦克风录音
  7. Python3 创建文件夹
  8. 网线连接olt配置计算机IP,OLT配置上行以太网端口属性
  9. 高等数学(第七版)同济大学 习题12-2 个人解答
  10. LM38简易方波发生器