【优化】梯度下降 收敛性 证明
梯度下降方法的收敛率是 O ( 1 / t ) O(1/t) O(1/t)。
本文首先介绍梯度下降算法的定义,之后解释收敛性的意义,并给出梯度下降算法收敛性详细证明过程1。
梯度下降算法
设系统参数为 x x x。对于样本 i i i,其代价函数为 f i ( x ) f_i(x) fi(x)。在n个样本组成的训练集上,其整体代价函数为:
f ( x ) = ∑ i = 1 n f i ( x ) f(x)=\sum_{i=1}^nf_i(x) f(x)=i=1∑nfi(x)
要求 ω \omega ω使得上式最小,由于没有闭式解,需要通过近似迭代逐步逼近。
梯度下降(Gradient Descent)以 η \eta η为学习率,在每次迭代中用一阶泰勒展开近似:
x t + 1 = x t − η ∇ f ( x ) x_{t+1}=x_t - \eta\nabla f(x) xt+1=xt−η∇f(x)
设 x x x的维度为D,代价函数 f f f是个标量,梯度 ∇ f ( x ) \nabla f(x) ∇f(x)也是一个D维向量。
序列的收敛性
基础定义
有序列 { x t } \{x_t\} {xt},如果序号 t t t趋于无穷时,满足以下条件:
lim t → ∞ x t + 1 − x ∗ x t − x ∗ = μ \lim_{t\to \infty}\frac{x_{t+1}-x^*}{x_t-x^*}=\mu t→∞limxt−x∗xt+1−x∗=μ
则称该方法收敛到 x ∗ x^* x∗,收敛率为 μ \mu μ, μ ∈ ( 0 , 1 ) \mu\in(0,1) μ∈(0,1)。也称为以 μ \mu μ收敛到 x ∗ x^* x∗。
例:数列 1 , 1 / 2 , 1 / 4 , 1 / 8... {1,1/2,1/4,1/8...} 1,1/2,1/4,1/8...收敛到 L = 0 L=0 L=0,收敛率为 1 / 2 1/2 1/2。
扩展定义
还有一些序列也会随着序号趋于某个定值,但是收敛的速率随着下标发生变化。这里引入一个扩展的收敛率定义。
如果存在序列 { ϵ t } \{ \epsilon_t \} {ϵt},根据基础收敛率定义,以收敛率 μ \mu μ收敛到0。
则如果序列 { x t } \{x_t\} {xt}满足:
∣ x t − x ∗ ∣ < ϵ t |x_t-x^*|<\epsilon_t ∣xt−x∗∣<ϵt
称该方法收敛到 x ∗ x^* x∗,收敛率为 ϵ t \epsilon_t ϵt。
例:数列{1,1,1/4,1/4,1/16,1/16…}收敛到 L = 0 L=0 L=0,收敛率为 ϵ t = 1 2 t − 1 \epsilon_t=\frac{1}{2^{t-1}} ϵt=2t−11={2,1,1/2,1/4,1/8,1/16…}。
梯度下降的收敛性
当我们说“梯度下降的收敛性为 1 / t 1/t 1/t”时,我们指的是:
当 t t t趋于无穷时,代价函数 f ( x t ) f(x_t) f(xt)收敛到最优解 f ( x ∗ ) f(x^*) f(x∗),收敛率为 ϵ t = O ( 1 / t ) \epsilon_t=O(1/t) ϵt=O(1/t)。
引理
这部分为收敛性证明做准备,步骤较曲折,请关注大流程。
##Lipschitz连续
如果标量函数 f ( x ) f(x) f(x)满足如下条件,称其满足Lipschitz连续性条件。
∣ f ( x 1 ) − f ( x 2 ) ∣ ≤ L ∣ ∣ x 1 − x 2 ∣ ∣ |f(x_1)-f(x_2)| \leq L||x_1-x_2|| ∣f(x1)−f(x2)∣≤L∣∣x1−x2∣∣
其中 ∣ ∣ x ∣ ∣ ||x|| ∣∣x∣∣表示向量的模长, L L L称为Lipschitz常数。对于固定的 f f f, L L L是一个定值。
这个条件对函数值的变化做出了限制。
β \beta β平滑
进一步,如果函数 f ( x ) f(x) f(x)的梯度满足值为 β \beta β的Lipschitz连续,称函数 f ( x ) f(x) f(x)为 β \beta β平滑:
∣ ∣ ∇ f ( x ) − ∇ f ( y ) ∣ ∣ 2 ≤ β ∣ ∣ x − y ∣ ∣ 2 ||\nabla f(x)- \nabla f(y)||^2\leq \beta ||x-y||^2 ∣∣∇f(x)−∇f(y)∣∣2≤β∣∣x−y∣∣2
其中 ∣ ∣ x ∣ ∣ 2 = x T x ||x||^2=x^Tx ∣∣x∣∣2=xTx。这个条件对函数梯度的变化进行了约束:梯度之差的模长,不会超过自变量之差模长的常数倍。
β \beta β平滑性质1
满足 β \beta β平滑的函数有如下性质:
∣ f ( x ) − f ( y ) − ∇ f ( y ) T ( x − y ) ∣ ≤ β 2 ∣ ∣ x − y ∣ ∣ 2 |f(x)-f(y)-\nabla f(y)^T(x-y) | \leq \frac{\beta}{2}||x-y||^2 ∣f(x)−f(y)−∇f(y)T(x−y)∣≤2β∣∣x−y∣∣2
证明如下:
构造一个插值函数 g ( t ) = f ( y + t ( x − y ) ) g(t)=f(y+t(x-y)) g(t)=f(y+t(x−y)),其关于 t t t的导数:
g ′ ( t ) = ∇ f ( y + t ( x − y ) ) T ( x − y ) g'(t)=\nabla f(y+t(x-y))^T(x-y) g′(t)=∇f(y+t(x−y))T(x−y)
可以把函数值之差转化为积分:
f ( x ) − f ( y ) = g ( 1 ) − g ( 0 ) = ∫ 0 1 g ′ ( t ) d t = ∫ 0 1 ∇ f ( y + t ( x − y ) ) T ( x − y ) d t f(x)-f(y)=g(1)-g(0)=\int_0^1g'(t)\,dt=\int_0^1\nabla f(y+t(x-y))^T(x-y)\,dt f(x)−f(y)=g(1)−g(0)=∫01g′(t)dt=∫01∇f(y+t(x−y))T(x−y)dt
代入左侧:
l e f t = ∣ ∫ 0 1 . . . d t − ∇ f ( y ) T ( x − y ) ∣ left = |\int_0^1...\,dt-\nabla f(y)^T(x-y)| left=∣∫01...dt−∇f(y)T(x−y)∣
第二项是和 t t t无关的常数,可以直接写入[0,1]的积分中:
l e f t = ∣ ∫ 0 1 . . . d t − ∫ 0 1 ∇ f ( y ) T ( x − y ) d t ∣ left = |\int_0^1...\,dt-\int_0^1\nabla f(y)^T(x-y)\,dt| left=∣∫01...dt−∫01∇f(y)T(x−y)dt∣
两个积分号合并:
l e f t = ∣ ∫ 0 1 . . . d t ∣ left = |\int_0^1...\,dt| left=∣∫01...dt∣
和的绝对值小于绝对值之和:
l e f t ≤ ∫ 0 1 ∣ ∇ f ( y + t ( x − y ) ) T ( x − y ) − ∇ f ( y ) T ( x − y ) ∣ d t left \leq \int_0^1|\nabla f(y+t(x-y))^T(x-y)-\nabla f(y)^T(x-y)|\,dt left≤∫01∣∇f(y+t(x−y))T(x−y)−∇f(y)T(x−y)∣dt
l e f t ≤ ∫ 0 1 ∣ [ ∇ f ( y + t ( x − y ) ) − ∇ f ( y ) ] T ( x − y ) ∣ d t left \leq \int_0^1|\left[\nabla f(y+t(x-y))-\nabla f(y)\right]^T(x-y)|\,dt left≤∫01∣[∇f(y+t(x−y))−∇f(y)]T(x−y)∣dt
利用柯西施瓦茨不等式, a T b ≤ ∣ ∣ a ∣ ∣ 2 ∣ ∣ b ∣ ∣ 2 a^Tb\leq \sqrt{||a||^2||b||^2} aTb≤∣∣a∣∣2∣∣b∣∣2 :
l e f t ≤ ∫ 0 1 ∣ ∣ ∇ f ( y + t ( x − y ) ) − ∇ f ( y ) ∣ ∣ 2 ∣ ∣ x − y ∣ ∣ 2 d t left \leq\int_0^1 \sqrt{||\nabla f(y+t(x-y))-\nabla f(y)||^2||x-y||^2} \,dt left≤∫01∣∣∇f(y+t(x−y))−∇f(y)∣∣2∣∣x−y∣∣2 dt
出现了两个梯度相减,可以利用 β \beta β平滑性质:
l e f t ≤ ∫ 0 1 β ∣ ∣ t ( x − y ) ∣ ∣ 2 ∣ ∣ x − y ∣ ∣ 2 d t = β ∣ ∣ x − y ∣ ∣ 2 ∫ 0 1 t d t = β 2 ∣ ∣ x − y ∣ ∣ 2 left \leq \int_0^1\sqrt{\beta||t(x-y)||^2||x-y||^2}\,dt=\beta||x-y||^2\int_0^1t\,dt=\frac{\beta}{2}||x-y||^2 left≤∫01β∣∣t(x−y)∣∣2∣∣x−y∣∣2 dt=β∣∣x−y∣∣2∫01tdt=2β∣∣x−y∣∣2
证毕
特别地,如果 f f f是凸函数,过 [ y , f ( y ) ] [y,f(y)] [y,f(y)]点的切线 g ( u ) = ∇ f ( y ) u + f ( y ) − ∇ f ( y ) y g(u)=\nabla f(y) u + f(y)-\nabla f(y)y g(u)=∇f(y)u+f(y)−∇f(y)y在曲线之下。于是有
g ( x ) = ∇ f ( y ) x + f ( y ) − ∇ f ( y ) y < f ( x ) g(x)=\nabla f(y) x + f(y)-\nabla f(y)y<f(x) g(x)=∇f(y)x+f(y)−∇f(y)y<f(x)
进而 f ( x ) − f ( y ) − ∇ f ( y ) T ( x − y ) > 0 f(x)-f(y)-\nabla f(y)^T(x-y) >0 f(x)−f(y)−∇f(y)T(x−y)>0,性质1变为:
f ( x ) − f ( y ) − ∇ f ( y ) T ( x − y ) ≤ β 2 ∣ ∣ x − y ∣ ∣ 2 f(x)-f(y)-\nabla f(y)^T(x-y) \leq \frac{\beta}{2}||x-y||^2 f(x)−f(y)−∇f(y)T(x−y)≤2β∣∣x−y∣∣2
β \beta β平滑性质2
满足 β \beta β平滑的凸函数,符合如下性质:
f ( x ) − f ( y ) ≤ ∇ f ( x ) T ( x − y ) − 1 2 β ∣ ∣ ∇ f ( x ) − ∇ f ( y ) ∣ ∣ 2 f(x)-f(y) \leq \nabla f(x)^T(x-y) - \frac{1}{2\beta}||\nabla f(x)-\nabla f(y)||^2 f(x)−f(y)≤∇f(x)T(x−y)−2β1∣∣∇f(x)−∇f(y)∣∣2
考虑一个新的点 z = y − 1 β ( ∇ f ( y ) − ∇ f ( x ) ) z=y-\frac{1}{\beta}(\nabla f(y)-\nabla f(x)) z=y−β1(∇f(y)−∇f(x)),把左式(函数值)差拆解成两部分:
f ( x ) − f ( y ) = f ( x ) − f ( z ) + f ( z ) − f ( y ) f(x)-f(y)=f(x)-f(z)+f(z)-f(y) f(x)−f(y)=f(x)−f(z)+f(z)−f(y)
第一部分,根据函数 f f f的凸性,易得:
f ( x ) − f ( z ) ≤ ∇ f ( x ) T ( x − z ) = ∇ f ( x ) T ( x − y ) + ∇ f ( x ) T ( y − z ) f(x)-f(z)\leq \nabla f(x)^T(x-z)=\nabla f(x)^T(x-y)+\nabla f(x)^T(y-z) f(x)−f(z)≤∇f(x)T(x−z)=∇f(x)T(x−y)+∇f(x)T(y−z)
第二部分,直接利用性质1
f ( z ) − f ( y ) ≤ ∇ f ( y ) T ( z − y ) + β 2 ∣ ∣ z − y ∣ ∣ 2 f(z)-f(y) \leq \nabla f(y)^T(z-y) + \frac{\beta}{2}||z-y||^2 f(z)−f(y)≤∇f(y)T(z−y)+2β∣∣z−y∣∣2
= − ∇ f ( y ) T ( y − z ) + β 2 ∣ ∣ z − y ∣ ∣ 2 =-\nabla f(y)^T(y-z) + \frac{\beta}{2}||z-y||^2 =−∇f(y)T(y−z)+2β∣∣z−y∣∣2
两部分相加,合并 y − z y-z y−z项:
f ( x ) − f ( y ) ≤ ∇ f ( x ) T ( x − y ) + ( ∇ f ( x ) − ∇ f ( y ) ) T ( y − z ) + β 2 ∣ ∣ z − y ∣ ∣ 2 f(x)-f(y) \leq \nabla f(x)^T(x-y) +\left (\nabla f(x)-\nabla f(y)\right)^T(y-z)+\frac{\beta}{2}||z-y||^2 f(x)−f(y)≤∇f(x)T(x−y)+(∇f(x)−∇f(y))T(y−z)+2β∣∣z−y∣∣2
前两项已经凑齐了,带入 y − z = 1 β ( ∇ f ( y ) − ∇ f ( x ) ) y-z=\frac{1}{\beta}(\nabla f(y)-\nabla f(x)) y−z=β1(∇f(y)−∇f(x)):
f ( x ) − f ( y ) ≤ ∇ f ( x ) T ( x − y ) + 1 β ( ∇ f ( x ) − ∇ f ( y ) ) T ( ∇ f ( y ) − ∇ f ( x ) ) + β 2 ⋅ 1 β 2 ∣ ∣ ∇ f ( x ) − ∇ f ( y ) ∣ ∣ 2 f(x)-f(y) \leq \nabla f(x)^T(x-y) +\frac{1}{\beta}\left (\nabla f(x)-\nabla f(y)\right)^T(\nabla f(y)-\nabla f(x)) + \frac{\beta}{2}\cdot \frac{1}{\beta^2}||\nabla f(x)-\nabla f(y)||^2 f(x)−f(y)≤∇f(x)T(x−y)+β1(∇f(x)−∇f(y))T(∇f(y)−∇f(x))+2β⋅β21∣∣∇f(x)−∇f(y)∣∣2
= ∇ f ( x ) T ( x − y ) − 1 2 β ∣ ∣ ∇ f ( x ) − ∇ f ( y ) ∣ ∣ 2 =\nabla f(x)^T(x-y)-\frac{1}{2\beta}||\nabla f(x)-\nabla f(y)||^2 =∇f(x)T(x−y)−2β1∣∣∇f(x)−∇f(y)∣∣2
物理意义
对比性质1和性质2:
f ( x ) − f ( y ) ≤ ∇ f ( y ) T ( x − y ) + β 2 ∣ ∣ x − y ∣ ∣ 2 f(x)-f(y) \leq \nabla f(y)^T(x-y) + \frac{\beta}{2}||x-y||^2 f(x)−f(y)≤∇f(y)T(x−y)+2β∣∣x−y∣∣2
f ( x ) − f ( y ) ≤ ∇ f ( x ) T ( x − y ) − 1 2 β ∣ ∣ ∇ f ( x ) − ∇ f ( y ) ∣ ∣ 2 f(x)-f(y) \leq \nabla f(x)^T(x-y) - \frac{1}{2\beta}||\nabla f(x)-\nabla f(y)||^2 f(x)−f(y)≤∇f(x)T(x−y)−2β1∣∣∇f(x)−∇f(y)∣∣2
两者都比较了函数值之差和不同点线性拟合之差。
对于性质1来说, β \beta β越小,越接近线性函数,右侧第二项越小。
对于性质2来说,第二项还包含了梯度之差,也受到 β \beta β影响。
证明
这部分就真不是人干事了。大致了解方法,关注物理意义即可。
## x t x_t xt的极限
只要证明新解 x t + 1 x_{t+1} xt+1比当前解 x t x_t xt更接近最终解 x ∗ x^* x∗即可。
考察新解到最终解的距离
∣ ∣ x t + 1 − x ∗ ∣ ∣ 2 = ∣ ∣ x t − η ∇ f ( x t ) − x ∗ ∣ ∣ 2 ||x_{t+1}-x^*||^2=||x_t-\eta\nabla f(x_t)-x^*||^2 ∣∣xt+1−x∗∣∣2=∣∣xt−η∇f(xt)−x∗∣∣2
打开平方号:
= ∣ ∣ x t − x ∗ ∣ ∣ 2 − 2 η ∇ f ( x t ) T ( x t − x ∗ ) + η 2 ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 =||x_t-x^*||^2 - 2\eta\nabla f(x_t)^T(x_t-x^*)+\eta^2||\nabla f(x_t)||^2 =∣∣xt−x∗∣∣2−2η∇f(xt)T(xt−x∗)+η2∣∣∇f(xt)∣∣2
利用 β \beta β平滑的性质2,考察在 x n x_n xn点的线性拟合:
f ( x t ) − f ( x ∗ ) ≤ ∇ f ( x t ) T ( x t − x ∗ ) − 1 2 β ∣ ∣ ∇ f ( x t ) − ∇ f ( x ∗ ) ∣ ∣ 2 f(x_t)-f(x^*) \leq \nabla f(x_t)^T(x_t-x^*)-\frac{1}{2\beta}||\nabla f(x_t)-\nabla f(x^*)||^2 f(xt)−f(x∗)≤∇f(xt)T(xt−x∗)−2β1∣∣∇f(xt)−∇f(x∗)∣∣2
由于 x ∗ x^* x∗为最终解, ∇ f ( x ∗ ) = 0 , f ( x t ) > f ( x ∗ ) \nabla f(x^*)=0, f(x_t)>f(x^*) ∇f(x∗)=0,f(xt)>f(x∗)2:
∇ f ( x t ) T ( x t − x ∗ ) − 1 2 β ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 ≥ 0 \nabla f(x_t)^T(x_t-x^*)-\frac{1}{2\beta}||\nabla f(x_t)||^2 \geq0 ∇f(xt)T(xt−x∗)−2β1∣∣∇f(xt)∣∣2≥0
− ∇ f ( x t ) T ( x t − x ∗ ) ≤ − 1 2 β ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 -\nabla f(x_t)^T(x_t-x^*) \leq -\frac{1}{2\beta}||\nabla f(x_t)||^2 −∇f(xt)T(xt−x∗)≤−2β1∣∣∇f(xt)∣∣2
代入前式:
∣ ∣ x t + 1 − x ∗ ∣ ∣ 2 ≤ ∣ ∣ x t − x ∗ ∣ ∣ 2 − η β ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 + η 2 ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 ||x_{t+1}-x^*||^2 \leq ||x_t-x^*||^2-\frac{\eta}{\beta}||\nabla f(x_t)||^2 + \eta^2||\nabla f(x_t)||^2 ∣∣xt+1−x∗∣∣2≤∣∣xt−x∗∣∣2−βη∣∣∇f(xt)∣∣2+η2∣∣∇f(xt)∣∣2
= ∣ ∣ x t − x ∗ ∣ ∣ 2 − η ( 1 β − η ) ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 =||x_t-x^*||^2-\eta\left(\frac{1}{\beta}-\eta\right)||\nabla f(x_t)||^2 =∣∣xt−x∗∣∣2−η(β1−η)∣∣∇f(xt)∣∣2
收敛条件的物理意义
只要学习率 η < 1 / β \eta<1/\beta η<1/β,就可以保证:
∣ ∣ x t + 1 − x ∗ ∣ ∣ 2 ≤ ∣ ∣ x t − x ∗ ∣ ∣ 2 ||x_{t+1}-x^*||^2 \leq ||x_t-x^*||^2 ∣∣xt+1−x∗∣∣2≤∣∣xt−x∗∣∣2
考虑简单例子: f ( x ) = 1 2 a x 2 f(x)=\frac{1}{2}ax^2 f(x)=21ax2,有 ∣ ∣ ∇ f ( x ) − ∇ f ( y ) ∣ ∣ 2 = a 2 ∣ ∣ x − y ∣ ∣ 2 ||\nabla f(x)-\nabla f(y)||^2=a^2||x-y||^2 ∣∣∇f(x)−∇f(y)∣∣2=a2∣∣x−y∣∣2。满足 β \beta β平滑, β = a 2 \beta=a^2 β=a2。
a a a越小, β \beta β越小,约束越紧,函数开口越大,曲线下降趋势约“一致“。可以使用更大的步长 η \eta η,而不必担心不收敛。
一个极端情况是线性函数: ∣ ∣ ∇ f ( x ) − ∇ f ( y ) ∣ ∣ 2 = 0 ||\nabla f(x) - \nabla f(y)||^2=0 ∣∣∇f(x)−∇f(y)∣∣2=0, β = 0 \beta=0 β=0。学习率可以任意大,保证向最优解前进。
f ( x t ) f(x_t) f(xt)的极限
利用 β \beta β平滑的性质1,比较两次迭代的代价:
f ( x t + 1 ) − f ( x t ) ≤ ∇ f ( x t ) T ( f ( x t + 1 ) − f ( x t ) ) + β 2 ∣ ∣ x t + 1 − x t ∣ ∣ 2 f(x_{t+1})-f(x_t)\leq \nabla f(x_t)^T(f(x_{t+1})-f(x_t))+\frac{\beta}{2}||x_{t+1}-x_t||^2 f(xt+1)−f(xt)≤∇f(xt)T(f(xt+1)−f(xt))+2β∣∣xt+1−xt∣∣2
= − η ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 − β 2 η 2 ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 = − η ( 1 − β η 2 ) ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 =-\eta||\nabla f(x_t)||^2-\frac{\beta}{2}\eta^2||\nabla f(x_t)||^2=-\eta(1-\frac{\beta\eta}{2})||\nabla f(x_t)||^2 =−η∣∣∇f(xt)∣∣2−2βη2∣∣∇f(xt)∣∣2=−η(1−2βη)∣∣∇f(xt)∣∣2
插进最优解的代价,比较两次迭代“距极限的距离”:
[ f ( x t + 1 ) − f ( x ∗ ) ] ≤ [ f ( x t ) − f ( x ∗ ) ] − η ( 1 − β η 2 ) ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 [f(x_{t+1})-f(x^*)]\leq [f(x_t)-f(x^*)]-\eta(1-\frac{\beta\eta}{2})||\nabla f(x_t)||^2 [f(xt+1)−f(x∗)]≤[f(xt)−f(x∗)]−η(1−2βη)∣∣∇f(xt)∣∣2
利用前面提到的凸函数性质以及柯西施瓦茨不等式,构造一个关系:
f ( x t ) − f ( x ∗ ) ≤ ∇ f ( x t ) T ( x t − x ∗ ) ≤ ∣ ∣ ∇ f ( x n ) ∣ ∣ ⋅ ∣ ∣ x n − x ∗ ∣ ∣ f(x_{t})-f(x^*)\leq \nabla f(x_t)^T(x_t-x^*) \leq ||\nabla f(x_n)||\cdot ||x_n-x^*|| f(xt)−f(x∗)≤∇f(xt)T(xt−x∗)≤∣∣∇f(xn)∣∣⋅∣∣xn−x∗∣∣
− ∣ ∣ ∇ f ( x t ) 2 ∣ ∣ ≤ − f ( x t ) − f ( x ∗ ) ∣ ∣ x t − x ∗ ∣ ∣ -||\nabla f(x_t)^2|| \leq -\frac{f(x_{t})-f(x^*)}{||x_t-x^*||} −∣∣∇f(xt)2∣∣≤−∣∣xt−x∗∣∣f(xt)−f(x∗)
这就是“距极限距离”之差一式的最后一项,代进去:
[ f ( x t + 1 ) − f ( x ∗ ) ] ≤ [ f ( x t ) − f ( x ∗ ) ] − η ( 1 − β η 2 ) [ f ( x t ) − f ( x ∗ ) ] 2 ∣ ∣ x t − x ∗ ∣ ∣ 2 [f(x_{t+1})-f(x^*)]\leq [f(x_t)-f(x^*)]-\eta(1-\frac{\beta\eta}{2})\frac{[f(x_{t})-f(x^*)]^2}{||x_t-x^*||^2} [f(xt+1)−f(x∗)]≤[f(xt)−f(x∗)]−η(1−2βη)∣∣xt−x∗∣∣2[f(xt)−f(x∗)]2
前小节已证: ∣ ∣ x 0 − x ∗ ∣ ∣ 2 > ∣ ∣ x t − x ∗ ∣ ∣ 2 ||x_0-x^*||^2>||x_t-x^*||^2 ∣∣x0−x∗∣∣2>∣∣xt−x∗∣∣2,可以去除分母中的 t t t:
[ f ( x t + 1 ) − f ( x ∗ ) ] ≤ [ f ( x t ) − f ( x ∗ ) ] − η ( 1 − β η 2 ) [ f ( x t ) − f ( x ∗ ) ] 2 ∣ ∣ x 0 − x ∗ ∣ ∣ 2 [f(x_{t+1})-f(x^*)]\leq [f(x_t)-f(x^*)]-\eta(1-\frac{\beta\eta}{2})\frac{[f(x_{t})-f(x^*)]^2}{||x_0-x^*||^2} [f(xt+1)−f(x∗)]≤[f(xt)−f(x∗)]−η(1−2βη)∣∣x0−x∗∣∣2[f(xt)−f(x∗)]2
两遍同除正数 [ f ( x t + 1 ) − f ( x ∗ ) ] [ f ( x t ) − f ( x ∗ ) ] [f(x_{t+1})-f(x^*)][f(x_t)-f(x^*)] [f(xt+1)−f(x∗)][f(xt)−f(x∗)]:
1 f ( x t ) − f ( x ∗ ) ≤ 1 f ( x t + 1 ) − f ( x ∗ ) + η ( 1 − β η 2 ) ∣ ∣ x 0 − x ∗ ∣ ∣ 2 f ( x t ) − f ( x ∗ ) f ( x t + 1 ) − f ( x ∗ ) \frac{1}{f(x_t)-f(x^*)} \leq \frac{1}{f(x_{t+1})-f(x^*)}+\frac{\eta(1-\frac{\beta\eta}{2})}{||x_0-x^*||^2}\frac{f(x_{t})-f(x^*)}{f(x_{t+1})-f(x^*)} f(xt)−f(x∗)1≤f(xt+1)−f(x∗)1+∣∣x0−x∗∣∣2η(1−2βη)f(xt+1)−f(x∗)f(xt)−f(x∗)
由前小节,可知 f ( x t ) − f ( x ∗ ) f ( x t + 1 ) − f ( x ∗ ) > 1 \frac{f(x_{t})-f(x^*)}{f(x_{t+1})-f(x^*)}>1 f(xt+1)−f(x∗)f(xt)−f(x∗)>13:
1 f ( x t ) − f ( x ∗ ) ≤ 1 f ( x t + 1 ) − f ( x ∗ ) + η ( 1 − β η 2 ) ∣ ∣ x 0 − x ∗ ∣ ∣ 2 \frac{1}{f(x_t)-f(x^*)} \leq \frac{1}{f(x_{t+1})-f(x^*)}+\frac{\eta(1-\frac{\beta\eta}{2})}{||x_0-x^*||^2} f(xt)−f(x∗)1≤f(xt+1)−f(x∗)1+∣∣x0−x∗∣∣2η(1−2βη)
从0到t-1累加上不等式:
1 f ( x t ) − f ( x ∗ ) − 1 f ( x 0 ) − f ( x ∗ ) ≥ 1 ∣ ∣ x 0 − x ∗ ∣ ∣ 2 t η ( 1 − β η 2 ) \frac{1}{f(x_t)-f(x^*)}-\frac{1}{f(x_0)-f(x^*)} \geq \frac{1}{||x_0-x^*||^2}t \eta(1-\frac{\beta\eta}{2}) f(xt)−f(x∗)1−f(x0)−f(x∗)1≥∣∣x0−x∗∣∣21tη(1−2βη)
左边第二项是正数:
1 f ( x t ) − f ( x ∗ ) ≥ 1 ∣ ∣ x 0 − x ∗ ∣ ∣ 2 t η ( 1 − β η 2 ) \frac{1}{f(x_t)-f(x^*)} \geq \frac{1}{||x_0-x^*||^2}t \eta(1-\frac{\beta\eta}{2}) f(xt)−f(x∗)1≥∣∣x0−x∗∣∣21tη(1−2βη)
f ( x t ) − f ( x ∗ ) ≤ ∣ ∣ x 0 − x ∗ ∣ ∣ 2 ⋅ 1 η ( 1 − β η 2 ) ⋅ 1 t f(x_t)-f(x^*) \leq ||x_0-x^*||^2\cdot \frac{1}{\eta(1-\frac{\beta\eta}{2})} \cdot \frac{1}{t} f(xt)−f(x∗)≤∣∣x0−x∗∣∣2⋅η(1−2βη)1⋅t1
换句话说,代价序列 f ( x t ) f(x_t) f(xt)到最优代价的差小于数列 1 / t 1/t 1/t的常数倍,说明代价序列的收敛率为 O ( 1 / t ) O(1/t) O(1/t)。
证明过程大部分整理自这里,这里和这里。 ↩︎
此处存疑 ↩︎
此处存疑 ↩︎
【优化】梯度下降 收敛性 证明相关推荐
- 外罚函数法(二):SUMT算法及其收敛性证明
阅前提示:文章是中山大学-最优化理论-罚函数方法1_哔哩哔哩_bilibili的学习笔记,感兴趣可以看视频,讲的非常好. 目录 SUMT算法 1.SUMT算法描述 2.几何直观理解 收敛性 1.引理 ...
- 梯度下降优化方法'原理_优化梯度下降的新方法
梯度下降优化方法'原理 The new era of machine learning and artificial intelligence is the Deep learning era. It ...
- 【机器学习基础】EM算法详解及其收敛性证明
EM算法详解 (一)单高斯模型 1.1 一维高斯分布: 1.2 多维高斯分布: (二)最大似然估计 2.1 最大似然估计的数学概念: 2.2 最大似然估计的基本步骤: 2.2.1 构造似然函数: 2. ...
- 【机器学习】——梯度下降法的收敛性证明(详解)
阅读之前看这里
- 数值优化:经典随机优化算法及其收敛性与复杂度分析
- 梯度下降与随机梯度下降
梯度下降法先随机给出参数的一组值,然后更新参数,使每次更新后的结构都能够让损失函数变小,最终达到最小即可.在梯度下降法中,目标函数其实可以看做是参数的函数,因为给出了样本输入和输出值后,目标函数就只剩 ...
- 梯度下降(Gradient Descent)的收敛性分析
©作者 | 黄秋实 单位 | 香港中文大学(深圳) 研究方向 | 智能电网 梯度下降是一种简单且常用的优化方法,它可以被用来求解很多可导的凸优化问题(如逻辑回归,线性回归等).同时,梯度下降在非凸优化 ...
- Lesson 4.5 梯度下降优化基础:数据归一化与学习率调度
Lesson 4.5 梯度下降优化基础:数据归一化与学习率调度 在上一小节中,我们讨论了关于随机梯度下降和小批量梯度下降的基本算法性质与使用流程.我们知道,在引入了一定的样本随机性之后,能够帮助参数点 ...
- 非凸函数上,随机梯度下降能否收敛?能,但有条件,且比凸函数收敛更难
©作者 | 陈萍.杜伟 来源 | 机器之心 非凸优化问题被认为是非常难求解的,因为可行域集合可能存在无数个局部最优点,通常求解全局最优的算法复杂度是指数级的(NP 困难).那么随机梯度下降能否收敛于非 ...
最新文章
- html扩展名用于保存清单文件,HTML5 manifest ApplicationCache
- nyoj-496-巡回赛--拓扑排序
- 如何处理新建的SAP CRM产品category没有出现在列表的问题
- Docker设置HTTP代理
- kk6.0 服务器信息 端口,KK的服务器改了端口以后 为什么我进不去
- QT打开ROS工作空间时遇到的问题和解决方法
- ubuntu内核版本管理
- read()/write()的生命旅程——前言与目录
- sid更新 续订sas软件_更新SAS 9.4(64位) SID的方法
- java技术栈是什么_java技术栈必学有哪些?
- 秒杀竞拍屡创网络神话:馅饼还是美丽陷阱
- <医学断层图像三维重建面绘制算法的研究>——第一遍阅读
- 【前端面试课程重点总结】
- 【Vscode】tab键失效的解决方案
- 插值、拟合、线性和非线性的区别
- 关注龙之梦和长峰地产
- python中怎么表示阶乘_python阶乘怎么写
- 【司马编译器】“命名空间”分析
- BloomFilter
- 028-实现阿里云ESC多FLAT网络