机器学习之梯度提升树(GBDT)

本文深入探讨了GBDT(梯度提升决策树)的原理和流程,从CART树的基础出发,阐述了如何通过梯度下降优化损失函数,逐步构建强学习器。通过2分类问题的实例,解释了如何计算梯度并确定弱分类器,最终形成预测函数。整个过程展示了GBDT如何通过迭代提升模型性能。
摘要由CSDN通过智能技术生成

一.前言

大概浏览GBDT论文总结一下相关原理及推导,之前看原理现在都没什么印象了!!!(悲哀啊)

二.原理流程

1.GBDT是基于CART分类回归树并借鉴了梯度这一重要概念,它的整体思想就是串行组合多个弱分类器进行计算,并会在进行每个分类器生成时进行梯度计算拟合当前弱学习器,进而让前向迭代往梯度方向最快下降(当然也需要人为加入学习率ν);首先定义强学习器预测函数表达式:

(1)

2.进而对(1)进行化简表示方便后续计算:

(2)

进而有:(3)

3.计算梯度得:

(4)

4.进而得出:

5.已知式(4)负梯度,那么要当前第m个弱分类器沿当前负梯度下降最快,得到:

(7)

这个是梯度提升树的主要思想利用整个强分类器实现预测函数计算的同时使的损失函数一直在减小 ,相当于神经网络或者逻辑回归等算法参数的更新(ω),只不过此处第m个弱分类器预测值相当于ω,但是并不是更新而是相加!

6.然后进行线性搜索得到最优步长βm:

7.进而得到大概流程如下:

 

三.2分类梯度提升树 

1.下面以二分类提升树为实例进行推导,损失函数和预测函数分别定义为:

2.现在要进行变换了和逻辑回归进行统一:

逻辑回归预测函数:

此时式(2)F(x)=将此式带入式(1)中得:

 

由于 已知,那么可以求得梯度:

进而最终得到进过当前第m个弱学习器后的总预测值为:

 

3.整个流程为:

 

 

 

总结:整个流程大概是这样,核心思想是梯度,把预测函数当做叠加的训练参数进行求解并利用式(2)进行概率求解得到最终分类(这里公式变换省略),这样就会得到当前的弱分类器,GBDT的迭代是前向生成一个总的强分类器。

 

 

 

 

 

 

 

GBDT(Gradient Boosting Decision Tree)算法是一种建立在决策基础上的迭代学习算法,它通过加权的累加使得前一步所得到的弱分类的误差函数在接下来的学习中更加关注错误分类的数据点,最终形成一个强分类,可以应用于分类和回归问题。 梯度提升算法通过将决策作为分类进行提升,将决策的弱学习算法进行组合,得到一个强大的学习算法。在每个迭代中,构建一个新的决策,使用梯度下降算法优化损失函数,从而更加准确地预测新数据点的标签。 GBDT算法的运行过程是不断迭代,每次迭代都会生成一个新的弱学习。这个弱学习由子组成,每个子都是一个分类,并且被加权以形成一个强分类。在每一次迭代中,算法根据当前模型的误差,在新的弱学习中尝试找到拟合不足的数据点,以最小化损失函数。在训练完所有的后,算法找到所有的加权和,以形成最终的预测模型。 GBDT算法有许多优点。首先,它很容易使用,可以通过简单的数据预处理和模型训练获得好的结果。其次,GBDT算法具有很高的准确性和稳定性,能够有效地避免过拟合问题。并且,它能够很好地处理高维度数据,基本不需要进行特征选择、特征缩放等繁琐的预处理工作。 此外,GBDT算法还可以应用于特征选择,自动选择最重要的特征属性,从而减少训练时间和消耗。它也可以处理类别不平衡的数据集,能够在分类错误的数据点上更加关注,并生成更准确的分类GBDT算法的局限性也比较明显,主要是训练缓慢。每个弱分类在训练过程中都需要计算梯度下降算法,造成训练时间增加。同时,对于大规模数据集,它需要大量的计算资源和内存,成本较高。 总之,GBDT算法是一种强大的机器学习算法,能够有效地解决许多分类和回归问题。尽管它具有一些限制,但它被广泛应用于数据挖掘、模式识别、预测等领域,成为机器学习领域中备受关注的算法之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值