奇異值分解
截斷 SVD / 低秩逼近
截斷 SVD 就是帶著有意切割的 SVD:你只保留前 k 個奇異三元組 (sigma_i, u_i, v_i),丟棄較小的那些。結果 A_k = sum_{i=1}^{k} sigma_i u_i v_i^T 是 A 的一個秩 k 替身。由埃卡特-楊定理,它是現有最佳的這種替身——沒有任何秩 k 矩陣比它更靠近 A。
它之所以如此有用,在於它所達成的划算交易。存儲 A_k 只需 k(m + n + 1) 個數,而非 m*n 個;當 k 小而 m, n 大時,這是巨大的壓縮。又因為被丟棄的是最小的奇異值,你在大幅縮小矩陣的同時幾乎保留了它的全部能量——這份節省幾乎是白來的。
三個經典用途。壓縮:奇異值快速衰減的圖像或數據矩陣可由低秩 A_k 捕獲。去噪:隨機噪聲往往把能量鋪灑在小奇異值上,因此砍掉尾部就在保留結構的同時去除了噪聲。隱因子:在文本與推薦數據中,靠前的奇異三元組揭示隱藏的主題——這正是隱語義分析,也是矩陣分解推薦器的支柱。
如何選 k 才是真正的門道。看奇異值譜:一個值驟降的「肘部」告訴你有效秩。保留足夠多的三元組,以留住所選的總能量比例(sigma^2 之和)。k 太小會模糊真實結構;k 太大又會把噪聲拽回來。截斷 SVD 把這一權衡變成了一個單一、透明的旋鈕。
A_k = sigma_1 u_1 v_1^T + ... + sigma_k u_k v_k^T (storage k(m+n+1) vs m*n)
保留前 k 個秩一層;存儲量從 m*n 降到 k(m+n+1)。
截斷 SVD 是動作;埃卡特-楊是這個動作最優的保證。在超大問題中,你很少先求出完整 SVD——隨機化 SVD 直接計算截斷結果。
又稱
另見