个人总结:从 GBDT 到 XGBoost和LightGBM 用统一的视角看待它们

上次讲到GBDT,就不得不提到现在应用最广泛,效果也是数一数二的XGBoost,我们可以用统一的视角看待它们,因为它们本质上其实是一样的,可以把XGBoost看作GBDT的工程实现。

 如果非要说一些区别的话,最明显的是,GBDT使用了一阶泰勒公式展开(梯度下降/最速下降),而XGBoost使用了二阶泰勒公式展开(牛顿法),但是这些并不影响它们其实是同样的东西。如果你很熟悉下面的基础知识,那么可以直接跳到XGB部分。

从泰勒公式说起

泰勒公式是一个用函数在某点的信息描述其附近取值的公式。

基本形式:

一阶泰勒展开:

二阶泰勒展开:

假设 ,将处进行泰勒展开

,针对这个公式进行不同处理,就能分别得到梯度下降和牛顿法。

梯度下降

在机器学习任务中,需要最小化损失函数L(θ),其中θ是要求解的模型参数。梯度下降是一种迭代求解方法:选取初值,不断迭代,更新θ的值,进行损失函数极小化。

迭代公式:

处进行泰勒一阶展开:

要使得,可取,平方乘以一个负数一定是负数嘛。

很巧,形式正好就是“学习率 x 负梯度”,则

学习率(或者步长)可以用线性搜索的方法确定,但是一般是直接赋一个比较小的值。

牛顿法

处进行泰勒二阶展开:

假设参数是标量(一维):

可将一阶导数和二阶导数分别记为g和h:

,求该函数的极小值

注:(1)函数极小值的一阶必要条件:若x*是f(x)的一个极小点,则必有 f ' (x*) = 0

(2)函数极小值的二阶必要条件:若x*是f(x)的一个极小点,则必有 f ' (x*) = 0 && f '' (x*) > 0

 即让极小,可令

,所以

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值