文獻: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/k2)。
1. Preliminaries:定義和定理
- Def 1(錐cone和凸錐convex cone)
- 設K⊂Rn,若∀x∈K,λ>0,都有λx∈K,則稱K爲錐。這樣的集合是由原點發射的半直線的並集。稱同時是凸集的錐爲凸錐。
-
- Def 2(極錐與對偶錐)
- 設錐K,則
極錐爲Ko:={s∈Rn:⟨s,x⟩≤0,∀x∈K}
對偶錐爲K∗:={s∈Rn:⟨s,x⟩≥0,∀x∈K}
-
- Def 3(凸函數convex function)
-
- 設f(x):Rn→R爲廣義實函數,定義域爲Df。若f(x)的上圖像
epif={(x,μ):x∈Df,μ∈R,μ≥f(x)}爲凸集,則稱函數f(x)爲凸函數。稱f(x)的有效域爲
domf={x∣f(x)<+∞},則實質上
epif={(x,μ):x∈domf,μ∈R,μ≥f(x)}
-
- 若凸函數f(x)的值域爲(−∞,+∞]且不恆爲+∞,則稱f爲正常凸函數(proper convex)。例如,凸集K上的示性函數記爲δK:
δK(x)={0+∞::x∈Kx∈/K由定義和K的凸性,δK是正常凸函數。
- Def 4(下半連續函數lower semicontinuous,lsc)
- 稱函數f(x):S→R是下半連續的,如果對於{xn}⊂S:xn→x,都有
f(x)≤n→∞limf(xn)從定義中可以看出,稱f(x)在x點處是下半連續的,如果
f(x)=y→xliminff(y)=ϵ→0lim(inf{f(y)∣∣y−x∣≤ϵ})
-
- 性質:函數f(x)在Rn是下半連續的
⇔∀α∈R,{x∣f(x)≤α}是閉集
⇔epif是Rn+1中閉集
- Def 5(函數的凸包convex hull,cof)
- 記cof爲函數f(x)的凸包,滿足
epi(cof)=co(epif)即“凸包的上圖像等於上圖像的凸包”。
-
- 函數f(x)的凸包是可以由f(x)控制的最大的凸函數,若f(x)是凸函數,則它的凸包等於自身。
- Def 6(函數的下半連續包lscf,凸函數的閉包closed hull,clf)
-
- cl(epif)爲任意函數f的上圖像的閉包,則必存在一個函授g,使得
cl(epif)=epi(g)則稱g爲f的下半連續包,記作lscf。
-
- 記clf爲f的閉包,滿足
clf(x)≡{lscf(x)−∞::若lscf(x)>−∞,∀x若lscf(x)=−∞,∃x即,對於正常凸函數,閉性與下半連續性等價;而閉的非正常凸函數一定是常函數+∞,−∞。
- Theorem 7(lscf和clf的性質)
- 設f:X→[−∞,+∞]爲凸函數,則lscf和clf都是凸的。進一步的,若f在一些點取值有限,則lscf和clf都是正常凸的,且有clf=lscf。否則lscf具有以下形式:
clf(x)={−∞+∞,,x∈cl(domf)x∈/cl(domf)在後一種情形中,若cl(domf)=∅,則lscf(x)=+∞,∀x∈/cl(domf),而根據定義,clf(x)=−∞,故lscf≡clf。而其餘情形,lscf≡clf
- Def 8(共軛函數)
- 設f:X→[−∞,+∞],則f的共軛f∗:Ω→[−∞,+∞]定義爲
f∗(ω)=x∈Xsup{⟨x,ω⟩−f(x)}
- Theorem 9
- 對於任意的f,f∗是Ω上的閉凸函數。
- Def 10(投影)
-
- 定義
設K是有界閉凸集,ΠK:Y→K是Y到K上的投影,則ΠK(y)=argminx∈K∣∣x−y∣∣2(回顧:泛函分析最佳逼近定理)
-
- Moreau分解
設K爲閉凸錐,則對於x,x1,x2∈Rn,有以下性質等價:
(1)x=x1+x2,x1∈K,x2∈Ko,且⟨x1,x2⟩=0
(2)x1=ΠK(x),x2=ΠKo(x)
-
- 性質與定理:定義
dK:Rn→Rx↦y∈Kmin21∣∣x−y∣∣2則由Moreau分解,dK(x)=21∣∣x−ΠK(x)∣∣2=21∣∣ΠKo(x)∣∣2,且dK是一個可微的凸函數,其梯度爲∇dK(x)=ΠKo(x)
-
- 半正定矩陣S+n上的投影
設C∈Sn,則C有正交對角化:C=Pdiag(λ1,...,λn)PT。記
C+=P⎣⎡max(λ1,0)⋱max(λn,0)⎦⎤PT
C−=P⎣⎡min(λ1,0)⋱min(λn,0)⎦⎤PT有如下結論:ΠS+n(C)=C+,ΠS−n(C)=C−,其中(S+n)o=S−n
- Def 11(近端映射proximal mapping)
- 定義函數ψ:X→R在x點處的近端映射爲
Proxψ(x)≜argminω∈X{ψ(ω)+21∣∣ω−x∣∣2}
- Theorem 12(Rademacher定理)
- 設E⊂Rn是開集,F:E→Rn是Lipschitz連續函數,則F在E上幾乎處處可微。
- Def 13(次微分與廣義Jacobi矩陣)
- 設多值函數F:Rn→Rm是(局部)Lipschitz連續函數,根據Rademacher定理,F幾乎處處可微。設
DF≜{x∈Rn∣F在x處可微}則ΩF≜Rn\DF是零測度集。
令JF(x)表示F在x∈Df處的 m×n Jacobian矩陣。F在x∈Rn處的B(Bouligand)-subdifferential定義爲
∂BF(x)≜{V∈Rm×n:V=xk∈Dfxk→xlimJF(xk)}即JF(xk)的聚點集。從而,Clarke意義下的廣義Jacobian是∂BF(x)的凸包,即
∂F(x)=co∂BF(x)且∂F(x)是非空凸緊的、上半連續的(upper-semicontinuous)集合。(非空說明定義中的極限存在性)
-
- 【例】f(x)=∣x∣在x=0處不可微,在其他點處可微,則xk∈Dfxk→0limJF(xk)=−1或1故∂Bf={−1,1},從而∂f=co∂Bf=[−1,1]
-
- 【注】特別的,若函數f是凸的,則在f的二階可導點x處,∇2f(x)是半正定矩陣。進一步的,若∇fLipschitz連續,則對於∀x∈Df,∇2f(x)是半正定矩陣,從而∂2f(x)中的元素都是半正定矩陣(利用矩陣的連續性,半正定矩陣的極限還是半正定的)
-
- 【注】對於連續可微函數,
xk∈Dfxk→xlimJF(xk)=JF(x)即∂BF(x)只包含x處的Jacobian矩陣這一個點,此時次微分就是微分(Jacobian)。
- Def 14(半光滑函數semismooth)
- 設ϕ是局部Lipschitz連續函數。稱ϕ在x處semismooth,如果滿足
(1)ϕ在x處方向可微(任意方向上方向導數存在)
(2)對於∀V∈∂ϕ(x+h),有
ϕ(x+h)−ϕ(x)−Vh=o(∥h∥),h→0進一步的,若ϕ在x處semismooth,且∀V∈∂ϕ(x+h),有
ϕ(x+h)−ϕ(x)−Vh=O(∥h∥2)則稱ϕ在x處strongly semismooth。
-
- 理解:給定方向h,則在這個方向有上述Taylor展開式,其中V∈∂ϕ(x+h)就體現了方向,即V來自於 “後方” 【這不由得讓我想起了Nesterov gradient方法】。因爲並不是所有的V∈∂ϕ(x)都有上述Taylor展開,也就是可以理解爲 “依方向Taylor展開” 。例如f(x)=∣x∣在x=0處,左側右側都可以分別做Taylor展開,但右側要選取∂f(0)=∂f(0+δ)=1,而左側要選取∂f(0)=∂f(0−δ)=−1,才能實現分別做Taylor展開。而如果一個函數在x點處可微,則當h→0時,∂ϕ(x+h)→∇ϕ(x),即爲Taylor展開式。
-
- 【注】最典型的(strongly)semismooth的例子是分片光滑函數,例如y=∣x∣、y=ΠS+n(x)等。一般涉及min、max的情形,除了最優點之外都是光滑的,就是分片光滑函數。
-
- 性質:(strongly)semismooth函數的複合仍是(strongly)semismooth的。
2. 研究問題
凸優化問題(1)及對偶問題DP(3)
-
本文主要的目的是求解以下凸優化問題(1):
x∈Xminf(x)+ϕ(x)s.t.A(x)=b,g(x)∈C,x∈K其中,X、Y、Z是有限維歐式空間,f:X→R是光滑強凸函數,ϕ:X→(−∞,+∞]是閉的正常凸函數,A:X→Y是線性算子,b∈Y是給定數據,C⊂Z,K⊂X是兩個閉凸錐,g:X→Z是一個光滑的C-凸 map,滿足以下性質:
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是proper closed convex functions。問題(3)不僅是(1)的對偶問題,很多優化問題本身就具有(3)的形式,比如robust PCA,也可以參考PCA 與 Robust PCA區別
-
可以用imABCD算法求解問題(3),迭代複雜度O(1/k2),將在Section2中詳細介紹。
最佳逼近問題(2)
研究問題(1)的興趣來源於以下最佳逼近問題(2):
X⊂Snmin21∣∣X−G∣∣2s.t.AX=b,BX≥d,X⊂S+n,X≥0其中,A:Sn→RmE,B:Sn→RmI是兩個線性算子(從矩陣空間映射到向量空間),G∈Sn,b∈RmE,d∈RmI是給定數據,Sn,S+n分別表示對稱矩陣錐和半正定矩陣(凸)錐。
最小二乘協方差調整問題LSCAP
問題(2)是來源於最小二乘協方差矩陣調整問題(Least Squares Covariance Adjustment Problem,LSCAP):
X⊂Snmin21∣∣X−G∣∣2s.t.X⊂S+ntr(AiX)=bi,i=1,...,ptr(CjX)≤dj,i=j,...,m其中,G,Ai,Cj∈Sn是給定數據。
LSCAP的幾何解釋: 給定一個G∈Sn,希望(在Frobenius範數意義下)計算G到一般的多面體集交集上的投影,這些多面體集包括線性等式、線性不等式、半正定矩陣錐。
LSCAP的概率解釋: 在理論上,協方差矩陣是對稱半正定矩陣。但是在實際應用中,根據樣本數據計算出的協方差矩陣一般只能保證是對稱矩陣,所以就需要對其進行調整(adjustment),即計算它到半正定矩陣錐上的投影,同時還可能滿足一些約束條件(例如,某兩個變量之間的協方差已知或滿足不等式)。這個過程本質上就是求解上述優化問題,得到的最優解是一個有效的協方差矩陣,可以保證後續的分析是有意義的。
3 問題求解與算法
求解對偶問題(3)
將4-blocks變量(ω1,ω2,ω3,ω4)分爲2-blocks,形式如下(5):
因爲▽h全局Lipschitz連續,則存在兩個自伴半正定線性算子Q、Q:U→V使得
下面是Q、Q的分解以及假設條件:
下面利用imABCD算法求解對偶問題(3)
【Algorithm】imABCD算法(O(1/k2))
【注】當εk≡0時,此算法退化到mABCD算法。BCD算法可參考【機器學習】座標下降法(Coordinate descent)和座標下降法(Coordinate descent)
- 注意! 算法中求解的是h而不是h,這是因爲h的形式可能很複雜,性質也未知,不方便求解。而h(ω,ω′)是一個凸二次函數,是h在ω′處的二次近似,文獻中給出證明,此算法最終可以收斂到最優解,且迭代複雜度爲O(1/k2)。而一般的gradient-type算法都是O(1/k),之所以能加速,是使用了Nesterov加速技巧,即算法中的Step 2.這一加速技巧非常常用,在很多論文中都有提到。
- 在某點處做函數的二次近似的想法很常用,因爲凸二次問題求解簡單且有很多好的方法,同時又容易保證算法的收斂性(Amazing!)。比如:
- Newton法:f(x)≈f(xk)+∇f(xk)T(x−xk)+21∣∣x−xk∣∣H(xk)2≜f(x;xk)
- imABCD法:h(ω)≤h(ω′)+⟨∇h(ω′),(ω−ω′)⟩+21∣∣ω−ω′∣∣Q2≜h(ω;ω′)
- g梯度Lipschitz連續⇒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)和∇ξ的形式需要藉助投影算子的性質得到。而且有如下重要性質:
(1)Π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)和(X.Y. Zhao, D.F. Sun, AND K.-C. Toh, 2010)
- 適用條件:
我們知道,經典的Newton法要求函數二階可導,故Step 1中的廣義Hessian陣(一個集合)退化爲Hessian陣,而Step 1變爲用CG法求解:我們知道,經典的Newton法要求函數二階可導,故Step 1中的廣義Hessian陣(一個集合)退化爲Hessian陣,而Step 1變爲用CG法求解:
H(xk)d+∇f(xk)=0而當二階不可微時,Newton法便不再適用。
也就是說,在求解一個凸優化問題時,如果函數一階可微但二階不可微,但是∇f是semismooth的,就可以使用Semismooth Newton-CG法進行求解。
另一種情形(如子問題二):若F是semismooth的,則在求解非線性方程組F(x)=0也可以使用SNCG法。但此時,因爲沒有優化問題的背景,所以收斂性可能無法保證,一般需要結合加速近端梯度法(accelerated proximal gradient,APG)使用。在求解子問題二時會進一步討論。
- 優點:
(1)大量數值實驗表明,SNCG算法的收斂速度很快,很多問題只需幾步即可迭代到最優解。從理論分析可知,一般SNCG是超線性收斂的(superlinear),而如果∇f是strongly semismooth的,則二階收斂。
(2)在Step 1中,從(廣義hessian)中任意選取V,算法都是有效的。
- CG法:可參考共軛梯度法的推導與完整算法和梯度下降法和共軛梯度法有何異同?
(1)用於求解線性方程組AX=b,其中A是正定矩陣。
(2)具體操作時,儘量將矩陣A變稀疏或將A分解,計算複雜度可由O(n2)下降爲O(Cn),C爲與具體問題相關的常數。
- 在求解第一個子問題時,此算法中有以下幾點值得注意:
(1)精確表示∂2ξ是困難的,因此定義
∂2ξ(y)≜AΠS+n(G1+A∗yj)A∗且有性質:∀d,∂2ξ(y)d⊂∂2ξ(y)d。這意味着,若所有∂2ξ(y)中的元素都正定,那麼∂2ξ(y)中的所有元素一定都是正定的。(由命題3.6,在最優解y∗處,∀V∈∂2ξ(y∗)都正定,故在y∗的一個鄰域中,所有V∈∂2ξ(y)都正定。另外,在文獻Algorithm 2中,使用的是Vj+εjI,也是保證其正定性)
(2)CG法的終止條件爲:∣∣AVjA∗dj+∇ξ(yj)∣∣≤δ,δ的形式根據具體問題的收斂性證明的需要而定。
(3)∀j≥0,dj都是ξ的下降方向,因此Step 2中的line search是well defined的
(4)∃j0正整數,使得∀j≥j0都有
ξ(yj+dj)≤ξ(yj)+μ⟨∇ξ(yj),dj⟩即yj+1=yj+dj
第二個子問題的分析:
-
添加近端項
- 需要注意,近端項2c∣∣z−z0∣∣2的作用是保證目標函數關於z是強凸的。添加之前,目標函數關於z求梯度爲:
B(B∗z+Z+G2)−d而BB∗是半正定矩陣(有限維Euclid空間中,線性算子作用在向量上可看作矩陣),這可能導致無法解除z。而添加近端項之後,梯度變爲:
B(B∗z+Z+G2)−d+c(z−z0)此時z的係數矩陣爲:BB∗+cI≻0
- 在imABCD算法中,h是h的一個上界,所以再擴大仍然是上界,這意味着,添加近端項後算法仍是有效的。
-
與第一個子問題(21)不同,問題(23)是一個有約束的SC1問題(即,目標函數連續可微,梯度semismooth)。根據文獻,我們也可以使用SNCG算法,但每步迭代都需要求解一個嚴格凸二次規劃問題,比較麻煩。
-
另一個思路是將問題(23)看做一個更一般的無約束非光滑凸問題:
具體來說,問題(23)的等價形式爲:
zmin21∣∣Π≥0(B∗z+G2)∣∣2−⟨d,z⟩+2c∣∣z−z0∣∣2+δ≥0(z)其中,ψ(z)=δ≥0(z)凸非光滑(Rn+是凸錐,更具體說是凸多面體集),剩下的強凸光滑函數部分對應爲ζ(z)。此強凸問題可以用APG算法求解,是全局收斂的,但收斂速度只有線性的。可以參考①近端梯度下降算法(Proximal Gradient Algorithm)、②近端梯度下降proximal gradient descent、③對近端梯度算法(Proximal Gradient Method)的理解和④近端梯度法(Proximal Gradient Method, PG)。具體算法過程爲:
【Algorithm】Accelerated Proximal Gradient算法(APG)
- 主要原理:
問題(24)的最優解是下面非線性方程組的根:
推導方法有三種:
(1)上面四篇參考文章的第二篇,核心爲:
ζ(x;xk)≜ζ(xk)+⟨∇ζ(xk),(x−xk)⟩+2L∣∣x−xk∣∣2=2L∥x−(xk−L1∇ζ(xk))∥2+C其中C是與x無關的常數。用ζ近似ζ,則有:
x∗=argminx{ζ(x)+ψ(x)}=argminx{2L∥x−(xk−L1∇ζ(xk))∥2+ψ(x)}=Proxψ/L(xk−L1∇ζ(xk))
(2)上面四篇參考文章的第三篇,核心爲:
(3)原問題minζ(x)+ψ(x),則最優解x∗滿足:
0∈∇ζ(x∗)+∂ψ(x∗)轉化後的問題爲F(x)≜x−Proxψ(x−∇ζ(x))=0,它的根滿足:
x∗=argminω{ψ(ω)+21∥ω−x∗+∇ζ(x∗)∥2}則也滿足類似的關係:
0∈∂ψ(x∗)+x∗−x∗+∇ζ(x∗)因此,兩個問題等價。
- 這意味着,若用APG算法求解問題(24)得到最優解,等價於用它去尋找F(x)=0的根,迭代過程是一樣的!(爲後面APG-SNCG算法做鋪墊)
進一步分析
- 值得注意的是,有如下性質存在:
(1)任意凸函數都是semismooth的。
(2)投影算子ΠK(⋅),若K是凸集,則ΠK(⋅)是凸函數。所以,ΠS+n(⋅)、Π≥0(⋅)都是semismooth的。
(3)近端算子Prox的性質:當ψ(x)=δ≥0(x)時,Proxcψ(x)=Π≥0(x)是凸函數。一般的,Prox函數的性質依賴於ψ,例如,當ψ=∣∣⋅∣∣1時,Prox∣∣⋅∣∣1(x)爲軟閾值操作;當ψ=∣∣⋅∣∣2時,Prox∣∣⋅∣∣2(x)爲semismooth函數。
(4)一般的,在涉及max、min時,都是分片光滑的,也就是說,ΠS+n(⋅)、Π≥0(⋅)都是分片光滑函數,從而是strongly semismooth的。
- 因此,再具體求解子問題(23)時,F是semismooth的,因此可以利用SNCG法和APG算法的雜合體進行求解。
【Algorithm】APG-SNCG算法
用流程圖總結如下:
- 與子問題(21)不同,F(x)=0是一個新問題,並沒有優化問題的背景,也就是說,F已經不是某個優化問題的梯度,所以沒有對應的目標函數,Step1所求出的dj也就不是哪個目標函數的下降方向!而且。同時,Step2中對m設置了上界m0,以使步長不會過小。因此,Step2中的不等式不一定滿足(從而可能轉到step3)。
另一方面,文獻4命題3.6證明了∂F(y∗)中所有元素都是正定矩陣,而文獻中F(y)≜AΠS+n(G+A∗yj)與子問題二中的F不同(與子問題一∇ξ相同)。因此,Step1中的Vj不一定是正定矩陣,CG法對應的不等式(26)不一定滿足(從而可能轉到step3)。
- Remark.
1. 由ζ是強凸的,Step3 APG是此算法全局收斂性的保障!
2. 在不等式(26)成立下,由Step1得到的dj以概率1是∣∣F(x)∣∣在xj處的下降方向。
將子問題二分解爲smaller decoupled problems(略)
此部分核心在於,將子問題二拆分爲多個更容易求解的問題,最終形式爲:
4. 數值實驗(略)
此部分只列出幾種算法
【Algorithm】Accelerated Block Coordinate Gradient Descent算法(ABCGD)
【Algorithm】A four-block inexact enhanced Randomized ABCD算法(eRABCD)