Proximal Algorithms--Fixed points
2016-07-19 16:03
387 查看
2.3 Fixed points
近端操作:proxf(v)=argminx(f(x)+(1/2)||x−v||22)(1.1)
当前仅当:
x∗=proxf(x∗)
即一个点经过近端操作后是其本身,那么点x∗最小化函数f,我们称x∗是proxf的一个固定点(a fixed point).
Fiex point algorithms.固定点算法
因为函数f的最小化点是proxf的固定点,因此我们可以找到函数近端操作的固定点来最小化函数f。如果proxf是收缩操作(if proxf were a contraction ),也就是说,Lipschitz continuous 中的常数小与1,那么重复的应用proxf可以找到一个的固定点(在这里是唯一的)。实际上,proxf没有必要是一个收缩操作(除非函数f是强凸的),其拥有一个不同的属性:firm nonexpansiveness(严格非增大),对于固定点的迭代该条件是足够的:
||proxf(x)−proxf(y)||22≤(x−y)T(proxf(x)−proxf(y))
对于所有的x,y∈Rn.
Firmly nonexpansiveness operators是nonexpansiveness operators(其Lipschitz continuous常数为1)的一个特例。一般的非增大操作的迭代不一定收敛到一个固定的点,如I或者旋转。然而,实际上,如果N是非增大的,那么操作T=(1−α)I+αN和N拥有同样的固定点,并且随着T的简单的迭代将收敛到T的一个固定点(N也是这个),其中α∈(0,1),也就是说,序列:
xk+1:=(1−α)xk+αN(xk)
将收敛到N的一个固定点。换句话说,一个非增大操作的阻尼迭代将收敛到其的一个固定点。
α−averaged perators:
操作符形式为:
(1−α)I+αN
其中N是非增大(非扩展)的,α∈(0,1)
averaged,contraction,firm nonexpansions,三个operators的关系:
1. contraction和firm nonexpansions是averaged operator的子集。
2. 这三个都是 nonexpansive operator的子集。
Averaged operator:
averaged操作很有用,因为它们满足一些属性,这些属性适合设计固定点方法,并且因为平均操作是contraction和firm nonexpansion的一个common father。例如:averaged操作满足组合操作的闭合性,而firm nonexpansions不满足组合操作的闭合性。也就是说firm nonexpansions的组合操作不一定是firm nonexpansion,但是总是averaged。上面提到,一个averaged 操作的迭代将收敛到一个固定点(如何存在的话,其是Krasnoselskii-Mann理论的一个结论)。那么假定T是一个avergaed操作,并且存在一个固定点,定义任意初始点x0的迭代:
xk+1:=T(xk)
那么随着k→∞,||T(xk)−xk||→0,并且xk收敛到T的一个固定点。
那么我们可以得到最简单近端算法:
xk+1:=proxλf(xk)
其称为proximal minimization或者proximal point algorithm.
2.4 Proximal average
令f1,...,fm是一些适当的闭凸函数。那么我们有:1m∑i=1mproxfi=proxg
其中函数g称为f1,...,fm的proximal average.话句话说,一组函数近端操作的平均是某个函数本身的近端操作。该操作很基础,通常出现在并行近端算法中。
Moreau decomposition-莫罗分解
莫罗分解描述了近端操作和对偶之间的关系。下面的关系总是成立的:
v=proxf(v)+proxf∗(v)(2.4)
其中f∗(y)=supx(yTx−f(x)),是函数f的convex conjugate(凸共轭).公式(2.4)称为莫罗分解。
莫罗分解可以看做是通过一个子空间导出的正交分解的推广。如果L是一个子空间,那么它的正交补(orthogonal complement)是:
L⊥={y|yTx=0 for all x∈L}
并且,对于任意的v,我们有:
v=ΠL(v)+ΠL⊥(v)
推导:
将公式(1.1)带入到公式(2.4):
v=proxf(v)+proxf∗(v)
=argminx(f(x)+(1/2)||x−v||22)+argminy(supx(yTx−f(x))+(1/2)||x−v||22)
令函数f(x)为示性函数,并且假设x与y正交,则上面的公式变为:
=argminx(12||x−v||22)+argminy(12||y−v||22)
=ΠL(v)+ΠL⊥(v)
类似地,当函数f是闭凸锥K上的示性函数时,我们有:
v=ΠK(v)+ΠK∘(v)
其中:
K∘={y|yTx≤0 for all x∈K}
是polar cone,其是dual cone的negative(相反部分),其中dual cone如下:
K∗={y|yTx≥0 for all x∈K}
莫罗分解给出了一个简单的根据f∗的近端操作来获得函数f的近端操作的方式。例如,f=||⋅||是一个普通的范数,那么f∗=IB,其中:
B={x|||x||∗≤1}
是对偶函数||⋅||∗的单位球,定义如下:
||z||∗=sup{zTx| ||x||≤1}
通过莫罗分解,其变为:
v=proxf(v)+ΠB(v)
换句话说,如果我们知道如何投影到B,那么可以很容易的计算proxf.
相关文章推荐
- 如何访问国际英文版谷歌?Google.com
- Celery在Django下使用的内存泄漏问题
- 京城游戏人-Day5:GoKit 简单使用之移动动画
- google快捷键
- mongo模糊查询
- MongonDB学习笔记(一)查询
- CodeForces 266C Below the Diagonal
- Xcode警告Category is implementing a method which will also be implemented by its primary class 处理
- Django新手需要注意的10个要点
- NBOJv2 1050 Just Go(线段树/树状数组区间更新单点查询)
- django1.7取消syncdb后不能创建model相应表的问题
- Django入门:使用技巧【后续会一直添加】
- 基于google zxing二维码的生成,直接返回页面图片
- 【善用工具】Google的gflags
- 作DJANGO ORM时的一些最佳实践
- Unbundling Pokémon Go
- MyBatis good
- django的url()用法总结
- Hangouts高清视频的背后:从H.264编码向WebRTC的进化
- 为什么说《Pokémon GO》是史上第一个真正意义上的“全民”游戏?