机器学习笔记值优化算法(十四)梯度下降法在凸函数上的收敛性

机器学习笔记之优化算法——梯度下降法在凸函数上的收敛性

  • 引言
    • 回顾:
      • 收敛速度:次线性收敛
      • 二次上界引理
    • 梯度下降法在凸函数上的收敛性
      • 收敛性定理介绍
      • 证明过程

引言

本节将介绍梯度下降法凸函数上的收敛性。

回顾:

收敛速度:次线性收敛

关于次线性收敛,分为两种判别类型: R \mathcal R R-次线性收敛与 Q \mathcal Q Q-次线性收敛。而次线性收敛的特点是:随着迭代次数的增加,相邻迭代步骤产生的目标函数结果 f ( x k ) , f ( x k + 1 ) f(x_k),f(x_{k+1}) f(xk),f(xk+1),其差异性几乎完全相同
lim ⁡ k ⇒ ∞ ∣ ∣ x k + 1 − x ∗ ∣ ∣ ∣ ∣ x k − x ∗ ∣ ∣ = 1 \mathop{\lim}\limits_{k \Rightarrow \infty}\frac{||x_{k+1} - x^*||}{||x_k - x^*||} = 1 klim∣∣xkx∣∣∣∣xk+1x∣∣=1
例如:如果数值解 x k x_k xk目标函数结果 f ( x k ) f(x_k) f(xk)与目标函数最优解 f ∗ f^* f之间的差异性 ∣ ∣ f ( x k ) − f ∗ ∣ ∣ ||f(x_k) - f^*|| ∣∣f(xk)f∣∣与迭代次数 k k k存在如下函数关系 G ( k ) \mathcal G(k) G(k)
∣ ∣ f ( x k ) − f ∗ ∣ ∣ ≤ G ( k ) = 1 k ||f(x_k) - f^*|| \leq \mathcal G(k) = \frac{1}{k} ∣∣f(xk)f∣∣G(k)=k1
k k k充分大时, f ( x k ) , f ( x k + 1 ) f(x_k),f(x_{k+1}) f(xk),f(xk+1) f ∗ f^* f之间差异性的比值表示如下:
lim ⁡ k ⇒ ∞ ∣ ∣ f ( x k + 1 ) − f ∗ ∣ ∣ ∣ ∣ f ( x k ) − f ∗ ∣ ∣ = lim ⁡ k ⇒ ∞ k k + 1 = 1 \mathop{\lim}\limits_{k \Rightarrow \infty} \frac{||f(x_{k+1}) - f^*||}{||f(x_k) - f^*||} = \mathop{\lim}\limits_{k \Rightarrow \infty} \frac{k}{k+1} = 1 klim∣∣f(xk)f∣∣∣∣f(xk+1)f∣∣=klimk+1k=1
也就是说:虽然随着 k k k的增加, f ( x k ) f(x_k) f(xk)在减小;但相邻迭代结果 f ( x k ) , f ( x k + 1 ) f(x_k),f(x_{k+1}) f(xk),f(xk+1)之间的差异性几乎可以忽略不计。那么称这种收敛速度为次线性收敛
准确的说,是 ⇒ 0 \Rightarrow 0 0的次线性收敛:
lim ⁡ k ⇒ ∞ { f ( x k ) } ⇒ lim ⁡ k ⇒ ∞ G ( k ) = 0 \mathop{\lim}\limits_{k \Rightarrow \infty} \{f(x_k)\} \Rightarrow \mathop{\lim}\limits_{k \Rightarrow \infty} \mathcal G(k) = 0 klim{f(xk)}klimG(k)=0

二次上界引理

