半正定規划(SDP)實例:最小化矩陣范數(2-norm of a matrix)


得讓以后不會的小朋友能直接搜到答案。主要是不小心通了個宵,亂吃了好些很不健康還大概確乎過期了的東西,剛剛還喝了口過期牛奶(很絕),腦子不大清醒,整理幾句。

半正定規划(Semidefinite program)

半正定規划長這樣:

\[\begin{aligned} \text{min} ~~~ & C \bullet X \\ \text{s.t.} ~~~ & A_i \bullet X = b_i, ~~~ i = 1, \dots, m \\ & X \succeq 0; \end{aligned} \]

其對偶問題是:

\[\begin{aligned} \text{max} ~~~ & b^Ty \\ \text{s.t.} ~~~ & \sum_{i = 1}^{m} y_i A_i + S = C, \\ & S \succeq 0, \end{aligned} \]

其中給定了常量 \(A_i \in \mathcal{SR}^{n \times n}\), \(b \in \mathcal{R}^m\), \(C \in \mathcal{SR}^{n \times n}\),而變量是 \(X, S \in \mathcal{SR}^{n \times n}\)\(y \in \mathcal{R}^m\)

矩陣的2-范數(2-norm of a matrix)

向量 \(u \in \mathcal{R}^{n}\) 的2范數,即其歐式空間長度為:

\[\Vert u \Vert_2 = u^T u. \]

矩陣 \(H \in \mathcal{R}^{m \times n}\) 的2-范數相應為:

\[\Vert H \Vert_2 = \max_{\Vert u \Vert_2 = 1} \Vert H u \Vert_2. \]

這個東西可以被證明是矩陣 \(H^T H\) 的最大特征值的平方根,即 \(H\) 的最大奇異值。大致過程如下。

\[\Vert H u \Vert_2 = \sqrt{(Hu)^T (Hu)} = \sqrt{u^T H^T H u}. \]

\(H^T H \in \mathcal{SR^{n \times n}}\),即 \(H^T H\) 是對稱半正定矩陣,那么可以特征分解(Eigendecomposition)

\[H^T H = Q \Lambda Q^T, \]

其中 \(\Lambda \in \mathcal{R^{n \times n}}\) 為其特征值構成的對角矩陣,\(Q \in \mathcal{R^{n \times n}}\) 為對應的特征向量構成的正交矩陣。

分別用 \(\lambda_{\max} ( \cdot)\) 以及 \(\lambda_{\min} ( \cdot)\) 來表示矩陣的最大特征值和最小特征值,那么

\[\begin{aligned} u^T H^T H u &= u^T Q \Lambda Q^T u \\\\ &\leq u^T Q ~ [\lambda_{\max} ( H^T H) I ] ~ Q^T u \\\\ &= \lambda_{\max} ( H^T H) ~ u^T Q^T Q u \\\\ &= \lambda_{\max} ( H^T H) ~ \Vert H u \Vert_2. \end{aligned} \]

那么代入原來的式子可以得到結果

\[\begin{aligned} \Vert H \Vert_2 &= \max_{\Vert u \Vert_2 = 1} \Vert H u \Vert_2 \\\\ &\leq \max_{\Vert u \Vert_2 = 1} \sqrt{\lambda_{\max} ( H^T H) ~ \Vert H u \Vert_2} \\\\ &= \sqrt{\lambda_{\max} ( H^T H)}. \end{aligned} \]

好了寫到這里發現這里不等式傳遞的好像有點不對,whatever,交都交了,我也懶得深究了。

以SDP描述最小化矩陣范數

用矩陣簇 \(H_i \in \mathcal{R}^{n \times n}\)\(i = 0, 1, \cdots, k\),和向量 \(x = (x_1, x_2, \cdots, x_k) \in \mathcal{R}^k\) 定義矩陣 \(H(x) = H_0 + x_1H_1 + \dots + x_kH_k\). 最小化其2-范數(\(\Vert H(x) \Vert_2\))的問題可以被寫為一個線性半正定優化問題。

由前文得到最小化 \(\Vert H(x) \Vert_2\),即為最小化 \(\sqrt{\lambda_{\max} ( H(x)^T H(x))}\). 而

\[\begin{aligned} &\sqrt{\lambda_{\max} ( H(x)^T H(x))} \leq t \\\\ \Longleftrightarrow ~~~ & \lambda_{\max} ( H(x)^T H(x)) \leq t^2 \\\\ \Longleftrightarrow ~~~ & \lambda_{\max} ( H(x)^T H(x) - t^2 I) \leq 0 \\\\ \Longleftrightarrow ~~~ & \lambda_{\min} (t^2 I - H(x)^T H(x)) \geq 0 \end{aligned} \]

最小的特征值大於等於零則所有的特征值都大於等於零,則 \(t^2 I - H(x)^T H(x) \succeq 0\). 等價於

\[\begin{bmatrix} tI&H(x)^T \\ H(x)&tI \end{bmatrix} \succeq 0. \]

所以原問題可以寫成

\[\begin{aligned} \text{min} ~~~ & t \\ \text{s.t.} ~~~ & \begin{bmatrix} tI&H(x)^T \\ H(x)&tI \end{bmatrix} \succeq 0. \end{aligned} \]

歡迎指正,但我都已經交了。

參考

(PDF) Large Scale Optimization with Interior-Point Methods | Jacek Gondzio - Academia.edu

矩陣奇異值與矩陣范數之間有什么聯系? - 知乎 (zhihu.com)

03-凸優化問題 - 二十三歲的有德 - 博客園 (cnblogs.com)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM