问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

梯度提升分类树原理推导(超级详细!)

发布网友 发布时间:2022-10-03 09:01

我来回答

1个回答

热心网友 时间:2023-10-10 01:04

GBDT (Gradient Boosting Decision Tree) ,梯度提升树,是属于集成算法中boosting类的一种算法。GBDT中又分梯度提升回归树和梯度提升分类树。本文就讨论一下梯度提升分类树(只讨论二分类)的原理以及公式推导。

梯度提升分类树的原理和思想和梯度提升回归树本质上是没有区别的。他们的模型都是决策回归树(DecisionTreeRegressor),可能有人有疑问,为什么梯度提升分类树的模型也是决策回归树,那是怎么实现分类的呢?其实梯度提升分类树和逻辑斯蒂回归类似。

​ 逻辑斯蒂回归的预测模型:sigmoid函数 + 线性回归

​ 梯度提升分类树的预测模型: sigmoid函数 + 决策回归树

梯度提升分类树的预测概率为 ,其中 表示决策回归树。

但是由于梯度提升分类树的样本输出不是连续的而是离散的,因此无法直接拟合类别输出的误差。这时候需要构建交叉熵损失函数(也叫对数损失函数)。那么什么是交叉熵损失函数呢?

关于 交叉熵 ,大家看看这篇文章,相信对交叉熵一定有一个深刻的理解。总之,交叉熵就是用来衡量在给定的真实分布下,使用非真实分布所指定的策略消除系统的不确定性所需要付出的努力的大小

交叉熵的公式为: ,其中 表示真实分布, 表示非真实分布。

一个样本的交叉熵损失函数可以表示成: ,其中

其中 就是真实概率,相当于真实分布 , 是算法预测的概率,相当于非真实分布 。

将 代入到函数中化简:


化简的最后结果为

求 对于 的一阶导数:

令 ,有

利用sigmoid函数求导公式,求 对于 的二阶导数:

以上就是单个样本的损失函数推导,那么整体的损失函数也就容易了,就是单个样本的累加。

损失函数推导出来了,接下来我们看看梯度和损失函数的更新方式是怎样的。

上文中提到 是决策回归树,当算法还没有第一轮学习时,算法会给 一个初始值,我们记为 ,此时 是最小的。因为 的更新规则是 , 表示相对 上一次的值, 表示第m轮学习的预测结果(稍后我们会进行推导)。 表示学习率,学习率是我们给定算法的参数。

因此有式

其中, 表示整体的损失函数,现在令其导数为0,求解出 即为最小值。

上式右边可以看做一个常数,因此有

两边求倒数,

这样,算法的初始值就求出来了。上文说到 表示第m轮学习的预测结果,那我们把第m轮的学习中,树的第j个叶子节点的结果记为 ,其推导过程如下:

注:这里 可写可不写,因为是个常数,不管它给多少,最后都会消掉。 表示第m轮样本数据。

要求解的

利用 泰勒展开公式 ,就可以将上式展开两级,得到:

要求最小,求导,令导数为零,即

上文我们对 的一阶导数和二阶导数已经做了推导,

其中, ,我们令 , 把它叫做负梯度,因此有

进行变换,解出

接下来我们就通过一个算例来看看由算法计算的结果和我们推导的公式计算的结果是不是一样的(基于sklearn)。同时,加深一下对算法原理的理解。

_ = tree.plot_tree(clf[0,0],filled=True) # 第1棵树

_ = tree.plot_tree(clf[1,0],filled=True) # 第2棵树

_ = tree.plot_tree(clf[2,0],filled=True) # 第3棵树

_ = tree.plot_tree(clf[99,0],filled=True) # 第100棵树

上面是算法计算的结果,接下来我们调用上面推导的公式计算一下。

我们也可以写一个for循环,计算出1~100棵树的预测结果。

运行得到一下结果:

