机器学习笔记之优化算法——经典牛顿法的收敛性分析
- 引言
- 回顾:算法的收敛性分析
- Wolfe \text{Wolfe} Wolfe准则的收敛性分析
- 梯度下降法在凸函数的收敛性分析
- 梯度下降法在强凸函数的收敛性分析
- 经典牛顿法的收敛性分析
- 收敛性定理介绍
- 证明过程
- 关于隐含条件的说明
引言
上一节整体介绍了经典牛顿法,并讨论了其更新方向 P k \mathcal P_k Pk是否为下降方向。本节将对经典牛顿法在迭代过程中的收敛性进行分析。
回顾:算法的收敛性分析
在这些迭代算法中,我们关注的重点在于算法在迭代过程中是否收敛,以及它的收敛速度。
Wolfe \text{Wolfe} Wolfe准则的收敛性分析
在简单认识 Wolfe Condition \text{Wolfe Condition} Wolfe Condition收敛性证明一节中,对于线搜索方法使用非精确搜索在迭代过程中使用 Wolfe \text{Wolfe} Wolfe准则选取优质步长,并证明该方法能够使目标函数结果 { f ( x k ) } k = 0 ∞ \{f(x_k)\}_{k=0}^{\infty} {f(xk)}k=0∞收敛到最优解 f ∗ f^* f∗。对应条件、结论表示如下:
条件:
- 关于函数 f ( ⋅ ) f(\cdot) f(⋅),需要满足向下有界,并且在其定义域内连续可微;
- 关于梯度函数 ∇ f ( ⋅ ) \nabla f(\cdot) ∇f(⋅),需要在定义域内满足 L \mathcal L L-利普希兹连续;
- 关于更新方向 P k ( k = 1 , 2 , ⋯ ) \mathcal P_k(k=1,2,\cdots) Pk(k=1,2,⋯)至少是下降方向 ( Descent Direction ) (\text{Descent Direction}) (Descent Direction);
- 迭代过程中选择的优质步长 α k ( k = 1 , 2 , ⋯ ) \alpha_k(k=1,2,\cdots) αk(k=1,2,⋯)满足 Wolfe \text{Wolfe} Wolfe准则;
{ f ( x k + 1 ) < f ( x k ) + C 1 ⋅ [ ∇ f ( x k ) ] T P k ⋅ α k [ ∇ f ( x k + 1 ) ] T P k ≥ C 2 ⋅ [ ∇ f ( x k ) ] T P k C 1 ∈ ( 0 , 1 ) C 2 ∈ ( C 1 , 1 ) \begin{cases} f(x_{k+1}) < f(x_ k) + \mathcal C_1 \cdot [\nabla f(x_k)]^T \mathcal P_k \cdot \alpha_k \\ [\nabla f(x_{k+1})]^T \mathcal P_k \geq \mathcal C_2 \cdot [\nabla f(x_k)]^T \mathcal P_k \\ \mathcal C_1 \in (0,1) \\ \mathcal C_2 \in (\mathcal C_1,1) \end{cases} ⎩ ⎨ ⎧f(xk+1)<f(xk)+C1⋅[∇f(xk)]TPk⋅αk[∇f(xk+1)]TPk≥C2⋅[∇f(xk)]TPkC1∈(0,1)C2∈(C1,1)
结论:关于 { f ( x k ) } k = 0 ∞ \{f(x_k)\}_{k=0}^{\infty} {f(xk)}k=0∞收敛到最优解 f ∗ f^* f∗的延展性结果:
∑ k = 0 + ∞ [ cos θ k ] 2 ⋅ ∣ ∣ ∇ f ( x k ) ∣ ∣ 2 < + ∞ \sum_{k=0}^{+\infty} [\cos \theta_k]^2 \cdot ||\nabla f(x_k)||^2 < +\infty k=0∑+∞[cosθk]2⋅∣∣∇f(xk)∣∣2<+∞
关于证明过程不再赘述,详见链接,后续同理。观察 Wolfe \text{Wolfe} Wolfe准则的收敛性定理,可以发现:
- 该方法对于函数 f ( ⋅ ) f(\cdot) f(⋅)、更新方向的约束是较宽松的: f ( ⋅ ) f(\cdot) f(⋅)有下界、可微、 ∇ f ( ⋅ ) \nabla f(\cdot) ∇f(⋅)利普希兹连续;而且证明过程中使用的是较泛化的线搜索方法。
- 但对最终的收敛性仅仅证明了其可以收敛,但并没有描述具体的收敛速度。
梯度下降法在凸函数的收敛性分析
在梯度下降法——凸函数上的收敛性一节中,使用梯度下降法在更新方向 P k \mathcal P_k Pk确定为最速下降方向(负梯度方向)的条件下,对于凸函数 f ( ⋅ ) f(\cdot) f(⋅)选取优质步长,证明了目标函数结果 { f ( x k ) } k = 0 ∞ \{f(x_k)\}_{k=0}^{\infty} {f(xk)}k=0∞收敛至目标函数最优解 f ∗ f^* f∗,并以次线性收敛级别的收敛速度进行收敛。对应条件、结论表示如下:
条件:
- 关于函数 f ( ⋅ ) f(\cdot) f(⋅)向下有界,在定义域内可微,并且 f ( ⋅ ) f(\cdot) f(⋅)是凸函数;
- 关于梯度函数 ∇ f ( ⋅ ) \nabla f(\cdot) ∇f(⋅)满足 L \mathcal L L-利普希兹连续;
- 在迭代过程中,关于步长 α k ( k = 1 , 2 , ⋯ ) \alpha_k(k=1,2,\cdots) αk(k=1,2,⋯)存在明确的约束范围: α k ∈ ( 0 , 1 L ] \begin{aligned}\alpha_k \in \left(0,\frac{1}{\mathcal L}\right]\end{aligned} αk∈(0,L1];
结论:目标函数结果 { f ( x k ) } k = 0 ∞ \{f(x_k)\}_{k=0}^{\infty} {f(xk)}k=0∞以 G ( k ) = C ⋅ 1 k \begin{aligned}\mathcal G(k) = \mathcal C \cdot \frac{1}{k}\end{aligned} G(k)=C⋅k1收敛类型 O ( 1 k ) \begin{aligned}\mathcal O \left(\frac{1}{k}\right)\end{aligned} O(k1)的次线性收敛级别的收敛速度。
关于
收敛速度的类型与级别,详见
收敛速度的简单认识。
观察梯度下降法关于凸函数的收敛性定理,可以发现:
- 相比于 Wolfe \text{Wolfe} Wolfe准则中线搜索方法对于更新方向 P k \mathcal P_k Pk是下降方向的要求,梯度下降法关于更新方向的要求更加严格:最速下降方向。
- 关于目标函数 f ( ⋅ ) f(\cdot) f(⋅)的要求也更加严格: f ( ⋅ ) f(\cdot) f(⋅)必须是凸函数;
- 相比于 Wolfe \text{Wolfe} Wolfe准则关于 α k \alpha_k αk的约束条件:
关于
Wolfe \text{Wolfe} Wolfe准则关于步长的约束,这里使用图像进行示例表示。其中上界是
f ( x k + 1 ) < f ( x k ) + C 1 ⋅ [ ∇ f ( x k ) ] T P k ⋅ α k f(x_{k+1}) < f(x_ k) + \mathcal C_1 \cdot [\nabla f(x_k)]^T \mathcal P_k \cdot \alpha_k f(xk+1)<f(xk)+C1⋅[∇f(xk)]TPk⋅αk(函数 L ( α ) \mathcal L(\alpha) L(α)所在斜线以下);下界是
[ ∇ f ( x k + 1 ) ] T P k ≥ C 2 ⋅ [ ∇ f ( x k ) ] T P k [\nabla f(x_{k+1})]^T \mathcal P_k \geq \mathcal C_2 \cdot [\nabla f(x_k)]^T \mathcal P_k [∇f(xk+1)]TPk≥C2⋅[∇f(xk)]TPk(斜率大于绿色点的横坐标范围)
由于 f ( ⋅ ) f(\cdot) f(⋅)是凸函数,因而步长 α k \alpha_k αk的选择范围被限制在 ( 0 , 1 L ] \begin{aligned}\left(0,\frac{1}{\mathcal L}\right]\end{aligned} (0,L1]。
详见
二次上界引理。 - 从结论的角度,相比于 Wolfe \text{Wolfe} Wolfe准则,它有了明显的关于收敛速度的描述。
梯度下降法在强凸函数的收敛性分析
在梯度下降法——强凸函数的收敛性证明中,在 f ( ⋅ ) f(\cdot) f(⋅) m m m-强凸函数的基础上,选取优质步长 α k \alpha_k αk,证明了数值解序列 { x k } k = 0 ∞ \{x_k\}_{k=0}^{\infty} {xk}k=0∞收敛至最优数值解 x ∗ x^* x∗,并以 Q \mathcal Q Q-线性收敛级别的收敛速度进行收敛。对应条件、结论表示如下:
条件:
- 关于函数 f ( ⋅ ) f(\cdot) f(⋅)向下有界,在其定义域内可微,并且 f ( ⋅ ) f(\cdot) f(⋅)是 m m m-强凸函数;
- 关于梯度函数 ∇ f ( ⋅ ) \nabla f(\cdot) ∇f(⋅)满足 L \mathcal L L-利普希兹连续;
- 在迭代过程中,步长 α k ( k = 1 , 2 , 3 , ⋯ ) \alpha_k(k=1,2,3,\cdots) αk(k=1,2,3,⋯)存在明确的约束范围: ( 0 , 2 L + m ) \begin{aligned}\left(0,\frac{2}{\mathcal L + m}\right)\end{aligned} (0,L+m2)
结论:数值解序列 { x k } k = 0 ∞ \{x_k\}_{k=0}^{\infty} {xk}k=0∞以 Q \mathcal Q Q-线性收敛的收敛速度收敛于最优数值解 x ∗ x^* x∗。
观察梯度下降法关于强凸函数的收敛性定理,可以发现:
- 相比于凸函数的收敛性定理,关于目标函数 f ( ⋅ ) f(\cdot) f(⋅)的要求更加严格: m m m-强凸函数。
- 关于 α k \alpha_k αk的约束条件更加严格: ( 0 , 1 L ) ⇒ ( 0 , 2 L + m ) , 2 L + m ≤ 1 L \begin{aligned} \left(0,\frac{1}{\mathcal L}\right) \Rightarrow \left(0,\frac{2}{\mathcal L + m}\right),\frac{2}{\mathcal L + m} \leq \frac{1}{\mathcal L}\end{aligned} (0,L1)⇒(0,L+m2),L+m2≤L1。
- 从结论的角度,其收敛速度级别高于相应凸函数的收敛速度级别。
经典牛顿法的收敛性分析
收敛性定理介绍
经典牛顿法收敛性定理的描述表示如下:
条件:
- 关于函数 f ( ⋅ ) f(\cdot) f(⋅)在其定义域内二阶连续可微;
这意味着
Hessian Matrix ⇒ ∇ 2 f ( ⋅ ) \text{Hessian Matrix} \Rightarrow \nabla^2 f(\cdot) Hessian Matrix⇒∇2f(⋅)不仅存在,并且函数
∇ 2 f ( ⋅ ) \nabla^2 f(\cdot) ∇2f(⋅)在定义域内同样连续。
个人关于
∇ 2 f ( ⋅ ) \nabla^2 f(\cdot) ∇2f(⋅)的误区更正:
∇ 2 f ( ⋅ ) \nabla^2 f(\cdot) ∇2f(⋅)自身是一个函数,关于某向量
x ∈ R n x \in \mathbb R^n x∈Rn的结果
[ ∇ 2 f ( x ) ] n × n [\nabla^2 f(x)]_{n \times n} [∇2f(x)]n×n是一个
Hessian Matrix \text{Hessian Matrix} Hessian Matrix矩阵。
- 关于二阶梯度函数 ∇ 2 f ( ⋅ ) \nabla^2 f(\cdot) ∇2f(⋅)在最优值 x ∗ x^* x∗的 N σ ( x ∗ ) \mathcal N_{\sigma}(x^*) Nσ(x∗)内满足 L \mathcal L L-利普希兹连续;
其中
N σ ( x ∗ ) \mathcal N_{\sigma}(x^*) Nσ(x∗)表示在最优值
x ∗ x^* x∗为中心的
σ \sigma σ邻域。如果
x ∗ x^* x∗是一维的,那么它的邻域可表示为
( x − σ , x + σ ) (x-\sigma,x+\sigma) (x−σ,x+σ)。相比于条件
1 1 1,条件
2 2 2使
∇ 2 f ( ⋅ ) \nabla^2 f(\cdot) ∇2f(⋅)在其定义域内连续的基础上,进一步增强了约束:
使最优值的邻域满足 L \mathcal L L-利普希兹连续。关于
连续、一致连续、 L \mathcal L L-利普希兹连续的强度差异,详见
传送门
- 关于梯度函数在 x ∗ x^* x∗处的结果 ∇ f ( x ∗ ) = 0 \nabla f(x^*) = 0 ∇f(x∗)=0,并且对应二阶梯度在 x ∗ x^* x∗的结果 ∇ 2 f ( ⋅ ) ≻ 0 \nabla^2 f(\cdot) \succ 0 ∇2f(⋅)≻0;
该条件是条件
x ∗ x^* x∗是函数 f ( ⋅ ) f(\cdot) f(⋅)极小值点的充分不必要条件。
个人理解 -> 单看这一个条件,我们需要警惕的是:这里
并没有说 f ( ⋅ ) f(\cdot) f(⋅)是一个凸函数/ m m m-强凸函数,它可能仅是一个普通的复杂函数。因而该条件仅能确定
x ∗ x^* x∗是
f ( ⋅ ) f(\cdot) f(⋅)极小值点中的某一个。
结论:
若 x 0 x_0 x0与 x ∗ x^* x∗足够近,那么数值解序列 { x k } k = 0 ∞ \{x_k\}_{k=0}^{\infty} {xk}k=0∞以 Q \mathcal Q Q-二次收敛的收敛速度收敛于最优数值解 x ∗ x^* x∗。
这里本质上说的是
x 0 x_0 x0,但实际上该结论要求
数值解序列 { x k } k = 0 ∞ \{x_k\}_{k=0}^{\infty} {xk}k=0∞中的所有点都要离 x ∗ x^* x∗足够近。因为
x 0 x_0 x0是随机初始化的结果,如果
x 0 x_0 x0离
x ∗ x^* x∗足够近,那么其他迭代点
x 1 , x 2 , ⋯ x_1,x_2,\cdots x1,x2,⋯必然只会离
x ∗ x^* x∗足够近。
根据
Q \mathcal Q Q-二次收敛的定义,需要满足:
∣ ∣ x k + 1 − x ∗ ∣ ∣ ∣ ∣ x k − x ∗ ∣ ∣ 2 ≤ C ∈ ( 0 , + ∞ ) \begin{aligned} \frac{||x_{k+1} - x^*||}{||x_k - x^*||^2} \leq \mathcal C \in (0, + \infty) \end{aligned} ∣∣xk−x∗∣∣2∣∣xk+1−x∗∣∣≤C∈(0,+∞)
证明过程
首先观察分子: ∣ ∣ x k + 1 − x ∗ ∣ ∣ ||x_{k+1} - x^*|| ∣∣xk+1−x∗∣∣,关于 x k + 1 x_{k+1} xk+1,在经典牛顿法中,它的步长 α k = 1 \alpha_k = 1 αk=1;假设在 x k x_k xk点处的 Hessian Matrix ⇒ ∇ 2 f ( x k ) \text{Hessian Matrix} \Rightarrow \nabla^2 f(x_k) Hessian Matrix⇒∇2f(xk)是正定的,根据牛顿方程,当前迭代步骤的最优方向 P k \mathcal P_k Pk表示为:
实际上,整个迭代过程,每个步骤产生的
x k x_k xk对应的
∇ 2 f ( x k ) \nabla^2 f(x_k) ∇2f(xk)都被认为是正定的。
{ x k + 1 = x k + 1 ⋅ P k P k = − [ ∇ 2 f ( x k ) ] − 1 ∇ f ( x k ) \begin{cases} x_{k+1} = x_k + 1 \cdot \mathcal P_k \\ \mathcal P_k = -[\nabla^2 f(x_k)]^{-1} \nabla f(x_k) \end{cases} {xk+1=xk+1⋅PkPk=−[∇2f(xk)]−1∇f(xk)
那么最终分子部分可表示为:
将
[ ∇ 2 f ( x k ) ] [\nabla^2 f(x_k)] [∇2f(xk)]提出来,由于
x k + 1 , x ∗ x_{k+1},x^* xk+1,x∗的系数都是
单位矩阵 I \mathcal I I,因此根据
I = [ ∇ 2 f ( x k ) ] − 1 [ ∇ 2 f ( x k ) ] \mathcal I = [\nabla^2 f(x_k)]^{-1} [\nabla^2 f(x_k)] I=[∇2f(xk)]−1[∇2f(xk)],从而提出公因式
[ ∇ 2 f ( x k ) ] − 1 [\nabla^2 f(x_k)]^{-1} [∇2f(xk)]−1。为了与
( x k − x ∗ ) (x_k - x^*) (xk−x∗)的格式匹配,并且根据条件:
∇ f ( x ∗ ) = 0 \nabla f(x^*) = 0 ∇f(x∗)=0,因此在末尾添加一个
∇ f ( x ∗ ) \nabla f(x^*) ∇f(x∗)并不影响等号的变化。
∥ x k + 1 − x ∗ ∥ = ∥ x k − [ ∇ 2 f ( x k ) ] − 1 ∇ f ( x k ) − x ∗ ∥ = ∥ [ ∇ 2 f ( x k ) ] − 1 [ ∇ 2 f ( x k ) ] x k ⏟ x k − [ ∇ 2 f ( x k ) ] − 1 ∇ f ( x k ) − [ ∇ 2 f ( x k ) ] − 1 [ ∇ 2 f ( x k ) ] x ∗ ⏟ x ∗ ∥ = ∥ [ ∇ 2 f ( x k ) ] − 1 [ ∇ 2 f ( x k ) ⋅ ( x k − x ∗ ) − ∇ f ( x k ) ] ∥ = ∥ [ ∇ 2 f ( x k ) ] − 1 [ ∇ 2 f ( x k ) ⋅ ( x k − x ∗ ) − ( ∇ f ( x k ) − ∇ f ( x ∗ ) ⏟ ∇ f ( x k ) ; ∇ f ( x ∗ ) = 0 ) ] ∥ \begin{aligned} \|x_{k+1} - x^*\| & = \left\|x_k - [\nabla^2 f(x_k)]^{-1} \nabla f(x_k) - x^* \right\| \\ & = \left\Vert\underbrace{[\nabla^2 f(x_k)]^{-1} [\nabla^2 f(x_k)] x_k}_{x_k} - [\nabla^2 f(x_k)]^{-1} \nabla f(x_k) - \underbrace{[\nabla^2 f(x_k)]^{-1} [\nabla^2 f(x_k)] x^*}_{x^*}\right\Vert \\ & = \left\|[\nabla^2 f(x_k)]^{-1} \left[\nabla^2 f(x_k) \cdot (x_k - x^*) - \nabla f(x_k)\right]\right\| \\ & = \left\|[\nabla^2 f(x_k)]^{-1} \left[\nabla^2 f(x_k) \cdot (x_k - x^*) - (\underbrace{\nabla f(x_k) - \nabla f(x^*)}_{\nabla f(x_k);\nabla f(x^*) = 0})\right]\right\| \end{aligned} ∥xk+1−x∗∥= xk−[∇2f(xk)]−1∇f(xk)−x∗ = xk [∇2f(xk)]−1[∇2f(xk)]xk−[∇2f(xk)]−1∇f(xk)−x∗ [∇2f(xk)]−1[∇2f(xk)]x∗ = [∇2f(xk)]−1[∇2f(xk)⋅(xk−x∗)−∇f(xk)] = [∇2f(xk)]−1 ∇2f(xk)⋅(xk−x∗)−(∇f(xk);∇f(x∗)=0 ∇f(xk)−∇f(x∗))
观察项: ∇ f ( x k ) − ∇ f ( x ∗ ) \nabla f(x_k) - \nabla f(x^*) ∇f(xk)−∇f(x∗),它本质上是:函数一阶梯度 ∇ f ( ⋅ ) \nabla f(\cdot) ∇f(⋅)在 x k , x ∗ x_k,x^* xk,x∗两点处的差值。而条件大多在二阶梯度上存在约束性。因此,这里通过技巧将 ∇ f ( x k ) − ∇ f ( x ∗ ) \nabla f(x_k) - \nabla f(x^*) ∇f(xk)−∇f(x∗)进行转化:
- 对于 ∀ x , y ∈ R n \forall x,y \in \mathbb R^n ∀x,y∈Rn,可以令 λ ∈ [ 0 , 1 ] \lambda \in [0,1] λ∈[0,1],将 ∇ f ( y ) − ∇ f ( x ) \nabla f(y) - \nabla f(x) ∇f(y)−∇f(x)转化成如下形式:
当
λ = 0 \lambda=0 λ=0时,
x + λ ⋅ ( y − x ) = x ; x + \lambda \cdot (y - x) = x; x+λ⋅(y−x)=x;同理,当
λ = 1 \lambda=1 λ=1时,
x + λ ⋅ ( y − x ) = y x + \lambda \cdot (y - x) = y x+λ⋅(y−x)=y。将最终结果表示成
二阶梯度的定积分形式。
∇ f ( y ) − ∇ f ( x ) = ∇ f [ x + λ ⋅ ( y − x ) ] ∣ λ = 0 1 = ∫ 0 1 ∇ 2 f [ x + λ ⋅ ( y − x ) ] ⋅ ( y − x ) d λ \begin{aligned} \nabla f(y) - \nabla f(x) & = \nabla f[x + \lambda \cdot (y - x)] \vert_{\lambda = 0}^1 \\ & = \int_{0}^1 \nabla^2 f[x + \lambda \cdot (y - x)] \cdot (y - x) d \lambda \end{aligned} ∇f(y)−∇f(x)=∇f[x+λ⋅(y−x)]∣λ=01=∫01∇2f[x+λ⋅(y−x)]⋅(y−x)dλ
- 令上例中 y = x ∗ , x = x k y = x^*,x = x_k y=x∗,x=xk,从而有:
∇ f ( x k ) − ∇ f ( x ∗ ) = ∫ 0 1 ∇ 2 f [ x k + λ ⋅ ( x ∗ − x k ) ] ⋅ ( x k − x ∗ ) d λ \nabla f(x_k) - \nabla f(x^*) = \int_{0}^1 \nabla^2 f[x_k + \lambda \cdot (x^* -x_k)] \cdot(x_k - x^*) d\lambda ∇f(xk)−∇f(x∗)=∫01∇2f[xk+λ⋅(x∗−xk)]⋅(xk−x∗)dλ
基于此,上述分子部分 ∥ x k + 1 − x ∗ ∥ \|x_{k+1} - x^*\| ∥xk+1−x∗∥可继续整理为:
由于项
∇ 2 f ( x k ) ⋅ ( x k − x ∗ ) \nabla^2 f(x_k) \cdot (x_k - x^*) ∇2f(xk)⋅(xk−x∗)中不含
λ \lambda λ,可以将这一项继续改写成积分形式,从而进行合并。
在合并过程中,提出
x k − x ∗ x_k - x^* xk−x∗。
∥ x k + 1 − x ∗ ∥ = ∥ [ ∇ 2 f ( x k ) ] − 1 ⋅ [ ∇ 2 f ( x k ) ⋅ ( x k − x ∗ ) − ∫ 0 1 ∇ 2 f [ x k + λ ⋅ ( x ∗ − x k ) ] ( x k − x ∗ ) d λ ] ∥ = ∥ [ ∇ 2 f ( x k ) ] − 1 ⋅ [ ∫ 0 1 ∇ 2 f ( x k ) ⋅ ( x k − x ∗ ) d λ ⏟ ∇ 2 f ( x k ) ⋅ ( x k − x ∗ ) − ∫ 0 1 ∇ 2 f [ x k + λ ⋅ ( x ∗ − x k ) ] ( x k − x ∗ ) d λ ] ∥ = ∥ [ ∇ 2 f ( x k ) ] − 1 ⋅ [ ∫ 0 1 ( x k − x ∗ ) ⋅ [ ∇ 2 f ( x k ) − ∇ 2 f [ x k + λ ⋅ ( x ∗ − x k ) ] ] d λ ] ∥ \begin{aligned} \|x_{k+1} - x^*\| & = \left\| [\nabla^2 f(x_k)]^{-1} \cdot \left[ \nabla^2 f(x_k) \cdot (x_k - x^*) - \int_{0}^1 \nabla^2 f[x_k + \lambda \cdot (x^* - x_k)](x_k - x^*) d\lambda \right] \right\| \\ & = \left\| [\nabla^2 f(x_k)]^{-1} \cdot \left[\underbrace{\int_0^1\nabla^2 f(x_k) \cdot (x_k - x^*) d \lambda}_{\nabla^2 f(x_k) \cdot (x_k - x^*)} - \int_{0}^1 \nabla^2 f[x_k + \lambda \cdot (x^* - x_k)](x_k - x^*) d\lambda \right] \right\| \\ & = \left\|[\nabla^2 f(x_k)]^{-1} \cdot \left[\int_0^1 (x_k - x^*) \cdot \left[\nabla^2 f(x_k) - \nabla^2 f[x_k + \lambda \cdot (x^* - x_k)] \right] d \lambda \right] \right\| \end{aligned} ∥xk+1−x∗∥= [∇2f(xk)]−1⋅[∇2f(xk)⋅(xk−x∗)−∫01∇2f[xk+λ⋅(x∗−xk)](xk−x∗)dλ] = [∇2f(xk)]−1⋅ ∇2f(xk)⋅(xk−x∗) ∫01∇2f(xk)⋅(xk−x∗)dλ−∫01∇2f[xk+λ⋅(x∗−xk)](xk−x∗)dλ = [∇2f(xk)]−1⋅[∫01(xk−x∗)⋅[∇2f(xk)−∇2f[xk+λ⋅(x∗−xk)]]dλ]
接下来,根据柯西施瓦茨不等式与积分的范数小于等于范数的积分两种方式对上式进行放缩:
关于
积分的范数小于范数的积分的证明过程,这里推荐一篇文章,链接见文章末尾。
∥ x k + 1 − x ∗ ∥ = ∥ [ ∇ 2 f ( x k ) ] − 1 ⋅ [ ∫ 0 1 ( x k − x ∗ ) ⋅ [ ∇ 2 f ( x k ) − ∇ 2 f [ x k + λ ⋅ ( x ∗ − x k ) ] ] d λ ] ∥ ≤ ∥ ∇ 2 f ( x k ) ] − 1 ∥ ⋅ ∥ ∫ 0 1 ( x k − x ∗ ) ⋅ [ ∇ 2 f ( x k ) − ∇ 2 f [ x k + λ ⋅ ( x ∗ − x k ) ] ] d λ ∥ ≤ ∥ ∇ 2 f ( x k ) ] − 1 ∥ ⋅ ∫ 0 1 ∥ ( x k − x ∗ ) ⋅ [ ∇ 2 f ( x k ) − ∇ 2 f [ x k + λ ⋅ ( x ∗ − x k ) ] ] ∥ d λ ≤ ∥ ∇ 2 f ( x k ) ] − 1 ∥ ⋅ ∫ 0 1 ∥ x k − x ∗ ∥ ⋅ ∥ ∇ 2 f ( x k ) − ∇ 2 f [ x k + λ ⋅ ( x ∗ − x k ) ] ∥ d λ \begin{aligned} \|x_{k+1} - x^*\| & = \left\|[\nabla^2 f(x_k)]^{-1} \cdot \left[\int_0^1 (x_k - x^*) \cdot \left[\nabla^2 f(x_k) - \nabla^2 f[x_k + \lambda \cdot (x^* - x_k)] \right] d \lambda \right] \right\| \\ & \leq \left\|\nabla^2 f(x_k)]^{-1} \right\| \cdot \left\| \int_0^1 (x_k - x^*) \cdot \left[\nabla^2 f(x_k) - \nabla^2 f[x_k + \lambda \cdot (x^* - x_k)] \right] d \lambda\right\| \\ & \leq \left\|\nabla^2 f(x_k)]^{-1} \right\| \cdot \int_0^1 \left\|(x_k - x^*) \cdot \left[\nabla^2 f(x_k) - \nabla^2 f[x_k + \lambda \cdot (x^* - x_k)] \right] \right\| d\lambda \\ & \leq \left\|\nabla^2 f(x_k)]^{-1} \right\| \cdot \int_0^1 \left\|x_k - x^*\right\| \cdot \left\| \nabla^2 f(x_k) - \nabla^2 f[x_k + \lambda \cdot (x^* - x_k)] \right\| d\lambda \end{aligned} ∥xk+1−x∗∥= [∇2f(xk)]−1⋅[∫01(xk−x∗)⋅[∇2f(xk)−∇2f[xk+λ⋅(x∗−xk)]]dλ] ≤ ∇2f(xk)]−1 ⋅ ∫01(xk−x∗)⋅[∇2f(xk)−∇2f[xk+λ⋅(x∗−xk)]]dλ ≤ ∇2f(xk)]−1 ⋅∫01 (xk−x∗)⋅[∇2f(xk)−∇2f[xk+λ⋅(x∗−xk)]] dλ≤ ∇2f(xk)]−1 ⋅∫01∥xk−x∗∥⋅ ∇2f(xk)−∇2f[xk+λ⋅(x∗−xk)] dλ
观察上式中积分号第二项: ∥ ∇ 2 f ( x k ) − ∇ 2 f [ x k + λ ⋅ ( x ∗ − x k ) ] ∥ \left\| \nabla^2 f(x_k) - \nabla^2 f[x_k + \lambda \cdot (x^* - x_k)] \right\| ∇2f(xk)−∇2f[xk+λ⋅(x∗−xk)] ,它明显是一个二阶梯度减法的范数形式。根据条件: ∇ 2 f ( ⋅ ) \nabla^2 f(\cdot) ∇2f(⋅)在 x ∗ x^* x∗的 σ \sigma σ邻域 N σ ( x ∗ ) \mathcal N_{\sigma}(x^*) Nσ(x∗)内满足 L \mathcal L L-利普希兹连续,将该项继续进行放缩:
它实际上描述的是点
x k x_k xk与
x k , x ∗ x_k,x^* xk,x∗之间某一点
x k + λ ⋅ ( x ∗ − x k ) x_k + \lambda \cdot (x^* - x_k) xk+λ⋅(x∗−xk),两者的二阶梯度减法的范数。根据结论中描述的:
如果 x 0 x_0 x0与 x ∗ x^* x∗足够接近,那么 x k x_k xk必然与 x ∗ x^* x∗足够接近,从而 x k + λ ⋅ ( x ∗ − x k ) x_k + \lambda \cdot (x^* - x_k) xk+λ⋅(x∗−xk)同样距离 x ∗ x^* x∗足够接近。那么利普希兹连续的条件自然就满足了。
在本步骤中所描述的接近自然是指:
∣ ∣ x k − x ∗ ∣ ∣ ≤ σ ||x_k - x^*|| \leq \sigma ∣∣xk−x∗∣∣≤σ。关于
∥ x k − x ∗ ∥ = ∥ x ∗ − x k ∥ \left\|x_k - x^*\right\| = \left\|x^* - x_k\right\| ∥xk−x∗∥=∥x∗−xk∥,掉换一下位置并不影响范数的结果。并且
λ ∈ ( 0 , 1 ) \lambda \in (0,1) λ∈(0,1),将其提到范数外面。
{ ∥ ∇ 2 f ( x k ) − ∇ 2 f [ x k + λ ⋅ ( x ∗ − x k ) ] ∥ ≤ L ∥ [ x k + λ ( x ∗ − x k ) ] − x k ∥ = L ∣ ∣ λ ⋅ ( x ∗ − x k ) ∣ ∣ = L ⋅ λ ∥ x k − x ∗ ∥ ∥ x k + 1 − x ∗ ∥ ≤ ∥ ∇ 2 f ( x k ) ] − 1 ∥ ⋅ ∫ 0 1 ∥ x k − x ∗ ∥ ⋅ L ⋅ λ ∥ x k − x ∗ ∥ d λ = ∥ ∇ 2 f ( x k ) ] − 1 ∥ ⋅ ∥ x k − x ∗ ∥ 2 ⋅ L ∫ 0 1 λ d λ = ∥ ∇ 2 f ( x k ) ] − 1 ∥ ⋅ ∥ x k − x ∗ ∥ 2 ⋅ L 2 \begin{cases} \begin{aligned} \left\| \nabla^2 f(x_k) - \nabla^2 f[x_k + \lambda \cdot (x^* - x_k)] \right\| & \leq \mathcal L \left\|[x_k + \lambda (x^* - x_k)] - x_k\right\| \\ & = \mathcal L ||\lambda \cdot (x^* - x_k)|| \\ & = \mathcal L \cdot \lambda \left\|x_k - x^*\right\| \\ \|x_{k+1} - x^*\| & \leq \left\|\nabla^2 f(x_k)]^{-1} \right\| \cdot \int_0^1 \left\|x_k - x^*\right\| \cdot \mathcal L \cdot \lambda \left\|x_k - x^*\right\| d\lambda \\ & = \left\|\nabla^2 f(x_k)]^{-1} \right\| \cdot \left\|x_k - x^*\right\|^2 \cdot \mathcal L \int_0^1 \lambda d\lambda \\ & = \left\|\nabla^2 f(x_k)]^{-1} \right\| \cdot \left\|x_k - x^*\right\|^2 \cdot \frac{\mathcal L}{2} \end{aligned} \end{cases} ⎩ ⎨ ⎧ ∇2f(xk)−∇2f[xk+λ⋅(x∗−xk)] ∥xk+1−x∗∥≤L∥[xk+λ(x∗−xk)]−xk∥=L∣∣λ⋅(x∗−xk)∣∣=L⋅λ∥xk−x∗∥≤ ∇2f(xk)]−1 ⋅∫01∥xk−x∗∥⋅L⋅λ∥xk−x∗∥dλ= ∇2f(xk)]−1 ⋅∥xk−x∗∥2⋅L∫01λdλ= ∇2f(xk)]−1 ⋅∥xk−x∗∥2⋅2L
至此,我们已经归纳出 ∥ x k + 1 − x ∗ ∥ \|x_{k+1} - x^*\| ∥xk+1−x∗∥与 ∥ x k − x ∗ ∥ 2 \left\|x_k - x^*\right\|^2 ∥xk−x∗∥2之间的关系。只需要证明:它们的比值 ≤ C ∈ ( 0 , + ∞ ) \leq \mathcal C \in (0,+\infty) ≤C∈(0,+∞)即可。但项中 ∥ [ ∇ 2 f ( x k ) ] − 1 ∥ \left\|[\nabla^2 f(x_k)]^{-1}\right\| [∇2f(xk)]−1 是与 x k x_k xk相关的量,它并不是常数。因此需要借助条件,将其放缩到某常数。
由于函数 f ( ⋅ ) f(\cdot) f(⋅)在其定义域二阶连续可微,那么二阶梯度函数 ∇ 2 f ( ⋅ ) \nabla^2 f(\cdot) ∇2f(⋅)在该定义域上连续。根据连续的定义,有: ∀ ϵ > 0 , ∃ γ > 0 \forall \epsilon > 0,\exist \gamma > 0 ∀ϵ>0,∃γ>0,当 ∥ x k − x ∗ ∥ ≤ γ \left\|x_k - x^*\right\| \leq \gamma ∥xk−x∗∥≤γ时, ∣ ∥ ∇ 2 f ( x k ) ∥ − ∥ ∇ 2 f ( x ∗ ) ∥ ∣ ≤ ϵ \left\vert \|\nabla^2 f(x_k)\| - \|\nabla^2 f(x^*)\| \right\vert \leq \epsilon ∥∇2f(xk)∥−∥∇2f(x∗)∥ ≤ϵ
去掉绝对值符号,关于范数 ∥ ∇ 2 f ( x k ) ∥ \|\nabla^2 f(x_k)\| ∥∇2f(xk)∥的范围可表示为:
∥ ∇ 2 f ( x ∗ ) ∥ − ϵ ≤ ∥ ∇ 2 f ( x k ) ∥ ≤ ∥ ∇ 2 f ( x ∗ ) ∥ + ϵ \|\nabla^2 f(x^*)\| - \epsilon \leq\|\nabla^2 f(x_k)\| \leq \|\nabla^2 f(x^*)\| + \epsilon ∥∇2f(x∗)∥−ϵ≤∥∇2f(xk)∥≤∥∇2f(x∗)∥+ϵ
由于 ϵ \epsilon ϵ可以在 ( 0 , + ∞ ) (0,+\infty) (0,+∞)内任意取值,因而不妨令 ϵ = 1 2 ∣ ∣ ∇ 2 f ( x ∗ ) ∣ ∣ \begin{aligned}\epsilon = \frac{1}{2}||\nabla^2 f(x^*)||\end{aligned} ϵ=21∣∣∇2f(x∗)∣∣,从而有:
这里之所以设置系数
1 2 \begin{aligned}\frac{1}{2}\end{aligned} 21,目的是消除原式中
L 2 \begin{aligned}\frac{\mathcal L}{2}\end{aligned} 2L内的
1 2 \begin{aligned}\frac{1}{2}\end{aligned} 21。
∣ ∣ ∇ 2 f ( x k ) ∣ ∣ ≥ 1 2 ∣ ∣ ∇ 2 f ( x ∗ ) ∣ ∣ ||\nabla^2 f(x_k)|| \geq \frac{1}{2}||\nabla^2 f(x^*)|| ∣∣∇2f(xk)∣∣≥21∣∣∇2f(x∗)∣∣
由于 x ∗ x^* x∗是目标函数的最优解,它是一个不发生变化的常量,因此 1 2 ∣ ∣ ∇ 2 f ( x ∗ ) ∣ ∣ \begin{aligned}\frac{1}{2}||\nabla^2 f(x^*)||\end{aligned} 21∣∣∇2f(x∗)∣∣也同样是一个常量。因此,有:
∥ [ ∇ 2 f ( x k ) ] − 1 ∥ = 1 ∥ [ ∇ 2 f ( x k ) ] ∥ ≤ 2 ⋅ 1 ∣ ∣ ∇ 2 f ( x ∗ ) ∣ ∣ \left\|[\nabla^2 f(x_k)]^{-1}\right\| = \frac{1}{\left\|[\nabla^2 f(x_k)]\right\|} \leq 2 \cdot \frac{1}{||\nabla^2 f(x^*)||} [∇2f(xk)]−1 =∥[∇2f(xk)]∥1≤2⋅∣∣∇2f(x∗)∣∣1
回归原式,有:
∥ x k + 1 − x ∗ ∥ ≤ ∥ ∇ 2 f ( x k ) ] − 1 ∥ ⋅ ∥ x k − x ∗ ∥ 2 ⋅ L 2 ≤ 2 ⋅ 1 ∣ ∣ ∇ 2 f ( x ∗ ) ∣ ∣ ⋅ ∣ ∣ x k − x ∗ ∣ ∣ 2 ⋅ L 2 = ∣ ∣ x k − x ∗ ∣ ∣ 2 ⋅ L ⋅ 1 ∣ ∣ ∇ 2 f ( x ∗ ) ∣ ∣ \begin{aligned}\|x_{k+1} - x^*\| & \leq \left\|\nabla^2 f(x_k)]^{-1} \right\| \cdot \left\|x_k - x^*\right\|^2 \cdot \frac{\mathcal L}{2} \\ & \leq 2 \cdot \frac{1}{||\nabla^2 f(x^*)||} \cdot ||x_k - x^*||^2 \cdot \frac{\mathcal L}{2} \\ & = ||x_k - x^*||^2 \cdot \mathcal L \cdot \frac{1}{||\nabla^2 f(x^*)||} \end{aligned} ∥xk+1−x∗∥≤ ∇2f(xk)]−1 ⋅∥xk−x∗∥2⋅2L≤2⋅∣∣∇2f(x∗)∣∣1⋅∣∣xk−x∗∣∣2⋅2L=∣∣xk−x∗∣∣2⋅L⋅∣∣∇2f(x∗)∣∣1
最终,有:
∣ ∣ x k + 1 − x ∗ ∣ ∣ ∣ ∣ x k − x ∗ ∣ ∣ 2 ≤ L ∣ ∣ ∇ 2 f ( x ∗ ) ∣ ∣ ∈ ( 0 , + ∞ ) \frac{||x_{k+1} - x^*||}{||x_k - x^*||^2} \leq \frac{\mathcal L}{||\nabla^2 f(x^*)||} \in (0,+\infty) ∣∣xk−x∗∣∣2∣∣xk+1−x∗∣∣≤∣∣∇2f(x∗)∣∣L∈(0,+∞)
得证。
关于隐含条件的说明
在上述证明过程中,我们令 ϵ = 1 2 ∣ ∣ ∇ 2 f ( x ∗ ) ∣ ∣ \begin{aligned}\epsilon = \frac{1}{2}||\nabla^2 f(x^*)||\end{aligned} ϵ=21∣∣∇2f(x∗)∣∣,但真的可以这样取吗 ? ? ?换句话说:之所以可以这样取,是因为条件中存在隐含的嵌套条件,支持我们这样去取值:
观察条件 1 1 1:函数 f ( ⋅ ) f(\cdot) f(⋅)在定义域内二阶连续可微,可以知道 ∇ 2 f ( ⋅ ) \nabla^2 f(\cdot) ∇2f(⋅)在定义域内连续;
但又因为条件 2 2 2,使得: ∇ 2 f ( ⋅ ) \nabla^2 f(\cdot) ∇2f(⋅)在 x ∗ x^* x∗的邻域 N σ ( x ∗ ) \mathcal N_{\sigma}(x^*) Nσ(x∗)内不仅连续,而且还是更强的 L \mathcal L L-利普希兹连续;
根据 L \mathcal L L-利普希兹连续与向量模的减法公式,可以得到如下的大小关系:
∣ ∥ ∇ 2 f ( x k ) ∥ − ∥ ∇ 2 f ( x ∗ ) ∥ ∣ ≤ ∥ ∇ 2 f ( x k ) − ∇ 2 f ( x ∗ ) ∥ ≤ L ⋅ ∥ x k − x ∗ ∥ \left\vert \|\nabla^2 f(x_k)\| - \|\nabla^2 f(x^*)\| \right\vert \leq \|\nabla^2 f(x_k) - \nabla^2 f(x^*)\| \leq \mathcal L \cdot \|x_k - x^*\| ∥∇2f(xk)∥−∥∇2f(x∗)∥ ≤∥∇2f(xk)−∇2f(x∗)∥≤L⋅∥xk−x∗∥
因此,我们选择的用于约束 ∣ ∥ ∇ 2 f ( x k ) ∥ − ∥ ∇ 2 f ( x ∗ ) ∥ ∣ ≤ ϵ \left\vert \|\nabla^2 f(x_k)\| - \|\nabla^2 f(x^*)\| \right\vert \leq \epsilon ∥∇2f(xk)∥−∥∇2f(x∗)∥ ≤ϵ的 ϵ \epsilon ϵ结果绝对不能比 L ⋅ ∥ x k − x ∗ ∥ \mathcal L \cdot \|x_k - x^*\| L⋅∥xk−x∗∥小。即要满足:
如果出现
ϵ < L ⋅ ∥ x k − x ∗ ∥ \epsilon < \mathcal L \cdot \|x_k - x^*\| ϵ<L⋅∥xk−x∗∥,那么意味着邻域范围
N σ ( x ∗ ) \mathcal N_{\sigma}(x^*) Nσ(x∗)内
并不都是 L \mathcal L L-利普希兹连续,从而条件
2 2 2不成立。
∣ ∥ ∇ 2 f ( x k ) ∥ − ∥ ∇ 2 f ( x ∗ ) ∥ ∣ ≤ ∥ ∇ 2 f ( x k ) − ∇ 2 f ( x ∗ ) ∥ ≤ L ⋅ ∥ x k − x ∗ ∥ ≤ ϵ \left\vert \|\nabla^2 f(x_k)\| - \|\nabla^2 f(x^*)\| \right\vert \leq \|\nabla^2 f(x_k) - \nabla^2 f(x^*)\| \leq \mathcal L \cdot \|x_k - x^*\| \leq \epsilon ∥∇2f(xk)∥−∥∇2f(x∗)∥ ≤∥∇2f(xk)−∇2f(x∗)∥≤L⋅∥xk−x∗∥≤ϵ
因此, ϵ \epsilon ϵ的选择应当满足:
L ⋅ ∥ x k − x ∗ ∥ ≤ ϵ = 1 2 ∥ ∇ 2 f ( x ∗ ) ∥ \mathcal L \cdot \|x_k - x^*\| \leq \epsilon = \frac{1}{2}\|\nabla^2 f(x^*)\| L⋅∥xk−x∗∥≤ϵ=21∥∇2f(x∗)∥
即:
∥ x k − x ∗ ∥ ≤ ∥ ∇ 2 f ( x ∗ ) ∥ 2 L \|x_k - x^*\| \leq \frac{\|\nabla^2 f(x^*)\|}{2\mathcal L} ∥xk−x∗∥≤2L∥∇2f(x∗)∥
因此,在迭代过程中,只有同时满足条件以及隐藏条件:
∥ x k − x ∗ ∥ = min { σ , γ , ∣ ∣ ∇ 2 f ( x ∗ ) ∣ ∣ 2 L } \|x_k - x^*\| = \min \left\{\sigma,\gamma,\frac{||\nabla^2 f(x^*)||}{2\mathcal L} \right\} ∥xk−x∗∥=min{σ,γ,2L∣∣∇2f(x∗)∣∣}
才能够证明数值解序列 { x k } k = 0 ∞ Q \{x_k\}_{k=0}^{\infty} \mathcal Q {xk}k=0∞Q-二次收敛于最优数值解 x ∗ x^* x∗。
相关参考:
【优化算法】经典牛顿法-收敛性分析
复变函数中为什么积分的模小于等于模的积分?