机器学习笔记之优化算法——线搜索方法[步长角度,精确搜索]
引言
上一节介绍了从方向角度认识线搜索方法,本节继续介绍:从步长角度认识线搜索方法。
回顾:线搜索方法——方向角度
关于线搜索方法的迭代过程表示如下:
x k + 1 = x k + α k ⋅ P k x_{k+1} = x_k + \alpha_k \cdot \mathcal P_k xk+1=xk+αk⋅Pk
关于收敛性的假设
关于目标函数: f ( X ) f(\mathcal X) f(X),我们通过求解一系列数值解 { x k } k = 0 ∞ \{x_k\}_{k=0}^{\infty} { xk}k=0∞的方式使得:
- 随着迭代次数 k k k的增加,对应的 f ( x k ) f(x_k) f(xk)能够有效地收敛,最终得到目标函数的最小值: min X ∈ R n f ( X ) \begin{aligned}\mathop{\min}\limits_{\mathcal X \in \mathbb R^{n}} f(\mathcal X)\end{aligned} X∈Rnminf(X),从而得到数值解的最优值 x ∗ x^* x∗:
x ∗ = arg min X ∈ R n f ( X ) x^* = \mathop{\arg\min}\limits_{\mathcal X \in \mathbb R^n} f(\mathcal X) x∗=X∈Rnargminf(X)
关于单调性的假设
为了简化逻辑,我们仅讨论各迭代步骤的数值解 { x k } k = 0 ∞ \{x_k\}_{k=0}^{\infty} {
xk}k=0∞对应的目标函数结果 { f ( x k ) } k = 0 ∞ \{f(x_k)\}_{k=0}^{\infty} {
f(xk)}k=0∞服从严格的单调性。即:
其中
N N N表示非负整数。
∀ k ∈ N ⇒ f ( x k + 1 ) < f ( x k ) \forall k \in N \Rightarrow f(x_{k+1}) < f(x_k) ∀k∈N⇒f(xk+1)<f(xk)
下降方向与最速方向
基于上一节的相关假设,我们可以得到如下结论:
f ( x k + 1 ) − f ( x k ) ≈ [ ∇ f ( x k ) ] T ⋅ P k < 0 f(x_{k+1}) - f(x_k) \approx \left[\nabla f(x_k)\right]^T \cdot \mathcal P_k < 0 f(xk+1)−f(xk)≈[∇f(xk)]T⋅Pk<0
将上式继续展开:
∣ ∣ ∇ f ( x k ) ∣ ∣ ⋅ ∣ ∣ P k ∣ ∣ cos θ < 0 ||\nabla f(x_k)|| \cdot ||\mathcal P_k|| \cos \theta < 0 ∣∣∇f(xk)∣∣⋅∣∣Pk∣∣cosθ<0
从上式可以看出:
-
∣ ∣ ∇ f ( x k ) ∣ ∣ ||\nabla f(x_k)||