优化算法:从二阶方法到随机梯度下降
1. 二阶优化方法
1.1 BFGS 算法
BFGS(Broyden - Fletcher - Goldfarb - Shanno)算法是一种常用的优化算法,用于更新对 Hessian 矩阵的近似 $B_t \approx H_t$,更新公式如下:
[
B_{t + 1} = B_t + \frac{y_t y_t^T}{y_t^T s_t} - \frac{(B_t s_t)(B_t s_t)^T}{s_t^T B_t s_t}
]
其中:
- $s_t = \theta_t - \theta_{t - 1}$
- $y_t = g_t - g_{t - 1}$
这是对矩阵的秩二更新。如果 $B_0$ 是正定的,并且步长 $\eta$ 通过线搜索选择,同时满足 Armijo 条件和曲率条件:
[
\nabla L(\theta_t + \eta d_t) \geq c_2 \eta d_t^T \nabla L(\theta_t)
]
那么 $B_{t + 1}$ 将保持正定。常数 $c_2$ 在 $(c, 1)$ 范围内选择,其中 $c$ 是 Armijo 条件中的可调参数。这两个步长条件合称为 Wolfe 条件。通常,我们从对角近似开始,即 $B_0 = I$,因此 BFGS 可以被视为对 Hessian 矩阵的“对角加低秩”近似。
此外,BFGS 还可以迭代更新对逆 Hessian 矩阵的近似 $C_t \approx H_t^{-1}$,公式如下:
[
C_{t + 1} = \left(I
超级会员免费看
订阅专栏 解锁全文
1727

被折叠的 条评论
为什么被折叠?



