机器学习笔记之优化算法(十九)经典牛顿法的收敛性分析

机器学习笔记之优化算法——经典牛顿法的收敛性分析

  • 引言
    • 回顾:算法的收敛性分析
    • 经典牛顿法的收敛性分析
      • 收敛性定理介绍
      • 证明过程
      • 关于隐含条件的说明

引言

上一节整体介绍了经典牛顿法,并讨论了其更新方向 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)]TPkC2[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)=Ck1收敛类型 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)]TPkC2[f(xk)]TPk(斜率大于绿色点的横坐标范围)
    Wolfe准则关于步长的约束范围
    由于 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+m2L1
  • 结论的角度,其收敛速度级别高于相应凸函数的收敛速度级别

经典牛顿法的收敛性分析

收敛性定理介绍

经典牛顿法收敛性定理的描述表示如下:

条件:

  • 关于函数 f ( ⋅ ) f(\cdot) f()在其定义域内二阶连续可微
    • 这意味着 Hessian Matrix ⇒ ∇ 2 f ( ⋅ ) \text{Hessian Matrix} \Rightarrow \nabla^2 f(\cdot) Hessian Matrix2f()不仅存在,并且函数 ∇ 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 xRn的结果 [ ∇ 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} ∣∣xkx2∣∣xk+1x∣∣C(0,+)

证明过程

首先观察分子 ∣ ∣ x k + 1 − x ∗ ∣ ∣ ||x_{k+1} - x^*|| ∣∣xk+1x∣∣,关于 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 Matrix2f(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+1PkPk=[2f(xk)]1f(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^*) (xkx)的格式匹配,并且根据条件: ∇ 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+1x= xk[2f(xk)]1f(xk)x = xk [2f(xk)]1[2f(xk)]xk[2f(xk)]1f(xk)x [2f(xk)]1[2f(xk)]x = [2f(xk)]1[2f(xk)(xkx)f(xk)] = [2f(xk)]1 2f(xk)(xkx)(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,yRn,可以令 λ ∈ [ 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+λ(yx)=x;同理,当 λ = 1 \lambda=1 λ=1时, x + λ ⋅ ( y − x ) = y x + \lambda \cdot (y - x) = y x+λ(yx)=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+λ(yx)]λ=01=012f[x+λ(yx)](yx)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)=012f[xk+λ(xxk)](xkx)dλ

基于此,上述分子部分 ∥ x k + 1 − x ∗ ∥ \|x_{k+1} - x^*\| xk+1x可继续整理为:

  • 由于项 ∇ 2 f ( x k ) ⋅ ( x k − x ∗ ) \nabla^2 f(x_k) \cdot (x_k - x^*) 2f(xk)(xkx)中不含 λ \lambda λ,可以将这一项继续改写成积分形式,从而进行合并。
  • 在合并过程中,提出 x k − x ∗ x_k - x^* xkx
    ∥ 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+1x= [2f(xk)]1[2f(xk)(xkx)012f[xk+λ(xxk)](xkx)dλ] = [2f(xk)]1 2f(xk)(xkx) 012f(xk)(xkx)dλ012f[xk+λ(xxk)](xkx)dλ = [2f(xk)]1[01(xkx)[2f(xk)2f[xk+λ(xxk)]]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+1x= [2f(xk)]1[01(xkx)[2f(xk)2f[xk+λ(xxk)]]dλ] 2f(xk)]1 01(xkx)[2f(xk)2f[xk+λ(xxk)]]dλ 2f(xk)]1 01 (xkx)[2f(xk)2f[xk+λ(xxk)]] dλ 2f(xk)]1 01xkx 2f(xk)2f[xk+λ(xxk)] 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+λ(xxk)] 它明显是一个二阶梯度减法的范数形式。根据条件: ∇ 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+λ(xxk),两者的二阶梯度减法的范数。根据结论中描述的:如果 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+λ(xxk)同样距离 x ∗ x^* x足够接近。那么利普希兹连续的条件自然就满足了。
  • 在本步骤中所描述的接近自然是指: ∣ ∣ x k − x ∗ ∣ ∣ ≤ σ ||x_k - x^*|| \leq \sigma ∣∣xkx∣∣σ
  • 关于 ∥ x k − x ∗ ∥ = ∥ x ∗ − x k ∥ \left\|x_k - x^*\right\| = \left\|x^* - x_k\right\| xkx=xxk,掉换一下位置并不影响范数的结果。并且 λ ∈ ( 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+λ(xxk)] xk+1xL[xk+λ(xxk)]xk=L∣∣λ(xxk)∣∣=Lλxkx 2f(xk)]1 01xkxLλxkxdλ= 2f(xk)]1 xkx2L01λdλ= 2f(xk)]1 xkx22L

至此,我们已经归纳出 ∥ x k + 1 − x ∗ ∥ \|x_{k+1} - x^*\| xk+1x ∥ x k − x ∗ ∥ 2 \left\|x_k - x^*\right\|^2 xkx2之间的关系。只需要证明:它们的比值 ≤ 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 xkxγ时, ∣ ∥ ∇ 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)]12∣∣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+1x 2f(xk)]1 xkx22L2∣∣2f(x)∣∣1∣∣xkx22L=∣∣xkx2L∣∣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) ∣∣xkx2∣∣xk+1x∣∣∣∣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)Lxkx