第1棵树左边决策树分支,预测值: -0.625
第1棵树右边决策树分支,预测值: 2.5
第2棵树左边决策树分支,预测值: -0.571
第2棵树右边决策树分支,预测值: 2.168
第3棵树左边决策树分支,预测值: -1.592
第3棵树右边决策树分支,预测值: 0.666
​ ......
第99棵树左边决策树分支,预测值: -1.057
第99棵树右边决策树分支,预测值: 0.245
第100棵树左边决策树分支,预测值: 0.411
第100棵树右边决策树分支,预测值: -0.424

梯度提升分类树原理推导(超级详细!)

​ 梯度提升分类树的预测模型: sigmoid函数 + 决策回归树 梯度提升分类树的预测概率为 ,其中 表示决策回归树。但是由于梯度提升分类树的样本输出不是连续的而是离散的,因此无法直接拟合类别输出的误差。这时候需要构建交叉熵损失函数(也叫对数损失函数)。那么什么是交叉熵损失函数呢?关于 ...

...+boosting+提升树+GBDT(梯度提升决策树)_详细原理解析

GBDT(梯度提升决策树):梯度 + 提升树。1)基学习器采用回归树;2)基学习器之间存在强依赖关系,每一个基学习器是在前一个基学习器的基础上生成,具体实现方式是:每一棵树拟合的是损失函数在前一棵树上的负梯度;3)将所有基学习器结果进行线性加权求和,作为最终结果输出;4)是一个加法模型,...

提升树和梯度提升树

提升树和梯度提升树(GBDT)是两种基于决策树的集成学习方法,它们通过迭代优化来构建更强大的预测模型。提升树的基本理念是每轮迭代生成一个弱分类器,其残差作为下一轮训练的基础。GBDT在此基础上引入了更灵活的损失函数,通过负梯度来求解残差。以回归问题为例,给定目标值30,通过多棵树的预测结果相加...

浅学梯度提升树

Freidman提出梯度提升方法,利用损失函数在当前模型负梯度的值作为回归问题提升树算法残差的近似值,拟合一个回归树,适用于回归预测和分类任务。梯度下降法是一种优化方法,通过迭代公式,将损失函数在当前模型处一阶泰勒展开,找到最优解。在函数空间中,借鉴梯度下降的思想,梯度提升方法求解损失函数的最优...

梯度提升树(GBDT)

1: 提升树 提升树采用加法模型和前向分布算法。分类问题用二叉分类树,回归问题用二叉回归树。提升树模型可表示为决策树的加法模型,其中决策树之间无权重,树之间独立。2: GBDT的负梯度拟合 提升树用加法模型和前向分布算法优化学习过程。对一般损失函数,每步优化不易。Freidman提出梯度提升,利用损失...

梯度提升树(GBDT)

在机器学习领域,梯度提升树(GBDT)作为Boosting算法的璀璨明珠,以其独特的优势在回归与分类任务中崭露头角。不同于Adaboost,GBDT专注于CART回归树模型,其核心在于残差学习,采用加法模型和前向分布策略,每个决策树独立且权重相等,构建了一个强大的回归框架。1. 加法模型与前向分布 提升树模型采用加法...

深入机器学习系列8-梯度提升树

梯度提升算法在MLlib中提供了三种损失函数,分别用于分类和回归任务。为了提升函数估计性能,可以注入随机性到梯度提升算法中。这形成了随机梯度提升算法,其流程包括在每次迭代中随机抽取训练集的一个子样本集,并用这个子样本集代替全体样本。梯度提升树的训练从run方法开始,流程分为初始化参数、训练第一棵...

梯度提升决策树(GBDT)

梯度提升决策树(GBDT)是一种集成学习方法,它基于CART回归树,通过不断迭代来减小训练过程中的残差,实现回归。相较于CART分类树,GBDT选择回归树是因为其需要拟合的是连续值的梯度。每次迭代,GBDT会基于前一轮分类器的残差训练一个新的弱分类器,通常选择简单且低方差高偏差的CART TREE。这些弱分类器...

