自己建网站需要怎么做,WordPress好看的404,淘宝关键词热度查询工具,网站建设面试前面学习了#xff1a;集成学习#xff08;二#xff09;Boosting-CSDN博客
梯度提升树#xff1a;GBDT-Gradient Boosting Decision Tree
一、介绍
作为当代众多经典算法的基础#xff0c;GBDT的求解过程可谓十分精妙#xff0c;它不仅开创性地舍弃了使用原始标签进行…前面学习了集成学习二Boosting-CSDN博客
梯度提升树GBDT-Gradient Boosting Decision Tree
一、介绍
作为当代众多经典算法的基础GBDT的求解过程可谓十分精妙它不仅开创性地舍弃了使用原始标签进行训练的方式同时还极大地简化了Boosting算法的运算流程让Boosting算法本该非常复杂的运算流程变得清晰简洁。GBDT的数学流程非常简明、美丽同时这一美丽的流程也是我们未来所有Boosting高级算法的数学基础。与任意Boosting算法一致对GBDT我们需要回答如下问题
损失函数 的表达式是什么损失函数如何影响模型构建弱评估器 是什么当下boosting算法使用的具体建树过程是什么综合集成结果 是什么集成算法具体如何输出集成结果
同时还可能存在其他需要明确的问题例如
是加权求和吗如果是加权求和中的权重如何求解训练过程中拟合的数据与分别是什么
回顾Boosting算法的基本指导思想我们来梳理梯度提升树回归算法的基本流程。虽然Boosting理论很早就被人提出但1999年才是GBDT算法发展的高潮。1999年有四篇论文横空出世 《贪心函数估计一种梯度提升机器》 Friedman, J. H. (February 1999). Greedy Function Approximation: A Gradient Boosting Machine 《随机梯度提升》 Friedman, J. H. (March 1999). Stochastic Gradient Boosting 《梯度下降式提升算法》 Mason, L.; Baxter, J.; Bartlett, P. L.; Frean, Marcus (1999). Boosting Algorithms as Gradient Descent 《函数空间中的梯度下降式提升算法》 Mason, L.; Baxter, J.; Bartlett, P. L.; Frean, Marcus (May 1999). Boosting Algorithms as Gradient Descent in Function Space GBDT算法是融合了上述4篇论文思想的集大成之作为了保持一致使用与前文不同的数学符号。
二、数学过程
假设现有数据集 含有形如的样本个为任意样本的编号单一样本的损失函数为其中 是号样本在集成算法上的预测结果整个算法的损失函数为 且总损失等于全部样本的损失之和。同时弱评估器为回归树 总共学习轮。则GBDT回归的基本流程如下所示 1、初始化数据迭代的起点。sklearn当中我们可以使用0、随机数或者任意算法的输出结果作为 但在最初的论文中Friedman定义了如下公式来计算 其中 为真实标签 C 为任意常数。以上式子表示找出令 最小的常数 C 值并输出最小的 作为的值。需要注意的是由于是由全部样本的计算出来的因此所有样本的初始值都是不存在针对某一样本的单一初始值。
开始循环for t in 1,2,3...T 2、在现有数据集 N 中抽样 M∗subsample 个样本构成训练集 3、对任意一个样本 计算伪残差pseudo-residuals具体公式为 不难发现伪残差是一个样本的损失函数对该样本在集成算法上的预测值求导后取负的结果并且在进行第次迭代、计算第个伪残差时我们使用的前次迭代后输出的集成算法结果。在时所有伪残差计算中的 都等于初始在时每个样本上的 都是不同的取值。 4、求解出伪残差后在数据集 上按照CART树规则建立一棵回归树训练时拟合的标签为样本的伪残差 。 5、将数据集上所有的样本输入进行预测对每一个样本得出预测结果。在数学上我们可以证明只要拟合对象是伪残差 则的值一定能让损失函数最快减小。 6、根据预测结果迭代模型具体来说 假设输入的步长为则应该为 对整个算法则有 7、循环结束输出 的值作为集成模型的输出值。
三、初始化 过程中的常数C是什么
在最初的论文中Friedman定义了如下公式来计算 : 其中 为真实标签 C 为任意常数。以上式子表示找出令 最小的常数 C 值并输出最小的 作为的值。在刚观察这个式子时大家可能很难理解 C 这个常数的作用但这个式子实际上很简单。
首先是损失函数损失函数衡量两个自变量之间的差异因此衡量样本的真实标签 与常数C之间的差异因此是所有样本的真实标签与常数C之间的差异之和。现在我们要找到一个常数C令所有样本的真实标签与常数C的差异之和最小请问常数C是多少呢这是一个典型的求极值问题只需要对 求导再令导数为0就可以解出令最佳的C。假设 是squared_error每个样本的平方误差则有 对上述式子求导并令一阶导数等于0 所以 可知当L是平方误差squared error时令 最小的常数C就是真实标签的均值。因此式子 的本质其实是求解 时的损失函数并以此损失函数作为 的值。当然如果我们选择了其他的损失函数我们就需要以其他方式甚至梯度下降进行求解 C 的值可能也就不再是均值了。
四、为什么拟合伪残差可以令损失函数最快地减小
从直觉上来看拟合伪残差可以降低与 之间的差异从而降低整体损失函数的值但这个行为在数学上真的可行吗毕竟GBDT可以使用任意可微函数作为损失函数不同损失函数求导后的结果即便与残差相似也未必能代替真正的残差的效果。因此不仅在直觉上需要理解拟合伪残差的作用我们还需要从数学上证明只要拟合对象是伪残差则弱评估器的输出值 一定是让损失函数减小最快的值。
我们可以对损失函数进行泰勒展开。对单一样本而言我们有损失函数其中 是已知的常数因此损失函数可以被看做是只有一个自变量的函数从而简写为 。
根据一阶泰勒展开已知 该式子中 是常数因此第一部分也是一个常数。同时第二部分由导数和组成其中导数就是梯度可以写作 所以式子可以化简为 现在如果要令 最小 应该等于多少呢回到我们最初的目标找出令损失函数最小的值 常数无法被最小化因此继续化简 现在 是包含了所有样本梯度的向量 是包含了所有样本在上预测值的向量两个向量对应位置元素相乘后求和即表示为向量的内积由尖括号 〈〉 表示。现在我们希望求解向量内积的最小值、并找出令向量内积最小的的取值那就必须先找出的方向再找出 的大小。
1、方向
的方向应该与完全相反。向量的内积 其中前两项为两个向量的模长 α 是两个向量的夹角大小。模长默认为整数因此当且仅当两个向量的方向完全相反即夹角大小为180度时 cos(α) 的值为-1才能保证两个向量的内积最小。假设向量 a [1,2]向量b是与a的方向完全相反的向量。假设a和b等长那向量b就是[-1,-2]。因此与方向完全相反且等长的向量就是 的方向也正是的方向。 2、大小
对于向量a除了[-1,-2]之外还存在众多与其呈180度夹角、但大小不一致的向量比如[-2,-4], [-0.5,-1]每一个都可以与向量a求得内积。并且我们会发现当方向相反时向量b中的元素绝对值越大b的模长就越长向量a与b的内积就越小。因此不难发现 是一个理论上可以取到无穷小的值那我们的 ft(x) 应该取什么大小呢答案非常出乎意料任何大小都无所谓。 回到我们的迭代公式 无论 的大小是多少我们都可以通过步长 η 对其进行调整只要能够影响 我们就可以影响损失迭代过程中的常数的大小。因此在数学上来说 的大小可以是的任意倍数这一点在梯度下降中其实也是一样的。为了方便起见同时为了与传统梯度下降过程一致我们通常让 就等于一倍的但也有不少论文令 等于其他值的。在GBDT当中 这就是我们让GBDT当中的弱评估器拟合伪残差/负梯度的根本原因。拟合负梯度其实为GBDT带来了非常多的特点: 首先通过直接拟合负梯度GBDT避免了从损失函数找“最优”的过程即避免了上述证明中求解 的过程从而大大地简化了计算。 其次通过拟合负梯度GBDT模拟了梯度下降的过程由于结合了传统提升法Boosting与梯度下降因此才被命名为梯度提升法Gradient Boosting。这个过程后来被称为函数空间上的梯度下降Gradient Descent in Function Space这是视角为Boosting算法的发展奠定了重要的基础。 最后最重要的一点是通过让弱评估器拟合负梯度弱评估器上的结果可以直接影响损失函数、保证损失函数的降低从而指向Boosting算法的根本目标降低偏差。这一过程避免了许多在其他算法中需要详细讨论的问题例如每个弱评估器的权重 ϕ 是多少以及弱评估器的置信度如何。 在AdaBoost算法当中损失函数是“间接”影响弱评估器的建立因此有的弱评估器能够降低损失函数而有的弱评估器不能降低损失函数因此要在求和之前需要先求解弱评估器的置信度然后再给与置信度高的评估器更高的权重权重 ϕ 存在的根本意义是为了调节单一弱评估器对 ϕ 的贡献程度。但在GBDT当中由于所有的弱评估器都是能够降低损失函数的只不过降低的程度不同因此就不再需要置信度/贡献度的衡量因此就不再需要权重 ϕ 。
五、遗留问题
有些细节性的东西本文还没有讲到比如
叶子结点如何取值其他损失函数下怎么推导...
详见下面《集成学习四DT、GBDT 公式推导》注意这两篇文章的符号不一样
接下来学习 文章转载自: http://www.morning.jwfkk.cn.gov.cn.jwfkk.cn http://www.morning.ktmpw.cn.gov.cn.ktmpw.cn http://www.morning.czlzn.cn.gov.cn.czlzn.cn http://www.morning.mxcgf.cn.gov.cn.mxcgf.cn http://www.morning.zqkms.cn.gov.cn.zqkms.cn http://www.morning.fwnqq.cn.gov.cn.fwnqq.cn http://www.morning.qieistand.com.gov.cn.qieistand.com http://www.morning.fywqr.cn.gov.cn.fywqr.cn http://www.morning.qhln.cn.gov.cn.qhln.cn http://www.morning.yzfrh.cn.gov.cn.yzfrh.cn http://www.morning.ljzgf.cn.gov.cn.ljzgf.cn http://www.morning.pgzgy.cn.gov.cn.pgzgy.cn http://www.morning.rysmn.cn.gov.cn.rysmn.cn http://www.morning.fkrzx.cn.gov.cn.fkrzx.cn http://www.morning.mgwdp.cn.gov.cn.mgwdp.cn http://www.morning.ckhpg.cn.gov.cn.ckhpg.cn http://www.morning.rkjz.cn.gov.cn.rkjz.cn http://www.morning.ctbr.cn.gov.cn.ctbr.cn http://www.morning.gnbfj.cn.gov.cn.gnbfj.cn http://www.morning.xywfz.cn.gov.cn.xywfz.cn http://www.morning.qhczg.cn.gov.cn.qhczg.cn http://www.morning.ydxg.cn.gov.cn.ydxg.cn http://www.morning.lgrkr.cn.gov.cn.lgrkr.cn http://www.morning.ykrkq.cn.gov.cn.ykrkq.cn http://www.morning.nhzxd.cn.gov.cn.nhzxd.cn http://www.morning.mjbkp.cn.gov.cn.mjbkp.cn http://www.morning.tnjz.cn.gov.cn.tnjz.cn http://www.morning.txjrc.cn.gov.cn.txjrc.cn http://www.morning.wjhqd.cn.gov.cn.wjhqd.cn http://www.morning.dhnqt.cn.gov.cn.dhnqt.cn http://www.morning.jtszm.cn.gov.cn.jtszm.cn http://www.morning.rtkgc.cn.gov.cn.rtkgc.cn http://www.morning.ktblf.cn.gov.cn.ktblf.cn http://www.morning.rltsx.cn.gov.cn.rltsx.cn http://www.morning.plcyq.cn.gov.cn.plcyq.cn http://www.morning.rkyw.cn.gov.cn.rkyw.cn http://www.morning.gwsfq.cn.gov.cn.gwsfq.cn http://www.morning.rqxhp.cn.gov.cn.rqxhp.cn http://www.morning.jfch.cn.gov.cn.jfch.cn http://www.morning.cpnsh.cn.gov.cn.cpnsh.cn http://www.morning.drbd.cn.gov.cn.drbd.cn http://www.morning.pdmc.cn.gov.cn.pdmc.cn http://www.morning.xtkw.cn.gov.cn.xtkw.cn http://www.morning.tkcct.cn.gov.cn.tkcct.cn http://www.morning.hytr.cn.gov.cn.hytr.cn http://www.morning.lmctj.cn.gov.cn.lmctj.cn http://www.morning.wfwqr.cn.gov.cn.wfwqr.cn http://www.morning.mdrnn.cn.gov.cn.mdrnn.cn http://www.morning.fnmtc.cn.gov.cn.fnmtc.cn http://www.morning.lbpqk.cn.gov.cn.lbpqk.cn http://www.morning.kgtyj.cn.gov.cn.kgtyj.cn http://www.morning.pwhjr.cn.gov.cn.pwhjr.cn http://www.morning.tbknh.cn.gov.cn.tbknh.cn http://www.morning.rgmd.cn.gov.cn.rgmd.cn http://www.morning.frmmp.cn.gov.cn.frmmp.cn http://www.morning.xdqrz.cn.gov.cn.xdqrz.cn http://www.morning.zrks.cn.gov.cn.zrks.cn http://www.morning.jfnlj.cn.gov.cn.jfnlj.cn http://www.morning.jrsgs.cn.gov.cn.jrsgs.cn http://www.morning.bxch.cn.gov.cn.bxch.cn http://www.morning.xbdd.cn.gov.cn.xbdd.cn http://www.morning.knscf.cn.gov.cn.knscf.cn http://www.morning.jbqwb.cn.gov.cn.jbqwb.cn http://www.morning.rtpw.cn.gov.cn.rtpw.cn http://www.morning.mwzt.cn.gov.cn.mwzt.cn http://www.morning.rfhwc.cn.gov.cn.rfhwc.cn http://www.morning.rkrcd.cn.gov.cn.rkrcd.cn http://www.morning.tyjp.cn.gov.cn.tyjp.cn http://www.morning.qwzpd.cn.gov.cn.qwzpd.cn http://www.morning.mbdbe.cn.gov.cn.mbdbe.cn http://www.morning.rzcbk.cn.gov.cn.rzcbk.cn http://www.morning.fsqbx.cn.gov.cn.fsqbx.cn http://www.morning.yrngx.cn.gov.cn.yrngx.cn http://www.morning.kzxlc.cn.gov.cn.kzxlc.cn http://www.morning.hjrjr.cn.gov.cn.hjrjr.cn http://www.morning.pdwny.cn.gov.cn.pdwny.cn http://www.morning.zjqwr.cn.gov.cn.zjqwr.cn http://www.morning.sprbs.cn.gov.cn.sprbs.cn http://www.morning.yyngs.cn.gov.cn.yyngs.cn http://www.morning.nwfxp.cn.gov.cn.nwfxp.cn