文献:Computing the Best Approximation Over the Intersection of a Polyhedral Set and the Doubly Nonnegative Cone(2018)
作者:Ying Cui,Defeng Sun,Kim-Chuan Toh
阅读原因:机器学习讨论班
文章目录
0.摘要
本文介绍了一种高效的算法——imABCD算法,来计算在线性等式、不等式(多面体集)和双重非负锥(半正定矩阵且元素非负)的交集上,给定矩阵的最佳逼近问题。此算法并不像BCD算法一样,而是用2-block CD来求解4-block 无约束非光滑对偶问题。算法的关键是用Semismooth Newton法求解子问题(因为最初的4 blocks被合并为2 blocks,因此没有封闭形式)。imABCD算法的迭代复杂度是
O
(
1
/
k
2
)
O(1/k^2)
O(1/k2)。
1. Preliminaries:定义和定理
-
Def 1(锥cone和凸锥convex cone)
- 设 K ⊂ R n K\sub\mathbb{R}^n K⊂Rn,若 ∀ x ∈ K , λ > 0 \forall x\in K,\lambda>0 ∀x∈K,λ>0,都有 λ x ∈ K \lambda x\in K λx∈K,则称K为锥。这样的集合是由原点发射的半直线的并集。称同时是凸集的锥为凸锥。
-
- 性质:任意多个凸锥(凸集)的交仍是凸锥(凸集)
Def 2(极锥与对偶锥)
-
设锥K,则
极锥为 K o : = { s ∈ R n : ⟨ s , x ⟩ ≤ 0 , ∀ x ∈ K } K^o:=\{s\in\mathbb{R}^n:\langle s,x\rangle\leq0,\forall x\in K\} Ko:={s∈Rn:⟨s,x⟩≤0,∀x∈K}
对偶锥为 K ∗ : = { s ∈ R n : ⟨ s , x ⟩ ≥ 0 , ∀ x ∈ K } K^*:=\{s\in\mathbb{R}^n:\langle s,x\rangle\geq0,\forall x\in K\} K∗:={s∈Rn:⟨s,x⟩≥0,∀x∈K} -
- K o = − K ∗ K^o=-K^* Ko=−K∗
Def 3(凸函数convex function)
-
- 设
f
(
x
)
:
R
n
→
R
‾
f(x):\mathbb{R}^n\rightarrow\overline{\mathbb{R}}
f(x):Rn→R为广义实函数,定义域为
D
f
D_f
Df。若f(x)的上图像
e p i f = { ( x , μ ) : x ∈ D f , μ ∈ R , μ ≥ f ( x ) } epif=\{(x,\mu):x\in D_f,\mu\in\mathbb{R},\mu\geq f(x)\} epif={(x,μ):x∈Df,μ∈R,μ≥f(x)}为凸集,则称函数f(x)为凸函数。称f(x)的有效域为
d o m f = { x ∣ f ( x ) < + ∞ } , domf=\{x|f(x)<+\infty\}, domf={x∣f(x)<+∞},则实质上
e p i f = { ( x , μ ) : x ∈ d o m f , μ ∈ R , μ ≥ f ( x ) } epif=\{(x,\mu):x\in domf,\mu\in\mathbb{R},\mu\geq f(x)\} epif={(x,μ):x∈domf,μ∈R,μ≥f(x)}
- 设
f
(
x
)
:
R
n
→
R
‾
f(x):\mathbb{R}^n\rightarrow\overline{\mathbb{R}}
f(x):Rn→R为广义实函数,定义域为
D
f
D_f
Df。若f(x)的上图像
-
- 若凸函数
f
(
x
)
f(x)
f(x)的值域为
(
−
∞
,
+
∞
]
(-\infty,+\infty]
(−∞,+∞]且不恒为
+
∞
+\infty
+∞,则称f为正常凸函数(proper convex)。例如,凸集
K
K
K上的示性函数记为
δ
K
\delta_K
δK:
δ K ( x ) = { 0 : x ∈ K + ∞ : x ∉ K \delta_K(x)=\left\{ \begin{aligned} 0 &: &x\in K\\ +\infty &: &x\notin K \end{aligned} \right. δK(x)={0+∞::x∈Kx∈/K由定义和 K K K的凸性, δ K \delta_K δK是正常凸函数。
Def 4(下半连续函数lower semicontinuous,lsc)
- 若凸函数
f
(
x
)
f(x)
f(x)的值域为
(
−
∞
,
+
∞
]
(-\infty,+\infty]
(−∞,+∞]且不恒为
+
∞
+\infty
+∞,则称f为正常凸函数(proper convex)。例如,凸集
K
K
K上的示性函数记为
δ
K
\delta_K
δK:
-
称函数
f
(
x
)
:
S
→
R
f(x):S\rightarrow\mathbb{R}
f(x):S→R是下半连续的,如果对于
{
x
n
}
⊂
S
:
x
n
→
x
\{ x_n\}\sub S:x_n\rightarrow x
{xn}⊂S:xn→x,都有
f ( x ) ≤ lim n → ∞ f ( x n ) f(x)\leq \lim_{n\rightarrow\infty}f(x_n) f(x)≤n→∞limf(xn)从定义中可以看出,称f(x)在x点处是下半连续的,如果
f ( x ) = lim inf y → x f ( y ) = lim ϵ → 0 ( inf { f ( y ) ∣ ∣ y − x ∣ ≤ ϵ } ) f(x)=\liminf_{y\rightarrow x}f(y)=\lim_{\epsilon\rightarrow 0}(\inf\{f(y)||y-x|\leq\epsilon\}) f(x)=y→xliminff(y)=ϵ→0lim(inf{f(y)∣∣y−x∣≤ϵ}) -
- 性质:函数f(x)在
R
n
R^n
Rn是下半连续的
⇔ ∀ α ∈ R , { x ∣ f ( x ) ≤ α } \Leftrightarrow\forall\alpha\in R,\{x|f(x)\leq\alpha\} ⇔∀α∈R,{x∣f(x)≤α}是闭集
⇔ e p i f \Leftrightarrow epif ⇔epif是 R n + 1 R^{n+1} Rn+1中闭集
Def 5(函数的凸包convex hull,
c
o
f
cof
cof)
- 性质:函数f(x)在
R
n
R^n
Rn是下半连续的
-
记cof为函数f(x)的凸包,满足
e p i ( c o f ) = c o ( e p i f ) epi(cof)=co(epif) epi(cof)=co(epif)即“凸包的上图像等于上图像的凸包”。 -
- 函数f(x)的凸包是可以由f(x)控制的最大的凸函数,若f(x)是凸函数,则它的凸包等于自身。
Def 6(函数的下半连续包
l
s
c
f
lscf
lscf,凸函数的闭包closed hull,
c
l
f
clf
clf)
-
- cl(epif)为任意函数f的上图像的闭包,则必存在一个函授g,使得
c l ( e p i f ) = e p i ( g ) cl(epif)=epi(g) cl(epif)=epi(g)则称g为f的下半连续包,记作 l s c f lscf lscf。
- cl(epif)为任意函数f的上图像的闭包,则必存在一个函授g,使得
-
- 记
c
l
f
clf
clf为
f
f
f的闭包,满足
c l f ( x ) ≡ { l s c f ( x ) : 若 l s c f ( x ) > − ∞ , ∀ x − ∞ : 若 l s c f ( x ) = − ∞ , ∃ x clf(x)\equiv\left\{ \begin{aligned} lscf(x) &: &若lscf(x)>-\infty,\forall x\\ -\infty &: &若lscf(x)=-\infty,\exist x \end{aligned} \right. clf(x)≡{lscf(x)−∞::若lscf(x)>−∞,∀x若lscf(x)=−∞,∃x即,对于正常凸函数,闭性与下半连续性等价;而闭的非正常凸函数一定是常函数 + ∞ , − ∞ +\infty,-\infty +∞,−∞。
Theorem 7(
l
s
c
f
lscf
lscf和
c
l
f
clf
clf的性质)
- 记
c
l
f
clf
clf为
f
f
f的闭包,满足
-
设
f
:
X
→
[
−
∞
,
+
∞
]
f:X\rightarrow[-\infty,+\infty]
f:X→[−∞,+∞]为凸函数,则
l
s
c
f
lscf
lscf和
c
l
f
clf
clf都是凸的。进一步的,若
f
f
f在一些点取值有限,则
l
s
c
f
lscf
lscf和
c
l
f
clf
clf都是正常凸的,且有
c
l
f
=
l
s
c
f
clf=lscf
clf=lscf。否则
l
s
c
f
lscf
lscf具有以下形式:
c l f ( x ) = { − ∞ , x ∈ c l ( d o m f ) + ∞ , x ∉ c l ( d o m f ) clf(x)=\left\{ \begin{aligned} -\infty &,&x\in cl(domf)\\ +\infty &,&x\notin cl(domf) \end{aligned} \right. clf(x)={−∞+∞,,x∈cl(domf)x∈/cl(domf)在后一种情形中,若 c l ( d o m f ) ≠ ∅ cl(domf)\neq\empty cl(domf)=∅,则 l s c f ( x ) = + ∞ , ∀ x ∉ c l ( d o m f ) lscf(x)=+\infty,\forall x\notin cl(domf) lscf(x)=+∞,∀x∈/cl(domf),而根据定义, c l f ( x ) = − ∞ clf(x)=-\infty clf(x)=−∞,故 l s c f ≢ c l f lscf\not\equiv clf lscf≡clf。而其余情形, l s c f ≡ c l f lscf\equiv clf lscf≡clf
Def 8(共轭函数)
-
设
f
:
X
→
[
−
∞
,
+
∞
]
f:X\rightarrow[-\infty,+\infty]
f:X→[−∞,+∞],则f的共轭
f
∗
:
Ω
→
[
−
∞
,
+
∞
]
f^*:\Omega\rightarrow[-\infty,+\infty]
f∗:Ω→[−∞,+∞]定义为
f ∗ ( ω ) = sup x ∈ X { ⟨ x , ω ⟩ − f ( x ) } f^*(\omega)=\sup_{x\in X}\{\langle x,\omega\rangle-f(x)\} f∗(ω)=x∈Xsup{⟨x,ω⟩−f(x)}
Theorem 9
- 对于任意的f,f ∗ ^* ∗是 Ω \Omega Ω上的闭凸函数。 Def 10(投影)
-
- 定义
设K是有界闭凸集, Π K : Y → K \Pi_K:Y\rightarrow K ΠK:Y→K是Y到K上的投影,则 Π K ( y ) = a r g m i n x ∈ K ∣ ∣ x − y ∣ ∣ 2 \Pi_K(y)=\mathrm{argmin}_{x\in K}||x-y||^2 ΠK(y)=argminx∈K∣∣x−y∣∣2(回顾:泛函分析最佳逼近定理)
- 定义
-
- Moreau分解
设K为闭凸锥,则对于 x , x 1 , x 2 ∈ R n x,x_1,x_2\in R^n x,x1,x2∈Rn,有以下性质等价:
(1) x = x 1 + x 2 , x 1 ∈ K , x 2 ∈ K o x=x_1+x_2,x_1\in K,x_2\in K^o x=x1+x2,x1∈K,x2∈Ko,且 ⟨ x 1 , x 2 ⟩ = 0 \langle x_1,x_2\rangle=0 ⟨x1,x2⟩=0
(2) x 1 = Π K ( x ) , x 2 = Π K o ( x ) x_1=\Pi_K(x),x_2=\Pi_{K^o}(x) x1=ΠK(x),x2=ΠKo(x)
- Moreau分解
-
- 性质与定理1:定义
d K : R n → R x ↦ min y ∈ K 1 2 ∣ ∣ x − y ∣ ∣ 2 \begin{aligned} d_K:&R^n\to R\\ &x\quad\mapsto \min_{y\in K}\frac{1}{2}||x-y||^2 \end{aligned} dK:Rn→Rx↦y∈Kmin21∣∣x−y∣∣2则由Moreau分解, d K ( x ) = 1 2 ∣ ∣ x − Π K ( x ) ∣ ∣ 2 = 1 2 ∣ ∣ Π K o ( x ) ∣ ∣ 2 d_K(x)=\frac{1}{2}||x-\Pi_K(x)||^2=\frac{1}{2}||\Pi_{K^o}(x)||^2 dK(x)=21∣∣x−ΠK(x)∣∣2=21∣∣ΠKo(x)∣∣2,且 d K d_K dK是一个可微的凸函数,其梯度为 ∇ d K ( x ) = Π K o ( x ) \nabla d_K(x)=\Pi_{K^o}(x) ∇dK(x)=ΠKo(x)
- 性质与定理1:定义
-
- 半正定矩阵
S
+
n
S_+^n
S+n上的投影
设 C ∈ S n C\in S^n C∈Sn,则C有正交对角化: C = P d i a g ( λ 1 , . . . , λ n ) P T C=Pdiag(\lambda_1,...,\lambda_n)P^T C=Pdiag(λ1,...,λn)PT。记
C + = P [ max ( λ 1 , 0 ) ⋱ max ( λ n , 0 ) ] P T C_+=P\begin{bmatrix} \max(\lambda_1,0) & \\ & \ddots & \\ & & \max(\lambda_n,0) \end{bmatrix} P^T C+=P⎣⎡max(λ1,0)⋱max(λn,0)⎦⎤PT
C − = P [ min ( λ 1 , 0 ) ⋱ min ( λ n , 0 ) ] P T C_-=P\begin{bmatrix} \min(\lambda_1,0) & \\ & \ddots & \\ & & \min(\lambda_n,0) \end{bmatrix} P^T C−=P⎣⎡min(λ1,0)⋱min(λn,0)⎦⎤PT有如下结论: Π S + n ( C ) = C + , Π S − n ( C ) = C − , \Pi_{S_+^n}(C)=C_+,\Pi_{S_-^n}(C)=C_-, ΠS+n(C)=C+,ΠS−n(C)=C−,其中 ( S + n ) o = S − n (S_+^n)^o=S_-^n (S+n)o=S−n
Def 11(近端映射proximal mapping)
- 半正定矩阵
S
+
n
S_+^n
S+n上的投影
-
定义函数
ψ
:
X
→
R
\psi:X\rightarrow R
ψ:X→R在
x
x
x点处的近端映射为
P r o x ψ ( x ) ≜ a r g m i n ω ∈ X { ψ ( ω ) + 1 2 ∣ ∣ ω − x ∣ ∣ 2 } \mathrm{Prox}_{\psi}(x)\triangleq\mathrm{argmin}_{\omega\in X}\{\psi(\omega)+\frac{1}{2}||\omega-x||^2\} Proxψ(x)≜argminω∈X{ψ(ω)+21∣∣ω−x∣∣2}
Theorem 12(Rademacher定理)
- 设 E ⊂ R n E\sub \mathbb{R}^n E⊂Rn是开集, F : E → R n F:E\to\mathbb{R}^n F:E→Rn是Lipschitz连续函数,则 F F F在 E E E上几乎处处可微。 Def 13(次微分与广义Jacobi矩阵)
-
设多值函数
F
:
R
n
→
R
m
F:\mathbb{R}^n\to\mathbb{R}^m
F:Rn→Rm是(局部)Lipschitz连续函数,根据Rademacher定理,
F
F
F几乎处处可微。设
D F ≜ { x ∈ R n ∣ F 在 x 处 可 微 } D_F\triangleq\{x\in\mathbb{R}^n|F在x处可微\} DF≜{x∈Rn∣F在x处可微}则 Ω F ≜ R n \ D F \Omega_F\triangleq \mathbb{R}^n\backslash D_F ΩF≜Rn\DF是零测度集。
令 J F ( x ) JF(x) JF(x)表示 F F F在 x ∈ D f x\in D_f x∈Df处的 m × n m\times n m×n Jacobian矩阵。 F F F在 x ∈ R n x\in \mathbb{R}^n x∈Rn处的B(Bouligand)-subdifferential定义为
∂ B F ( x ) ≜ { V ∈ R m × n : V = lim x k → x x k ∈ D f J F ( x k ) } \partial_BF(x)\triangleq\{V\in\mathbb{R}^{m\times n}:V=\lim_{{x^k\to x}\atop{x^k\in D_f}} JF(x^k)\} ∂BF(x)≜{V∈Rm×n:V=xk∈Dfxk→xlimJF(xk)}即 J F ( x k ) JF(x^k) JF(xk)的聚点集。从而,Clarke意义下的广义Jacobian是 ∂ B F ( x ) \partial_BF(x) ∂BF(x)的凸包,即
∂ F ( x ) = c o ∂ B F ( x ) \partial F(x)=\mathrm{co}\partial_BF(x) ∂F(x)=co∂BF(x)且 ∂ F ( x ) \partial F(x) ∂F(x)是非空凸紧的、上半连续的(upper-semicontinuous)集合。(非空说明定义中的极限存在性) -
- 【例】 f ( x ) = ∣ x ∣ f(x)=|x| f(x)=∣x∣在 x = 0 x=0 x=0处不可微,在其他点处可微,则 lim x k → 0 x k ∈ D f J F ( x k ) = − 1 或 1 \lim_{{x^k\to 0}\atop{x^k\in D_f}} JF(x^k)=-1或1 xk∈Dfxk→0limJF(xk)=−1或1故 ∂ B f = { − 1 , 1 } \partial_Bf=\{-1,1\} ∂Bf={−1,1},从而 ∂ f = c o ∂ B f = [ − 1 , 1 ] \partial_f=co\partial_Bf=[-1,1] ∂f=co∂Bf=[−1,1]
-
- 【注】特别的,若函数 f f f是凸的,则在 f f f的二阶可导点x处, ∇ 2 f ( x ) \nabla^2f(x) ∇2f(x)是半正定矩阵。进一步的,若 ∇ f \nabla f ∇fLipschitz连续,则对于 ∀ x ∈ D f \forall x\in D_f ∀x∈Df, ∇ 2 f ( x ) \nabla^2f(x) ∇2f(x)是半正定矩阵,从而 ∂ 2 f ( x ) \partial^2f(x) ∂2f(x)中的元素都是半正定矩阵(利用矩阵的连续性,半正定矩阵的极限还是半正定的)
-
- 【注】对于连续可微函数,
lim x k → x x k ∈ D f J F ( x k ) = J F ( x ) \lim_{{x^k\to x}\atop{x^k\in D_f}} JF(x^k)=JF(x) xk∈Dfxk→xlimJF(xk)=JF(x)即 ∂ B F ( x ) \partial_BF(x) ∂BF(x)只包含x处的Jacobian矩阵这一个点,此时次微分就是微分(Jacobian)。
Def 14(半光滑函数semismooth)
- 【注】对于连续可微函数,
-
设
ϕ
\phi
ϕ是
局部Lipschitz连续函数。称
ϕ
\phi
ϕ在x处semismooth,如果满足
(1) ϕ \phi ϕ在x处方向可微(任意方向上方向导数存在)
(2)对于 ∀ V ∈ ∂ ϕ ( x + h ) \forall V\in\partial\phi(x+h) ∀V∈∂ϕ(x+h),有
ϕ ( x + h ) − ϕ ( x ) − V h = o ( ∥ h ∥ ) , h → 0 \phi(x+h)-\phi(x)-Vh=o(\|h\|),h\to0 ϕ(x+h)−ϕ(x)−Vh=o(∥h∥),h→0进一步的,若 ϕ \phi ϕ在x处semismooth,且 ∀ V ∈ ∂ ϕ ( x + h ) \forall V\in\partial\phi(x+h) ∀V∈∂ϕ(x+h),有
ϕ ( x + h ) − ϕ ( x ) − V h = O ( ∥ h ∥ 2 ) \phi(x+h)-\phi(x)-Vh=O(\parallel h\parallel^2) ϕ(x+h)−ϕ(x)−Vh=O(∥h∥2)则称 ϕ \phi ϕ在x处strongly semismooth。 -
- 理解:给定方向h,则在这个方向有上述Taylor展开式,其中 V ∈ ∂ ϕ ( x + h ) V\in\partial\phi(x+h) V∈∂ϕ(x+h)就体现了方向,即 V V V来自于 “后方” 【这不由得让我想起了Nesterov gradient方法】。因为并不是所有的 V ∈ ∂ ϕ ( x ) V\in\partial\phi(x) V∈∂ϕ(x)都有上述Taylor展开,也就是可以理解为 “依方向Taylor展开” 。例如 f ( x ) = ∣ x ∣ f(x)=|x| f(x)=∣x∣在 x = 0 x=0 x=0处,左侧右侧都可以分别做Taylor展开,但右侧要选取 ∂ f ( 0 ) = ∂ f ( 0 + δ ) = 1 \partial f(0)=\partial f(0+\delta)=1 ∂f(0)=∂f(0+δ)=1,而左侧要选取 ∂ f ( 0 ) = ∂ f ( 0 − δ ) = − 1 \partial f(0)=\partial f(0-\delta)=-1 ∂f(0)=∂f(0−δ)=−1,才能实现分别做Taylor展开。而如果一个函数在x点处可微,则当 h → 0 h\rightarrow0 h→0时, ∂ ϕ ( x + h ) → ∇ ϕ ( x ) \partial\phi(x+h)\rightarrow\nabla\phi(x) ∂ϕ(x+h)→∇ϕ(x),即为Taylor展开式。
-
- 【注】最典型的(strongly)semismooth的例子是分片光滑函数,例如 y = ∣ x ∣ 、 y = Π S + n ( x ) y=|x|、y=\Pi_{S_+^n}(x) y=∣x∣、y=ΠS+n(x)等。一般涉及min、max的情形,除了最优点之外都是光滑的,就是分片光滑函数。
-
- 性质:(strongly)semismooth函数的复合仍是(strongly)semismooth的。
2. 研究问题
凸优化问题(1)及对偶问题DP(3)
-
本文主要的目的是求解以下凸优化问题(1):
min x ∈ X f ( x ) + ϕ ( x ) s . t . A ( x ) = b , g ( x ) ∈ C , x ∈ K \begin{aligned} &\min_{x\in X}\quad f(x)+\phi(x)\\ &s.t. \quad A(x)=b,g(x)\in C,x\in K \end{aligned} x∈Xminf(x)+ϕ(x)s.t.A(x)=b,g(x)∈C,x∈K其中,X、Y、Z是有限维欧式空间, f : X → R f:X\rightarrow R f:X→R是光滑强凸函数, ϕ : X → ( − ∞ , + ∞ ] \phi:X\rightarrow(-\infty,+\infty] ϕ:X→(−∞,+∞]是闭的正常凸函数, A : X → Y A:X\rightarrow Y A:X→Y是线性算子, b ∈ Y b\in Y b∈Y是给定数据, C ⊂ Z , K ⊂ X C\sub Z,K\sub X C⊂Z,K⊂X是两个闭凸锥, g : X → Z g:X\rightarrow Z g:X→Z是一个光滑的 C C C-凸 map,满足以下性质:
g ( α x 1 + ( 1 − α ) x 2 ) − [ α g ( x 1 ) + ( 1 − α ) g ( x 2 ) ] ∈ C , ∀ x 1 , x 2 ∈ g − 1 ( C ) , ∀ α ∈ ( 0 , 1 ) g(\alpha x_1+(1-\alpha)x_2)-[\alpha g(x_1)+(1-\alpha)g(x_2)]\in C,\forall x_1,x_2\in g^{-1}(C),\forall \alpha \in(0,1) g(αx1+(1−α)x2)−[αg(x1)+(1−α)g(x2)]∈C,∀x1,x2∈g−1(C),∀α∈(0,1)关于g函数,例如不等式约束就包含其中。 -
问题(1)的Dual Problem有如下形式(3):
这是一个无约束convex nonsmooth problem,其中h是一个可微的凸函数,其梯度Lipschitz连续, ϕ 1 , . . . , ϕ 4 \phi_1,...,\phi_4 ϕ1,...,ϕ4是proper closed convex functions。问题(3)不仅是(1)的对偶问题,很多优化问题本身就具有(3)的形式,比如robust PCA2,也可以参考PCA 与 Robust PCA区别 -
可以用imABCD算法求解问题(3),迭代复杂度 O ( 1 / k 2 ) O(1/k^2) O(1/k2),将在Section2中详细介绍。
最佳逼近问题(2)
研究问题(1)的兴趣来源于以下最佳逼近问题(2):
min
X
⊂
S
n
1
2
∣
∣
X
−
G
∣
∣
2
s
.
t
.
A
X
=
b
,
B
X
≥
d
,
X
⊂
S
+
n
,
X
≥
0
\begin{aligned} &\min_{X\sub S^n}\quad \frac{1}{2}||X-G||^2\\ &s.t. \quad AX=b,BX\geq d,X\sub S_+^n,X\geq 0 \end{aligned}
X⊂Snmin21∣∣X−G∣∣2s.t.AX=b,BX≥d,X⊂S+n,X≥0其中,
A
:
S
n
→
R
m
E
A:S^n\rightarrow R^{m_E}
A:Sn→RmE,
B
:
S
n
→
R
m
I
B:S^n\rightarrow R^{m_I}
B:Sn→RmI是两个线性算子(从矩阵空间映射到向量空间),
G
∈
S
n
,
b
∈
R
m
E
,
d
∈
R
m
I
G\in S^n,b\in R^{m_E},d\in R^{m_I}
G∈Sn,b∈RmE,d∈RmI是给定数据,
S
n
,
S
+
n
S^n,S_+^n
Sn,S+n分别表示对称矩阵锥和半正定矩阵(凸)锥。
最小二乘协方差调整问题LSCAP
问题(2)是来源于最小二乘协方差矩阵调整问题(Least Squares Covariance Adjustment Problem,LSCAP)3:
min
X
⊂
S
n
1
2
∣
∣
X
−
G
∣
∣
2
s
.
t
.
X
⊂
S
+
n
t
r
(
A
i
X
)
=
b
i
,
i
=
1
,
.
.
.
,
p
t
r
(
C
j
X
)
≤
d
j
,
i
=
j
,
.
.
.
,
m
\begin{aligned} &\min_{X\sub S^n}\quad \frac{1}{2}||X-G||^2\\ &s.t. \quad X\sub S_+^n\\ &\qquad tr(A_iX)=b_i,i=1,...,p\\ &\qquad tr(C_jX)\leq d_j,i=j,...,m\\ \end{aligned}
X⊂Snmin21∣∣X−G∣∣2s.t.X⊂S+ntr(AiX)=bi,i=1,...,ptr(CjX)≤dj,i=j,...,m其中,
G
,
A
i
,
C
j
∈
S
n
G,A_i,C_j\in S^n
G,Ai,Cj∈Sn是给定数据。
LSCAP的几何解释: 给定一个
G
∈
S
n
G\in S^n
G∈Sn,希望(在Frobenius范数意义下)计算G到一般的多面体集交集上的投影,这些多面体集包括线性等式、线性不等式、半正定矩阵锥。
LSCAP的概率解释: 在理论上,协方差矩阵是对称半正定矩阵。但是在实际应用中,根据样本数据计算出的协方差矩阵一般只能保证是对称矩阵,所以就需要对其进行调整(adjustment),即计算它到半正定矩阵锥上的投影,同时还可能满足一些约束条件(例如,某两个变量之间的协方差已知或满足不等式)。这个过程本质上就是求解上述优化问题,得到的最优解是一个有效的协方差矩阵,可以保证后续的分析是有意义的。
3 问题求解与算法
求解对偶问题(3)
将4-blocks变量
(
ω
1
,
ω
2
,
ω
3
,
ω
4
)
(\omega_1,\omega_2,\omega_3,\omega_4)
(ω1,ω2,ω3,ω4)分为2-blocks,形式如下(5):
因为
▽
h
\triangledown h
▽h全局Lipschitz连续,则存在两个自伴半正定线性算子
Q
、
Q
^
:
U
→
V
\mathcal{Q}、\widehat{\mathcal{Q}}:\mathbb{U}\rightarrow\mathbb{V}
Q、Q
:U→V使得
下面是
Q
、
Q
^
\mathcal{Q}、\widehat{\mathcal{Q}}
Q、Q
的分解以及假设条件:
下面利用imABCD算法求解对偶问题(3)
【Algorithm】imABCD算法( O ( 1 / k 2 ) O(1/k^2) O(1/k2))
【注】当
ε
k
≡
0
\varepsilon_k\equiv 0
εk≡0时,此算法退化到mABCD算法。BCD算法可参考【机器学习】坐标下降法(Coordinate descent)和坐标下降法(Coordinate descent)
- 注意! 算法中求解的是 h ^ \widehat{h} h 而不是 h h h,这是因为 h h h的形式可能很复杂,性质也未知,不方便求解。而 h ^ ( ω , ω ′ ) \widehat{h}(\omega,\omega ') h (ω,ω′)是一个凸二次函数,是 h h h在 ω ′ \omega ' ω′处的二次近似,文献中给出证明,此算法最终可以收敛到最优解,且迭代复杂度为 O ( 1 / k 2 ) O(1/k^2) O(1/k2)。而一般的gradient-type算法都是 O ( 1 / k ) O(1/k) O(1/k),之所以能加速,是使用了Nesterov加速技巧4,即算法中的Step 2.这一加速技巧非常常用,在很多论文中都有提到。
- 在某点处做函数的二次近似的想法很常用,因为凸二次问题求解简单且有很多好的方法,同时又容易保证算法的收敛性(Amazing!)。比如:
- Newton法: f ( x ) ≈ f ( x k ) + ∇ f ( x k ) T ( x − x k ) + 1 2 ∣ ∣ x − x k ∣ ∣ H ( x k ) 2 ≜ f ^ ( x ; x k ) \qquad f(x)\approx f(x^k)+\nabla f(x^k)^T(x-x^k)+\frac{1}{2}||x-x^k||_{H(x^k)}^{2}\triangleq \widehat{f}(x;x^k) f(x)≈f(xk)+∇f(xk)T(x−xk)+21∣∣x−xk∣∣H(xk)2≜f (x;xk)
- imABCD法: h ( ω ) ≤ h ( ω ′ ) + ⟨ ∇ h ( ω ′ ) , ( ω − ω ′ ) ⟩ + 1 2 ∣ ∣ ω − ω ′ ∣ ∣ Q ^ 2 ≜ h ^ ( ω ; ω ′ ) \qquad h(\omega)\leq h(\omega')+\langle\nabla h(\omega'),(\omega-\omega')\rangle+\frac{1}{2}||\omega-\omega'||_{\widehat{\mathcal{Q}}}^{2}\triangleq \widehat{h}(\omega;\omega') h(ω)≤h(ω′)+⟨∇h(ω′),(ω−ω′)⟩+21∣∣ω−ω′∣∣Q 2≜h (ω;ω′)
- g g g梯度Lipschitz连续 ⇒ g ( x ) ≤ g ( x ′ ) + ⟨ ∇ g ( x ′ ) , ( x − x ′ ) ⟩ + L 2 ∣ ∣ x − x ′ ∣ ∣ 2 ≜ g ^ ( x ; x ′ ) \Rightarrow g(x)\leq g(x')+\langle\nabla g(x'),(x-x')\rangle+\frac{L}{2}||x-x'||^2\triangleq \widehat{g}(x;x') ⇒g(x)≤g(x′)+⟨∇g(x′),(x−x′)⟩+2L∣∣x−x′∣∣2≜g (x;x′)
求解最佳逼近问题(2)
回顾最佳逼近问题(2):
问题(2)的对偶问题为(19):
为了使用imABCD算法,将(y,S)分为一块,(z,Z)分为一块,这样可以使问题不会退化且精度更高。下面用Newton-type法求解imABCD算法中的两个子问题(7)
第一个子问题的分析:
其中,式(21)和
∇
ξ
\nabla\xi
∇ξ的形式需要借助投影算子的性质得到。而且有如下重要性质:
(1)
Π
S
+
n
(
⋅
)
\Pi_{S_+^n}(·)
ΠS+n(⋅)是
S
n
S^n
Sn上的处处strongly semismooth函数,而且是1-Lipschitz连续函数,因此几乎处处可微。
(2)strongly semismooth函数的复合仍是strongly semismooth的。
接下来,就是大名鼎鼎的半光滑Newton法出场了!(听说孙老师的看家本领就是它)
【Algorithm】Semismooth Newton-CG算法(SNCG)
此方法的收敛性在其他论文中已经得到证明,主要参考(H. Qi AND D.F. Sun, 2006)5和(X.Y. Zhao, D.F. Sun, AND K.-C. Toh, 2010)6
- Semismooth Newton-CG法
- 适用条件:
\quad 我们知道,经典的Newton法要求函数二阶可导,故Step 1中的广义Hessian阵(一个集合)退化为Hessian阵,而Step 1变为用CG法求解:我们知道,经典的Newton法要求函数二阶可导,故Step 1中的广义Hessian阵(一个集合)退化为Hessian阵,而Step 1变为用CG法求解:
H ( x k ) d + ∇ f ( x k ) = 0 H(x^k)d+\nabla f(x^k)=0 H(xk)d+∇f(xk)=0而当二阶不可微时,Newton法便不再适用。
\quad 也就是说,在求解一个凸优化问题时,如果函数一阶可微但二阶不可微,但是 ∇ f \nabla f ∇f是semismooth的,就可以使用Semismooth Newton-CG法进行求解。
\quad 另一种情形(如子问题二):若 F F F是semismooth的,则在求解非线性方程组 F ( x ) = 0 F(x)=0 F(x)=0也可以使用SNCG法。但此时,因为没有优化问题的背景,所以收敛性可能无法保证,一般需要结合加速近端梯度法(accelerated proximal gradient,APG)使用。在求解子问题二时会进一步讨论。 - 优点:
(1)大量数值实验表明,SNCG算法的收敛速度很快,很多问题只需几步即可迭代到最优解。从理论分析可知,一般SNCG是超线性收敛的(superlinear),而如果 ∇ f \nabla f ∇f是strongly semismooth的,则二阶收敛。
(2)在Step 1中,从(广义hessian)中任意选取V,算法都是有效的。 - CG法:可参考共轭梯度法的推导与完整算法和梯度下降法和共轭梯度法有何异同?
(1)用于求解线性方程组 A X = b AX=b AX=b,其中 A A A是正定矩阵。
(2)具体操作时,尽量将矩阵A变稀疏或将A分解,计算复杂度可由O( n 2 n^2 n2)下降为O(C n n n),C为与具体问题相关的常数。
- 在求解第一个子问题时,此算法中有以下几点值得注意6:
(1)精确表示 ∂ 2 ξ \partial^2\xi ∂2ξ是困难的,因此定义
∂ ^ 2 ξ ( y ) ≜ A Π S + n ( G 1 + A ∗ y j ) A ∗ \widehat\partial^2\xi(y)\triangleq \mathcal{A}\Pi_{S_+^n}(G_1+\mathcal{A}^*y^j)\mathcal{A}^* ∂ 2ξ(y)≜AΠS+n(G1+A∗yj)A∗且有性质: ∀ d , ∂ 2 ξ ( y ) d ⊂ ∂ ^ 2 ξ ( y ) d \forall d,\partial^2\xi(y)d\sub\widehat\partial^2\xi(y)d ∀d,∂2ξ(y)d⊂∂ 2ξ(y)d。这意味着,若所有 ∂ ^ 2 ξ ( y ) \widehat\partial^2\xi(y) ∂ 2ξ(y)中的元素都正定,那么 ∂ 2 ξ ( y ) \partial^2\xi(y) ∂2ξ(y)中的所有元素一定都是正定的。(由命题3.65,在最优解 y ∗ y^* y∗处, ∀ V ∈ ∂ 2 ξ ( y ∗ ) \forall V\in\partial^2\xi(y^*) ∀V∈∂2ξ(y∗)都正定,故在 y ∗ y^* y∗的一个邻域中,所有 V ∈ ∂ 2 ξ ( y ) V\in\partial^2\xi(y) V∈∂2ξ(y)都正定。另外,在文献6Algorithm 2中,使用的是 V j + ε j I V_j+\varepsilon_j I Vj+εjI,也是保证其正定性)
(2)CG法的终止条件为: ∣ ∣ A V j A ∗ d j + ∇ ξ ( y j ) ∣ ∣ ≤ δ ||\mathcal{A}V^j\mathcal{A}^*d^j+\nabla\xi(y^j)||\leq \delta ∣∣AVjA∗dj+∇ξ(yj)∣∣≤δ, δ \delta δ的形式根据具体问题的收敛性证明的需要而定。
(3) ∀ j ≥ 0 \forall j\geq 0 ∀j≥0, d j d^j dj都是 ξ \xi ξ的下降方向,因此Step 2中的line search是well defined的
(4) ∃ j 0 \exist j_0 ∃j0正整数,使得 ∀ j ≥ j 0 \forall j\geq j_0 ∀j≥j0都有
ξ ( y j + d j ) ≤ ξ ( y j ) + μ ⟨ ∇ ξ ( y j ) , d j ⟩ \xi(y^j+d^j)\leq\xi(y^j)+\mu\langle\nabla\xi(y^j),d^j\rangle ξ(yj+dj)≤ξ(yj)+μ⟨∇ξ(yj),dj⟩即 y j + 1 = y j + d j y^{j+1}=y^j+d^j yj+1=yj+dj
第二个子问题的分析:
-
添加近端项
- 需要注意,近端项
c
2
∣
∣
z
−
z
0
∣
∣
2
\frac{c}{2}||z-z_0||^2
2c∣∣z−z0∣∣2的作用是保证目标函数关于
z
z
z是强凸的。添加之前,目标函数关于
z
z
z求梯度为:
B ( B ∗ z + Z + G 2 ) − d \mathcal{B}(\mathcal{B}^*z+Z+G_2)-d B(B∗z+Z+G2)−d而 B B ∗ \mathcal{B}\mathcal{B}^* BB∗是半正定矩阵(有限维Euclid空间中,线性算子作用在向量上可看作矩阵),这可能导致无法解除 z z z。而添加近端项之后,梯度变为:
B ( B ∗ z + Z + G 2 ) − d + c ( z − z 0 ) \mathcal{B}(\mathcal{B}^*z+Z+G_2)-d+c(z-z_0) B(B∗z+Z+G2)−d+c(z−z0)此时 z z z的系数矩阵为: B B ∗ + c I ≻ 0 \mathcal{B}\mathcal{B}^*+cI\succ 0 BB∗+cI≻0 - 在imABCD算法中, h ^ \widehat{h} h 是 h h h的一个上界,所以再扩大仍然是上界,这意味着,添加近端项后算法仍是有效的。
- 需要注意,近端项
c
2
∣
∣
z
−
z
0
∣
∣
2
\frac{c}{2}||z-z_0||^2
2c∣∣z−z0∣∣2的作用是保证目标函数关于
z
z
z是强凸的。添加之前,目标函数关于
z
z
z求梯度为:
-
与第一个子问题(21)不同,问题(23)是一个有约束的SC 1 ^1 1问题(即,目标函数连续可微,梯度semismooth)。根据文献7,我们也可以使用SNCG算法,但每步迭代都需要求解一个严格凸二次规划问题,比较麻烦。
-
另一个思路是将问题(23)看做一个更一般的无约束非光滑凸问题:
具体来说,问题(23)的等价形式为:
min z 1 2 ∣ ∣ Π ≥ 0 ( B ∗ z + G 2 ) ∣ ∣ 2 − ⟨ d , z ⟩ + c 2 ∣ ∣ z − z 0 ∣ ∣ 2 + δ ≥ 0 ( z ) \min_z \frac{1}{2}||\Pi_{\geq 0}(\mathcal{B}^*z+G_2)||^2-\langle d,z\rangle+\frac{c}{2}||z-z_0||^2+\delta_{\geq 0}(z) zmin21∣∣Π≥0(B∗z+G2)∣∣2−⟨d,z⟩+2c∣∣z−z0∣∣2+δ≥0(z)其中, ψ ( z ) = δ ≥ 0 ( z ) \psi(z)=\delta_{\geq 0}(z) ψ(z)=δ≥0(z)凸非光滑( R n + \mathbb{R}^{n^+} Rn+是凸锥,更具体说是凸多面体集),剩下的强凸光滑函数部分对应为 ζ ( z ) \zeta(z) ζ(z)。此强凸问题可以用APG算法求解4,是全局收敛的,但收敛速度只有线性的8。可以参考①近端梯度下降算法(Proximal Gradient Algorithm)、②近端梯度下降proximal gradient descent、③对近端梯度算法(Proximal Gradient Method)的理解和④近端梯度法(Proximal Gradient Method, PG)。具体算法过程为:
【Algorithm】Accelerated Proximal Gradient算法(APG)
- 主要原理:
问题(24)的最优解是下面非线性方程组的根:
推导方法有三种:
(1)上面四篇参考文章的第二篇,核心为:
ζ ^ ( x ; x k ) ≜ ζ ( x k ) + ⟨ ∇ ζ ( x k ) , ( x − x k ) ⟩ + L 2 ∣ ∣ x − x k ∣ ∣ 2 = L 2 ∥ x − ( x k − 1 L ∇ ζ ( x k ) ) ∥ 2 + C \begin{aligned} \widehat{\zeta}(x;x_k)&\triangleq \zeta(x_k)+\langle\nabla \zeta(x_k),(x-x_k)\rangle+\frac{L}{2}||x-x_k||^2\\ &=\frac{L}{2}\parallel x-(x_k-\frac{1}{L}\nabla \zeta(x_k))\parallel^2+C \end{aligned} ζ (x;xk)≜ζ(xk)+⟨∇ζ(xk),(x−xk)⟩+2L∣∣x−xk∣∣2=2L∥x−(xk−L1∇ζ(xk))∥2+C其中C是与x无关的常数。用 ζ ^ \widehat{\zeta} ζ 近似 ζ \zeta ζ,则有:
x ∗ = a r g m i n x { ζ ^ ( x ) + ψ ( x ) } = a r g m i n x { L 2 ∥ x − ( x k − 1 L ∇ ζ ( x k ) ) ∥ 2 + ψ ( x ) } = P r o x ψ / L ( x k − 1 L ∇ ζ ( x k ) ) \begin{aligned} x^*&=\mathrm{argmin}_x\{\widehat{\zeta}(x)+\psi(x)\}\\ &=\mathrm{argmin}_x\{\frac{L}{2}\parallel x-(x_k-\frac{1}{L}\nabla \zeta(x_k))\parallel^2+\psi(x)\}\\ &=\mathrm{Prox}_{\psi/L}(x_k-\frac{1}{L}\nabla \zeta(x_k)) \end{aligned} x∗=argminx{ζ (x)+ψ(x)}=argminx{2L∥x−(xk−L1∇ζ(xk))∥2+ψ(x)}=Proxψ/L(xk−L1∇ζ(xk))
(2)上面四篇参考文章的第三篇,核心为:
(3)原问题 min ζ ( x ) + ψ ( x ) \min\zeta(x)+\psi(x) minζ(x)+ψ(x),则最优解 x ∗ x^* x∗满足:
0 ∈ ∇ ζ ( x ∗ ) + ∂ ψ ( x ∗ ) 0\in\nabla\zeta(x^*)+\partial\psi(x^*) 0∈∇ζ(x∗)+∂ψ(x∗)转化后的问题为 F ( x ) ≜ x − P r o x ψ ( x − ∇ ζ ( x ) ) = 0 F(x)\triangleq x-\mathrm{Prox}_{\psi}(x-\nabla\zeta(x))=0 F(x)≜x−Proxψ(x−∇ζ(x))=0,它的根满足:
x ∗ = a r g m i n ω { ψ ( ω ) + 1 2 ∥ ω − x ∗ + ∇ ζ ( x ∗ ) ∥ 2 } x^*=\mathrm{argmin}_{\omega}\{\psi(\omega)+\frac{1}{2}\parallel\omega-x^*+\nabla\zeta(x^*)\parallel^2\} x∗=argminω{ψ(ω)+21∥ω−x∗+∇ζ(x∗)∥2}则也满足类似的关系:
0 ∈ ∂ ψ ( x ∗ ) + x ∗ − x ∗ + ∇ ζ ( x ∗ ) 0\in\partial\psi(x^*)+x^*-x^*+\nabla\zeta(x^*) 0∈∂ψ(x∗)+x∗−x∗+∇ζ(x∗)因此,两个问题等价。 - 这意味着,若用APG算法求解问题(24)得到最优解,等价于用它去寻找 F ( x ) = 0 F(x)=0 F(x)=0的根,迭代过程是一样的!(为后面APG-SNCG算法做铺垫)
进一步分析
- 值得注意的是,有如下性质存在:
(1)任意凸函数都是semismooth的。
(2)投影算子 Π K ( ⋅ ) \Pi_K(·) ΠK(⋅),若 K K K是凸集,则 Π K ( ⋅ ) \Pi_K(·) ΠK(⋅)是凸函数。所以, Π S + n ( ⋅ ) \Pi_{S_+^n}(·) ΠS+n(⋅)、 Π ≥ 0 ( ⋅ ) \Pi_{\geq 0}(·) Π≥0(⋅)都是semismooth的。
(3)近端算子Prox的性质:当 ψ ( x ) = δ ≥ 0 ( x ) \psi(x)=\delta_{\geq 0}(x) ψ(x)=δ≥0(x)时, P r o x c ψ ( x ) = Π ≥ 0 ( x ) \mathrm{Prox}_{c\psi}(x)=\Pi_{\geq 0}(x) Proxcψ(x)=Π≥0(x)是凸函数。一般的,Prox函数的性质依赖于 ψ \psi ψ,例如,当 ψ = ∣ ∣ ⋅ ∣ ∣ 1 \psi=||·||_1 ψ=∣∣⋅∣∣1时, P r o x ∣ ∣ ⋅ ∣ ∣ 1 ( x ) \mathrm{Prox}_{||·||_1}(x) Prox∣∣⋅∣∣1(x)为软阈值操作;当 ψ = ∣ ∣ ⋅ ∣ ∣ 2 \psi=||·||_2 ψ=∣∣⋅∣∣2时, P r o x ∣ ∣ ⋅ ∣ ∣ 2 ( x ) \mathrm{Prox}_{||·||_2}(x) Prox∣∣⋅∣∣2(x)为semismooth函数。
(4)一般的,在涉及max、min时,都是分片光滑的,也就是说, Π S + n ( ⋅ ) \Pi_{S_+^n}(·) ΠS+n(⋅)、 Π ≥ 0 ( ⋅ ) \Pi_{\geq 0}(·) Π≥0(⋅)都是分片光滑函数,从而是strongly semismooth的。 - 因此,再具体求解子问题(23)时, F F F是semismooth的,因此可以利用SNCG法和APG算法的杂合体进行求解。
【Algorithm】APG-SNCG算法
用流程图总结如下:
- 与子问题(21)不同,
F
(
x
)
=
0
F(x)=0
F(x)=0是一个新问题,并没有优化问题的背景,也就是说,
F
F
F已经不是某个优化问题的梯度,所以没有对应的目标函数,Step1所求出的
d
j
d^j
dj也就不是哪个目标函数的下降方向!而且。同时,Step2中对m设置了上界m
0
_0
0,以使步长不会过小。因此,Step2中的不等式不一定满足(从而可能转到step3)。
\quad 另一方面,文献4命题3.6证明了 ∂ F ( y ∗ ) \partial F(y^*) ∂F(y∗)中所有元素都是正定矩阵,而文献中 F ( y ) ≜ A Π S + n ( G + A ∗ y j ) F(y)\triangleq \mathcal{A}\Pi_{S_+^n}(G+\mathcal{A}^*y^j) F(y)≜AΠS+n(G+A∗yj)与子问题二中的 F F F不同(与子问题一 ∇ ξ \nabla\xi ∇ξ相同)。因此,Step1中的 V j V^j Vj不一定是正定矩阵,CG法对应的不等式(26)不一定满足(从而可能转到step3)。 - Remark.
\quad 1. 由 ζ \zeta ζ是强凸的,Step3 APG是此算法全局收敛性的保障!
\quad 2. 在不等式(26)成立下,由Step1得到的 d j d^j dj以概率1是 ∣ ∣ F ( x ) ∣ ∣ ||F(x)|| ∣∣F(x)∣∣在 x j x^j xj处的下降方向。
将子问题二分解为smaller decoupled problems(略)
此部分核心在于,将子问题二拆分为多个更容易求解的问题,最终形式为:
4. 数值实验(略)
此部分只列出几种算法
【Algorithm】Accelerated Block Coordinate Gradient Descent算法(ABCGD)
【Algorithm】A four-block inexact enhanced Randomized ABCD算法(eRABCD)
A dual approach to semidefinite least-squares problems(Jerome Malick,2004) ↩︎
Robust principal component analysis: Exact recovery of corrupted low-rank matrices via convex optimization(J. Wright等,2009) ↩︎
Least-squares covariance matrix adjustment(S. Boyd AND X. Lin,2005) ↩︎
A method of solving a convex programming problem with convergence rate O ( 1 / k 2 ) O(1/k^2) O(1/k2)(Nesterov,1983) ↩︎ ↩︎
A quadratically convergent newton method for computing the nearest correlation matrix(H. Qi AND D.F. Sun,2006) ↩︎ ↩︎
A Newton-CG augmented Lagrangian method for semidefinite programming(X.Y. Zhao, D.F. Sun, AND K.-C. Toh,2010) ↩︎ ↩︎ ↩︎
A Globally Convergent Newton Method for Convex SC 1 ^1 1 Minimization Problems(J.-S. Pang AND L. Qi,1995) ↩︎
Convergence rates of inexact proximal-gradient methods for convex optimization(M. Schmidt, N.L. Roux, AND F.R. Bach,2011) ↩︎