分块矩阵的Sherman-Morrison-Woodbury公式在低秩更新求逆中的应用
题目描述
假设我们已有一个 \(n \times n\) 矩阵 \(A\) 的逆矩阵 \(A^{-1}\),现需对 \(A\) 进行低秩更新,得到新矩阵 \(B = A + UV^T\),其中 \(U\) 和 \(V\) 是 \(n \times k\) 矩阵(通常 \(k \ll n\))。要求高效计算 \(B^{-1}\),避免直接对 \(B\) 求逆(因直接求逆复杂度为 \(O(n^3)\))。Sherman-Morrison-Woodbury(SMW)公式提供了一种利用 \(A^{-1}\) 和低维矩阵运算的快速求逆方法。
解题过程
1. 问题分析
- 直接计算 \(B^{-1}\) 的复杂度为 \(O(n^3)\),当 \(n\) 很大时计算代价高昂。
- SMW 公式将问题转化为对 \(k \times k\) 矩阵求逆(复杂度 \(O(k^3)\)),再利用矩阵乘法组合结果,总复杂度降为 \(O(n^2 k + k^3)\)。
- 适用条件:\(A\) 可逆,且更新项 \(UV^T\) 为低秩(\(k \ll n\))。
2. SMW 公式推导
公式的原始形式为:
\[(A + UV^T)^{-1} = A^{-1} - A^{-1}U(I_k + V^TA^{-1}U)^{-1}V^TA^{-1} \]
推导思路:
- 假设 \(B^{-1} = A^{-1} + Z\),通过方程 \(B B^{-1} = I\) 求解 \(Z\)。
- 将 \(B = A + UV^T\) 代入:
\[ (A + UV^T)(A^{-1} + Z) = I \]
展开得:
\[ I + AZ + UV^TA^{-1} + UV^TZ = I \]
- 整理项:
\[ AZ + UV^T(A^{-1} + Z) = 0 \]
- 令 \(W = A^{-1} + Z\),则方程化为:
\[ AZ + UV^TW = 0 \implies Z = -A^{-1}UV^TW \]
- 代入 \(W = A^{-1} + Z\):
\[ W = A^{-1} - A^{-1}UV^TW \]
- 解出 \(W\):
\[ W = (I_k + A^{-1}UV^T)^{-1}A^{-1} \]
但需注意维度匹配问题。实际上,通过矩阵分块和舒尔补(Schur Complement)严格推导可得最终公式(见下一步)。
3. 严格证明(舒尔补方法)
考虑分块矩阵:
\[M = \begin{bmatrix} A & U \\ V^T & -I_k \end{bmatrix} \]
利用分块矩阵求逆引理:
若 \(A\) 可逆,则
\[M^{-1} = \begin{bmatrix} A^{-1} + A^{-1}U S^{-1} V^T A^{-1} & -A^{-1}U S^{-1} \\ -S^{-1}V^TA^{-1} & S^{-1} \end{bmatrix} \]
其中 \(S = -I_k - V^TA^{-1}U\) 为舒尔补。
另一方面,直接验证 \(B = A + UV^T\) 的逆可通过 \(M\) 的左上块表达,最终得到:
\[B^{-1} = A^{-1} - A^{-1}U (I_k + V^TA^{-1}U)^{-1} V^T A^{-1} \]
(注意:这里 \(S = -I_k - V^TA^{-1}U\),通过符号调整即得标准形式。)
4. 计算步骤
给定 \(A^{-1}\)、\(U\)、\(V\),计算 \(B^{-1}\) 的流程:
- 计算中间矩阵 \(C = V^T A^{-1} U\)(\(k \times k\) 矩阵),复杂度 \(O(n^2 k)\)。
- 计算小矩阵逆 \(D = (I_k + C)^{-1}\)(\(k \times k\) 矩阵求逆),复杂度 \(O(k^3)\)。
- 计算更新项 \(E = A^{-1} U D\)(\(n \times k\) 矩阵),复杂度 \(O(n k^2)\)。
- 组合结果 \(B^{-1} = A^{-1} - E V^T A^{-1}\)(矩阵乘法),复杂度 \(O(n^2 k)\)。
总复杂度主导项为 \(O(n^2 k)\),远优于 \(O(n^3)\)。
5. 数值稳定性注意事项
- 当 \(A\) 病态或 \(I_k + V^TA^{-1}U\) 接近奇异时,公式可能数值不稳定。
- 改进方法:使用正则化(如对 \(A\) 添加小扰动),或改用QR分解等稳定算法处理低秩更新部分。
6. 应用场景
- 动态系统参数更新(如卡尔曼滤波)。
- 机器学习中的在线学习(如线性回归的增量更新)。
- 网络分析中的矩阵微调(如PageRank算法)。
通过以上步骤,SMW公式将大规模求逆问题转化为小规模计算,显著提升效率。