GB和GBDT 算法流程及分析

article/2025/8/18 22:13:22

1、优化模型的两种策略:

1)基于残差的方法

  残差其实就是真实值和预测值之间的差值,在学习的过程中,首先学习一颗回归树,然后将“真实值-预测值”得到残差,再把残差作为一个学习目标,学习下一棵回归树,依次类推,直到残差小于某个接近0的阀值或回归树数目达到某一阀值。其核心思想是每轮通过拟合残差来降低损失函数。

  总的来说,第一棵树是正常的,之后所有的树的决策全是由残差来决定。

2)使用梯度下降算法减小损失函数。

  对于一般损失函数,为了使其取得最小值,通过梯度下降算法,每次朝着损失函数的负梯度方向逐步移动,最终使得损失函数极小的方法(此方法要求损失函数可导)。

2、GB(Gradient Boosting)梯度提升算法

  GB其实是一个算法框架,即可以将已有的分类或回归算法放入其中,得到一个性能很强大的算法。

  GB总共需要进行M次迭代,每次迭代产生一个模型,我们需要让每次迭代生成的模型对训练集的损失函数最小,而如何让损失函数越来越小呢?我们采用梯度下降的方法,在每次迭代时通过向损失函数的负梯度方向移动来使得损失函数越来越小,这样我们就可以得到越来越精确的模型。

梯度提升算法(GB)过程如下:[1]

1)初始化损失函数。

  

2)对于第m轮迭代,当m<=M时循环执行A)~D)      (m=1,2,…,M)

  A)计算残差rmi

  

  计算损失函数的负梯度在当前模型的值,将它作为残差的估计,对于平方损失函数它就是残差,对于一般损失函数,它就是残差的近似值。

  B)对rmi拟合一颗回归树,得到第m课树的叶节点区域Rmj。(j=1,2,…,J)

    (估计回归树叶节点区域,拟合残差近似值)

  C)对j=1,2,…,J,线性搜索出损失函数的最小值

  

  D)更新f(x)

  

3)得到回归树

  

下面给出Friedman大牛论文中的GB算法[6],论文下载链接:http://pan.baidu.com/s/1pJxc1ZH

图2.1 Gradient Boost算法[6]

3、GBDT (Gradient Boosting Decision Tree):梯度提升决策树算法

  此处主要讨论多类Logistic回归问题

图3.1 多类logistic回归算法[6]

关于以上代码,网友已有分析:[5] (在此借用)

“1. 表示建立M棵决策树(迭代M次)

2. 表示对函数估计值F(x)进行Logistic变换

3. 表示对于K个分类进行下面的操作(其实这个for循环也可以理解为向量的操作,每一个样本点xi都对应了K种可能的分类yi,所以yi, F(xi), p(xi)都是一个K维的向量,这样或许容易理解一点)

4. 表示求得残差减少的梯度方向

5. 表示根据每一个样本点x,与其残差减少的梯度方向,得到一棵由J个叶子节点组成的决策树

6. 为当决策树建立完成后,通过这个公式,可以得到每一个叶子节点的增益(这个增益在预测的时候用的)

  每个增益的组成其实也是一个K维的向量,表示如果在决策树预测的过程中,如果某一个样本点掉入了这个叶子节点,则其对应的K个分类的值是多少。

7. 的意思为,将当前得到的决策树与之前的那些决策树合并起来,作为新的一个模型

最后本人对GBDT研究得还不够透彻,下次研究清楚了再专门写一篇GBDT的文章!!

 

参考文献:

[1] 李航,统计学习方法。

[2] 林轩田,机器学习技法。

[3] 程序员之家,http://www.programerhome.com/?p=3665

[4] DianaCody, http://www.dianacody.com/2014/11/01/GBRT.html

[5] leftnoteasy, http://www.cnblogs.com/leftnoteasy/archive/2011/03/07/random-forest-and-gbdt.html

[6] Friedman J H. Greedy Function Approximation: A Gradient Boosting Machine[C]// Annals of Statistics1999:1189--1232.

 

