Introduction
一個凸優化問題具有以下基本形式:
x∈Dminf(x)subject togi(x)≤0, i=1,...,mhj(x)=0, j=1,...,r
其中,f和gi都是凸函數的,且hj是仿射變換。凸優化問題有一個良好的性質,即對於一個凸優化問題來說,任何局部最小值都是全局最小值。凸優化問題是優化問題中被研究得比較成熟的,也是非凸優化的基礎,許多非凸優化問題也被局部近似爲凸優化問題求解。
凸集和凸函數
凸集
凸集的定義
一個集合c⊆Rn是凸集,如果對任意x,y∈C都有
tx+(1−t)y∈C, for all 0≤t≤1
許多常見的集合,如空集,點、線集合,仿射空間{x:Ax=b, for given A,b}都屬於凸集。正因如此,對於凸集中的變量做仿射變換得到的仍然是凸集。
凸函數
凸函數的定義
如果函數f: Rn→R是凸函數,那麼函數的定義域dom(f)⊆Rn是凸的,且對於所有x,y∈dom(f),都有
f(tx+(1−t)y)≤tf(x)+(1−t)f(y), for 0≤t≤1
換句話說,函數永遠不會高於f(x)和f(y)兩點連線。
在凸函數中有兩種比較重要的特例:
- 嚴格凸函數(strictly convex):把上述公式的≤變爲<,即函數永遠低於f(x)和f(y)兩點連線,把線性情況給排除了。
- 強凸函數(strongly convex):即f至少與二次函數一樣凸,其最高階數不小於2.
強凸意味着嚴格凸,他們都是凸函數的子集,他們的關係爲:
strongly convex⊂strictly convex⊂convex
一些常見的函數如,指數函數,仿射函數,以及常用的範數和最大值函數等,都是凸函數。
凸函數的性質
從凸函數的定義我們可以得到兩個性質:
-
一階特性:如果f是可微的,那麼f是凸函數,當且僅當dom(f)是凸的,且對於所有x,y∈dom(f),都有
f(y)≥f(x)+∇f(x)T(y−x) 因此對於一個可微的凸函數來說,∇f(x)=0⇔x minimizesf。
-
二階特性:如果f是二次可微的,那麼f是凸函數,當且僅當dom(f)是凸的,且對於所有x∈dom(f)都有∇2f(x)≥0。
其次我們還能得到詹森不等式(Jensen’s inequality):如果f是凸的,且X是定義在dom(f)上的一個隨機變量,那麼有f(E[X])≤E[f(x)]。
凸優化問題
前面我們給出了凸優化問題的定義,這裏我們討論凸優化問題的一些性質。
解集
令Xopt爲一個給定凸優化問題的所有解的集合,其可以寫爲:
Xopt=argx∈Dminf(x)
subject togi(x)≤0, i=1,...,m
Ax=b
則Xopt爲凸集。
若f爲嚴格凸函數,那麼解是唯一的,即Xopt只包含一個元素。
一階最優化條件
對於一個凸優化問題
xminf(x) subject to x∈C
且f可微,一個可行點是最優的,當
∇f(x)T(y−x)≥0
換句話說,從當前點x起的所有可行方向都與梯度方向對齊。當最優化問題是無約束時,該條件簡化爲∇f(x)=0。
凸優化問題的層次
凸優化問題有許多分支,常見的有線性規劃(linear programs, LPs),二次規劃(qudaratic programs, QPs),半定規劃(semidefinite programs, SDPs),錐規劃(cone programs, CPs)。他們的關係爲:
LPs⊂QPs⊂SDPs⊂CPs⊂Convex Programs
典型的凸優化問題
線性規劃
線性規劃是最典型的一類凸優化問題,其基本形式爲:
xmincTxsubject toDx≤dAx=b
許多解決線性規劃的方法是單純形法和內點法。壓縮感知中的基追蹤算法就是線性規劃問題。
例子:基追蹤
給定y∈Rn和X∈Rn×p,其中p>n。對於一個欠定線性系統Xβ=y,我們想要找到其最稀疏的解,其可以表達爲非凸優化形式:
βmin∥β∥0subject toXβ=y
其中,∥β∥0=∑j=1p1{βj=0},爲β的零階範數(l0 norm)。
由於該問題是非凸的,我們可以對其做凸鬆弛,即進行l1 norm近似,常常稱爲基追蹤:
βmin∥β∥1subject toXβ=y
基追蹤是一個線性規劃問題,可以將其變爲基本形式:
β,zmin1Tzsubject toz≥βz≥−βXβ=y
二次規劃
二次規劃的基本形式爲:
xmin cTx+21xTQxsubject toDx≤dAx=b
其中,Q⪰0,即爲正定的。
例子:支持向量機(SVM)
給定y∈{−1,1}n,X∈Rn×p有行向量x1,...,xn,則支持向量機問題定義爲:
β,β0,ξminsubject to21∥β∥22+Ci=1∑nξiξi≥0, i=1,...,nyi(xiTβ+β0)≥1−ξi, i=1,...,n
例子:lasso
給定y∈Rn,X∈Rn×p,則lasso問題定義爲:
βmin∥y−Xβ∥22subject to∥β∥1≤s
其中,s≥0是一個可調參數。
將約束條件作爲懲罰項加入到目標函數中可變形爲:
βmin∥y−Xβ∥22+λ∥β∥1
這兩種形式是等價的。
參考資料
CMU:Convex Optimization