Proximal Algorithms--proximal gradient algorithm
4.2 近端梯度法
Proximal gradient method
无约束的优化问题,代价函数可以分成两个部分:
其中
1.g 是凸的,可微的,并且domg=Rn ,
2.f 是闭的,凸的,可能不可微,proxh 容易计算。
例如问题:L1 norm regularize least-squares
近端梯度算法:
其中
由近端操作的定义得到:
一些特例:
1.梯度方法(gradient method):
2.梯度投影方法(gradient projection method):
3.迭代软阈值(iterative soft-thresholding):
并且:
推导:
h(x) 的近端投影:
proxth(u)=argminx(||x||1+12λ||x−u||22)
将u 看作常数,求函数f(x)=||x||1+12λ||x−u||22 的最小值,考虑一维的情况,因为函数||x||1 并不是处处可微的,因此函数为:
f(x)={x+12λ||x−u||22,−x+12λ||x−u||22,x≥0x≤0
则导数:
f′(x)={1+1λ(x−u),−1+1λ(x−u),x>0x<0
f′(x)=0,则{x=u−λ,x=u+λ,x>0并且u−λ>0x<0并且u+λ<0
则数:
argminxf(x)=⎧⎩⎨u−λ,u+λ,0,u−λ>0u+λ<0−λ<u<λ
解释:
情况1,当
情况2:左边的抛物线的最低点落在了右区间,即
投影梯度迭代
投影梯度迭代最小化公式:
上式可以写成:
上式的类似于常规的梯度下降法。
从次梯度和近端操作的关系:
得到:
当前仅当
很容易理解,我们将
线性搜索
line search
为了确定下面公式的步长:
我们从某个
1. 每次线性搜索迭代过程,需要计算
2. 上面收敛条件不等式的推导参考下面收敛分析。
3. 许多其他类型的搜索工作
近端梯度方法的收敛性分析
假定:
1.
2.最优值
结果:我们将给出
凸函数的仿射下界:
affine lower bound from convexity:
证明:带有拉格朗日余项的二阶泰勒展开:
g(y)=g(x)+▽g(x)T(y−x)+12(y−x)T▽2g(ξ)(y−x)
其中对于凸函数▽2g(ξ)≥0 ,因此证毕。
凸函数的二次上界:
证明:
g(y)=g(x)+▽g(x)Tv+(g(y)−g(x)−▽g(x)Tv)
其中
,其中▽g(x)Tv=∫10▽g(x)Tvdt t 是与v 无关的变量。
limv→0g(y)−g(x)v=limv→0∫10▽g(x+tv)Tdt(.1)
g(y)−g(x)=∫10▽g(x+tv)Tvdt(.2)
由公式.2可以推出公式.1,但是公式.1推不出公式.2. 不参考文中是如何理解的。
换种方法推导上界1.,(参考:凸优化 中文版 pdf 454页)
因为▽g2(x)≤MI
带入到泰勒展开即可:
g(y)≤g(x)+▽g(x)T(y−x)+M2||y−x||22∀x,y
注意,参考文中也没有写错,应该采用下面的推导理解方法吧?
换种方法推导上界2.
如何函数▽g(x) 是Lipschitz 连续,其中常数量使用L 表示,则:
||▽g(x)−▽g(y)||2≤L||x−y||2
对于一维的情况:
,|▽g(x)−▽g(y)|≤L|x−y|
则:
|▽g(x)−▽g(y)||x−y|≤L
两边取极限得到:
−▽2g(x)≤L 或者▽2g(x)≤L ,因为▽2g(x)≥0 ,所以范围为:
0≤▽2g(x)≤L
则将其带入到泰勒展开式得到:
g(y)≤g(x)+▽g(x)T(y−x)+L2||y−x||22∀x,y
consequences of Lipschiitz assumption
我们知道
将其带入到凸函数的二次上界不等式中:
那么下面的回溯线性搜索不等式,在
这很容易验证,只要在
回溯直线搜索:
给定函数f 在x∈domf 处的下降方向−Gt(x) ,参数α∈(0,0.5),β∈(0,1) 。
令t:=t^ .
如果函数g(x−tGt(x))>g(x)−t▽g(x)TGt(x)+t2||Gt(x)||22 令t=βt
回溯直线搜索(或者回溯线性搜索),从
很容易理解,只要
假设算法迭代过程中达到
当
所以此时算法终止时
a global ineuqality
如果线性搜索不等式(3.2)满足,那么我们可以推导出下面的全局不等式,其描述的是关于
证明:
f(x)=g(x)+h(x)
f(x−tGtx(x))=g(x−tGtx(x))+h(x−tGtx(x))
f(x−tGtx(x))−h(x−tGtx(x))≤g(x)−t▽g(x)TGt(x)+t2||Gt(x)||22
f(x−tGtx(x))≤g(x)−t▽g(x)TGt(x)+t2||Gt(x)||22+h(x−tGtx(x))
f(x−tGtx(x))≤g(x)−t▽g(x)TGt(x)+t2||Gt(x)||22+h(x−tGtx(x))
因为:g(z)≥g(x)+▽g(x)T(z−x) ,即函数g(z) 在x 处进行展开,则
g(x)≤g(z)+▽g(x)T(x−z)
函数:h(z)≥f(x−tGt(t))+∂f(x−tGt(t))T(z−x+tGt(t))
即:
f(x−tGt(t))≤h(z)+∂f(x−tGt(t))T(x−z−tGt(t))
以及(.0)公式,我们化简得到:
f(x−tGtx(x))≤g(z)+▽g(x)T(x−z)−t▽g(x)TGt(x)+t2||Gt(x)||22+h(z)+(Gt(x)−▽g(x))(x−z−tGt(x))
化简得到:
=g(z)+h(z)+Gt(x)T(x−z)−t2||Gt(x)||22
一次迭代过程
将
即
这表明算法是一个下降方法。
将
因此:
Analysis for fixed step size
收敛性分析for固定步长
迭代步长的大小为
并且
则:
因为
因此:经过
参考文献:
1、http://people.eecs.berkeley.edu/~elghaoui/Teaching/EE227A/lecture18.pdf 近端梯度法
http://download.csdn.net/detail/xuluhui123/9584831
posted on 2016-07-21 19:22 Raby_Draby 阅读(1007) 评论(0) 收藏 举报
浙公网安备 33010602011771号