-
Notifications
You must be signed in to change notification settings - Fork 186
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #28 from zhimin-z/Chapter-7-Supplement
章节7的补充
- Loading branch information
Showing
1 changed file
with
97 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,75 +1,132 @@ | ||
# 第7章:收敛率 | ||
|
||
*Edit: 李一飞* | ||
*Edit: 李一飞,赵志民* | ||
|
||
--- | ||
|
||
本章的内容围绕学习理论中的收敛率(convergence rate)展开。具体来说,将会考察确定优化下的收敛率问题,以及随机优化下的收敛率问题,并在最后分析支持向量机的实例。 | ||
本章的内容围绕学习理论中的算法收敛率(convergence rate)展开。具体来说,将会考察确定优化下的收敛率问题,以及随机优化下的收敛率问题,并在最后分析支持向量机的实例。 | ||
|
||
## 1.【概念补充】算法收敛率 | ||
|
||
在算法分析中,收敛率是指迭代算法逼近解或收敛到最优或期望结果的速度,它衡量算法在减小当前解与最优解之间差异方面的快慢。 | ||
|
||
## 1. 【概念补充】凸函数 | ||
|
||
回顾第一章中的介绍,**凸函数**是函数曲线围成区域为凸集的函数,即 | ||
$$ | ||
\forall x_1,x_2\in C\\\theta x_1+(1-\theta x_2)\in C | ||
$$ | ||
由于凸函数围成区域的特殊性质(无限区域),我们只需要考虑函数曲线所在的边界,因此条件转化为 | ||
$$ | ||
f(\theta x + (1-\theta)z) \leq \theta f(x) + (1-\theta) f(z) | ||
$$ | ||
由于凸函数的良好性质,我们可以推出凸函数局部最优解就是全局最优:假设 $x^*$ 是局部最优,即 $x^*$ 周围存在一个邻域, | ||
$$ | ||
S = B(x^*,\delta),\forall x \in S, f(x)\geq f(x^*) | ||
$$ | ||
因此 | ||
设 $\{x_k\}$ 是算法生成的迭代序列,我们可以根据以下公式来衡量算法的收敛率: | ||
$$ | ||
\forall y , f(x^*)\leq f((1-t)x^*+ty) , \,\, \{t\leq \frac{\delta}{|x^*-y|}\} | ||
$$ | ||
由凸函数性质: | ||
$$ | ||
\forall y , f(x^*)\leq f((1-t)x^*+ty)\leq (1-t)f(x^*)+tf(y)\\\Rightarrow f(x^*)\leq f(y) | ||
lim_{t\rightarrow+\infty}\frac{||x_{t+1} - x^*||}{||x_t - x^*||^p} = C | ||
$$ | ||
其中,$C$为收敛因子,$p$为收敛阶数,$x^*$ 表示最优解,$||.||$ 表示适当的范数。 | ||
|
||
进而,我们可以将收敛率分为以下几种情况: | ||
1. 超线性收敛:$p\ge1$,$C=0$,表明每次迭代都会使得误差减小,且减小的速度越来越快。 | ||
特别地,当$p>1$时,称为$p$阶收敛。例如,$p=2$时,称为平方收敛;$p=3$时,称为立方收敛。 | ||
2. 线性收敛:$p=1$,$C>0$,表明每次迭代都会使得误差减小(误差呈几何级数下降),但减小的速度是一定的。 | ||
3. 次线性收敛:$p=1$,$C=1$,表明每次迭代都会使得误差减小,但减小的速度越来越慢。 | ||
|
||
|
||
|
||
## 2.【公式说明】$l$-Lipschitz | ||
## 2.【定理补充】凸函数的确定优化 | ||
|
||
由 $l$-Lipschitz 的定义式 (1.7) 可以推出题目给的梯度条件: | ||
我们发现,书中给出的梯度下降算法将$T$轮迭代的均值作为输出而不是以$\omega_T$作为最终结果。 | ||
这是因为在凸函数的梯度下降时,我们设定的步长$\eta$是启发式的,因此每次迭代产生的$\omega'$无法保证是局部最优解。 | ||
考虑到定理7.1的结论,$T$轮迭代的$\omega$均值具有次线性收敛率,而我们却无法证明最后一次迭代值$\omega_T$也具有与之相较的收敛率。 | ||
总之,返回$\omega$的均值可能会提高计算的代价,但却可以确保稳定的收敛率。该思想在7.3.1和7.3.2中梯度下降算法中亦有体现。 | ||
|
||
作为对比,在7.2.2中强凸函数的梯度下降算法中,我们只输出了最后一次迭代值$\omega_T$。 | ||
这是因为在强凸函数的条件下,每次迭代的梯度更新均有闭式解:$\omega_{t+1}=\omega_t-\frac{1}{\gamma}\nabla f(\omega_t)$。 | ||
每次迭代无需任何启发式算法就可以得到该临域的全局最优解,这也是此算法拥有更快收敛率(线性收敛率)的原因。因而,无需返回历史$\omega$的均值。 | ||
|
||
另外,在**P139**定理7.1的(7.12)推导中,利用了第一章补充内容 AM-GM 不等式$n=2$的结论,即对于任意非负实数$x,y$,有 | ||
$$ | ||
f(z)-f(x) \leq l\cdot|z-x| | ||
\\\Rightarrow\frac{|f(z)-f(x)|}{|z-x|}\leq l | ||
\\\Rightarrow lim_{z-x\rightarrow 0}\frac{|f(z)-f(x)|}{|z-x|}\leq l | ||
\\\Rightarrow||\nabla f(u)||\leq l | ||
\sqrt{xy}\le\frac{x+y}{2} | ||
$$ | ||
当且仅当$x=y$时取等号。 | ||
|
||
因此只有满足$\frac{\Gamma^2}{2\eta T}=\frac{\eta l^2}{2}$时,$\frac{\Gamma^2}{2\eta T}+\frac{\eta l^2}{2}$才能取得最小值$\frac{l\Gamma}{\sqrt T}$,此时我们只需设置步长$\eta=\frac{\Gamma}{l\sqrt T}$即可。 | ||
类似的推导可以在(7.35)和(7.39)中找到。 | ||
|
||
|
||
|
||
## 3. 【概念补充】强凸函数 | ||
## 3.【定理补充】强凸函数的确定优化 | ||
|
||
### 定义 | ||
**P142**中,在证明定理7.3时,对于(7.19)的讨论这里进行一些补充。 | ||
首先,如果目标函数满足$\lambda$-强凸且$\gamma$-光滑,那么根据第一章补充内容中关于强凸函数和光滑性的结论,我们有$\gamma\ge\lambda$。 | ||
这是因为对于任意$\omega,\omega'$,光滑系数$\gamma$的被定义为: | ||
$$f(\omega)\le f(\omega')+\nabla f(\omega')^T(\omega-\omega')+\frac{\gamma}{2}||\omega-\omega'||^2$$ | ||
而强凸系数$\lambda$的被定义为 | ||
$$f(\omega)\ge f(\omega')+\nabla f(\omega')^T(\omega-\omega')+\frac{\lambda}{2}||\omega-\omega'||^2$$ | ||
对于任意$\omega$,光滑系数$\gamma$决定了$f(\omega)$的上界,而强凸系数$\lambda$决定了$f(\omega)$的下界,因此光滑系数$\gamma$不小于强凸系数$\lambda$。 | ||
|
||
对定义在凸集上的函数 $f: \R^d\rightarrow\R$,若 $\exists \lambda\in\R_+$,使得 $\forall x,z\in\Psi$ 都有 | ||
此时,令$f(\alpha)=\frac{\gamma-\lambda}{\lambda}\alpha^2-\alpha$,因为$\frac{\gamma-\lambda}{\lambda}\ge0$,故而我们可以分成以下两种情况讨论: | ||
1. 当$\frac{\gamma-\lambda}{\lambda}=0$时,(7.19)转化为: | ||
$$ | ||
f(\theta x+(1-\theta)z)\leq \theta f(x)+(1-\theta)f(z)-\frac{\lambda}{2}\theta(1-\theta)||x-z||^2 \quad(\forall0\leq\theta\leq 1) | ||
\begin{aligned} | ||
&f(\omega_{t+1})\le min_{\alpha\in[0,1]}\{f(\omega_t)-\alpha (f(\omega_t)-f(\omega^*))\} \\ | ||
\Rightarrow&f(\omega_{t+1})-f(\omega^*)\le min_{\alpha\in[0,1]}\{1-\alpha\}(f(\omega_t)-f(\omega^*)) \\ | ||
\end{aligned} | ||
$$ | ||
因为$f(\omega_t)-f(\omega^*)\ge0$,所以当且仅当$\alpha=1$时,不等式右侧取得最小值$0$,此时易知$f(\omega_{t+1})=f(\omega^*)$。 | ||
根据凸函数局部最优解等于全局最优解的结论,我们可以得到$\omega_{t+1}=\omega^*$,即算法在第$t+1$轮迭代中收敛到最优解。 | ||
|
||
### 关于强凸函数 | ||
2. 当$\frac{\gamma-\lambda}{\lambda}>0$时,$f(\alpha)$为关于$\alpha$开口向上的二次函数。 | ||
令$f'(\alpha)=2\frac{\gamma-\lambda}{\lambda}\alpha-1=0$,得到$f(\alpha)$的对称轴为$\alpha=\frac{\lambda}{2(\gamma-\lambda)}$。 | ||
此时我们可以分成以下两种情况讨论: | ||
- 当$\frac{\lambda}{2(\gamma-\lambda)}\ge1$时,$f(\alpha)$取得最小值只能在$\alpha=1$处,故而得到(7.20)。 | ||
- 当$0\lt\frac{\lambda}{2(\gamma-\lambda)}\lt1$时,$f(\alpha)$取得最小值只能在$\alpha=\frac{\lambda}{2(\gamma-\lambda)}$处,故而得到(7.21)。 | ||
|
||
强凸函数在定义式中可以看出有了一个关于 $\theta$ 和 $||x-z||^2$ 的项,通过简单的化简为 $f(z)\geq f(x)+\nabla f(x)^T(z-x)+\frac{\lambda}{2}||x-z||^2$ 就可以得知,这表明了函数不仅在切线的上方,还保持有二阶的距离,这一点可以从泰勒展开得到更深入地体现。 | ||
余下的推导部分与书中相同,此处不再赘述。 | ||
|
||
强凸函数与凸函数的区别为,凸函数只关心二阶 Hessian 矩阵半正定,而强凸函数提出了更高的要求,对 $f$ 的二阶 Hessian 矩阵有 :$\exists m>0, \nabla^{2} f(x)-m I \succeq 0$ 这里的 $A \succeq \theta$ 代表A是半正定矩阵 | ||
|
||
|
||
## 4.【定理补充】Epoch-GD的收敛率 | ||
|
||
## 4.【公式推导】公式(7.34) | ||
**P150**引理7.2给出了Epoch-GD外层循环收敛率的泛化上界,我们对其中部分推导进行必要补充。 | ||
|
||
由 7.25 的假设: | ||
首先,(7.60)中第二个不等式的推导利用了Cauchy-Schwarz不等式(1.14),即$\|x^Ty\|\le\|x\|\|y\|$。 | ||
这里,我们令$x=\underbrace{[1,\cdots,1]}_{T}$,$y=\underbrace{[\|\omega_1-w^*\|,\cdots,\|\omega_T-w^*\|]}_{T}$,则有: | ||
$$ | ||
\mathbb{E}[\mathbb{g}_t] = \nabla f(\mathbb{\omega}_t) | ||
|x^Ty|=\sum_{t=1}^T\|\omega_t-w^*\|\le \sqrt{T}\sqrt{\sum_{t=1}^T\|\omega_t-w^*\|^2}=|x||y| | ||
$$ | ||
随机梯度是真实梯度的无偏估计 | ||
|
||
其次,(7.62)中最后两个不等式的推导利用了一些常见的缩放技巧,我们在这里给出完整形式: | ||
$$ | ||
\mathbb{E}\big[ \Sigma<\nabla f(\omega_t)-\mathbf{g}_t,\omega_t - \omega> \big]\\=\mathbb{E}\big[ \Sigma<\nabla f(\omega_t),\omega_t - \omega> \big]-\mathbb{E}\big[ \Sigma<\mathbf{g}_t,\omega_t - \omega> \big]\\=\Sigma\big[\mathbb{E}\big[<\nabla f(\omega_t),\omega_t - \omega> \big]-\mathbb{E}\big[<\mathbf{g}_t,\omega_t - \omega>\big]\\=\Sigma\big[\mathbb{E}\big[<\mathbb{E}[\mathbf{g}_t],\omega_t - \omega> \big]-\mathbb{E}\big[<\mathbf{g}_t,\omega_t - \omega>\big]\\=\Sigma\big[\mathbb{E}\big[\mathbf{g}_t,\omega_t - \omega> \big]-\mathbb{E}\big[<\mathbf{g}_t,\omega_t - \omega>\big]\\=0 | ||
\begin{aligned} | ||
&\sum_{i=1}^m P(\sum_{t=1}^T \delta_t \ge 2\sqrt{4l^2A_T\tau}+\frac{2}{3}\frac{4l^2}{\lambda}\tau+\frac{4l^2}{\lambda},V_T^2\le4l^2A_T,A_T\in(\frac{4l^2}{\lambda^2T}2^{i-1},\frac{4l^2}{\lambda^2T}2^i]) \\ | ||
\le &\sum_{i=1}^m P(\sum_{t=1}^T \delta_t \ge 2\sqrt{4l^2A_T\tau}+\frac{2}{3}\frac{4l^2}{\lambda}\tau,V_T^2\le4l^2A_T,A_T\in(\frac{4l^2}{\lambda^2T}2^{i-1},\frac{4l^2}{\lambda^2T}2^i]) \\ | ||
\le &\sum_{i=1}^m P(\sum_{t=1}^T \delta_t \ge \sqrt{2\frac{16l^42^i}{\lambda^2T}\tau}+\frac{2}{3}\frac{4l^2}{\lambda}\tau,V_T^2\le\frac{16l^42^i}{\lambda^2T}) \\ | ||
\le &\sum_{i=1}^m P(\max_{j=1,\cdots,T}\underbrace{\sum_{t=1}^j \delta_t}_{S_j} \ge \sqrt{2\underbrace{\frac{16l^42^i}{\lambda^2T}}_{\nu}\tau}+\frac{2}{3}\underbrace{\frac{4l^2}{\lambda}}_{K}\tau,V_T^2\le\underbrace{\frac{16l^42^i}{\lambda^2T}}_{\nu}) \\ | ||
\le &\sum_{i=1}^m e^{-\tau} \\ | ||
= &me^{-\tau} | ||
\end{aligned} | ||
$$ | ||
这里,第一个不等式利用了$\frac{4l^2}{\lambda} \gt 0$的事实对$\sum_{t=1}^T \delta_t$的范围进行概率缩放; | ||
第二个不等式利用了$A_T$的下界和上界分别对$\sum_{t=1}^T \delta_t$和$V_T^2$的范围进行概率缩放; | ||
第三个不等式利用了$\max_{j=1,\cdots,T}\sum_{t=1}^j \delta_t$比$\sum_{t=1}^T \delta_t$更为宽松的事实对$V_T^2$进行概率缩放; | ||
第四个不等式利用了定理7.6的结论。 | ||
|
||
最后,(7.64)中第二个不等式的推导利用了开口向下的二次函数$f(x)=ax^2+bx+c,a\lt0$拥有最大值点$x_0=-\frac{b}{2a}$的事实。 | ||
我们令$x=\sqrt{A_T}$,然后取$a=-\frac{\lambda}{2},b=2\sqrt{4l^2\ln\frac{m}{\delta}},c=0$,则易知$f(x)$的最大值为$\frac{8l^2}{\lambda}\ln\frac{m}{\delta}$,于是便得到了(7.64)中的结论。 | ||
|
||
进一步地,**P152**引理7.3利用数学归纳法给出了特定步长和迭代次数下Epoch-GD外层循环收敛率的泛化上界,是我们更便于在**P154**定理7.7中给出了Epoch-GD的收敛率,我们对后者的部分推导进行必要补充。 | ||
|
||
首先,观察(7.75)可以发现,Epoch-GD外层的迭代次数$k$需要满足$\frac{\alpha}{2}(2^k-1) \le T$,即$k=\lfloor \log_2(\frac{2T}{\alpha}+1)\rfloor$,于是才有了(7.66)中$k^{\dagger}$的构造。 | ||
|
||
其次,(7.77)的推导利用了函数$f(x)=(1-\frac{1}{x})^x$在$x=\frac{k^{\dagger}}{\delta}\gt1$时单调递增的事实,这里给出更严格的证明。 | ||
|
||
对函数$f(x)$两边取对数,得到: | ||
$$ | ||
\ln f(x)=x\ln(1-\frac{1}{x}) | ||
$$ | ||
接着对两边分别求导,可得: | ||
$$ | ||
\frac{f'(x)}{f(x)}=\ln(1-\frac{1}{x})+\frac{1}{x-1} | ||
$$ | ||
易知当$x\gt1$时,$f(x)\gt0$,因此我们只需要关注等式右边在$x\gt1$时的符号。 | ||
令$g(x)=\ln(1-\frac{1}{x})+\frac{1}{x-1}$,则有: | ||
$$ | ||
g'(x)=\frac{1}{x(x-1)^2} | ||
$$ | ||
易知当$x\gt1$时,$g'(x)\lt0$,因此: | ||
$$ | ||
g(x)\gt\lim_{x\rightarrow+\infty}g(x)=\lim_{x\rightarrow+\infty}\ln(1-\frac{1}{x})+\lim_{x\rightarrow+\infty}\frac{1}{x-1}=0 | ||
$$ | ||
综上,当$x\gt1$时,$\frac{f'(x)}{f(x)}=g(x)\gt0$,即$f'(x)\gt0$,因此$f(x)$在$x\gt1$时单调递增。 |