矩陣分解與應用
低秩近似(low-rank approximation)
低秩近似用一個簡單得多、卻幾乎一樣好的矩陣來替換又大又複雜的矩陣。配方直接來自 SVD:A = U*S*V^T 中 S 裡的奇異值從大到小排列,於是你只保留最大的幾個、丟掉那些很小的。結果是一個低秩矩陣,它抓住了主要結構,所需儲存卻少得多。
一個著名定理(Eckart-Young)把這件事說得很精確:截斷到最大的 k 個奇異值,就給出了最好的秩 k 近似,也就是離原矩陣最近的那個。被丟掉的小奇異值本來貢獻就很小,所以捨棄它們只損失一點點精度。
這正是影像壓縮背後的引擎(一張照片的像素矩陣往往只有少數幾個顯著奇異值),也是推薦系統背後的引擎(稀疏的使用者評分表用一個瘦長的乘積來近似,把空缺補上)。誠實的權衡是:你犧牲一些細節,換來儲存與計算上的大幅節省,並且必須選好 k 來平衡兩者。
A ~= U_k * S_k * V_k^T (keep only the k largest singular values)
一張 1000x1000 的影像保留到秩 50,看起來幾乎一樣,儲存卻少得多。
Eckart-Young 定理:保留最大的 k 個奇異值,可證明是最好的秩 k 近似。
又稱
另見