矩陣的核範數的導數是什麼?

矩陣的核範數是奇異值的和,那麼核範數的導數是什麼?如下我這樣證明對嗎?

由於U  Sigma  V^T不一定是方陣,是不是應該用特徵值分解而不是奇異值分解?


仔細看了現有的答案, @又紅又正 @朴正歡 和題主都給出了一些形式推導, @Sleor Chen 給出了簡要思路, @蕊蕊 給出了準確答案,但是沒有推導。我這裡基於矩陣核範數的變分表示(Variational representation),對這些答案的不足和聯繫做一個澄清,並給出一個比較易懂的解釋。

首先需要澄清的是次微分subdifferential的概念問題。先說次梯度subgradient, 向量 m{g} 稱為函數 f(m{x})m{x} 處的次梯度,如果滿足次梯度不等式 f(m{y}) ge f(m{x}) + m{g}^T(m{y-x}) :: forall m{y} 。所有滿足次梯度不等式的向量 m{g} 組成的集合稱之為次微分 partial f(m{x}) =left{ m{g}:f(m{y}) ge f(m{x}) + m{g}^T(m{y-x}) :: forall m{y}
ight} 。注意兩點。第一,這裡次梯度和次微分的定義是對所有的函數都適用的,而不僅僅是凸函數。當然,對於非凸函數,在某些點  m{x} 處,次梯度不存在,次微分為空集。第二,由於次梯度不等式 關於向量 m{g} 是線性的,所以次微分是一個凸集。題主的問題是要計算subdifferential,也就是所有的subgradient,而前述基於形式推導的方法都只能給出部分的subgradient。

要給出subdifferential的完整表示,藉助核範數的變分表示更方便。首先給出一個非常簡單的次微分引理。考慮max-type表示的凸函數 f(m{x})=max_{m{s}in S} m{s}^Tm{x}(其實就是支撐函數),這裡集合 S 可以是任意有界集合,離散的,連續的,非凸的都行。 將 f(m{x}) 看作是關於變數 m{s} 的最大化問題的最優值,對應的解集記作 S(m{x}) ,那麼在一定條件下,函數 f(m{x})m{x} 處的subdifferential是 S(m{x}) 的凸包絡(convex hull) 。對於矩陣核範數 left lVert m{W}
ight 
Vert_* ,很顯然有變分表示 left lVert m{W}
ight 
Vert_*=max_{m{U}^Tm{U}=m{I},m{V}^Tm{V}=m{I}} tr(m{U}^Tm{WV}) 。所以計算矩陣核範數的subdifferential,就是分析這個最大化問題的解集及其凸包絡,這其實就是要表示所有SVD!其答案就是 @蕊蕊 給出來的表示。由於變分表示里關於 m{W} 是線性的,這就證明了核範數是凸函數。再用剛才的次微分引理可以得到,只有在SVD分解唯一( m{UV}^T 唯一)的時候,矩陣核範數是differential,此時唯一的subgradient就是gradient。

更進一步來說,這個問題其實涉及到核範數的變分表示問題的隱藏凸性。因為對於大多數非光滑的凸函數,完整的表示subdifferential幾乎是不可能的。核範數的變分表示問題明明是非凸問題,它的解集是非凸的,而解集的凸包絡居然是可以參數化表示的!這背後有一個重要的數學結論Fan』s theorem [1](懶的敲了,直接粘圖吧)

套用這個結論(k=n),可以得到對稱矩陣的核範數的變分表示問題的隱藏凸問題及其最優條件(其實就是寫變分表示問題的KKT條件),這就給出了subdifferential的表示。而更一般矩陣的核範數再用對稱矩陣等價表示一遍就可以了,詳情見[2]。

[1] Overton M L, Womersley R S. On the Sum of the Largest Eigenvalues of a Symmetric Matrix[J]. Siam Journal on Matrix Analysis Applications, 1992, 13(1):41-45.

[2] Overton M L, Womersley R S. Optimality conditions and duality theory for minimizing sums of the largest eigenvalues of symmetric matrices[J]. Mathematical Programming, 1993, 62(1-3):321-357.


更新一下,讀了 @子元提供的鏈接,看明白了最關鍵的一步是把W=USigma V^T帶入