极致梯度提升树XGBoost原理

XGBoost基于梯度提升的概念,它首先需要理解的是梯度提升树(GBT)。GBT的核心是决策树,一种非线性模型,用于分类和回归任务。XGBoost采用的是分类回归树(CART),每个叶子节点代表一个score,而非直接输出类别,通过多棵树的集成,增强模型的预测能力。在Boosting方法中,XGBoost通过逐步增强模型,对错误样本...

高性能计算GBDT的原理是什么?

GBDT(Gradient Boosting Decision Tree,梯度提升决策树)是一种基于决策树的集成学习方法,通过迭代训练一系列决策树来逐步提升模型的预测性能。GBDT的高性能计算是基于以下原理:决策树的构建:GBDT采用决策树作为基分类器,每次迭代都会构建一棵新的决策树。决策树的构建可以采用贪心算法,通过选择最佳的特征...

梯度公式推导 梯度下降算法推导 梯度的运算法则推导 线性回归梯度下降推导 梯度法的基本原理 共轭梯度法原理 高梯度磁选机原理 方向导数与梯度公式 方向导数与梯度
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
高分求林志颖版绝代双骄中所有曲子,不是片头曲和片尾曲!!! 世界著名的美声音乐家 谁有林志颖版绝代双骄里面的全部配乐??知道名字也行... 丝瓜要多久才开花 新闻照怎样照才最有新闻价值 ...花木兰提名奥斯卡,不同风格的小仙女,《花木兰》有什么特色? 北师大江津附中教学质量怎样 里有什么四字成语 阅读材料,选择合适的方法把下列混合物按要求分离.材料一:如图:材料... 如果物体是易溶于水,但熔点50沸点75的话,跟水混合后,蒸馏水时会不会跟... 梦见两次一模一样的梦什么意思? 丝塔芙批号326177是哪年生产 怎么把搜狗打字的自动更新关闭 光遇更新为什么登不上去? 梦见以前的旧手表周公解梦 为什么用这个没提示root,我进入系统安全root权限也没找到这个软件,我的是MIUI4.10.1 知道自己酒量不好,在饭局应该怎么挡酒比较容易,最好怎么说? 我梦见给菩萨送吃的,菩萨接受了,还跟我说话…这里有特别的意思吗 如何禁用加载项提升Excel启动速度 加不了好友怎么办 如何解决加不了好友 怎么添加不了好友 惠普M1566一体机打印黄灯闪是怎么回事? 华硕b360 bios 键盘不亮 水与冰的体积变化实验,各填三项。 日新月异意思 日新月异解释 率土之滨盟战玩法介绍 半自动洗衣机脱水里面有水怎么办? 欧式家装效果图片大全? 光大银行时尚先生信用卡怎么升级为金卡 节约粮食400字作文 Task10-向前分布算法和梯度提升决策树 GBDT简介 用AdaBoost和GBDT模型处理信用卡违约问题 如今癌症已经严重威胁着人们的身体健康,什么样的人属于癌症高发人群呢? 什么体质容易得癌症? 蛋挞能放几天 蛋挞可以放几天 关于蛋挞保存的时间 2018年顺义共有产权房我买不起让我儿子买可以吗? 为什么16款苹果air,13寸128G的,在系统概括里显示的确实2015年初的?请问 梦到牙齿掉了还连着一根线? 梦见牙齿松动,摇摇它就掉了,可根还在。 黄皮是不是恩平特产?拜托了各位 谢谢 强制保险赔偿范围包括哪些 四端指的是什么 四端简介 四端的介绍 凶兆解一个生肖? 梦到猪把我的钱包叨跑了? 前鼻音韵母和后鼻音韵母分别是什么 前鼻音韵母和后鼻音韵母介绍 饲料酶制剂的生产工艺 蛋白酶加工厂,体系含杂质,需要先进行澄清和除杂,后进行浓缩。请问有什么好的办法?