【机器学习】十五、Gradient boosting算法原理详解

本文详细介绍了梯度提升算法(GBDT),包括其简介、回归和分类的应用,以及优缺点。GBDT是一种前向分布算法,通过拟合残差逐步减少损失。在回归问题中,GBDT通过损失函数的负梯度来构建回归树,并在分类问题中展示了其灵活性。该算法以高准确率和对异常值的鲁棒性著称,但训练过程难以并行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上篇文章分享了AdaBoost的算法原理,这篇文章将讲解Boosting家族中的梯度提升算法(Gradient boosting)。建议看本文之前,先看一下AdaBoost算法的原理。码字不易,喜欢请点赞!!!
在这里插入图片描述

1.梯度提升算法简介

梯度提升(Gradient boosting),一般简称为GBDT,是由大牛Freidman提出来的。上一节,分享了AdaBoost算法的原理,可以知道AdaBoost算法是前向分布算法。同样,GBDT也是前向分布算法。但是AdaBoost每次是极小化损失函数,而GBDT每次通过拟合上一次的残差来减小损失。并且AdaBoost的基学习器不限定,而GBDT的基学习器限定为CART。

例如,比如一个人身高180,我们首先用170拟合,发现差了10cm,然后用8cm,去拟合,发现残差为2cm,然后我们用1.5cm去拟合,发现差了0.5cm,一直这样拟合下去,残差将会越来越小,知道达到我们的可接受范围,或者拟合次数达到上限。

其关键是采用损失函数的负梯度在当前模型的值作为回归问题提升树算法中的残差的近似值,来拟合一个回归树。例如,训练数据 x i , y i x_i,y_i xi,yi在第m轮时,首先计算 x i x_i xi f m − 1 ( x ) f_{m-1}(x) fm1(x)上的残差 r m i r_{mi} rmi来作为第m轮拟合的数据 ( x i , r m i ) (x_i,r_{mi}) (xi,rmi),其中
r m i = − [ ∂ L ( y , f ( x i ) ) ∂ f ( x i ) ] f ( x ) = f m − 1 ( x ) r_{mi}=-[\frac{∂L(y,f(x_i))}{∂f(x_i)}]_{f(x)=f_{m-1}(x)} rmi=[f(xi)L(y,f(xi))]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值