爲了求解問題
因爲它是非凸的,我們求解一個它的近似算法
對於一個大的τ值,它可以用下列等式接近
其中第一項爲核範式(奇異值的和),第二項爲Frobenius範式。
Singular Value Thresholding (SVT) 奇異值閾值
* 奇異值收縮(singular value shrinkage)*
首先我們考慮一個秩爲r非負的。
對於每個τ≥0 的奇異值上,使它們趨於零。這也是爲什麼我們將其成爲奇異值收縮(singular value shrinkage)的原因。
* Singular Value Thresholding (SVT) 奇異值閾值*
又因爲奇異值收縮(singular value shrinkage)是核範式的近似操作(具體證明見[3]),因此上式可以轉化爲:
它的迭代方式爲:
這個算法受到壓縮感知中迭代算法的啓發,在迭代過程中對矩陣進行SVD,然後將較小的奇異值設置爲0,生成新的矩陣進行迭代。該算法運算速度快,對於高位低秩矩陣的恢復非常有效。
用拉格朗日乘子法解釋
原問題爲:
其拉格朗日函數爲:
強對偶成立,且拉格朗日函數的鞍點是原函數與對偶問題的最優解,即
其迭代解爲:
參考或延伸材料:
[1] 斯坦福SVT軟件
[2] Generalized Singular Value Thresholding
[3] A singular value thresholding algorithm for matrix completion
[4] Exact Matrix Completion via Convex Optimization
轉載至:http://blog.csdn.net/shanglianlm/article/details/46009387