文章目录
需要注意的一点是,本节所介绍的例子可以通过第二节的性质进行延展.
一般方法
一般情况下proximal需要解决下面的问题:
其中
x
∈
R
n
x \in \mathbb{R}^n
x∈Rn,
C
=
d
o
m
f
\mathcal{C} = \mathbf{dom} f
C=domf.
我们可以使用梯度方法(或次梯度)方法来求解, 还有一些投影方法, 内点法等等.
二次函数
如果
f
(
x
)
=
(
1
/
2
)
x
T
A
x
+
b
T
x
+
c
f(x) = (1/2) x^TAx + b^Tx + c
f(x)=(1/2)xTAx+bTx+c, 其中
A
∈
S
+
n
A \in \mathbb{S}^n_+
A∈S+n,于是:
p
r
o
x
λ
f
(
v
)
=
(
I
+
λ
A
)
−
1
(
v
−
λ
b
)
\mathbf{prox}_{\lambda f}(v) = (I+\lambda A)^{-1}(v-\lambda b)
proxλf(v)=(I+λA)−1(v−λb)
证:
设
φ
(
x
)
=
(
1
/
2
)
x
T
A
x
\varphi(x) = (1/2)x^TAx
φ(x)=(1/2)xTAx, 根据第二节介绍的仿射性质可得:
p
r
o
x
λ
f
(
v
)
=
p
r
o
x
λ
φ
(
v
−
λ
b
)
\mathbf{prox}_{\lambda f}(v) = \mathbf{prox}_{\lambda \varphi}(v-\lambda b)
proxλf(v)=proxλφ(v−λb)
又
∂
φ
=
A
\partial \varphi=A
∂φ=A, 故得证.
特别的
f
(
x
)
=
b
T
x
+
c
f(x) = b^Tx + c
f(x)=bTx+c则
p
r
o
x
λ
f
(
v
)
=
v
−
λ
b
\mathbf{prox}_{\lambda f}(v)=v-\lambda b
proxλf(v)=v−λb,
f
(
x
)
=
c
f(x)=c
f(x)=c,
p
r
o
x
λ
f
(
v
)
=
v
\mathbf{prox}_{\lambda f}(v)=v
proxλf(v)=v, 而当
f
(
x
)
=
(
1
/
2
)
∥
⋅
∥
2
2
f(x)=(1/2)\|\cdot\|_2^2
f(x)=(1/2)∥⋅∥22时:
p
r
o
x
λ
f
(
v
)
=
(
1
1
+
λ
)
v
\mathbf{prox}_{\lambda f}(v) = (\frac{1}{1+\lambda})v
proxλf(v)=(1+λ1)v
这玩意儿有时候被称为压缩算子.
估计proximal operator的时候,需要求解一个线性方程组:
(
I
+
λ
A
)
x
=
v
−
λ
b
(I + \lambda A) x = v - \lambda b
(I+λA)x=v−λb
线性方程组怎么求解这里就不讨论了吧.
不过,这个应该多数用在 f ( x ) + g ( x ) f(x) + g(x) f(x)+g(x)这种情况吧,因为如果单纯想要最小化 f ( x ) f(x) f(x),直接可以求出显示解,所以可能是 f ( x ) + ∣ x ∣ f(x) + |x| f(x)+∣x∣这种类型的?
平滑函数
文章里介绍了如何用梯度方法和牛顿方法,不提了.
标量函数
f
:
R
→
R
∪
{
+
∞
}
f: \mathbb{R} \rightarrow \mathbb{R} \cup \{+\infty\}
f:R→R∪{+∞}, 通过之前几节的介绍,这个情况还是蛮有意义的,因为通过proximal operator的可分性质等,有很好的扩展.
显然,此时,最优条件为:
v
∈
λ
∂
f
(
x
)
+
x
v \in \lambda \partial f(x) + x
v∈λ∂f(x)+x
比如:
f
(
x
)
=
−
log
x
⇒
p
r
o
x
λ
f
(
v
)
=
v
+
v
2
+
4
λ
2
f(x) = - \log x \\ \Rightarrow \mathbf{prox}_{\lambda f}(v) = \frac{v+\sqrt{v^2 + 4\lambda}}{2}
f(x)=−logx⇒proxλf(v)=2v+v2+4λ
又比如当
f
(
x
)
=
∣
x
∣
f(x) = |x|
f(x)=∣x∣:
一般的标量函数
如果对于 f f f,其次梯度是可获得的,那么我们可以利用localization method来有效估计 p r o x λ f \mathbf{prox}_{\lambda f} proxλf, 这种方法有点类似于二分法.
我们从 [ l , u ] ∈ d o m f [l, u] \in \mathbf{dom} f [l,u]∈domf开始, 如果 v v v在区间之外,返回最靠近 v v v的点?(应该就是挑 d o m f \mathbf{dom} f domf中最靠经 v v v的点作为边界吧) 算法会在 u − l < ϵ u-l < \epsilon u−l<ϵ的时候终止.
注:上面的第一步的意思应该是如果
v
v
v在区间里面就取
v
v
v,否则取中间的点.
如果
g
>
0
g>0
g>0,那么
φ
(
z
)
≥
φ
(
x
)
+
g
(
z
−
x
)
\varphi(z) \ge \varphi(x) + g(z-x)
φ(z)≥φ(x)+g(z−x), 显然,当
z
>
x
z>x
z>x不是最优的,而
z
=
x
−
λ
g
z = x-\lambda g
z=x−λg是一个下界. 为了说明这一点,假设
h
z
∈
∂
f
(
z
)
h_z \in \partial f(z)
hz∈∂f(z). 因为
g
>
0
,
λ
>
0
g>0, \lambda >0
g>0,λ>0, 所以
z
<
x
z < x
z<x,则
h
z
≤
h
h_z \le h
hz≤h(因为凸函数的次梯度是单调的), 令:
g
z
=
h
z
+
(
1
/
λ
)
(
z
−
v
)
∈
∂
φ
(
z
)
g_z = h_z + (1 / \lambda) (z - v) \in \partial \varphi (z)
gz=hz+(1/λ)(z−v)∈∂φ(z)
于是
h
z
+
(
1
/
λ
)
(
z
−
v
)
=
h
z
+
(
1
/
λ
)
(
x
−
λ
(
h
+
(
1
/
λ
)
(
x
−
v
)
)
−
v
)
h_z + (1 / \lambda)(z-v) = h_z + (1/\lambda) (x-\lambda(h+(1/\lambda)(x-v))-v)
hz+(1/λ)(z−v)=hz+(1/λ)(x−λ(h+(1/λ)(x−v))−v)
等式右边是
h
z
−
h
≤
0
h_z-h\le0
hz−h≤0, 所以新的
[
l
,
u
]
[l, u]
[l,u]就是一端小于0,一端大于0, 不过这对一开始的
l
,
u
l, u
l,u有要求吧.
如果
f
f
f是二阶连续可微的,那么,可以用guarded Newton方法来找
x
∗
x^*
x∗,不理解曲中的缘由,贴个图吧.
多边形
这一小节,考虑投影至多边形的问题,多边形可以用 一系列线性方程和不等式描述:
C
=
{
x
∈
R
n
∣
A
x
=
b
,
C
x
≤
d
}
\mathcal{C} = \{x \in \mathbb{R}^n| Ax=b, Cx\le d\}
C={x∈Rn∣Ax=b,Cx≤d}
其中
A
∈
R
m
×
n
,
C
=
R
p
×
n
A \in \mathbb{R}^{m \times n}, C = \mathbb{R}^{p \times n}
A∈Rm×n,C=Rp×n.
投影问题可以表示为(计算
p
r
o
x
\mathbf{prox}
prox便会遇到此问题):
对偶
当 m , p m, p m,p都远小于 n n n的时候,利用对偶方法是方便的.
(6.4)的对偶问题是:
其中
v
∈
R
m
,
η
∈
R
p
v \in \mathbb{R}^m, \eta \in \mathbb{R}^p
v∈Rm,η∈Rp为对偶变量(上面的式子不难推出,这里不证了).
对偶问题是:
max
g
(
v
,
η
)
s
.
t
.
η
≥
0
\begin{array} {lc} \max & g(v, \eta) \\ s.t. & \eta \ge 0 \end{array}
maxs.t.g(v,η)η≥0
这是一个
m
+
p
m+p
m+p个变量的二阶规划(QP)问题,且:
x
∗
=
v
−
A
T
λ
∗
−
C
T
v
∗
x^* = v - A^T \lambda^* - C^Tv^*
x∗=v−ATλ∗−CTv∗
这个最优解的恢复是由KKT条件得来的.上面的问题,似乎可以用内点法有效解决,下次找机会再看看. 文章还提到了如何使得QP问题能够简单并行,这里便不多赘述了.
仿射集合
即
C
=
{
x
∈
R
n
∣
A
x
=
b
}
\mathcal{C} = \{x \in \mathbb{R}^n| Ax=b\}
C={x∈Rn∣Ax=b}
则:
Π
C
(
v
)
=
v
−
A
†
(
A
v
−
b
)
\Pi_{\mathcal{C}} (v) = v - A^{\dagger}(Av - b)
ΠC(v)=v−A†(Av−b)
其中
A
†
A^{\dagger}
A†是伪逆.
如果
m
<
n
,
A
m<n, A
m<n,A满秩,那么:
Π
C
(
v
)
=
v
−
A
T
(
A
A
T
)
−
1
(
A
v
−
b
)
\Pi_{\mathcal{C}}(v) = v-A^T(AA^T)^{-1}(Av-b)
ΠC(v)=v−AT(AAT)−1(Av−b)
这个我可以用一种比较麻烦的方法证明.
假设最优解为:
v
−
A
T
(
A
A
T
)
−
1
(
A
v
−
b
)
+
u
v-A^T(AA^T)^{-1}(Av-b)+u
v−AT(AAT)−1(Av−b)+u,因为
A
(
v
−
A
T
(
A
A
T
)
−
1
(
A
v
−
b
)
)
=
b
A(v-A^T(AA^T)^{-1}(Av-b))=b
A(v−AT(AAT)−1(Av−b))=b
所以,根据线性方程组解的理论可知:
A
u
=
0
Au=0
Au=0
那么问题可以转换为:
min
∥
A
T
(
A
A
T
)
−
1
(
A
v
−
b
)
−
u
∥
2
2
s
.
t
.
A
u
=
0
\begin{array}{lc} \min & \|A^T(AA^T)^{-1}(Av-b)-u\|_2^2 \\ s.t. & Au=0 \end{array}
mins.t.∥AT(AAT)−1(Av−b)−u∥22Au=0
再根据线性方程组的理论可知,
u
u
u属于
A
A
A的核,设:
A
=
U
D
V
T
A = UDV^T
A=UDVT
其中
U
∈
R
m
×
k
,
D
∈
R
k
×
k
,
V
∈
R
n
×
k
U \in \mathbb{R}^{m \times k }, D \in \mathbb{R}^{k \times k}, V \in \mathbb{R}^{n \times k}
U∈Rm×k,D∈Rk×k,V∈Rn×k.
我们只要找出
A
T
(
A
A
T
)
−
1
(
A
v
−
b
)
A^T(AA^T)^{-1}(Av-b)
AT(AAT)−1(Av−b)在核空间的投影即可:
(
I
−
V
V
T
)
A
T
(
A
A
T
)
−
1
(
A
v
−
b
)
=
0
(I-VV^T)A^T(AA^T)^{-1}(Av-b)=0
(I−VVT)AT(AAT)−1(Av−b)=0
即投影为0,也就是说
x
=
0
x=0
x=0, 这也就证明了
Π
C
(
v
)
=
v
−
A
T
(
A
A
T
)
−
1
(
A
v
−
b
)
\Pi_{\mathcal{C}}(v) = v-A^T(AA^T)^{-1}(Av-b)
ΠC(v)=v−AT(AAT)−1(Av−b)
半平面
此时
C
=
{
x
∣
a
T
x
≤
b
}
\mathcal{C} = \{x | a^Tx \le b\}
C={x∣aTx≤b}, 而:
Π
C
(
v
)
=
v
−
(
a
T
v
−
b
)
+
∥
a
∥
2
2
\Pi_{\mathcal{C}}(v) = v- \frac{(a^Tv-b)_+}{\|a\|_2^2}
ΠC(v)=v−∥a∥22(aTv−b)+
其中
(
u
)
+
=
max
{
u
,
0
}
(u)_+=\max \{u, 0\}
(u)+=max{u,0}.
这个可以画个图来证明,注意到 ( a T v − b ) + ∥ a ∥ 2 2 \frac{(a^Tv-b)_+}{\|a\|_2^2} ∥a∥22(aTv−b)+和点到直线距离的联系.
Box
box为如下形式
C
=
{
x
∣
l
≤
x
≤
u
}
\mathcal{C} = \{x | l \le x \le u\}
C={x∣l≤x≤u}, 及:
如果
C
=
R
+
n
\mathcal{C}= \mathbb{R}^n_+
C=R+n则:
Π
C
(
v
)
=
v
+
\Pi_{\mathcal{C}}(v)=v_+
ΠC(v)=v+
这个感觉是显然的.
Simplex
Simplex 为如下形式
C
=
{
z
∣
z
≥
0
,
1
T
z
=
1
}
\mathcal{C} = \{z| z\ge 0, 1^Tz=1\}
C={z∣z≥0,1Tz=1}, 及
Π
C
(
v
)
=
(
v
−
ν
1
)
+
\Pi_{\mathcal{C}}(v) = (v - \nu \mathbf{1})_+
ΠC(v)=(v−ν1)+
对于某些
ν
∈
R
\nu \in \mathbb{R}
ν∈R.
满足
1
T
(
v
−
ν
1
)
+
=
1
\mathbf{1}^T(v-\nu \mathbf{1})_+=1
1T(v−ν1)+=1
利用二分法可以求解.
Cones
令
K
\mathcal{K}
K为锥,以及
K
∗
\mathcal{K}^*
K∗为其对偶锥. 那么问题为:
min
∥
x
−
v
∥
2
2
s
.
t
.
x
∈
K
\begin{array}{lc} \min & \|x-v\|_2^2 \\ s.t. & x \in \mathcal{K} \end{array}
mins.t.∥x−v∥22x∈K
对偶锥的定义:
K
∗
=
{
y
∣
x
T
y
≥
0
,
∀
x
∈
K
}
\mathcal{K}^* =\{y| x^Ty \ge 0, \forall x \in \mathcal{K}\}
K∗={y∣xTy≥0,∀x∈K}
对偶最优条件为:
v
=
x
−
λ
v=x-\lambda
v=x−λ这个条件我是存疑的,这样子原问题应该是
1
2
∥
x
−
v
∥
2
2
\frac{1}{2}\|x-v\|_2^2
21∥x−v∥22,当然,这应该无伤大雅.
二阶锥
C
=
{
(
x
,
t
)
∈
R
n
+
1
∣
∥
x
∥
2
≤
t
}
\mathcal{C} = \{(x, t) \in \mathbb{R}^{n+1} | \|x\|_2 \le t\}
C={(x,t)∈Rn+1∣∥x∥2≤t}
上面的东西,通过考虑下面的问题:
min
x
,
t
∥
v
−
x
∥
2
2
+
(
s
−
t
)
2
s
.
t
.
∥
x
∥
2
≤
t
\begin{array}{lc} \min_{x,t} & \|v-x\|_2^2+(s-t)^2 \\ s.t. & \|x\|_2 \le t \end{array}
minx,ts.t.∥v−x∥22+(s−t)2∥x∥2≤t
可以获得, 第二种情况是不需讨论的, 那么先来看第一种情况。
在
t
≤
∥
v
∥
t\le \|v\|
t≤∥v∥的情况下,
x
=
t
v
∥
v
∥
x=t\frac{v}{\|v\|}
x=t∥v∥v, 不妨令
u
=
v
∥
v
∥
u=\frac{v}{\|v\|}
u=∥v∥v.则,原问题为:
min
(
∥
v
∥
−
t
)
2
+
(
s
−
t
)
2
\min \quad (\|v\|-t)^2+(s-t)^2
min(∥v∥−t)2+(s−t)2
在
t
=
∥
v
∥
+
s
2
t=\frac{\|v\|+s}{2}
t=2∥v∥+s处取得极值,但是
∥
v
∥
≤
−
s
\|v\|\le-s
∥v∥≤−s, 所以此时
t
≤
0
t\le0
t≤0, 所以
t
=
0
t=0
t=0.
t
>
∥
v
∥
t >\|v\|
t>∥v∥的时候,
x
=
v
x=v
x=v,于是原问题为:
min
(
s
−
t
)
2
\min \quad (s-t)^2
min(s−t)2
那么
t
=
∥
v
∥
t=\|v\|
t=∥v∥,显然没有0的时候小.
第三种情况的分析是类似的.
半正定锥
C
=
S
+
n
\mathcal{C} = \mathbb{S}^n_+
C=S+n, 此时
Π
C
(
V
)
=
∑
i
=
1
n
(
λ
i
)
+
u
i
u
i
T
\Pi_{\mathcal{C}}(V) = \sum_{i=1}^n (\lambda_i)_+ u_iu_i^T
ΠC(V)=i=1∑n(λi)+uiuiT
其中
∑
i
=
1
n
λ
i
u
i
u
i
T
\sum_{i=1}^n \lambda_i u_iu_i^T
∑i=1nλiuiuiT为特征分解.
指数锥
不了解,截个图吧
Pointwise maximum and supremum
max
如果
f
(
x
)
=
max
i
x
i
f(x) = \max_{i} x_i
f(x)=maxixi, 根据其上镜图,我们有等价形式:
min
t
+
(
1
/
2
λ
)
∥
x
−
v
∥
2
2
s
.
t
.
x
i
≤
t
,
 
