Convex Relaxation, Convex Conjugate, L1 & L0 norm, rank & nuclear norm

了解機器學習的人應該都知道,在優化非凸函數的時候,希望用一個凸函數來代替這個非凸函數,以獲取凸函數在優化過程中良好的性質。比如RPCA里,sparse部分的L0 norm用L1 norm來代替,low-rank部分的rank用nuclear norm(核范數)來代替。L0和rank是非凸的,L1和nuclear norm是凸函數,但為什么這樣的approximation(在某種意義下)是最佳的呢?

之前在網上搜了蠻久沒有得到一個完整的答案,前幾天課后跟老板談論起這個問題,給我發了點reference,算是徹底解決了這個問題。簡書不太熟(改天查一下怎么在簡書上使用markdown or latex),所以先直接貼圖吧,最后把reference附上,以便查閱。


首先簡單說一下convex function的knowledge和這里的notation。


然后是Convex conjugate的概念:


看到這里就應該明白了為什么the biconjugate of F是F的“最佳凸估計”(convex relaxation)。

也就是說:biconjugate是小于原函數且epi為閉集(lower semicontinuous等價于epi close)的最大的凸函數。實際上就是把原函數的epi 做convex hull+closure(變成閉集),這個性質跟dual cone很像,二次對偶后變成了以前cone做convex hull+closure。


其實L1 norm是L0 norm的biconjugate,nuclear norm是rank的biconjugate,所以很容易理解為什么我們要用L1 norm來代替L0 norm,為什么用nuclear norm來代替rank了。


L1為什么是L0的biconjugate:

在x的L_inf不大于1的情況下(重要!):


nuclear norm是rank的biconjugate其實可以看作是上面的推論。簡單說一下idea,任給一個m*n的矩陣M,對M做奇異值分解(其實就是實對稱矩陣譜分解的推廣),奇異值的個數就是矩陣的rank(是不是很像L0 norm,非0就是1),類似做biconjugate就是所有奇異值絕對值的和,而奇異值本身就是非負的,所以就是奇異值的和(這貨就是nuclear norm嘛!)。



Reference:

1. Foucart S, Rauhut H. A mathematical introduction to compressive sensing[M]. Basel: Birkh?user, 2013.

2. https://www.quora.com/Why-is-L1-norm-the-tightest-convex-relaxation-of-L0-norm-in-convex-optimazation

有興趣的可以看看:

3. Rockafellar R T. Convex analysis[M]. Princeton university press, 2015. (重點推薦!!!

4. Boyd S, Vandenberghe L. Convex optimization[M]. Cambridge university press, 2004.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容