优化整理
函数\(g\)的一些性质
-
Lipschitz continuity
\[\Vert \theta \Vert_2 \leq D \Rightarrow \Vert g'(\theta)\Vert_2 \leq B \] -
Smoothness
\[\Vert g'(\theta_1) - g'(\theta_1)\Vert_2 \leq L \Vert \theta_1 - \theta_2\Vert_2 \] -
Strong convexity
\[g(\theta_1) \geq g(\theta_2) + g(\theta_1)^T(\theta_2-\theta_1) + \frac{\mu}{2}\Vert \theta_1 - \theta_2\Vert_2 \]
Smoothness函数的性质
光滑凸函数的性质
-
如果\(g\)是二阶可微的,则
\[\Vert g''(\theta)\Vert \leq L \] -
二阶上界
\[g(\theta_1) \leq g(\theta_2) + g'(\theta_2)(\theta_1-\theta_2) + \frac{L}{2}\Vert \theta_1-\theta_2\Vert \]可以直接通过上述的\(g''(\theta)\leq L\)导出
-
下界
\[g(\theta_1) \geq g(\theta_2) + g'(\theta_2)(\theta_1-\theta_2) + \frac{L}{2}\Vert \theta_1-\theta_2\Vert \]令\(h(\theta) = g(\theta) - \theta^T g'(\theta_2)\),\(h(\theta)\)为凸函数且在\(\theta_2\)取得最小值,\(h(\theta)\leq h(\theta-\frac 1 L g'(\theta))\),将进行泰勒展开可以得到结果。
-
co-coercivity
\[\frac 1 L \Vert g'(\theta) - g'(\eta)\Vert_2^2 \leq [g'(\theta) - g'(\eta)]^T(\theta-\eta) \] -
到最优点的距离
\[g(\theta) - g(\theta_*)\leq g'(\theta)^T(\theta-\theta_*) \] -
如果\(g\)是\(\mu\) 强凸的,那么
\[g(\theta) \leq g(\eta) + g'(\eta)(\theta-\eta) + \frac{1}{2 \mu}\Vert g'(\theta) - g(\eta)\Vert \]同样,令\(h(\theta)=g(\theta) - \theta^T g'(\eta)\)并利用强凸的定义即可。
-
如果\(g\)是\(\mu\)强凸,那么到最优点的距离
\[g(\theta) - g(\theta_*) \leq \frac{1}{2\mu} \Vert g'(\theta) \Vert^2 \]
光滑函数梯度下降
令光滑函数梯度下降的迭代过程为\(\theta_t = \theta_{t-1} - \frac 1 L g'(\theta_{t-1})\)
-
如果\(g\)是\(\mu\)强凸的,那么
\[\Vert g(\theta_t) - g(\theta_*)\Vert\leq (1-\mu/L)^t[g(\theta_0) - g(\theta_*)] \]即,梯度下降算法是\(1- \mu/L\)线性收敛的。
最后使用\(\Vert g'(\theta) - g'(\theta_*)\Vert^2 \geq 2\mu (g(\theta) - g(\theta_*))\)
-
如果\(g\)仅仅是\(L-smooth\)的,那么
\[g(\theta_t) - g(\theta) \leq \frac{2L\Vert \theta_0 - \theta_*\Vert}{t+4} \]将\(\theta_t\)的迭代过程带入,并利用\(co-coercivity\)
利用凸函数的性质和柯西施瓦茨不等式可以得到
\[g(\theta_{t-1} )- g(\theta_*)\leq g'(\theta_{t-1})(\theta_{t-1}-\theta)\leq\Vert g'(\theta_{t-1})\Vert \Vert \theta_{t-1}-\theta\Vert \]同时利用上一步的结果\(g(\theta_t)\leq g(\theta_{t-1}) -\frac{1}{2L}\Vert g'(\theta_{t-1})\Vert^2\)
定义
倒数第二步骤,从\(1-t\)的加和,两边都是加上前一步结果后,左式的\(\frac{1}{\Delta_{k-1}}\)被消除,因此就等于最后的结果。
加速梯度下降
对于\(L-smooth\)函数\(g\),以及下述优化流程
则会有\(g(\theta_t)-g(\theta_*)\leq \frac{2L\Vert \theta_0 - \theta_*\Vert^2}{(t+1)^2}\)
如果\(g\)还是一个\(\mu\)强凸函数,那么下属流程
则会有\(g(\theta_t)-g(\theta_*)\leq L\Vert \theta_0 - \theta_* \Vert^2( 1-\sqrt{1-\mu/L})^t\)
文章说的ten-line proof并没看懂...
Proximal gradient descent
Proximal gradient descent
针对的是
其中\(g(x)\)是Lipschitz
连续,\(h(x)\)是凸函数不一定可微分。
其要找到一个\(z\)使得
推导过程为,假设除去\(h(x)\)按照正常的梯度下降方法,
对其在\(x\)点进行二阶展开
最后一个等式去除了一些无关的常数项,因此最后一行其实是原式子的上界,通过对其上界进行优化从而实现其下降。
求解过程如下
加入没有\(g(x)\)这一项,对\(g(x)\)进行求导,可以得到
继而可以得到\(\nabla f(x^{(t)})=L(x^{(t)}-x^{(t+1)})\),为了表示方便,令\(\gamma = \frac{1}{L}\),同时设\(G_{\gamma} = \frac{1}{\gamma}(x-x^{(t+1)})\)。现在证明\(G_{\gamma}=0 \Rightarrow \partial g(x)+h(x)\)
因为\(x^{(t+1)}=\arg\min_z \{\frac{1}{2\gamma} \Vert z-(x^{(t)}-\gamma \nabla g(x^{(t)}))\Vert + h(z)\}\),上式对\(z\)求导即可得到结果
这个结果进一步说明了Proximal Gradient Descent
与通常的梯度下降间的联系。
令\(f(x)=g(x)+h(x)\)证明:
\[f(y)\geq f(x^{(t+1)})+<G_\gamma(x), y-x>+\frac \alpha 2 \Vert y-x\Vert^2+\gamma (1-\frac{\beta \gamma}{2})\Vert G_\gamma(x)\Vert^2 \]将\(x^{(t+1)}=x - \gamma G_\gamma(x)\)代入\(f(x)\)得到
\[\begin{align*}f(x^{(t+1)})&=g(x-\gamma G_\gamma(x))+h(x^{t+1})\\&\leq g(x) - \gamma<\nabla g(x), G_\gamma(x)>+\frac{\beta \gamma}{2}\Vert G_\gamma(x)\Vert^2 \\&\leq g(y)+<\nabla g(x), x-y>-\frac \alpha 2 \Vert x-y\Vert^2\\&\quad -\gamma<\nabla g(x), G_\gamma(x)>+\frac{\beta \gamma}{2}\Vert G_\gamma(x)\Vert^2\\&= g(y)+<\nabla g(x), x-y-\gamma G_\gamma(x)>-\frac \alpha 2 \Vert x-y\Vert^2\\&\quad +\frac{\beta \gamma}{2}\Vert G_\gamma(x)\Vert^2\\\end{align*} \]
参考文献
- Francis Batch, Statistical machine learning and convex optimization
- [Ryan Tibshirani, Convex Optimization](