随机化Nyström方法在对称正定矩阵低秩近似中的应用
我将为你讲解随机化Nyström方法——这是一个用于对称正定矩阵低秩近似的高效随机算法。我会从问题背景开始,逐步深入到算法细节,最后讨论数值特性。
问题背景
假设我们有一个大型对称正定矩阵 \(A \in \mathbb{R}^{n \times n}\),其中 \(n\) 非常大(例如数万甚至百万)。我们想获得其低秩近似,但完整的特征分解计算代价过高(\(O(n^3)\))。随机化Nyström方法通过随机采样矩阵的列(或行),结合巧妙的插值思想,给出一个近似分解 \(A \approx CW^+C^T\),其中 \(C\) 是采样列构成的矩阵,\(W^+\) 是采样子矩阵的伪逆。这个方法广泛用于大规模核矩阵近似、机器学习、降维等。
第一步:理解Nyström近似的核心思想
- 矩阵分块
将对称矩阵 \(A\) 分块为:
\[ A = \begin{bmatrix} W & B^T \\ B & D \end{bmatrix} \]
其中 \(W \in \mathbb{R}^{k \times k}\) 对应随机选出的 \(k\) 行/列构成的子矩阵(\(k \ll n\)),\(B \in \mathbb{R}^{(n-k) \times k}\),\(D \in \mathbb{R}^{(n-k) \times (n-k)}\) 是剩余部分。
- 插值近似
如果 \(A\) 是半正定矩阵,其列可视为某个特征空间的函数值。Nyström方法用已知的 \(k\) 列来近似所有列,即近似:
\[ A \approx \begin{bmatrix} W \\ B \end{bmatrix} W^+ \begin{bmatrix} W & B^T \end{bmatrix} = C W^+ C^T \]
这里 \(C = \begin{bmatrix} W \\ B \end{bmatrix} \in \mathbb{R}^{n \times k}\) 是 \(A\) 的 \(k\) 个选出的列。
- 近似公式推导
设 \(A\) 的近似秩为 \(k\),则存在矩阵 \(U \in \mathbb{R}^{n \times k}\) 使得 \(A \approx UU^T\)。如果我们知道 \(A\) 的 \(k\) 列(即 \(C\)),可以设 \(U = C W^{-1/2}\)(假设 \(W\) 可逆),则:
\[ UU^T = (C W^{-1/2})(C W^{-1/2})^T = C W^{-1} C^T \]
由于 \(W\) 可能奇异,实际使用伪逆 \(W^+\)。
第二步:随机化采样策略
由于直接选前 \(k\) 列可能效果差,我们通过随机采样的方式选择列:
- 随机选择 \(k\) 个列索引(可均匀抽样,或按列范数重要性抽样)。
- 构成采样矩阵 \(C = A(:, J) \in \mathbb{R}^{n \times k}\),其中 \(J\) 是索引集。
- 同时取出 \(W = A(J, J) \in \mathbb{R}^{k \times k}\)(即 \(C\) 的对应行组成的子矩阵)。
第三步:算法步骤
输入: 对称正定矩阵 \(A \in \mathbb{R}^{n \times n}\),目标秩 \(k\),过采样参数 \(p\)(如 \(p=5\))。
输出: 低秩近似 \(A \approx \tilde{A} = C (C_k^+)^T C^T\),其中 \(C_k\) 是 \(C\) 的截断SVD近似。
具体步骤:
-
生成随机测试矩阵:
生成高斯随机矩阵 \(\Omega \in \mathbb{R}^{n \times (k+p)}\)。(过采样 \(p\) 提高精度) -
计算草图矩阵:
计算 \(Y = A \Omega \in \mathbb{R}^{n \times (k+p)}\)。
(若 \(A\) 只能通过矩阵-向量乘积访问,可逐列计算) -
采样列索引:
从 \(Y\) 的行中选取重要性样本,或直接均匀采样 \(k\) 个列索引 \(J\)。
更常用的简化版:直接均匀采样 \(k\) 列,得到 \(C = A(:, J)\)。 -
构造核心矩阵:
取 \(W = A(J, J)\)。
对 \(W\) 进行特征值分解 \(W = V \Lambda V^T\),或SVD \(W = U_W \Sigma_W U_W^T\)。 -
截断处理:
由于 \(W\) 可能秩不足,取前 \(r\) 个显著特征值(\(r \le k\))。
设 \(\Lambda_r = \text{diag}(\lambda_1, \dots, \lambda_r)\),\(V_r\) 为对应特征向量。 -
形成近似:
\[ \tilde{A} = C V_r \Lambda_r^+ V_r^T C^T = (C V_r \Lambda_r^{-1/2}) (C V_r \Lambda_r^{-1/2})^T \]
这给出了对称半正定近似,秩为 \(r\)。
第四步:为什么需要过采样与正交化
简单均匀采样可能漏掉重要列,导致近似误差大。改进策略:
- 用随机投影 \(\Omega\) 得到 \(Y = A\Omega\),然后对 \(Y\) 做QR分解:\(Y = QR\)。
- 从 \(Q\) 的列空间信息中选取重要列(例如,用QR的列主元法)。
- 这样选择的列更能代表 \(A\) 的列空间,提高精度。
第五步:误差分析与关键点
- 理论误差界:
在谱范数或Frobenius范数下,近似误差满足:
\[ \mathbb{E} \|A - \tilde{A}\| \le \|A - A_k\| + \text{附加项} \]
其中 \(A_k\) 是 \(A\) 的最佳秩-\(k\) 近似(由SVD给出)。附加项与 \(W\) 的最小奇异值有关。
-
数值稳定性:
当 \(W\) 病态时,用伪逆代替逆,或对 \(W\) 做正则化(如加小对角扰动)。 -
计算成本:
若 \(A\) 是稠密矩阵,采样 \(k\) 列需 \(O(nk^2)\) 运算(主要在对 \(W\) 做分解);若 \(A\) 是稀疏矩阵或仅能矩阵-向量乘,成本可更低。
第六步:与随机SVD的区别
随机SVD直接对 \(A\) 做随机投影得到近似范围空间,再SVD。
Nyström方法利用对称正定性,通过采样列构造对称近似,更适合核矩阵等正定矩阵,且能保证近似矩阵保持半正定性。
总结
随机化Nyström方法通过“采样列 → 构造核心矩阵 → 伪逆扩展”得到低秩对称正定近似。关键在于采样策略和核心矩阵的稳定分解。它避免了全矩阵分解的巨大开销,适用于大规模核方法、高斯过程、矩阵补全等场景。