【深度學習】梳理凸優化問題(五)

約束優化問題

minw  f(w)s.t.  gi(w)0  (i=1,...,k)hj(w)=0  (j=1,...,n)\begin{array}{rcl}&&min_w\;f(w)\\s.t.\;g_i(w)&\leq&0\;(i=1,...,k)\\h_j(w)&=&0\;(j=1,...,n)\\&& \end{array}

注:

  • 這是一個最小化問題.
  • 不等式約束嚴格執行的含義是“小於等於號”變成“小於號”。

凸函數

對區間 [a,b][a,b]上定義的函數 f,若它對區間中任意兩點x1,x2x_1,x_2均有:
f(x1+x22)f(x1)+f(x2)2f(\frac{x_1+x_2}{2})\le\frac{f(x_1)+f(x_2)}{2}
則稱f爲區間 [a,b]上的凸函數,這和高數上講圖形的形狀時是不同的概念。

形曲線的函數如f(x)=x2f(x)=x^2就是凸函數。

對實數集上的函數,可通過求解二階導數來判別:

  • 若二階導數在區間上非負,則稱爲凸函數
  • 若二階導數在區間上恆大於0,則稱嚴格凸函數

仿射函數也是凸函數,只是不是嚴格凸函數。

凸優化問題

凸優化問題是特殊的約束最優化問題。其一般形式形式和約束最優化問題一樣。

假設f、g、h在定義域內是連續可微的,且目標函數f和不等式約束函數g是凸函數等式約束h是仿射函數(線性函數),則這種約束最優化問題稱爲凸優化問題。
因此凸優化問題特徵的重要特徵:

  • 目標函數f,不等式約束函數g是凸函數
  • 等式約束h是仿射函數
  • 滿足約束最優化問題的一般形式

凸二次規劃問題

凸二次規劃問題是凸優化問題的一個特殊形式,當目標函數是二次型函數且約束函數 g 是仿射函數時,就變成一個凸二次規劃問題。凸二次規劃問題的一般形式爲:
minw12xTQx+cTxs.t.  Wxbmin_w\frac12x^TQx+c^Tx\\s.t.\;Wx\leq b

  • 若 Q 爲半正定矩陣,則上面的目標函數是凸函數,相應的二次規劃爲凸二次規劃問題;此時若約束條件定義的可行域不爲空,且目標函數在此可行域有下界,則該問題有全局最小值。
  • 若Q爲正定矩陣,則該問題有唯一的全局最小值。 例如,最簡單的正定矩陣就是單位矩陣。

凸二次規劃問題的特徵:

  • **目標函數f是二次型函數函數 **
  • 等式約束h是仿射函數
  • 等式約g是仿射函數
  • 滿足約束最優化問題的一般形式

常用的二次規劃問題求解方法有:

  • 橢球法
  • 內點法
  • 增廣拉格朗日法
  • 梯度投影法

額外補充

正定和半正定矩陣

這裏貼上一個博客的解釋,看了比較好理解:https://www.cnblogs.com/marsggbo/p/11461155.html
正定矩陣(PD)

給定一個大小爲 n×n 的實對稱矩陣 A ,若對於任意長度爲 n 的非零向量 X,有 XTAX>0X^TAX>0 恆成立,則矩陣 A 是一個正定矩陣。

半正定矩陣(PSD)

給定一個大小爲 n×n 的實對稱矩陣 A ,若對於任意長度爲 n 的非零向量 X,有 XTAX0X^TAX\le0 恆成立,則矩陣 A 是一個半正定矩陣。

具體解釋:以正定矩陣爲例,它需要滿足 XTAX>0X^TAX>0 ,而且我們知道矩陣相乘(如AX)的本質是將向量X按照矩陣A所指定的方式進行變換(你可以通過閱讀理解矩陣等系列文章來對矩陣乘法產生更加深刻的理解)。

我們可以記M=AX,那麼對於正定矩陣有 XTAX=XTM>0X^TAX=X^TM>0 ,看到這有沒有想起cos公式呢?如下:

cos(θ)=aTba×bcos(θ)=\frac{a^Tb}{||a||×||b||}

所以正定矩陣是個什麼意思呢?實際上就是說對於一個向量X,我們希望 X在經過有一個矩陣A的變化後得到的新的向量M和它本身的夾角小於90度。而小於90度背後的含義是變換後的向量M是沿着原向量X的正方向進行縮放的(即 M投影回原向量時方向不變)

而上面這句話還可以從特徵向量的角度進一步理解,在介紹之前我們回顧一下特徵值和特徵向量的概念:首先一個矩陣A的特徵向量x就是表示某個向量會沿着特徵向量的方向進行變換(縮放)縮放比例由特徵值λ決定。例如:

A1=[0.5002]A_1=\begin{bmatrix}0.5&0\\0&2\end{bmatrix}

很簡單地可以計算得到A的特徵值分別是0.5和2,而它們對應的特徵向量分別是[1,0]T[1,0]^T[0,1]T[0,1]^T。所以如果一個向量b左乘一個矩陣A,其本質就是將向量b沿着[1,0]T[1,0]^T[0,1]T[0,1]^T方向分別放大0.5和2倍。我們假設b=[2,2]T[2,2]^T,那麼Ab最終得到的向量爲[1,4]T[1,4]^T,結合下圖看更加直觀:


我們看上圖,如果其中一個特徵值小於0,比如λ1<0λ1<0那麼最終得到的向量Ab−→投射到b→方向的向量與b→反向。綜上,要使得變換後的向量M與原向量x夾角小於90度,即映射回原來的向量時保持方向不變,那麼就需要特徵值大於0,所以這也是爲什麼正定矩陣的特徵值都大於0.

參考文章:
https://www.cnblogs.com/marsggbo/p/11461155.html
https://blog.csdn.net/promisejia/article/details/81241201

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章