梯度下降算法:Hessian 矩阵 与 学习率 的关系

本文探讨了在机器学习中使用二阶泰勒展开来近似函数,并分析了学习率(步长)如何影响函数下降的速度。通过考虑函数的斜率和曲率,我们能够理解不同条件下学习率的选择策略,以及Hessian矩阵特征值如何决定最优学习率的量级。

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

在当前点 x 0 x_0 x0 处做二阶泰勒展开:
f ( x ) ≈ f ( x 0 ) + ( x − x 0 ) T g + 1 2 ( x − x 0 ) T H ( x − x 0 ) f(x) \approx f(x_0) + (x-x_0)^T g + \frac{1}{2}(x-x_0)^T H (x-x_0) f(x)f(x0)+(xx0)Tg+21(xx0)TH(xx0)其中 g g g 是梯度, H H H x 0 x_0 x0 点的 Hessian 矩阵。

如果设定学习率(步长)为 ϵ \epsilon ϵ, 则 x = x 0 − ϵ g x=x_0 - \epsilon g x=x0ϵg上式变成
f ( x 0 − ϵ g ) ≈ f ( x 0 ) + ϵ g T g + 1 2 ϵ 2 g T H g f(x_0-\epsilon g) \approx f(x_0) + \epsilon g^T g + \frac{1}{2}\epsilon^2 g^T Hg f(x0ϵg)f(x0)+ϵgTg+21ϵ2gTHg
其中有3 项:函数的原始值、函数斜率导致的预期改善、函数曲率导致的校正。

在这里插入图片描述
从上图可以看出,我们使用沿负梯度方向大小为 ϵ \epsilon ϵ 的下降步,假设当前点梯度是1。如果不考虑函数曲率导致的校正:

  • 如果二阶导数是0,代价函数将下降 ϵ \epsilon ϵ
  • 如果二阶导数是负的,函数曲线向下凹陷(向上凸出),因此代价函数将下降的比 ϵ \epsilon ϵ 多。
  • 如果二阶导数是正的,函数曲线是向上凹陷(向下凸出),因此代价函数将下降的比 ϵ \epsilon ϵ 少。

g T H g g^THg gTHg 为零或负时,近似的泰勒级数表明增加 ϵ \epsilon ϵ 将永远使 f ( x ) f(x) f(x) 下降。在实践中,泰勒级数不会在 ϵ \epsilon ϵ 大的时候也保持准确,因此在这种情况下我们必须采取更启发式的选择。当 g T H g g^THg gTHg 为正时,通过计算可得,使近似泰勒级数下降最多的最优步长为
ϵ ∗ = g T g g T H g \epsilon^* = \frac{g^Tg}{g^THg} ϵ=gTHggTg
Hessian 的特征值决定了最优学习率的量级。

因为
λ m i n ( H ) ≤ g T H g g T g ≤ λ m a x ( H ) \lambda_{min}(H) \leq \frac{g^THg}{g^Tg} \leq \lambda_{max}(H) λmin(H)gTggTHgλmax(H)所以
1 λ m a x ≤ ϵ ∗ ≤ 1 λ m i n \frac{1}{\lambda_{max}}\leq \epsilon^* \leq \frac{1}{\lambda_{min}} λmax1ϵλmin1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颹蕭蕭

白嫖?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值