d[mathrm{tr}(Sigma)]=mathrm{tr}[dU(W)^TWV(W)+U(W)^TdWV(W)+U(W)^TWdV(W)]

得到

d[mathrm{tr}(Sigma)]=mathrm{tr}[dU(W)^TU(W)Sigma+U(W)^TdWV(W)+Sigma V(W)^TdV(W)]

然後注意到d(U^T U)=dU^TU+U^TdU=0

A=dU^T U, 則A+A^T=0

因此mathrm{tr}(ASigma)=frac{1}{2} mathrm{tr}(ASigma+Sigma^TA^T)=frac{1}{2} mathrm{tr}[(A+A^T)Sigma]=0

同理mathrm{tr}[Sigma V(W)^TdV(W)]=0

因此最後的結論是對的。

----------------------------------------------------------------------------------------------------------------------------

不對。因為svd中的UV都是都是W的函數,因此事實上Sigma=U(W)^TWV(W), 根據chain rule, d[mathrm{tr}(Sigma)]=mathrm{tr}[dU(W)^TWV(W)+U(W)^TdWV(W)+U(W)^TWdV(W)]

然後可以進一步寫成

d[mathrm{tr}(Sigma)]=mathrm{tr}[U(W)^TdWV(W)+Wd{V(W)U(W)^T}]

如果W是symmetric matrix, 那麼有V(W)U(W)^T=I,因此d{V(W)U(W)^T}=0

這種情況下你的證明是對的。

一般情況下我還沒有想到如何證明,不過我想這個問題肯定已經被研究過了,你可以查些相關的paper。


這個證明當然回答了這個問題的一部分。首先我們要考慮矩陣W的秩以及矩陣是不是方陣。

1)如果W是滿秩的方陣。那麼由W左右奇異向量組成的矩陣U,V擴展成了mathbb{R}^{d	imes d} ,這時候你的結論是成立的。

2)如果不是(方陣,並且不是行或者列)滿秩的,很顯然null space是不為0的,這時候我找一個W_ot ,它滿足左右奇異向量分別在U,V的null space, 根據nuclear norm的凸性,我們很容易驗證UV+W_ot是一個次梯度方向.

我想了想可以從另一個方面來理解這個問題。你考慮一個objective f(x)是continuous nonsmooth的凸優化問題,自變數x在n維歐氏空間的一個subspace里,spanned by orthonormal basis R(f)={v_1,ldots,v_d},0<d<n . 很顯然次梯度是由兩部分組成的,一部分在R(f),另一部分在R_ot(f). 這剛好能和2)對應起來。

更多內容可以參見candes 那篇經典論文 exact matrix completion via convex opt. 的ref. 23, 26.其中有一個幫助大一些。希望有所幫助:D


今天在Nuclear Norm Minimization via Active Subspace Selection中看到的:

Watson, G. A. Characterization of the subdifferential of some matrix norms. Linear Algebra and its Applications, 170:33– 45, 1992.


我看沒什麼問題,如果是方陣,每一步都是正確的 (最後一步把每個分量寫出來容易驗證是正確的)

如果不是方陣,則原方法中的第一步不能成立,因為tr沒有定義,此時可以如下處理 ( T 我用更一般的 * 來表示) :

不妨先考慮 W 是 m	imes n階, m<n
, 令

Sigma

其中 E 是 n	imes m階矩陣,第k列是第 k 個Euclidean basis vector, 此時Sigma是由W的奇異值構成的 m	imes m對角陣,且有

|W|=mathrm{tr}(sqrt{WW^*})=mathrm{tr}(sqrt{USigmaSigma^*U^*})=mathrm{tr}(USigma

再套用 (14) 即可得導數為 UE^*V^*

m>n的情況類似,考慮W^*W以及左乘的E即可,略去


核範數是奇異值絕對值之和, 一般不可導


推薦閱讀:

為什麼核範數能凸近似矩陣的秩?為什麼核範數是凸的?
向量/矩陣導數是屬於哪個學科的內容?有什麼好的教材/資料可以推薦?
行列式與矩陣是什麼關係?
數學家最初發明行列式和矩陣是為了解決什麼問題?

TAG:數學 | 線性代數 | 凸優化 | 矩陣 | 矩陣分析 |