最优化方法 18:近似点算子 Proximal Mapping

前面讲了梯度下降法,分析了其收敛速度,对于存在不可导的函数介绍了次梯度的计算方法以及次梯度下降法,这一节要介绍的内容叫做近似点算子(Proximal mapping),也是为了处理非光滑问题。

1. 闭函数

在引入闭函数(closed function)的概念之前,我们先回顾一下闭集的概念:集合 C \mathcal{C} C 是闭的,如果它包含边界,也即
x k ∈ C , x k → x ˉ ⇒ x ˉ ∈ C x^{k} \in \mathcal{C}, \quad x^{k} \rightarrow \bar{x} \quad \Rightarrow \quad \bar{x} \in \mathcal{C} xkC,xkxˉxˉC
并且有以下几个简单的原则可以保持集合闭的性质:

  1. 闭集的交集还是闭集;
  2. 有限个闭集的并集还是闭集;
  3. 如果 C \mathcal{C} C 是闭集,则线性映射原象也是闭集,也即 { x ∣ A x ∈ C } \{x|Ax\in\mathcal{C}\} { xAxC} 是闭集。

第 3 条原则反过来则不一定成立,也即如果 x ∈ C x\in\mathcal{C} xC 是闭集,那么 { A x ∣ x ∈ C } \{Ax|x\in\mathcal{C}\} { AxxC} 则不一定是闭集,比如我们可以取函数 f ( x ) = 1 / x f(x)=1/x f(x)=1/x 的 epigraph 为闭集 C \mathcal{C} C,然而 ( x , y ) (x,y) (x,y) x x x 轴的投影则是一个开集,严格表示与图示如下
C = { ( x 1 , x 2 ) ∈ R + 2 ∣ x 1 x 2 ≥ 1 } , A = [ 1 , 0 ] , A C = R + + \mathcal{C}=\left\{\left(x_{1}, x_{2}\right) \in \mathbb{R}_{+}^{2} | x_{1} x_{2} \geq 1\right\}, \quad A=[1,0], A \mathcal{C}=\mathbb{R}_{++} C={ (x1,x2)R+2x1x21},A=[1,0],AC=R++

第3条逆原则反例 第3条逆原则充分条件
在这里插入图片描述 在这里插入图片描述

当然,如果加一些其他的约束条件,则可以保证第 3 条反过来也成立: A C A\mathcal{C} AC 是闭的,如果

  1. C \mathcal{C} C 是闭的且为凸集;
  2. 并且 C \mathcal{C} C 不存在一个可以无穷延伸的方向(recession direction)属于 A A A 的零空间,也即 A y = 0 , x ^ ∈ C , x ^ + α y ∈ C , ∀ α > 0 ⇒ y = 0 A y=0, \hat{x} \in \mathcal{C}, \hat{x}+\alpha y \in \mathcal{C}, \forall \alpha>0 \Rightarrow y=0 Ay=0,x^C,x^+αyC,α>0y=0,图示即如上。

然后我们就可以定义**闭函数(closed function)**了,函数 f f f 为闭的,如果他的 epigraph 为闭集或者他的所有下水平集为闭集。有以下两种简单的特殊情况:

  1. 如果 f f f 连续且定义域 dom f \text{dom}f domf 为闭的,则 f f f 为闭函数;
  2. 如果 f f f 连续且定义域 dom f \text{dom}f domf 为开的,则 f f f 为闭函数当且仅当其在 dom f \text{dom}f domf 边界处收敛至 ∞ \infty

例子 1 f ( x ) = x log ⁡ x , dom f = R + , f ( 0 ) = 0 f(x)=x\log x,\quad\text{dom}f=R_+,f(0)=0 f(x)=xlogx,domf=R+,f(0)=0

