学习笔记 6-GDBT

ML 学习笔记 6-GDBT - 1

最近在看关于XGboost的内容。其中非常喜欢作为面试题的内容就是XGboost和GDBT的比较。因此需要先看看GDBT。李航的书里面的GDBT的内容细节不是很多,因此还是找找GDBT的出处。

读完之后还是很有收获的。

梯度下降与最速下降

  • 什么是最速下降(Steepest Descent)?和梯度下降法是一个东西吗?

有关 GDBT 的文章,都会提到说 GDBT 是通过最速下降法来优化的。实际上,最速下降法就是梯度下降法,这个可以参数 wikipedia 中的解释

Gradient descent is also known as steepest descent

从参数的梯度下降到函数的梯度下降

关于参数的梯度下降

这一个就是我们经常在用的梯度下降法,假设损失函数为 L ( y , F ( x ) ) ) L(y, F(x))) L(y,F(x))) 。如果这个函数 F ( x ) F(x) F(x) 是参数是,那么就可以表示为 F ( x ; θ ) F(x;\theta) F(x;θ)

算法:关于参数的梯度下降

我们通过梯度下降的方法优化这个参数。

  1. step1: 给定一个参数的初始值, θ 0 \theta_0 θ0

  2. step2: 对于 m = 1 , … , M m=1, \ldots, M m=1,,M ,更新参数

    1. 计算负梯度 g m g_m gm

    g m = − E [ ∇ θ L ( Y , F ( x ) ) ∣ θ = θ m − 1 ∣ x ] g_m = - \mathbb{E} [\nabla_{\theta} L(Y, F(x)) |_{\theta=\theta_{m-1}} | x] gm=E[θL(Y,F(x))θ=θm1x]

    1. 计算最优的学习率 η m \eta_m ηm
      有一点需要注意的是,这里的梯度下降的学习率 η \eta η 不是固定的,而是和当前的梯度 g m g_m gm 是有关的。这个和我们在深度学习中常见的 sgd 有点小区别。 η m \eta_m ηm 由下面的式子确定

    η m = arg ⁡ min ⁡ η E [ L ( Y , F ( X , θ m − 1 + η g m ) ) ] \eta_m = \mathop{\arg\min_{\eta}} \mathbb{E} [L(Y, F(X, \theta_{m-1} + \eta g_m))] ηm=argηminE[L(Y,F(X,θm1+ηgm))]

    1. 更新 θ m \theta_m θm

    θ m = θ m − 1 + η m g m \theta_m = \theta_{m-1} + \eta_m g_m θm=θm1+ηmgm

    1. 最后得到的参数 θ \theta θ 的估计

θ ^ = θ M = θ 0 + η 1 g 1 + η 2 g 2 + ⋯ + η M g M \hat{\theta} = \theta_M = \theta_0 + \eta_1 g_1 + \eta_2 g_2 + \dots + \eta_M g_M θ^=θM=θ0+η1g1+η2g2++ηMgM

上面的推导是总体版本的,而要得到经验版本只需要将取期望 E \mathbb{E} E 改成对样本求平均 1 N ∑ i = 1 N \frac{1}{N} \sum_{i=1}^{N} N1i=1N 就可以了

关于函数的梯度下降

上面是 F ( x ) F(x) F(x) 是参数模型的情形。如果 F ( x ) F(x) F(x) 是非参数模型,就不能用上面的方式来求了。不过还是有解决方法的。

对于 F ( x ) F(x) F(x) 是参数模型的情况,如果固定一个 x,则 F ( x ) F(x) F(x) 是固定的,因此可以看做是一个“参数”。通过这种方式,我们可以将一个非参数模型 F ( x ) F(x) F(x) 看做有许多个参数 F ( x ) F(x) F(x) ,其中 x ∈ d o m F x \in domF xdomF

我们希望最小化的是 E L ( Y , F ( x ) ) ) \mathbb{E}L(Y, F(x))) EL(Y,F(x))) ,注意这里的期望是对联合分布 ( X , Y ) (X,Y) (X,Y) 取期望。而当固定 X = x X=x X=x 时,联合分布也就变成了条件分布,即我们固定 x x x 后,希望最小化的函数变成了

E [ L ( Y , F ( x ) ) ∣ x ] (1) \mathbb{E} [L(Y, F(x))|x] \tag{1} E[L(Y,F(x))x](1)

注意,这里的期望 E [ ⋅ ∣ x ] \mathbb{E}[\cdot | x] E[x] 表示的是对 Y ∣ X = x Y|X=x YX=x 取的期望 ,即在 X = x X=x X=x 的条件下对 Y Y Y 求期望。

因此,我们可以继续使用梯度下降法来优化上面的条件期望

算法:关于函数的梯度下降
  1. 确定初始的 F 0 ( x ) F_0(x) F0(x) ,这里使用一个最优的常数来初始化 ,即

F 0 ( x ) = arg ⁡ min ⁡ c E [ L ( Y , c ) ∣ x ] F_0(x) = \mathop{\arg\min_c} \mathbb{E} [L(Y, c)|x] F0(x)=argcminE[L(Y,c)x]

  1. 对于 m = 1 , … , M m=1, \ldots, M m=1,,M ,进行下面的优化

    1. 计算负梯度 g m ( x ) g_m(x) gm(x)
      g m ( x ) = − E [ ∇ F ( x ) L ( Y , F ( x ) ) ∣ F ( x ) = F m − 1 ( x ) ∣ x ] g_m(x) = - \mathbb{E} [\nabla_{F(x)} L(Y, F(x)) |_{F(x)=F_{m-1}(x)} | x] gm(x)=E[F(x)L(Y,F(x))F(x)=Fm1(x)x]

    2. 计算最优学习率 η m \eta_m ηm

    η m = arg ⁡ min ⁡ η E [ L ( Y , F m − 1 ( x ) + η g m ( x ) ) ∣ x ] \eta_m = \mathop{\arg\min_{\eta}} \mathbb{E} [L(Y, F_{m-1}(x) + \eta g_m(x))|x] ηm=argηminE[L(Y,Fm1(x)+ηgm(x))x]

    1. 更新 F m ( x ) F_{m}(x) Fm(x)

    F m ( x ) = F m − 1 ( x ) + η m g t ( x ) F_m(x) = F_{m-1}(x) + \eta_m g_t(x) Fm(x)=Fm1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值