AdaBoost

提升方法

提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(又称为基本分类器),然后组合这些弱分类器,构成一个强分类器。大多数的提升方法都是改变训练数据的概率分布(训练数据的权值分布),针对不同的训练数据分布调用弱学习算法学习一系列弱分类器。

在每一轮如何改变训练数据的权值或概率分布:提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值。这样一来,那些没有得到正确分类的数据,由于其权值的加大而受到后一轮的弱分类器的更大关注。

如何将弱分类器组合成一个强分类器:AdaBoost采取加权多数表决的方法.具体地,加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用,减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。

提升树

参考资料:

提升树模型

image-20240312211445348

GBDT的求解过程就是梯度下降在函数空间中的优化过程。

  1. 我们能通过一阶泰勒展开证明负梯度方向是下降最快的方向。对于函数f:

f(θk+1)f(θk)+f(θk)θk(θk+1θk)

则优化函数f时:

θk+1=θkηf(θk)θk

  1. 在GB中,对损失函数展开:

L(y,Fm(x))L(y,Fm1(x))+L(y,Fm1(x))Fm1(x)(Fm(x)Fm1(x))

L(y,Fm(x))L(y,Fm1(x))+L(y,Fm1(x))Fm1(x)Tm(x)

则在优化 L(y,F(x)) 的时候: ,

Fm(x)=Fm1(x)ηL(y,Fm1(x))Fm1(x)

即,Tm(x)=ηL(y,Fm1(x))Fm1(x) 。所以需要当前的弱学习器来学习负梯度,这里和GBDT中差了一个η

  1. 在1和2中都是随机梯度下降,但是不同的是:1在参数空间中优化,每次迭代得到参数的增量,这个增量就是负梯度乘上学习率;2在函数空间中优化,每次得到增量函数,这个函数会去拟合负梯度,在GBDT中就是一个个决策树。要得到最终结果,只需要把初始值或者初始的函数加上每次的增量。所以1的优化过程是(假设迭代了M次):

θ1=θ0ηf(θ0)θ0θ2=θ1ηf(θ1)θ1...θM=θM1ηf(θM1)θM1

等号两边相加,得到最终的优化结果:

θM=θ0+ηm=0M1f(θm)θm

同样的,2中优化的过程是:

F1(x)=F0(x)ηL(y,F0(x))F0(x)T1(x)=ηL(y,Fm1(x))Fm1(x)...FM(x)=FM1(x)ηL(y,FM1(x))FM1(x)TM(x)=ηL(y,FM1(x))FM1(x)

等号两边相加,得到:

F(x)=FM(x)=F0(x)+ηm=0M1L(y,Fm(x))Fm(x)=m=0MTm(x)

  1. 无论损失函数是什么形式,每个决策树拟合的都是负梯度。准确的说,不是用负梯度代替残差,而是当损失函数是均方损失时,负梯度刚好是残差,残差只是特例。
posted @   Un-Defined  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示