凸優化-次梯度算法

02 October 2015

1. 次梯度

在優化問題中,咱們能夠對目標函數爲凸函數的優化問題採用梯度降低法求解,可是在實際狀況中,目標函數並不必定光滑、或者到處可微,這時就須要用到次梯度降低算法。算法

次梯度(*Subgradient*)與梯度的概念相似,凸函數的First-order characterization是指若是函數f可微,那麼當且僅當 爲凸集,且對於 ,使得 ,則函數 爲凸函數。這裏所說的次梯度是指在函數 上的點 知足如下條件的

其中,函數 不必定要是凸函數,非凸函數也能夠,即對於凸函數或者非凸函數而言,知足上述條件的 均爲函數在該點的次梯度。可是,凸函數老是存在次梯度(能夠利用epigraph和支撐平面理論證實),而非凸函數則不必定存在次梯度,即便 可微。該定義說明,用次梯度對原函數作出的一階展開估計老是比真實值要小。dom

很明顯,凸函數的次梯度必定存在,若是函數 在點 處可微,那麼 ,爲函數在該點的梯度,且惟一;若是不可微,則次梯度不必定惟一。可是對於非凸函數,次梯度則不必定存在,也不必定惟一。例如,凸函數 範數爲凸函數,但不知足到處可微的條件,所以,函數的次梯度不必定惟一,以下圖:函數

左一圖爲 ,函數在 時,次梯度惟一,且 ;當 時,次梯度爲 中的任意一個元素;優化

左二圖爲 ,函數在 時,次梯度惟一,且 ;當 時,次梯度爲 中的任意一個元素;atom

一樣,絕對值函數 和最大值函數 在不可微點處次梯度也不必定惟一,以下圖:spa

對於左二函數而言,其在知足 的點處,次梯度爲任意一條直線在向量 之間。.net

同理,咱們還能夠給出次微分(subdifferential)的定義,即:
code

  • 次微分是閉合且爲凸集;
  • 若是函數 在點 處可微,那麼次微分等於梯度;
  • 凸函數的次微分不爲空,但非凸函數則不必定。

若是咱們還記得Normal cone是指給定任意集合 和點 ,那麼咱們能夠看出,對於集合 的邊界上點的Normal cone就是函數 在該點的次微分。其中,

證實:orm

由於,對於函數的次梯度會知足 ,所以,ip

  • 對於 ,不知足Normal cone的定義;
  • 對於 ,知足Normal cone的定義;

既證。

2. 次梯度的性質

  • Scalingf:
  • Addition:
  • Affine composition:若是 ,那麼
  • Finite pointwise maximum:若是 ,那麼 ,意味着函數 的次微分等於全部能取得最大值的函數 在點 處的微分,具體實例可參考以前提到的最大值函數部分。

3. 爲何要計算次梯度?

對於光滑的凸函數而言,咱們能夠直接採用梯度降低算法求解函數的極值,可是當函數不到處光滑,到處可微的時候,梯度降低就不適合應用了。所以,咱們須要計算函數的次梯度。對於次梯度而言,其沒有要求函數是否光滑,是不是凸函數,限定條件不多,因此適用範圍更廣。

次梯度具備如下優化條件(subgradient optimality condition):對於任意函數 (不管是凸仍是非凸),函數在點 處取得最值等價於:

即,當且僅當0屬於函數 在點 處次梯度集合的元素時, 爲最優解。

證實:

證實很簡單,當次梯度 時,對於全部 ,存在 ,因此, 爲最優解,即證。

4. 次梯度算法

次梯度算法(Subgradient method)與梯度降低算法相似,僅僅用次梯度代替梯度,即:

其中, ,爲 在點 處的次梯度。

與梯度降低算法不一樣的地方在於,次梯度算法並非降低算法,每次對於參數的更新並不能保證代價函數是呈單調遞減的趨勢,所以,通常請款下咱們選擇:

另外一點與梯度降低算法不一樣的是:次梯度算法沒有明確的步長選擇方法,相似Exact line searchBacktracking line search的方法,只有步長選擇準則,具體以下:

  • Fixed step sizes: 
  • Diminishing step sizes: 選擇知足如下條件的 :


Diminishing step sizes方法主要是保證步長逐漸變小,同時,變化幅度還不會特別快。這裏須要注意的是,次梯度算法並不像梯度降低同樣,能夠在每一次迭代過程當中自適應的計算這次步長(adaptively computed),而是事先設定好的(pre-specified)。

可是,不少人會提出這樣一個問題,若是你不能保證次梯度是單調的,如何保證最後能夠收斂?

定理:若是 爲凸函數,且知足Lipschitz continuous with G,若是固定步長爲 ,那麼次梯度算法知足:

證實:

對於 ,其中 。所以,咱們能夠展開下式爲:

由於, ,且由凸函數一階性質可得 ,上式不等式能夠寫爲:

對於任意 ,求和上式能夠得到:

由於, ,因此:

若是令 爲迭代 次內的最優解,那麼 ,其中, ,所以:

因此,咱們能夠獲得

同時,由於函數知足Lipschitz continuous with G,因此, ,即函數的次梯度

綜上所述,咱們能夠證實下式成立:

相關文章
相關標籤/搜索