关于二次上界引理的描述表示如下:如果函数 f ( ⋅ ) f(\cdot) f()可微,并对应梯度函数 ∇ f ( ⋅ ) \nabla f(\cdot) f()满足利普希兹连续,则函数 f ( ⋅ ) f(\cdot) f()存在二次上界。即:
∀ x , y ∈ R n ⇒ f ( y ) ≤ f ( x ) + [ ∇ f ( x ) ] T ( y − x ) + L 2 ∣ ∣ y − x ∣ ∣ 2 \forall x,y \in \mathbb R^n \Rightarrow f(y) \leq f(x) + [\nabla f(x)]^T (y - x) + \frac{\mathcal L}{2}||y - x||^2 x,yRnf(y)f(x)+[f(x)]T(yx)+2L∣∣yx2
二次上界引理的作用是:可以通过该引理,得到最优步长上界的最小值

  • 假设 x x x固定,令 ϕ ( y ) = f ( x ) + [ ∇ f ( x ) ] T ( y − x ) + L 2 ∣ ∣ y − x ∣ ∣ 2 \begin{aligned}\phi(y) = f(x) + [\nabla f(x)]^T (y - x) + \frac{\mathcal L}{2}||y - x||^2 \end{aligned} ϕ(y)=f(x)+[f(x)]T(yx)+2L∣∣yx2,通过选择合适的 y m i n y_{min} ymin,使 ϕ ( y ) \phi(y) ϕ(y)达到最小值
    y m i n = arg ⁡ min ⁡ y ∈ R n ϕ ( y ) y_{min} = \mathop{\arg\min}\limits_{y \in \mathbb R^n} \phi(y) ymin=yRnargminϕ(y)
  • ∇ ϕ ( y ) ≜ 0 \nabla \phi(y) \triangleq 0 ϕ(y)0,有:
    y m i n = x + 1 L ⋅ [ − ∇ f ( x ) ] y_{min} = x + \frac{1}{\mathcal L} \cdot [- \nabla f(x)] ymin=x+L1[f(x)]
  • 其中 − ∇ f ( x ) - \nabla f(x) f(x) P k \mathcal P_k Pk,也就是最速下降方向;而 1 L \begin{aligned}\frac{1}{\mathcal L}\end{aligned} L1则是最优步长的上确界
    f ( y ) ≤ ϕ ( y m i n ) = min ⁡ y ∈ R n ϕ ( y ) f(y) \leq \phi(y_{min}) = \mathop{\min}\limits_{y \in \mathbb R^n} \phi(y) f(y)ϕ(ymin)=yRnminϕ(y)
    也就是说:
    • 在没有二次上界引理的约束下,步长 α k \alpha_k αk的选择在其定义域内没有约束: ( 0 , + ∞ ) (0, +\infty) (0,+)
    • 经过二次上界引理的约束后,步长 α k \alpha_k αk的选择从原始的 ( 0 , + ∞ ) (0,+\infty) (0,+)约束至 ( 0 , 1 L ] \begin{aligned}\left(0,\frac{1}{\mathcal L}\right]\end{aligned} (0,L1]

延伸:关于区间 ( 0 , 1 L ] \begin{aligned}\left(0,\frac{1}{\mathcal L}\right]\end{aligned} (0,L1]可以模糊地认为满足 Armijo \text{Armijo} Armijo准则。关于步长变量 α \alpha α的函数 ϕ ( α ) = f ( x k + 1 ) \phi(\alpha) = f(x_{k+1}) ϕ(α)=f(xk+1)中,当 α ∈ ( 0 , 1 L ] \alpha \in \begin{aligned}\left(0,\frac{1}{\mathcal L}\right]\end{aligned} α(0,L1]时,等价于:存在一条直线 L ( α ) \mathcal L(\alpha) L(α),以该直线作为划分边界对应 α \alpha α的范围正好是 ( 0 , 1 L ] \begin{aligned}\left(0,\frac{1}{\mathcal L}\right]\end{aligned} (0,L1]
吐槽:实际上用这张图是不太合理的,因为下面的图对应的 f ( ⋅ ) f(\cdot) f()更加复杂,二次上界约束的范围仅仅在下面 α \alpha α轴的绿色实线部分,但很明显,在该函数中,存在更优质的 α \alpha α结果。
Armijo准则与二次上界

梯度下降法在凸函数上的收敛性

收敛性定理介绍

