Skip to content

第7章:收敛率

编辑:赵志民


本章前言

本章的内容围绕学习理论中的算法收敛率(Convergence Rate)展开。具体来说,我们将探讨在确定性优化和随机优化中的收敛率问题,并在最后分析支持向量机的实例。

7.1 【概念解释】算法收敛率

在算法分析中,收敛率是指迭代算法逼近解或收敛到最优或期望结果的速度,它衡量算法在减少当前解与最优解之间差异的快慢。

{xk} 是算法生成的迭代序列,我们可以根据以下公式来衡量算法的收敛率:

limt+xt+1xxtxp=C

其中,C为收敛因子,p为收敛阶数,x 表示最优解,. 表示适当的范数。

根据收敛率的不同情况,我们可以将其分类如下:

  1. 超线性收敛p1C=0,表明每次迭代都会使得误差减小,且减小的速度越来越快。特别地,当p>1时,称为p阶收敛。例如,p=2时称为平方收敛,p=3时称为立方收敛。
  2. 线性收敛p=1C>0,表明每次迭代都会使得误差减小(误差呈几何级数下降),但减小的速度是一定的。
  3. 次线性收敛p=1C=1,表明每次迭代都会使得误差减小,但减小的速度越来越慢。

7.2 【证明补充】凸函数的确定性优化

书中给出的梯度下降算法中,输出的是 T 轮迭代的均值 ω,而不是最后一次迭代的结果 ωT。这是因为在凸函数的梯度下降过程中,所设定的步长 η 是启发式的,因此每次迭代产生的 ω 无法保证是局部最优解。

根据定理7.1,T 轮迭代的 ω 均值具有次线性收敛率,而无法证明最后一次迭代值 ωT 也具有相同的收敛率。因此,返回 ω 的均值虽然会增加计算代价,但可以确保稳定的收敛率。这一思想在7.3.1和7.3.2中梯度下降算法中也有体现。

作为对比,在7.2.2中的强凸函数梯度下降算法中,我们只输出了最后一次迭代值 ωT。这是因为在强凸函数的条件下,每次迭代的梯度更新都有闭式解 ωt+1=ωt1γf(ωt)。这种情况下,每次迭代无需启发式算法便可得到该临域的全局最优解,这也是此算法拥有更快收敛率(线性收敛率)的原因。因此,无需返回历史 ω 的均值。

另外,在 139页 定理7.1的(7.12)推导中,利用了第一章补充内容 AM-GM 不等式 n=2 的结论,即对于任意非负实数 x,y,有:

xyx+y2

当且仅当 x=y 时取等号。

因此,只有当 Γ22ηT=ηl22 时,公式(7.12)中 Γ22ηT+ηl22 才能取得最小值 lΓT,此时步长 η 应设置为 ΓlT。类似的推导可以在(7.35)和(7.39)中找到。

7.3 【证明补充】强凸函数的确定性优化

142页 中,在证明定理7.3时,对于(7.19)的推导补充如下。

首先,如果目标函数满足 λ-强凸且 γ-光滑,那么根据第一章补充内容中的结论,我们有 γλ。这是因为对于任意 ω,ω,光滑系数 γ 被定义为:

f(ω)f(ω)+f(ω)T(ωω)+γ2ωω2

而强凸系数 λ 被定义为:

f(ω)f(ω)+f(ω)T(ωω)+λ2ωω2

光滑系数 γ 决定了 f(ω) 的上界,而强凸系数 λ 决定了 f(ω) 的下界,因此光滑系数 γ 不小于强凸系数 λ

接着,令 f(α)=γλλα2α,由于 γλλ0,我们可以分成以下两种情况讨论:

  1. γλλ=0 时,(7.19)转化为:
f(ωt+1)minα[0,1]{f(ωt)α(f(ωt)f(ω))}f(ωt+1)f(ω)minα[0,1]{1α}(f(ωt)f(ω))

因为 f(ωt)f(ω)0,所以当且仅当 α=1 时,不等式右侧取得最小值 0,此时易知 f(ωt+1)=f(ω)。根据凸函数局部最优解等于全局最优解的结论,我们可以得到 ωt+1=ω,即算法在第 t+1 轮迭代中收敛到最优解。

  1. γλλ>0 时,f(α) 为开口向上的二次函数。令 f(α)=2γλλα1=0,得到 f(α) 的对称轴为 α=λ2(γλ)。我们可以分成以下两种情况讨论:
    • λ2(γλ)1 时,f(α) 取得最小值只能在 α=1 处,故而得到(7.20)。
    • 0<λ2(γλ)<1 时,f(α) 取得最小值在 α=λ2(γλ) 处,故而得到(7.21)。

余下的推导部分与书中相同,此处不再赘述。

7.4 【定理证明】鞅差序列的 Bernstein 不等式

149页 定理7.6 给出了鞅差序列的 Bernstein 不等式,我们在这里给出完整的证明过程。

假设 X1,,Xn 是定义在 f=(fi)1in 上的有界鞅差序列且 |Xi|K,令:

Si=j=1iXj

Xn 的条件方差定义为:

Vn2=k=1nE[Xk2|Fk1]

那么对于任意正数 tv,有:

P(maxi=1,,kSi>t,Vk2v)exp(t22(v+Kt/3))

证明

考虑函数 f(x)=(eθxθx1)/x2,且 f(0)=θ2/2。 通过对该函数求导,我们知道该函数是非减的。即 f(x)f(1),当 x1 时:

eθx=1+θx+x2f(x)1+θx+x2f(1)=1+θx+g(θ)x2,x1

将其用于随机变量 Xk/K 的期望,可得:

E[exp(θXkK)|Fk1]1+θKE[Xk|Fk1]+g(θ)K2E[Xk2|Fk1]

由于 {Xk} 是一个鞅差序列,我们有 E[Xk|Fk1]=0,结合 1+xex,x0,我们得到:

E[exp(θXkK)|Fk1]=1+g(θ)K2E[Xk2|Fk1]exp(g(θ)E[Xk2|Fk1]K2)

考虑一个随机过程:

Qk=exp(θSkKg(θ)Vk2K2),Q0=1

我们证明这个过程对于滤波 Fn 是一个超鞅,即 E[Qk|Fk1]Qk1

证明如下:

E[Qk|Fk1]=E[exp(θSkKg(θ)Vk2K2)|Fk1]=E[exp(θSk1Kg(θ)Vk12K2g(θ)E[Xk2|Fk1]K2+θXkK)|Fk1]=exp(θSk1Kg(θ)Vk12K2g(θ)E[Xk2|Fk1]K2)E[exp(θXkK)|Fk1]

应用之前证明的不等式,我们得到:

E[Qk|Fk1]exp(θSk1Kg(θ)Vk12K2)=Qk1

我们定义 A={k0:maxi=1,,kSi>t,Vk2v},则有:

Qkexp(θtKg(θ)vK2),kA

由于 {Qk} 是超鞅,我们有:

E[Qk|Fk1]E[Qk1|Fk2]Q0=1

考虑到 1P(A),我们有:

1E[Qk|Fk1]exp(θtKg(θ)vK2)P(A),kA

因此:

P(A)exp(g(θ)vK2θtK)

由于上述不等式对任何 θ>0 都成立,我们可以写为:

P(A)infθ>0exp(g(θ)vK2θtK)

检查不等式右边的一阶导数,我们知道该下确界在 θ=log(1+Kt/v) 处取得。

对于指数内部的表达式,我们进行如下变换:

θtKg(θ)vK2=log(1+Ktv)tKvK2(Ktvlog(1+Ktv))=vK2((1+Ktv)log(1+Ktv)Ktv)=vK2h(Ktv)

其中 h(u)=(1+u)log(1+u)u

通过对表达式求二阶导数的方法,我们也可以证明:

h(u)u22(1+u/3),u0

综上所述,我们有:

P(A)exp(vK2h(Ktv))exp(vK2K2t22v(v+Kt/3))=exp(t22(v+Kt/3))

7.5 【证明补充】Epoch-GD 的收敛率

150页 引理7.2给出了Epoch-GD外层循环收敛率的泛化上界,我们对其中部分推导进行必要补充。

首先,(7.60)中第二个不等式的推导利用了Cauchy-Schwarz不等式(1.14),即 xTyxy。这里,我们令 x=[1,,1]Ty=[ω1w,,ωTw]T,则有:

|xTy|=t=1TωtwTt=1Tωtw2=|xy|

其次,(7.62)中最后两个不等式的推导利用了一些常见的缩放技巧,我们在这里给出完整形式:

i=1mP(t=1Tδt24l2ATτ+234l2λτ+4l2λ,VT24l2AT,AT(4l2λ2T2i1,4l2λ2T2i))i=1mP(t=1Tδt24l2ATτ+234l2λτ,VT24l2AT,AT(4l2λ2T2i1,4l2λ2T2i))i=1mP(t=1Tδt216l42iλ2Tτ+234l2λτ,VT216l42iλ2T)i=1mP(maxj=1,,Tt=1jδtSj216l42iλ2Tντ+234l2λKτ,VT216l42iλ2Tν)i=1meτ=meτ

这里,第一个不等式利用了 4l2λ>0 的事实对 t=1Tδt 的范围进行概率缩放; 第二个不等式利用了 AT 的下界和上界分别对 t=1TδtVT2 的范围进行概率缩放; 第三个不等式利用了 maxj=1,,Tt=1jδtt=1Tδt 更为宽松的事实对 VT2 进行概率缩放; 第四个不等式利用了定理7.6的结论。

最后,(7.64)中第二个不等式的推导利用了开口向下的二次函数 f(x)=ax2+bx+c,a<0 拥有最大值点 x0=b2a 的事实。我们令 x=AT,然后取 a=λ2,b=24l2lnmδ,c=0,则易知 f(x) 的最大值为 8l2λlnmδ,于是得到了(7.64)中的结论。

进一步地,152页引理7.3利用数学归纳法给出了特定步长和迭代次数下Epoch-GD外层循环收敛率的泛化上界,这为154页定理7.7中Epoch-GD的收敛率奠定了基础。我们对后者的部分推导进行必要补充。

首先,观察(7.75)可以发现,Epoch-GD外层的迭代次数 k 需要满足 α2(2k1)T,即 k=log2(2Tα+1),因此构造了(7.66)中的 k

其次,(7.77)的推导利用了函数 f(x)=(11x)xx=kδ>1 时单调递增的事实,以下是更严格的证明。

对函数 f(x) 两边取对数,得到:

lnf(x)=xln(11x)

接着对两边分别求导,可得:

f(x)f(x)=ln(11x)+1x1

易知当 x>1 时,f(x)>0,因此我们只需要关注等式右边在 x>1 时的符号。 令 g(x)=ln(11x)+1x1,则有:

g(x)=1x(x1)2

易知当 x>1 时,g(x)<0,因此:

g(x)>limx+g(x)=limx+ln(11x)+limx+1x1=0

综上,当 x>1 时,f(x)f(x)=g(x)>0,即 f(x)>0,因此 f(x)x>1 时单调递增。

基于 CC BY-NC-SA 4.0 许可协议