因此,我们选择的用于约束 ∣ ∥ ∇ 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^*\| Lxkx。即要满足:
如果出现 ϵ < L ⋅ ∥ x k − x ∗ ∥ \epsilon < \mathcal L \cdot \|x_k - x^*\| ϵ<Lxkx,那么意味着邻域范围 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)Lxkxϵ

因此, ϵ \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^*)\| Lxkxϵ=212f(x)
即:
∥ x k − x ∗ ∥ ≤ ∥ ∇ 2 f ( x ∗ ) ∥ 2 L \|x_k - x^*\| \leq \frac{\|\nabla^2 f(x^*)\|}{2\mathcal L} xkx2L2f(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\} xkx=min{σ,γ,2L∣∣2f(x)∣∣}
才能够证明数值解序列 { x k } k = 0 ∞ Q \{x_k\}_{k=0}^{\infty} \mathcal Q {xk}k=0Q-二次收敛于最优数值解 x ∗ x^* x

相关参考:
【优化算法】经典牛顿法-收敛性分析
复变函数中为什么积分的模小于等于模的积分?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/84597.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跳跃游戏【贪心算法】

跳跃游戏 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。在这里插入图片…

二级MySQL(七)——表格数据修改

1、修改表格中部分数据 将表格某一行的数据修改&#xff0c;这里用的UPDATE语句&#xff1a; UPDATE tb_student SET studentName 黄涛,native湖北,nation汉 WHERE studentNo 2014210103; 结果&#xff1a; 2、修改表格某一列全部数据 比如性别全部设置为‘女’ UPDATE…

langchain ChatGPT AI私有知识库

企业知识库 原理就是把文档变为向量数据库&#xff0c;然后搜索向量数据库&#xff0c;把相似的数据和问题作为prompt&#xff0c; 输入到大模型&#xff0c;再利用GPT强大的自然语言处理、推理和分析等方面的能力将答案返回给用户 什么是langchain? langchain是一个强大的…

用AI + Milvus Cloud搭建着装搭配推荐系统

在上一篇文章中,我们学习了如何利用人工智能技术(例如开源 AI 向量数据库 Milvus Cloud 和 Hugging Face 模型)寻找与自己穿搭风格相似的明星。在这篇文章中,我们将进一步介绍如何通过对上篇文章中的项目代码稍作修改,获得更详细和准确的结果,文末附赠彩蛋。 注:试用此…

六、pikachu之目录遍历

文章目录 一、目录遍历概述二、目录遍历实战 一、目录遍历概述 在web功能设计中&#xff0c;很多时候我们会要将需要访问的文件定义成变量&#xff0c;从而让前端的功能便的更加灵活。 当用户发起一个前端的请求时&#xff0c;便会将请求的这个文件的值&#xff08;比如文件名…

TCP拥塞控制详解 | 7. 超越TCP

网络传输问题本质上是对网络资源的共享和复用问题&#xff0c;因此拥塞控制是网络工程领域的核心问题之一&#xff0c;并且随着互联网和数据中心流量的爆炸式增长&#xff0c;相关算法和机制出现了很多创新&#xff0c;本系列是免费电子书《TCP Congestion Control: A Systems …

leetcode500. 键盘行

【简单题】 给你一个字符串数组 words &#xff0c;只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。 美式键盘 中&#xff1a; 第一行由字符 "qwertyuiop" 组成。第二行由字符 "asdfghjkl" 组成。第三行由字符 "zxcvbnm&…

36、springboot --- 对 tomcat服务器 和 undertow服务器 配置访客日志

springboot 配置访客日志 ★ 配置访客日志&#xff1a; 访客日志&#xff1a; Web服务器可以将所有访问用户的记录都以日志的形式记录下来&#xff0c;主要就是记录来自哪个IP的用户、在哪个时间点、访问了哪个资源。 Web服务器可将所有访问记录以日志形式记录下来&#xff…

SpringMVC 第二天

第 1 章 ModelAttribute 和 SessionAttribute[ 应 用 ] 1.1ModelAttribute 1.1.1 使用说明 作用&#xff1a; 该注解是 SpringMVC4.3 版本以后新加入的。它可以用于修饰方法和参数。 出现在方法上&#xff0c;表示当前方法会在控制器的方法执行之前&#xff0c;先执行…

Django基础5——ORM中间程序

文章目录 一、基本了解二、ORM基本操作2.1 连接数据库2.1.1 使用sqlite数据库2.1.2 使用MySQL数据库 2.2 对数据库操作2.2.1 增&#xff08;前端数据——>数据库&#xff09;2.2.2 查&#xff08;数据库——>前端展示&#xff09;2.2.3 改&#xff08;修改数据&#xff0…

软件测试用例经典方法 |一文了解软件测试规范

软件测试规范是测试工作的依据和准则&#xff0c;在进行软件测试时&#xff0c;应在相关国标文件的要求和指导下完成测试工作&#xff0c;这样可以从根本上保证软件测试工作的质量&#xff0c;进而提升软件产品的质量。 一个完整的软件测试规范应该包括对规范本身的详细说明&a…

2.Redis 通用命令

Redis 中最核心的两个命令&#xff1a; set 作用&#xff1a;设置 key 对应的 value 值并存储进去。若key已包含一个值&#xff0c;则无论其类型如何&#xff0c;都会覆盖该值。在SET操作成功时&#xff0c;将丢弃与密钥相关联的任何先前生存时间。 对于上述这里的 key和val…