梯度下降法在凸函数上的收敛性定理表示如下:

  • 条件:
    • 函数 f ( ⋅ ) f(\cdot) f()向下有界,在定义域内可微,并且 f ( ⋅ ) f(\cdot) f()凸函数
    • 关于 f ( ⋅ ) f(\cdot) f()梯度函数 ∇ f ( ⋅ ) \nabla f(\cdot) f()满足利普希兹连续
    • 梯度下降法迭代过程中步长 α k ( k = 1 , 2 , 3 , ⋯ ) \alpha_k(k=1,2,3,\cdots) αk(k=1,2,3,)有明确的约束范围 α k ∈ ( 0 , 1 L ] \begin{aligned}\alpha_k \in \left(0,\frac{1}{\mathcal L} \right]\end{aligned} αk(0,L1]
  • 结论:数值解序列 { 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 O ( 1 k ) \begin{aligned}\mathcal O \left(\frac{1}{k}\right)\end{aligned} O(k1)收敛于目标函数最优解 f ∗ f^* f
    其中 O ( 1 k ) \begin{aligned}\mathcal O \left(\frac{1}{k}\right)\end{aligned} O(k1)表示以 G ( k ) = C ⋅ 1 k \begin{aligned}\mathcal G(k) = \mathcal C \cdot \frac{1}{k}\end{aligned} G(k)=Ck1次线性收敛级别的收敛速度( C \mathcal C C为常数)。

证明过程

根据二次上界引理,依然将 x x x设为上一次迭代数值解 x i − 1 x_{i-1} xi1,对应的 y y y当前迭代步骤数值解 x i x_i xi。由于是梯度下降法,因而在线搜索方法的基础上,将方向 P i \mathcal P_i Pi表示为最速下降方向 ∇ f ( x i − 1 ) \nabla f(x_{i-1}) f(xi1)步长依然使用步长变量 α \alpha α进行表示:
y − x = x i − x i − 1 = − ∇ f ( x i − 1 ) ⋅ α y - x = x_i - x_{i - 1} = -\nabla f(x_{i-1}) \cdot \alpha yx=xixi1=f(xi1)α
二次上界不等式进行相应替换:
将上式代入~
f ( x i ) ≤ f ( x i − 1 ) + [ ∇ f ( x i − 1 ) ] T [ − ∇ f ( x i − 1 ) ⋅ α ] + L 2 ∣ ∣ − ∇ f ( x i − 1 ) ⋅ α ∣ ∣ 2 f(x_i) \leq f(x_{i-1}) + [\nabla f(x_{i-1})]^T [-\nabla f(x_{i-1}) \cdot \alpha] + \frac{\mathcal L}{2} ||-\nabla f(x_{i-1}) \cdot \alpha||^2 f(xi)f(xi1)+[f(xi1)]T[f(xi1)α]+2L∣∣f(xi1)α2
观察不等式右侧,可以继续化简:

  • 将内积写作 ∣ ∣ ⋅ ∣ ∣ 2 ||\cdot||^2 ∣∣2的形式。
  • ∣ ∣ − ∇ f ( x i − 1 ) ⋅ α ∣ ∣ 2 = ∣ ∣ ∇ f ( x i − 1 ) ⋅ α ∣ ∣ 2 ||- \nabla f(x_{i-1}) \cdot \alpha||^2 = ||\nabla f(x_{i-1}) \cdot \alpha||^2 ∣∣f(xi1)α2=∣∣∇f(xi1)α2,这里消掉一个负号;
  • 由于 α ∈ ( 0 , 1 L ] \begin{aligned}\alpha \in \left(0,\frac{1}{\mathcal L}\right]\end{aligned} α(0,L1],是一个标量,直接将其提到范数外侧。
    I r i g h t = f ( x i − 1 ) − α ⋅ ∣ ∣ ∇ f ( x i − 1 ) ∣ ∣ 2 + L 2 ⋅ α 2 ⋅ ∣ ∣ ∇ f ( x i − 1 ) ∣ ∣ 2 \mathcal I_{right} = f(x_{i-1}) - \alpha \cdot ||\nabla f(x_{i-1})||^2 + \frac{\mathcal L}{2} \cdot \alpha^2 \cdot ||\nabla f(x_{i-1})||^2 Iright=f(xi1)α∣∣∇f(xi1)2+2Lα2∣∣∇f(xi1)2

α ≤ 1 L \begin{aligned}\alpha \leq \frac{1}{\mathcal L}\end{aligned} αL1可知: L ≤ 1 α \begin{aligned}\mathcal L \leq \frac{1}{\alpha} \end{aligned} Lα1。将该式代入到上式中:
消掉分母中的 α \alpha α,并于前面的项结合。
I r i g h t ≤ f ( x i − 1 ) − α ⋅ ∣ ∣ ∇ f ( x i − 1 ) ∣ ∣ 2 + 1 2 α ⋅ α 2 ⋅ ∣ ∣ ∇ f ( x i − 1 ) ∣ ∣ 2 = f ( x i − 1 ) − α 2 ⋅ ∣ ∣ ∇ f ( x i − 1 ) ∣ ∣ 2 \begin{aligned} \mathcal I_{right} & \leq f(x_{i-1}) - \alpha \cdot ||\nabla f(x_{i-1})||^2 + \frac{1}{2 \alpha} \cdot \alpha^2 \cdot ||\nabla f(x_{i-1})||^2 \\ & = f(x_{i-1}) - \frac{\alpha}{2} \cdot ||\nabla f(x_{i-1})||^2 \end{aligned} Irightf(xi1)α∣∣∇f(xi1)2+2α1α2∣∣∇f(xi1)2=f(xi1)2α∣∣∇f(xi1)2
基于梯度下降法,使用二次上界引理,可以得到 f ( x i − 1 ) f(x_{i-1}) f(xi1) f ( x i ) f(x_i) f(xi)之间存在如下关联关系:
f ( x i ) ≤ f ( x i − 1 ) − α 2 ⋅ ∣ ∣ ∇ f ( x i − 1 ) ∣ ∣ 2 i = 1 , 2 , 3 , ⋯ f(x_i) \leq f(x_{i-1}) - \frac{\alpha}{2} \cdot ||\nabla f(x_{i-1})||^2\quad i=1,2,3,\cdots f(xi)f(xi1)2α∣∣∇f(xi1)2i=1,2,3,
根据凸函数的性质,必然有:函数 f ( ⋅ ) f(\cdot) f()任一位置的切线, f ( ⋅ ) f(\cdot) f()均在该切线上方。见下图:
由于条件: f ( ⋅ ) f(\cdot) f()向下有界,因此,该函数必然’开口向上‘。
示例
其中红色点 ( x ∗ , f ∗ ) (x^*,f^*) (x,f)表示最优点,以上一次迭代产生的 x i − 1 x_{i-1} xi1为切点做一条切线,必然有 x ∗ x^* x在该切线函数上的函数值 f ′ ≤ f ∗ f' \leq f^* ff f ′ f' f表示如下:
f ′ = f ( x i − 1 ) − [ ∇ f ( x i − 1 ) ] T ( x i − 1 − x ∗ ) ≤ f ∗ f' = f(x_{i-1}) - [\nabla f(x_{i-1})]^T (x_{i-1} - x^*) \leq f^* f=f(xi1)[f(xi1)]T(xi1x)f
移项,从而有:
f ( x i − 1 ) ≤ f ∗ + [ ∇ f ( x i − 1 ) ] T ( x i − 1 − x ∗ ) f(x_{i-1}) \leq f^* + [\nabla f(x_{i-1})]^T (x_{i-1} - x^*) f(xi1)f+[f(xi1)]T(xi1x)
将上式代入,有:
I r i g h t ≤ f ∗ + [ ∇ f ( x i − 1 ) ] T ( x i − 1 − x ∗ ) ⏟ 替换 f ( x i − 1 ) − α 2 ⋅ ∣ ∣ ∇ f ( x i − 1 ) ∣ ∣ 2 \mathcal I_{right} \leq \underbrace{f^* + [\nabla f(x_{i-1})]^T (x_{i-1} - x^*)}_{替换f(x_{i-1})}- \frac{\alpha}{2} \cdot ||\nabla f(x_{i-1})||^2 Iright替换f(xi1) f+[f(xi1)]T(xi1x)2α∣∣∇f(xi1)2
为了凑平方项,将上式调整至如下形式:
− α 2 \begin{aligned}-\frac{\alpha}{2}\end{aligned} 2α凑出 α 2 \alpha^2 α2,其他项跟随变化。
I r i g h t ≤ − 1 2 α { α 2 ∣ ∣ ∇ f ( x i − 1 ) ∣ ∣ 2 − 2 α ⋅ [ ∇ f ( x i − 1 ) ] T ( x i − 1 − x ∗ ) } \mathcal I_{right} \leq -\frac{1}{2 \alpha} \left\{\alpha^2 ||\nabla f(x_{i-1})||^2 - 2\alpha \cdot [\nabla f(x_{i-1})]^T(x_{i-1} - x^*)\right\} Iright2α1{α2∣∣∇f(xi1)22α[f(xi1)]T(xi1x)}
大括号内的项进行配方
I r i g h t ≤ f ∗ − 1 2 α { α 2 ∣ ∣ ∇ f ( x i − 1 ) ∣ ∣ 2 − 2 α ⋅ [ ∇ f ( x i − 1 ) ] T ( x i − 1 − x ∗ ) + ∣ ∣ x i − 1 − x ∗ ∣ ∣ 2 ⏟ 平方项 − ∣ ∣ x i − 1 − x ∗ ∣ ∣ 2 } = f ∗ − 1 2 α [ ∣ ∣ α ⋅ ∇ f ( x i − 1 ) − ( x i − 1 − x ∗ ) ∣ ∣ 2 − ∣ ∣ x i − 1 − x ∗ ∣ ∣ 2 ] \begin{aligned} \mathcal I_{right} & \leq f^* - \frac{1}{2 \alpha} \left\{\underbrace{\alpha^2 ||\nabla f(x_{i-1})||^2 - 2\alpha \cdot [\nabla f(x_{i-1})]^T(x_{i-1} - x^*) + ||x_{i-1} - x^*||^2 }_{平方项}- ||x_{i-1} - x^*||^2\right\} \\ & = f^* - \frac{1}{2\alpha} \left [||\alpha \cdot \nabla f(x_{i-1}) - (x_{i-1} - x^*)||^2 - ||x_{i-1} - x^*||^2\right] \end{aligned} Irightf2α1 平方项 α2∣∣∇f(xi1)22α[f(xi1)]T(xi1x)+∣∣xi1x2∣∣xi1x2 =f2α1[∣∣αf(xi1)(xi1x)2∣∣xi1x2]
观察中括号内第一项 ∣ ∣ α ⋅ ∇ f ( x i − 1 ) − ( x i − 1 − x ∗ ) ∣ ∣ 2 ||\alpha \cdot \nabla f(x_{i-1}) - (x_{i-1} - x^*)||^2 ∣∣αf(xi1)(xi1x)2,由于是范数的平方项,因而在范数内部添加一个负号不会影响其值的变化:
∣ ∣ α ⋅ ∇ f ( x i − 1 ) − ( x i − 1 − x ∗ ) ∣ ∣ 2 = ∣ ∣ x i − 1 − α ⋅ ∇ f ( x i − 1 ) − x ∗ ∣ ∣ 2 ||\alpha \cdot \nabla f(x_{i-1}) - (x_{i-1} - x^*)||^2 = ||x_{i-1} - \alpha \cdot \nabla f(x_{i-1}) - x^*||^2 ∣∣αf(xi1)(xi1x)2=∣∣xi1αf(xi1)x2
迭代角度观察: x i − 1 − α ⋅ ∇ f ( x i − 1 ) = x i x_{i-1} - \alpha \cdot \nabla f(x_{i-1}) = x_{i} xi1αf(xi1)=xi,从而上式可继续化简为:
提一个负号,调换一下位置。
{ ∣ ∣ α ⋅ ∇ f ( x i − 1 ) − ( x i − 1 − x ∗ ) ∣ ∣ 2 = ∣ ∣ x i − x ∗ ∣ ∣ 2 I r i g h t ≤ f ∗ − 1 2 α [ ∣ ∣ x i − x ∗ ∣ ∣ 2 − ∣ ∣ x i − 1 − x ∗ ∣ ∣ 2 ] = f ∗ + 1 2 α [ ∣ ∣ x i − 1 − x ∗ ∣ ∣ 2 − ∣ ∣ x i − x ∗ ∣ ∣ 2 ] \begin{cases} ||\alpha \cdot \nabla f(x_{i-1}) - (x_{i-1} - x^*)||^2 = ||x_i - x^*||^2 \\ \quad \\ \begin{aligned} \mathcal I_{right} & \leq f^* - \frac{1}{2\alpha} \left[||x_i - x^*||^2 - ||x_{i-1} - x^*||^2\right] \\ & = f^* + \frac{1}{2\alpha} \left[||x_{i-1} - x^*||^2 - ||x_i - x^*||^2\right] \end{aligned} \end{cases} ∣∣αf(xi1)(xi1x)2=∣∣xix2Irightf2α1[∣∣xix2∣∣xi1x2]=f+2α1[∣∣xi1x2∣∣xix2]

至此,可以得到如下不等式结果:
f ( x i ) − f ∗ ≤ 1 2 α ( ∣ ∣ x i − 1 − x ∗ ∣ ∣ 2 − ∣ ∣ x i − x ∗ ∣ ∣ 2 ) f(x_i) - f^* \leq \frac{1}{2\alpha}(||x_{i-1} - x^*||^2 - ||x_i - x^*||^2) f(xi)f2α1(∣∣xi1x2∣∣xix2)
观察:不等式左侧描述的意义是:当前迭代步骤的目标函数结果 f ( x i ) f(x_i) f(xi)最优解 f ∗ f^* f之间的偏差。从初始化数值解 x 0 x_0 x0开始,我们会得到一系列的不等式结果
{ f ( x 1 ) − f ∗ ≤ 1 2 α ( ∣ ∣ x 0 − x ∗ ∣ ∣ 2 − ∣ ∣ x 1 − x ∗ ∣ ∣ 2 ) f ( x 2 ) − f ∗ ≤ 1 2 α ( ∣ ∣ x 1 − x ∗ ∣ ∣ 2 − ∣ ∣ x 2 − x ∗ ∣ ∣ 2 ) ⋮ f ( x k ) − f ∗ ≤ 1 2 α ( ∣ ∣ x k − 1 − x ∗ ∣ ∣ 2 − ∣ ∣ x k − x ∗ ∣ ∣ 2 ) \begin{cases} \begin{aligned} f(x_1) - f^* & \leq \frac{1}{2\alpha} (||x_0 - x^*||^2 - ||x_1 - x^*||^2) \\ f(x_2) - f^* & \leq \frac{1}{2\alpha} (||x_1 - x^*||^2 - ||x_2 - x^*||^2) \\ & \vdots \\ f(x_k) - f^* & \leq \frac{1}{2\alpha} (||x_{k-1} - x^*||^2 - ||x_k - x^*||^2) \end{aligned} \end{cases} f(x1)ff(x2)ff(xk)f2α1(∣∣x0x2∣∣x1x2)2α1(∣∣x1x2∣∣x2x2)2α1(∣∣xk1x2∣∣xkx2)
将这些不等式对应位置相加,有:

  • 等式右侧的中间项都被消掉了~
  • 因为 ∣ ∣ x k − x ∗ ∣ ∣ 2 ≥ 0 ||x_k - x^*||^2 \geq 0 ∣∣xkx20恒成立,从而消掉含变量的项。
    ∑ i = 1 k [ f ( x i ) − f ∗ ] ≤ 1 2 α ( ∣ ∣ ∣ x 0 − x ∗ ∣ ∣ 2 − ∣ ∣ x k − x ∗ ∣ ∣ 2 ) ≤ 1 2 α ∣ ∣ x 0 − x ∗ ∣ ∣ 2 \sum_{i=1}^k [f(x_i) - f^*] \leq \frac{1}{2\alpha}(|||x_0 - x^*||^2 - ||x_k - x^*||^2) \leq \frac{1}{2 \alpha} ||x_0 - x^*||^2 i=1k[f(xi)f]2α1(∣∣∣x0x2∣∣xkx2)2α1∣∣x0x2

关于我们要证的 ∣ ∣ f ( x k ) − f ∗ ∣ ∣ ||f(x_k) - f^*|| ∣∣f(xk)f∣∣,可以表示为如下形式:

  • 由于优化问题的收敛性,必然有 f ( x k ) ≤ f ( x k − 1 ) ≤ ⋯ ≤ f ( x 1 ) f(x_{k}) \leq f(x_{k-1})\leq \cdots\leq f(x_1) f(xk)f(xk1)f(x1),从而每一项: ∣ ∣ f ( x k ) − f ∗ ∣ ∣ ≤ ∣ ∣ f ( x k − 1 ) − f ∗ ∣ ∣ ≤ ⋯ ≤ ∣ ∣ f ( x 1 ) − f ∗ ∣ ∣ ||f(x_k) - f^*|| \leq ||f(x_{k-1}) - f^*|| \leq \cdots \leq ||f(x_1) - f^*|| ∣∣f(xk)f∣∣∣∣f(xk1)f∣∣∣∣f(x1)f∣∣,从而有: ∑ i = 1 k [ f ( x k ) − f ∗ ] ≤ ∑ i = 1 k [ f ( x i ) − f ∗ ] \begin{aligned}\sum_{i=1}^k[f(x_k) - f^*] \leq \sum_{i=1}^{k} [f(x_i) - f^*]\end{aligned} i=1k[f(xk)f]i=1k[f(xi)f]
  • 将上式结果带入~

f ( x k ) − f ∗ = 1 k ∑ i = 1 k [ f ( x k ) − f ∗ ] ≤ 1 k ∑ i = 1 k [ f ( x i ) − f ∗ ] ≤ 1 k [ 1 2 α ∣ ∣ x 0 − x ∗ ∣ ∣ 2 ] f(x_k) - f^* = \frac{1}{k} \sum_{i=1}^{k}[f(x_k) - f^*] \leq \frac{1}{k} \sum_{i=1}^{k}[f(x_i) - f^*] \leq \frac{1}{k} \left[\frac{1}{2\alpha}||x_0 - x^*||^2\right] f(xk)f=k1i=1k[f(xk)f]k1i=1k[f(xi)f]k1[2α1∣∣x0x2]

观察: [ 1 2 α ∣ ∣ x 0 − x ∗ ∣ ∣ 2 ] \begin{aligned}\left[\frac{1}{2\alpha}||x_0 - x^*||^2\right]\end{aligned} [2α1∣∣x0x2] α ∈ ( 0 , 1 L ] \begin{aligned}\alpha \in \left(0,\frac{1}{\mathcal L} \right] \end{aligned} α(0,L1] x 0 , x ∗ x_0,x^* x0,x都是确定的常数,因而该项可视作常数 C \mathcal C C。最终有:
f ( x k ) − f ∗ ≤ 1 k ⋅ C f(x_k) - f^* \leq \frac{1}{k} \cdot \mathcal C f(xk)fk1C
我们可以令 G ( k ) = 1 k ⋅ C \begin{aligned}\mathcal G(k) = \frac{1}{k} \cdot \mathcal C\end{aligned} G(k)=k1C,可以看出:它就是一个级别为 1 k \begin{aligned}\frac{1}{k}\end{aligned} k1次线性收敛

相关参考:
【优化算法】梯度下降法-凸函数的收敛性

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

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

相关文章

数据结构 | 二叉树的应用

目录 一、解析树 二、树的遍历 一、解析树 我们可以用解析树来表示现实世界中像句子或数学表达式这样的构造。 我们可以将((73)*(5-2))这样的数学表达式表示成解析树。这是完全括号表达式,乘法的优先级高于加法和减法,但因为有括号,所以在…

【Linux进阶之路】进程(上)

文章目录 前言一、操作系统加载过程二、进程1.基本概念2.基本信息①运行并观察进程②创建子进程③僵尸与孤儿进程(父子进程衍生出来的问题)1. 僵尸进程(Zombie状态)2. 孤儿进程 3.基本状态①操作系统的状态(统一&#…

5.利用matlab完成 符号矩阵的转置和 符号方阵的幂运算(matlab程序)

1.简述 Matlab符号运算中的矩阵转置 转置向量或矩阵 B A. B transpose(A) 说明 B A. 返回 A 的非共轭转置,即每个元素的行和列索引都会互换。如果 A 包含复数元素,则 A. 不会影响虚部符号。例如,如果 A(3,2) 是 12i 且 B A.&#xff0…

【C++】红黑树模拟实现插入功能(包含旋转和变色)

红黑树模拟实现并封装为map和set 前言正式开始红黑树概念红黑树基本要求大致框架树节点树 调整红黑树使其平衡第一种:cur红,p红,g黑,u存在且为红第二种:cur红,p红,g黑,u不存在或为黑…

CentOS7安装Maven详细教程

😊 作者: Eric 💖 主页: https://blog.csdn.net/weixin_47316183?typeblog 🎉 主题:CentOS7安装Maven详细教程 ⏱️ 创作时间: 2023年08月06日 第一步:上传或下载安装包&#x…

2021年12月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题&#xff1a;输出整数部分 输入一个双精度浮点数f&#xff0c; 输出其整数部分。 时间限制&#xff1a;1000 内存限制&#xff1a;65536 输入 一个双精度浮点数f(0 < f < 100000000)。 输出 一个整数&#xff0c;表示浮点数的整数部分。 样例输入 3.8889 样例输出 3…

opencv实战项目 手势识别-手势控制鼠标

手势识别系列文章目录 手势识别是一种人机交互技术&#xff0c;通过识别人的手势动作&#xff0c;从而实现对计算机、智能手机、智能电视等设备的操作和控制。 1. opencv实现手部追踪&#xff08;定位手部关键点&#xff09; 2.opencv实战项目 实现手势跟踪并返回位置信息&…

设计模式--策略模式

目录 一.场景 1.1场景 2.2 何时使用 2.3个人理解 二. 业务场景练习 2.1业务: 2.2具体实现 2.3思路 三.总结 3.1策略模式的特点&#xff1a; 3.2策略模式优点 3.3策略模式缺点 一.场景 1.1场景 许多相关的类仅仅是行为有异&#xff0c;也就是说业务代码需要根据场景不…

Linux 创建子进程

文章目录 前言一、进程&#xff0c;线程&#xff0c;程序 区分二、创建子进程三、创建多个进程1. 获取进程号2. 循环创建多个进程 四、进程工具。1. ps 查看当前进程.2. kill 进程终止. 总结 前言 在计算机科学中&#xff0c;进程&#xff08;Process&#xff09;、线程&#…

Leetcode-每日一题【剑指 Offer 19. 正则表达式匹配】

题目 请实现一个函数用来匹配包含. 和*的正则表达式。模式中的字符.表示任意一个字符&#xff0c;而*表示它前面的字符可以出现任意次&#xff08;含0次&#xff09;。在本题中&#xff0c;匹配是指字符串的所有字符匹配整个模式。例如&#xff0c;字符串"aaa"与模式…

uniapp-----封装接口

系列文章目录 uniapp-----封装接口 uniapp-----分包 文章目录 系列文章目录 uniapp-----封装接口 uniapp-----分包 文章目录 前言 一、技术 二、封装步骤 1.准备 ​编辑 2.代码填充 request.js&#xff1a; api.js&#xff1a; min.js 页面使用 总结 前言 uniapp的主包要求大…

视频添加字幕

1、依靠ffmpeg 命令 package zimu;import java.io.IOException;public class TestSrt {public static void main(String[] args) {String videoFile "/test/test1.mp4";String subtitleFile "/test/test1.SRT";String outputFile "/test/testout13…

记录一次使用python调用java代码

Python调用Java代码的主要原理是通过使用Java虚拟机&#xff08;JVM&#xff09;和相关的库/工具实现的。 在Python中&#xff0c;可以使用以下几种方式来调用Java代码&#xff1a; 使用subprocess模块&#xff1a;可以通过subprocess模块来启动一个子进程&#xff0c;并在子进…

Hadoop Hbase Hive 版本对照一览

这里写目录标题 一、Hadoop 与 Hbase 版本对照二、Hadoop 与 Hive 版本对照 官网内容记录&#xff0c;仅供参考 一、Hadoop 与 Hbase 版本对照 二、Hadoop 与 Hive 版本对照

怎样学会单片机

0、学单片机首先要明白&#xff0c;一个单片机啥也干不了&#xff0c;学单片机的目的是学习怎么用单片机驱动外部设备&#xff0c;比如数码管&#xff0c;电机&#xff0c;液晶屏等&#xff0c;这个需要外围电路的配合&#xff0c;所以学习单片机在这个层面上可以等同为学习单片…

Linux简介及基础操作

简介&#xff1a; 1、linux和windows都是操作系统&#xff0c;多任务&#xff0c;多用户&#xff0c;多线程… Linux免费使用&#xff0c;自由传播&#xff0c;开源 2、Linux 发行版&#xff08;都是基于linux内核穿的外套&#xff09; Ubuntu——嵌入式开发 fedora——早期嵌入…

Gradio:交互式Python数据应用程序的新前沿

一、说明 什么是Gradio以及如何使用Gradio在Python中创建DataApp或Web界面&#xff1f;使用 Gradio 将您的 Python 数据科学项目转换为交互式应用程序。 摄影&#xff1a;Elijah Merrell on Unsplash Gradio是一个Python库&#xff0c;允许我们快速为机器学习模型创建可定制的接…

c语言——三子棋

基本框架 三个文件: 其中.cpp文件用于游戏具体函数设计&#xff0c;.h文件为游戏的函数声明&#xff0c;test.cpp文件用于测试游戏运行。 需要用到的头文件&#xff1a; #include <stdio.h> #include <stdlib.h>//rand&srand #include <time.h>//时间相…

【linux】ssh 和adb connect区别

问&#xff1a;ssh 与ping的区别 答&#xff1a;SSH&#xff08;Secure Shell&#xff09;和Ping是两种完全不同的网络工具。 SSH是一种加密的网络协议&#xff0c;用于安全地远程管理或访问远程计算机。它提供了一种安全的通信方式&#xff0c;可以在不安全的网络上进行远程登…

03.利用Redis实现缓存功能---解决缓存穿透版

学习目标&#xff1a; 提示&#xff1a;学习如何利用Redis实现添加缓存功能解决缓存穿透版 学习产出&#xff1a; 缓存穿透讲解图&#xff1a; 解决方案&#xff1a; 采用缓存空对象采用布隆过滤器 解决方案流程图&#xff1a; 1. 准备pom环境 <dependency><gro…