转载于:https://www.cnblogs.com/liuwu265/p/4694191.html


http://chatgpt.dhexx.cn/article/nItvPRYy.shtml

相关文章

机器学习和深度学习性能指标

这里写目录标题 1、声明2、机器学习评估性能指标2.1、回归&#xff08;Regression&#xff09;算法指标2.1.1、平均绝对误差 MAE2.1.2、均方误差 MSE2.1.3、均方根误差 RMSE2.1.4、决定系数R^22.1.5、解决评估指标鲁棒性问题 2.2、分类&#xff08;Classification&#xff09;算…

多模态信息融合研究

1、主要研究方向 多模态学习可以划分为以下五个研究方向&#xff1a; 多模态表示学习 Multimodal Representation&#xff1a;主要研究如何将多模态的数据所蕴含的语义信息通过embedding的方式实现向量化&#xff0c;便于后续的计算&#xff1b; 模态转化 Translation&#…

【时序】DeepGLO:可以学习全局依赖和局部信息的多时间序列预测模型

论文名称&#xff1a;Think Globally, Act Locally: A Deep Neural Network Approach to High-Dimensional Time Series Forecasting 论文下载&#xff1a;https://arxiv.org/abs/1905.03806 论文年份&#xff1a;NeurIPS 2019 论文被引&#xff1a;134&#xff08;2022/04/21&…

独立性检验(卡方检验)

独立性检验(Test for Independence)是根据频数来判断两类因子是彼此独立还是彼此相关的一种假设检验。假如对某一个数据集有X&#xff08;值域为x1, x2&#xff09;跟Y&#xff08;值域为y1, y2&#xff09;变量&#xff0c;下面是他们的频数表&#xff1a; x1 x2 汇总 y1 …

列联表分析——独立性检验(卡方检验)

第一步&#xff1a;建立原假设和备择假设 H0&#xff1a;两变量相不立&#xff1b;H1&#xff1a;u两变量相互b独立 第二步&#xff1a;计算自由度和理论频数 第三步&#xff1a;计算卡方统计量 实际观察次数与理论次数之差的平方再除以理论次数得到的统计量近似服从卡方分布…

列联表分析-独立性检验

用SPSS分析甲乙丙三名推销员的对ABC三类产品的销售数据是否独立 原假设&#xff1a;他们之间相互独立 数据如下&#xff1a; 导入数据 将销量进行加权 点击分析-描述统计–交叉表&#xff1b; 结果 当表格是2X2的时候得到结果如下&#xff1a;

第15章卡方检验:拟合优度和独立性检验

第1章统计学入门 第2章频数分布略 第3章集中趋势的测量 第4章变异性 第5章分数的位置及标准化分布 第6章概率和正态分布 第7章概率和样本&#xff1a;样本均值的分布 第8章假设检验介绍 第9章t检验介绍 第10章两个独立样本的t检验 第11章两个相关样本的t检验…

独立样本t检验、方差齐性检验

什么是独立样本t检验&#xff1f; t检验是比较两组数据之间的差异&#xff0c;有无统计学意义&#xff1b;t检验的前提是&#xff0c;两组数据来自正态分布的群体&#xff0c;数据的方差齐&#xff0c;满足独立性。 独立样本t检验&#xff08;各实验处理组之间毫无相关存在&am…

卡方列联表的独立性检验

1.列联表是按两个或多个特征分类的频数数据&#xff0c;一般以表格形式组成。 2.判断两个或多个属性之间有无关联&#xff0c;即判别属性之间是否独立。 3.检验步骤 建立原假设 H0: 两属性相互独立 H1: 两属性之间不独立 计算自由度 计算卡方统计量 拒绝域 对照卡方分布…

SPSS学习(五)独立样本t检验

参考书籍&#xff1a;《SPSS其实很简单》 应用场景&#xff1a;当对两个独立分组中感兴趣的一个连续因变量的均值进行比较时使用。 目标&#xff1a;检验两个组别中关于某些感兴趣的因变量的均值是否存在显著差异 数据要求&#xff1a;具有两个不同组别的一个自变量&#xf…

