保留矩阵中重要的部分 SVD 把矩阵写成一层层秩一矩阵之和 A = ∑ i σ i u i v i T A=\sum_i\sigma_i\mathbf u_i\mathbf v_i^{T} A = ∑ i σ i u i v i T ,按从大到小排列。只保留前 k k k 层得到 A k = U k Σ k V k T A_k=U_k\Sigma_kV_k^{T} A k = U k Σ k V k T ,这是一个秩为 k k k 的矩阵。Eckart-Young 定理说:无论误差用 Frobenius 范数还是谱范数衡量,这种截断都是最好的秩 k k k 逼近。任何巧妙选择的 k k k 个方向都胜不过前 k k k 个奇异方向。
A k = ∑ i = 1 k σ i u i v i T , ∥ A − A k ∥ F = ∑ i > k σ i 2 , ∥ A − A k ∥ 2 = σ k + 1 A_k=\sum_{i=1}^{k}\sigma_i\mathbf u_i\mathbf v_i^{T},\qquad \lVert A-A_k\rVert_F=\sqrt{\sum_{i>k}\sigma_i^{2}},\qquad \lVert A-A_k\rVert_2=\sigma_{k+1} A k = i = 1 ∑ k σ i u i v i T , ∥ A − A k ∥ F = i > k ∑ σ i 2 , ∥ A − A k ∥ 2 = σ k + 1 (1) 误差恰好就是被舍去的奇异值,所以保留的平方大小占比为 ∑ i ≤ k σ i 2 / ∑ i σ i 2 \sum_{i\le k}\sigma_i^2\big/\sum_i\sigma_i^2 ∑ i ≤ k σ i 2 / ∑ i σ i 2 ,当 A A A 是中心化数据时常称为解释方差。m × n m\times n m × n 矩阵的秩 k k k 逼近只需 k ( m + n + 1 ) k(m+n+1) k ( m + n + 1 ) 个数而不是 m n mn mn 个,所以低秩同时也是压缩。在金融中,σ i \sigma_i σ i 小的层多半是抽样噪声,截断它们就是去噪,k k k 通常按保留占比的阈值或奇异值中的间隔来选。
奇异值为 10、6、3、1 设矩阵的奇异值为 10、6、3、1,平方为 100、36、9、1,和为 146。最佳秩 2 逼近保留 146 中的
100 + 36 = 136 100+36=136 100 + 36 = 136 ,占
93.2 % 93.2\% 93.2% ,Frobenius 误差为
9 + 1 = 10 ≈ 3.16 \sqrt{9+1}=\sqrt{10}\approx3.16 9 + 1 = 10 ≈ 3.16 ,谱误差为
σ 3 = 3 \sigma_3=3 σ 3 = 3 。最佳秩 1 逼近的谱误差是
σ 2 = 6 \sigma_2=6 σ 2 = 6 。对
1000 × 250 1000\times250 1000 × 250 的矩阵,秩 5 只需
5 × ( 1000 + 250 + 1 ) = 6255 5\times(1000+250+1)=6255 5 × ( 1000 + 250 + 1 ) = 6255 个数,而不是 250000 个。
Eckart-Young :把 SVD 截断到 k k k 项,在两种范数下都是最佳秩 k k k 逼近。误差 :Frobenius 为 ∑ i > k σ i 2 \sqrt{\sum_{i>k}\sigma_i^2} ∑ i > k σ i 2 ,谱范数为 σ k + 1 \sigma_{k+1} σ k + 1 。存储 :k ( m + n + 1 ) k(m+n+1) k ( m + n + 1 ) 个数,而非 m n mn mn 个。选择 k 需要判断 没有哪条规则不依赖假设。像 90 % 90\% 90% 这样的固定占比简单但随意,奇异值中出现明显间隔时它很自然,而在本技能后面的协方差场景里,Marchenko-Pastur 边界给出了区分信号与噪声的有依据的阈值。无论用哪种方式,都要在样本外检验这个选择:最能解释训练数据的秩,并不是最能预测新数据的秩。 实验:评分内容 Frobenius 误差 15 分 保留的占比 15 分 秩一逼近 15 分 低秩矩阵的存储量 10 分 Eckart-Young 定理 15 分 压缩矩阵 15 分 为什么截断能去噪 15 分