特徵值問題與奇異值分解

低秩逼近

一個大型資料矩陣承載的真正資訊,往往遠少於其尺寸所暗示的——一張 1000x1000 的影像是一百萬個數,但若它大致平滑,幾百個數就幾乎完美地捕捉它。低秩逼近(low-rank approximation)把這點講精確:把矩陣 A 換成另一個秩低得多(秩 k)、卻盡可能接近 A 的矩陣 A_k。節省極為可觀,因為一個秩 k 的矩陣可存成一個瘦長的乘積(m x k 乘 k x n),而非 m x n 個完整元素——這就是壓縮、降維、模型降階背後的整個想法。

配方直接來自 SVD。把 A = U Sigma V^T = 對 i 求和的 sigma_i u_i v_i^T——這是一串秩 1 的片段之和,每片是一個左奇異向量與一個右奇異向量的外積,以其奇異值加權,並由大到小排序。要得到最佳的秩 k 逼近,只要「保留前 k 項」、丟掉其餘:A_k = sum_{i=1}^{k} sigma_i u_i v_i^T(這就是截斷 SVD)。每丟掉一項只貢獻 sigma_{k+1}、sigma_{k+2}、……所以若奇異值快速衰減,剩下的便極小,A_k 就捕捉了 A 的幾乎全部。儲存從 m*n 降到 k*(m + n + 1) 個數——當 k 很小時是巨大的勝利。

為何保留前 k 組奇異三元組是「最佳」可能的秩 k 逼近,而不只是一個好的?這正是埃卡特-楊定理(Eckart-Young theorem)所證明的:沒有任何秩 k 矩陣比它更接近 A(在 2-範數或弗羅貝尼烏斯範數下)。這單一事實讓 SVD 成為驚人廣泛的工具的根基——PCA 保留前幾個主成分(中心化資料的前幾個奇異方向),影像與影片壓縮保留主要的奇異三元組,潛在語意分析與推薦系統把詞-文件或使用者-項目矩陣分解成低秩,模型降階則用主要模態取代巨大的模擬狀態。誠實的告誡:低秩逼近只在奇異值「確實」衰減時才有用;對一個奇異譜平坦的矩陣(真正的高維資料),不存在好的低秩逼近,硬要做就會丟掉真正的訊號。

用 SVD 壓縮一張 512x512 的灰階照片(262144 個數)。奇異值通常快速衰減,所以保留前 k = 40 組奇異三元組就能重建出視覺上忠實的影像,而只存約 40*(512+512+1) ~= 41000 個數——約 6 倍的縮減。把 k 壓更低,影像就模糊;推更高,就逼近原圖。品質下滑的懸崖,恰好就在奇異值不再可忽略之處。

保留前 k 組奇異三元組來壓縮矩陣;效果好壞完全取決於奇異值衰減多快。

低秩逼近「只」在奇異值衰減時才有用;對一個奇異值都相近的矩陣,最佳的秩 k 逼近仍是個糟糕的近似,根本沒有壓縮可言。對巨大的矩陣,為了截斷而去算完整 SVD 太浪費——隨機化 SVD 能便宜得多地找出前 k 組三元組。

又称
truncated SVD approximationmatrix compression秩-k 逼近矩陣壓縮