例子 2:闭集的指示函数 δ C ( x ) = { 0 x ∈ C + ∞ o . w . \delta_C(x)=\begin{cases}0&x\in C\\ +\infty & o.w.\end{cases} δC(x)={ 0+xCo.w.

反例 3 f ( x ) = x log ⁡ x , dom f = R + + f(x)=x\log x,\quad\text{dom}f=R_{++} f(x)=xlogx,domf=R++ 或者 f ( x ) = x log ⁡ x , dom f = R + , f ( 0 ) = 1 f(x)=x\log x,\quad\text{dom}f=R_+,f(0)=1 f(x)=xlogx,domf=R+,f(0)=1 不是闭函数

反例 4:开集的指示函数不是闭函数

闭函数有一些有用的性质,比如:

  1. f f f 为闭函数当且仅当他的所有下水平集都是闭集;
  2. 如果 f f f 为闭函数,且下水平集有界,那么存在最小值点(minimizer)

Theorem (Weierstrass) :假设集合 D ⊂ E D\subset \mathcal{E} DE ( R n R^n Rn空间中有限维向量子空间) 非空且闭,并且连续函数 f : D → R f:D\to R f:DR 的所有下水平集都有界,则 f f f 存在全局最小值点(global minimizer)

对于闭函数来说也有一些原则可以保持闭的性质:

  1. 如果 f , g f,g f,g 均为闭函数,则 f + g f+g f+g 为闭函数
  2. 如果 f f f 为闭函数,则 f ( A x + b ) f(Ax+b) f(Ax+b) 为闭函数
  3. 如果任意 f α f_\alpha fα 都是闭函数,则 sup ⁡ α f α ( x ) \sup_\alpha f_\alpha(x) supαfα(x) 为闭函数

2. 共轭函数

共轭函数(conjugate function) 前面已经讲过了,这里再简单回顾一遍。函数 f f f 的共轭函数定义为
f ⋆ ( y ) = sup ⁡ x ∈ dom f ( y T x − f ( x ) ) f^\star(y)=\sup_{x\in\text{dom}f} (y^Tx-f(x)) f(y)=xdomfsup(yTxf(x))

并且共轭函数有一些重要的性质:

  1. 共轭函数一定是闭函数,且为凸函数,不论 f f f 是否为凸函数或闭函数(因为 f ⋆ f^\star f 的 epigraph 可以看成很多个半空间的交集);
  2. (Fenchel’s inequality) f ( x ) + f ∗ ( y ) ≥ x ⊤ y , ∀ x , y f(x)+f^{*}(y) \geq x^{\top} y, \forall x, y f(x)+f(y)xy,x,y
  3. (Legendre transform) 如果 f f f 为凸函数且为闭函数,则有 y ∈ ∂ f ( x ) ⇔ x ∈ ∂ f ∗ ( y ) ⇔ x ⊤ y = f ( x ) + f ∗ ( y ) y \in \partial f(x) \Leftrightarrow x \in \partial f^{*}(y) \Leftrightarrow x^{\top} y=f(x)+f^{*}(y) yf(x)xf(y)xy=f(x)+f(y)
  4. 如果 f f f 为凸函数且为闭函数,则 f ⋆ ⋆ = f f^{\star\star}=f f=f

除此之外还有一些代数变换的原则,推导也都比较简单:

  1. f ( x 1 , x 2 ) = g ( x 1 ) + h ( x 2 ) , f ∗ ( y 1 , y 2 ) = g ∗ ( y 1 ) + h ∗ ( y 2 ) f\left(x_{1}, x_{2}\right)=g\left(x_{1}\right)+h\left(x_{2}\right), \quad f^{*}\left(y_{1}, y_{2}\right)=g^{*}\left(y_{1}\right)+h^{*}\left(y_{2}\right) f(x1,x2)=g(x1)+h(x2),f(y1,y2)=g(y1)+h(y2)
  2. f ( x ) = α g ( x ) , f ∗ ( y ) = α g ∗ ( y / α ) ( ★ ) f(x)=\alpha g(x), \quad f^{*}(y) {=} \alpha g^{*}(y / \alpha) \quad(\bigstar) f(x)=αg(x),f(y)=αg(y/α)()
  3. f ( x ) = g ( x ) + a ⊤ x + b f ∗ ( y ) = g ∗ ( y − a ) − b f(x)=g(x)+a^{\top} x+b \quad f^{*}(y)=g^{*}(y-a)-b f(x)=g(x)+ax+bf(y)=g(ya)b
  4. f ( x ) = inf ⁡ u + v = x ( g ( u ) + h ( v ) ) f ∗ ( y ) = g ∗ ( y ) + h ∗ ( y ) f(x)=\inf _{u+v=x}(g(u)+h(v)) \quad f^{*}(y)=g^{*}(y)+h^{*}(y) f(x)=infu+v=x(g(u)+h(v))f(y)=g(y)+h(y)

共轭函数的计算就不多举例子了,这里主要列出来后面用的比较多的而且比较重要的,其他的可以参考前面的笔记 6:

例子 1 C C C 为凸集,则指示函数 f ( x ) = δ C ( x ) f(x)=\delta_C(x) f(x)=δC(x),其共轭函数为支撑函数
f ⋆ ( y ) = sup ⁡ { y T x ∣ x ∈ C } f^\star(y) = \sup\{y^Tx|x\in C\} f

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值