i
=
1
,
…
,
n
\begin{array}{lc} \min & t + (1/2\lambda) \|x-v\|_2^2 \\ s.t. & x_i \le t, \: i=1,\ldots, n \end{array}
mins.t.t+(1/2λ)∥x−v∥22xi≤t,i=1,…,n
其拉格朗日对偶形式为:
L
(
x
,
t
,
μ
)
=
t
+
(
1
/
2
λ
)
∥
x
−
v
∥
2
2
+
μ
T
(
x
−
t
1
)
L(x, t, \mu) = t + (1/2\lambda) \|x-v\|_2^2 + \mu^T(x-t \mathbf{1})
L(x,t,μ)=t+(1/2λ)∥x−v∥22+μT(x−t1)
KKT条件为:
如果
x
i
∗
<
t
∗
x_i^* < t^*
xi∗<t∗,则表示(通过第三个条件)
μ
i
∗
=
0
\mu_i^*=0
μi∗=0, 如果
x
∗
=
t
∗
x^*=t^*
x∗=t∗,则表示
u
i
∗
=
(
1
/
λ
)
(
v
i
−
t
∗
)
u_i^*=(1/\lambda)(v_i-t^*)
ui∗=(1/λ)(vi−t∗), 又
μ
i
∗
≥
0
\mu_i^* \ge 0
μi∗≥0, 总结为:
μ
i
∗
=
(
1
/
λ
)
(
v
i
−
t
∗
)
+
\mu_i^* = (1/\lambda) (v_i - t^*)_+
μi∗=(1/λ)(vi−t∗)+
再根据第五个条件可得:
∑
i
=
1
n
(
1
/
λ
)
(
v
i
−
t
∗
)
+
=
1
\sum_{i=1}^n (1/\lambda) (v_i - t^*)_+=1
i=1∑n(1/λ)(vi−t∗)+=1
这个可以用半分法求解,初始的区间为
[
min
i
v
i
−
(
1
/
n
)
,
max
i
v
i
]
[\min_i v_i -(1/n), \max_i v_i]
[minivi−(1/n),maxivi].
最后
x
∗
=
min
{
t
∗
,
v
i
}
.
x^* = \min \{t^*, v_i\}.
x∗=min{t∗,vi}.
support function
C
\mathcal{C}
C是一个凸集,其support function为:
S
C
(
x
)
=
sup
y
∈
C
y
T
x
.
S_{\mathcal{C}} (x) = \sup_{y \in \mathcal{C}} y^Tx.
SC(x)=y∈CsupyTx.
support function的共轭是指示函数.
S
C
∗
(
z
)
=
sup
x
(
z
T
x
−
f
(
x
)
)
=
I
C
.
S_{\mathcal{C}}^*(z)=\sup_x (z^Tx - f(x)) = I_{\mathcal{C}}.
SC∗(z)=xsup(zTx−f(x))=IC.
通过Moreau 分解我们知道:
p
r
o
x
λ
S
C
(
v
)
=
v
−
λ
Π
C
(
v
/
λ
)
\mathbf{prox}_{\lambda S_{\mathcal{C}}} (v) = v - \lambda \Pi_{\mathcal{C}} (v / \lambda)
proxλSC(v)=v−λΠC(v/λ)
一个例子是
f
(
x
)
=
x
[
1
]
+
x
[
2
]
+
…
+
x
[
k
]
f(x) = x_{[1]}+x_{[2]}+\ldots + x_{[k]}
f(x)=x[1]+x[2]+…+x[k], 表
x
x
x的前k个最大的和,可以用以下凸集的support function来表示:
C
=
{
y
∣
0
⪯
y
⪯
1
,
1
T
y
=
k
}
.
\mathcal{C} = \{y | 0 \preceq y \preceq 1, 1^Ty=k\}.
C={y∣0⪯y⪯1,1Ty=k}.
Norms and norm balls
f = ∥ ⋅ ∥ f=\|\cdot\| f=∥⋅∥为一般的定义在 R n \mathbb{R}^n Rn上的范数,则 f ∗ = I B f^*=I_{\mathcal{B}} f∗=IB, 其中 B \mathcal{B} B为对偶范数的单位球.
我们知道 f ( x ) = sup y { y T x ∣ ∥ y ∥ ∗ ≤ 1 } f(x)=\sup_y \{y^Tx|\|y\|_*\le 1\} f(x)=supy{yTx∣∥y∥∗≤1}, 此为 B = { y ∣ ∥ y ∥ ∗ ≤ 1 } \mathcal{B}=\{y | \|y\|_*\le 1\} B={y∣∥y∥∗≤1}的支撑函数,故 f ∗ = I B f^*=I_{\mathcal{B}} f∗=IB.
对偶不是共轭的特例?
于是根据Moreau分解,有以下式子成立:
Euclidean 范数
当
f
=
∥
⋅
∥
2
f = \|\cdot\|_2
f=∥⋅∥2的时候:
以及:
ℓ 1 \ell_1 ℓ1 and ℓ ∞ \ell_{\infty} ℓ∞ norms
ℓ
∞
\ell_{\infty}
ℓ∞的
B
\mathcal{B}
B是box,所以根据之前讨论过的:
引文
ℓ
1
\ell_1
ℓ1和
ℓ
∞
\ell_{\infty}
ℓ∞互为对偶,所以当
f
=
∥
⋅
∥
1
f=\|\cdot\|_1
f=∥⋅∥1的时候:
可以用更为紧凑的形式表示:
p
r
o
x
λ
f
(
v
)
=
(
v
−
λ
)
+
−
(
−
v
−
λ
)
+
.
\mathbf{prox}_{\lambda f}(v) = (v-\lambda)_+ - (-v-\lambda)_+.
proxλf(v)=(v−λ)+−(−v−λ)+.
欲计算
ℓ
∞
\ell_{\infty}
ℓ∞的proximal operator并不容易,因为投影到
ℓ
1
\ell_1
ℓ1的单位球比较麻烦.
我们需要计算一个
λ
\lambda
λ,满足:
∑
i
=
1
n
(
∣
v
i
∣
−
λ
)
+
=
1.
\sum_{i=1}^n (|v_i| - \lambda)_+=1.
i=1∑n(∣vi∣−λ)+=1.
可以用类似半分法的方法求解.
Elastic net
f
(
x
)
=
∥
x
∥
1
+
(
γ
/
2
)
∥
x
∥
2
2
f(x) = \|x\|_1 + (\gamma/2) \|x\|_2^2
f(x)=∥x∥1+(γ/2)∥x∥22,
γ
>
0
\gamma > 0
γ>0.
此时
p
r
o
x
λ
f
(
v
)
=
(
1
1
+
λ
γ
)
p
r
o
x
λ
∥
⋅
∥
1
(
v
)
.
\mathbf{prox}_{\lambda f}(v) = (\frac{1}{1+\lambda \gamma}) \mathbf{prox}_{\lambda \|\cdot\|_1}(v).
proxλf(v)=(1+λγ1)proxλ∥⋅∥1(v).
范数和
f
(
x
)
=
∑
g
∈
G
∥
x
g
∥
2
f(x) = \sum_{g \in \mathcal{G}} \|x_g\|_2
f(x)=g∈G∑∥xg∥2
其中
G
\mathcal{G}
G是
[
n
]
[n]
[n]的一个分割, 则:
(
p
r
o
x
λ
f
(
v
)
)
g
=
(
1
−
λ
∥
v
g
∥
2
)
+
v
g
(\mathbf{prox}_{\lambda f}(v))_g = (1-\frac{\lambda}{\|v_g\|_2})_+ v_g
(proxλf(v))g=(1−∥vg∥2λ)+vg
sublevel set and epigradph
下水平集
f
f
f的
t
−
t-
t−下水平集合为:
S
=
{
x
∈
R
n
∣
f
(
x
)
≤
t
}
\mathcal{S} = \{x \in \mathbb{R}^n| f(x) \le t\}
S={x∈Rn∣f(x)≤t}
假设
v
̸
∈
S
v \not \in \mathcal{S}
v̸∈S , 否则
Π
S
(
v
)
=
v
\Pi_{\mathcal{S}}(v)=v
ΠS(v)=v.
此时
Π
S
(
v
)
\Pi_{\mathcal{S}}(v)
ΠS(v)可以转化为下列问题:
min
1
2
∥
x
−
v
∥
2
2
s
.
t
.
f
(
x
)
≤
t
.
\begin{array}{lc} \min & \frac{1}{2}\|x-v\|_2^2 \\ s.t. & f(x) \le t. \end{array}
mins.t.21∥x−v∥22f(x)≤t.
通过KKT条件可得最优条件为:
0
∈
x
−
v
+
λ
∂
f
(
x
)
,
f
(
x
)
=
t
,
λ
>
0
0 \in x - v + \lambda \partial f(x), \quad f(x)=t, \quad \lambda > 0
0∈x−v+λ∂f(x),f(x)=t,λ>0
第一个条件,表示
Π
S
(
v
)
=
p
r
o
x
λ
f
(
v
)
\Pi_{\mathcal{S}}(v) = \mathbf{prox}_{\lambda f}(v)
ΠS(v)=proxλf(v), 再根据第二个条件可得:
f
(
p
r
o
x
λ
f
(
v
)
)
=
t
f(\mathbf{prox}_{\lambda f}(v)) = t
f(proxλf(v))=t
我们可以通过二分法来寻找 λ \lambda λ.
上镜图
函数
f
f
f的上镜图为:
e
p
i
f
=
{
(
x
,
t
)
∣
x
∈
d
o
m
f
,
f
(
x
)
≤
t
}
.
\mathbf{epi}f=\{(x, t)| x \in \mathbf{dom} f, f(x) \le t\}.
epif={(x,t)∣x∈domf,f(x)≤t}.
针对
Π
e
p
i
f
(
v
,
s
)
\Pi_{\mathbf{epi} f}(v, s)
Πepif(v,s):
min
1
2
∥
x
−
v
∥
2
2
+
1
2
(
t
−
s
)
2
s
.
t
.
f
(
x
)
≤
t
.
\begin{array}{lc} \min & \frac{1}{2} \|x-v\|_2^2 + \frac{1}{2}(t-s)^2 \\ s.t. & f(x) \le t. \end{array}
mins.t.21∥x−v∥22+21(t−s)2f(x)≤t.
同样假设
f
(
v
)
>
s
f(v) > s
f(v)>sKKT条件为:
f
(
x
)
=
t
0
∈
x
−
v
+
λ
∂
f
(
x
)
t
−
s
=
λ
λ
>
0.
f(x) = t \\ 0 \in x-v + \lambda \partial f(x) \\ t-s=\lambda \\ \lambda > 0.
f(x)=t0∈x−v+λ∂f(x)t−s=λλ>0.
所以
v
∈
x
+
(
f
(
x
)
−
s
)
∂
f
(
x
)
.
v \in x+ (f(x)-s) \partial f(x).
v∈x+(f(x)−s)∂f(x).
论文说这个问题比较难成立,有另外一种表示方法:
不知道怎么推的.
Matrix functions
Elementwise functions
这里将矩阵
A
∈
R
m
×
n
A \in \mathbb{R}^{m \times n}
A∈Rm×n视为
R
m
n
\mathbb{R}^{mn}
Rmn的向量,就能利用之前的方法了,比如
ℓ
1
\ell_1
ℓ1的方法:
∥
A
∥
1
=
∑
i
=
1
m
∑
j
=
1
n
∣
a
i
j
∣
\|A\|_1 = \sum_{i=1}^m \sum_{j=1}^n |a_{ij}|
∥A∥1=i=1∑mj=1∑n∣aij∣
正交不变
函数
F
:
R
m
×
n
→
R
F: \mathbb{R}^{m \times n} \rightarrow \mathbb{R}
F:Rm×n→R,正交不变是指:
F
(
V
X
U
)
=
F
(
X
)
.
F(VXU)=F(X).
F(VXU)=F(X).
其中
U
∈
R
n
×
n
,
V
∈
R
m
×
m
U \in \mathbb{R}^{n \times n}, V \in \mathbb{R}^{m \times m}
U∈Rn×n,V∈Rm×m为正交矩阵, 这也意味着:
F
(
x
)
=
F
(
d
i
a
g
(
σ
s
(
X
)
)
)
.
F(x) = F(\mathbf{diag}(\sigma_s(X))).
F(x)=F(diag(σs(X))).
其中
σ
s
:
R
m
×
n
→
R
min
{
m
,
n
}
\sigma_s:\mathbb{R}^{m\times n }\rightarrow \mathbb{R}^{\min\{m, n\}}
σs:Rm×n→Rmin{m,n}是奇异值映射.
正交不变算子
F
F
F可以表示为:
f
∘
σ
s
f \circ \sigma_s
f∘σs, 而
∂
F
(
X
)
=
{
V
d
i
a
g
(
μ
)
U
∣
μ
∈
∂
f
(
σ
s
(
X
)
}
,
\partial F(X) = \{V\mathbf{diag}(\mu) U| \mu \in \partial f(\sigma_s(X)\},
∂F(X)={Vdiag(μ)U∣μ∈∂f(σs(X)},
其中
X
=
V
d
i
a
g
(
σ
s
(
X
)
)
U
X= V\mathbf{diag}(\sigma_s(X))U
X=Vdiag(σs(X))U. 这个的推导见之前关于矩阵次梯度的介绍.
这意味着:
p
r
o
x
λ
F
(
A
)
=
V
d
i
a
g
(
p
r
o
x
λ
f
(
σ
s
(
A
)
)
)
U
.
\mathbf{prox}_{\lambda F}( A) = V\mathbf{diag}(\mathbf{prox}_{\lambda f}(\sigma_s (A)))U.
proxλF(A)=Vdiag(proxλf(σs(A)))U.
这个没依照论文来,论文似乎有更加直接的证明方法,我来讲一下我的:
p
r
o
x
λ
F
(
A
)
=
a
r
g
m
i
n
λ
F
(
X
)
+
1
2
∥
X
−
A
∥
F
2
\begin{array}{ll} \mathbf{prox}_{\lambda F}(A) &= \mathrm{argmin} \quad \lambda F(X) + \frac{1}{2} \|X-A\|_F^2 \\ \end{array}
proxλF(A)=argminλF(X)+21∥X−A∥F2
最优条件为:
λ
∂
F
(
X
)
+
X
=
A
.
\lambda \partial F(X) +X=A.
λ∂F(X)+X=A.
假设
X
=
V
d
i
a
g
(
σ
s
(
X
)
)
U
X= V\mathbf{diag}(\sigma_s(X))U
X=Vdiag(σs(X))U, 则:
V
(
λ
d
i
a
g
(
μ
)
+
d
i
a
g
(
σ
s
(
X
)
)
U
=
A
.
V(\lambda \mathbf{diag}(\mu)+\mathbf{diag}(\sigma_s(X))U=A.
V(λdiag(μ)+diag(σs(X))U=A.
显然
A
A
A的奇异值分解也为:
A
=
V
d
i
a
g
(
σ
s
(
A
)
)
U
⇒
λ
d
i
a
g
(
μ
)
+
d
i
a
g
(
σ
s
(
X
)
)
=
d
i
a
g
(
σ
s
(
A
)
)
A =V\mathbf{diag}(\sigma_s(A))U \\ \Rightarrow \lambda \mathbf{diag}(\mu)+\mathbf{diag}(\sigma_s(X))=\mathbf{diag}(\sigma_s(A))
A=Vdiag(σs(A))U⇒λdiag(μ)+diag(σs(X))=diag(σs(A))
而
p
r
o
x
λ
f
(
σ
s
(
A
)
)
=
a
r
g
m
i
n
σ
s
(
X
)
λ
f
(
σ
s
(
X
)
)
+
1
2
∥
σ
s
(
X
)
−
σ
s
(
A
)
∥
2
2
.
\begin{array}{ll} \mathbf{prox}_{\lambda f}(\sigma_s(A)) &= \mathrm{argmin}_{\sigma_s(X)} \quad \lambda f(\sigma_s(X)) + \frac{1}{2} \|\sigma_s(X)-\sigma_s(A)\|_2^2. \\ \end{array}
proxλf(σs(A))=argminσs(X)λf(σs(X))+21∥σs(X)−σs(A)∥22.
其最优条件为:
λ
u
+
σ
s
(
X
)
−
σ
s
(
A
)
=
0.
\lambda u+\sigma_s(X)-\sigma_s(A)=0.
λu+σs(X)−σs(A)=0.
显然二者的最有条件是一样的,所以成立.
当
F
:
S
n
→
R
F: \mathbb{S}^n \rightarrow \mathbb{R}
F:Sn→R, 且
F
(
U
X
U
T
)
=
F
(
X
)
F(UXU^T)=F(X)
F(UXUT)=F(X):
p
r
o
x
λ
F
(
A
)
=
U
d
i
a
g
(
p
r
o
x
λ
f
(
σ
(
A
)
)
)
U
T
\mathbf{prox}_{\lambda F}(A) = U\mathbf{diag}(\mathbf{prox}_{\lambda f}(\sigma(A)))U^T
proxλF(A)=Udiag(proxλf(σ(A)))UT
其中
A
=
U
d
i
a
g
(
σ
(
A
)
)
U
T
A=U\mathbf{diag}(\sigma(A))U^T
A=Udiag(σ(A))UT.
后面还有一些关于矩阵范数,一些特殊集合的投影,以及如何求解对数障碍问题.