统计之 - 独立性检验

独立性检验(Testfor Independence)是根据频数来判断两类因子是彼此独立还是彼此相关的一种假设检验。假如对某一个数据集有X&#xff08;值域为x1,x2&#xff09;跟Y&#xff08;值域为y1,y2&#xff09;变量&#xff0c;下面是他们的频数表&#xff1a; x1x2汇总y1ababy2cdcd汇…

SAS学习第9章:卡方检验之适合性检验与独立性检验

卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度&#xff0c;实际观测值与理论推断值之间的偏离程度就决定卡方值的大小&#xff0c;如果卡方值越大&#xff0c;二者偏差程度越大&#xff1b;反之&#xff0c;二者偏差越小&#xff1b;若两个值完全相等时&#xf…

入门必学 | R语言数据的独立性,正态性及方差齐性检验

参数分析的三大前提检验 检验数据独立性的方法Chisq检验Fisher检验Cochran-Mantel-Haenszel检验 检验数据正态性的方法shapiro.test函数qqnorm函数ksnormTest函数lillie.test函数ks.test函数 方差齐性检验的方法bartlett.test()检验leveneTest ()检验 完整代码 参数检验-显著性…

基于卡方的独立性检验

本文给出基于两种统计量的假设检验&#xff0c;来检验变量间是否独立--χ2与秩和。χ2越小说明越独立 假设检验 假设检验&#xff08;Test of Hypothesis&#xff09;又称为显著性检验&#xff08;Test of Ststistical Significance&#xff09;。 在抽样研究中&#xff0c;由于…

SPSS之双独立样本的T检验

双独立样本的T检验 是指在两个样本相互独立的前提下&#xff0c;检验两个样本的总体均数&#xff08;两个样本各自归属的总体的平均数&#xff0c;如果两样本均数不存在显著差异&#xff0c;那么可以认为两个样本来自同一个总体&#xff09;是否存在了显著性差异。它的零假设&…

概率论:相关性与独立性

文章目录 (一) X与Z是相关还是独立&#xff1f;(二) 相关性与独立性的关系1.相关性 (线性关系)相关系数 ρ X Y ρ_{XY} ρXY​ 2.独立性 (无任何关系)3.相关性与独立性的关系 (三) 独立可加性 (XY独立且同类型分布) (一) X与Z是相关还是独立&#xff1f; 1.二维正态分布&…

spss中有关独立样本T检验的详细介绍(包含操作过程和结果分析)

SPSS学习记录day2 写在前面&#xff1a; 在上一篇里我们介绍了SPSS软件中平均值和单样本T检验两种比较平均值的方法&#xff0c;今天来介绍剩下的几个比较平均值的检验操作 分析>比较平均值 3.独立样本T检验 独立样本T检验类似于单样本T检验&#xff0c;不过独立样本T检验…

R语言:独立性检验

R语言中的独立性检验包括&#xff1a;卡方检验、Fisher检验、Cochran-Mantel-Haenszel检验 原假设H0——没有发生 备择假设H1——发生了 p-value是在原假设为真 的情况下&#xff0c;得到的最大或超出所得到的检验统计量的概率 一般将p值定位到0.05。当p<0.05时&#xff0c;…

spss分析方法-多个独立样本检验(转载)

参数检验的前提是关于总体分布的假设成立&#xff0c;但很多情况下我们无法获得有关总体分布的相关信息。 非参数检验正是一类基于这种考虑&#xff0c;在总体方差未知或知道甚少的情况下&#xff0c;利用样本数据对总体分布形态等进行推断的方法。 多独立样本检验用于在总体分…

统计学——独立性与相关性检验

统计学(第6版) 贾俊平 读书笔记 第9章 分类数据分析 9.1 分类数据与χ2统计量 统计数据的类型有分类数据、顺序数据和数值型数据。分类数据是对事物进行分类的结果。例如在泰坦尼克号海难的例子中&#xff0c;船上共2208人&#xff0c;其中男性1738人&#xff0c;女性470人。…