SVD方法求解线性方程组
本文详细推导如果利用奇异值分解得到 A X = 0 AX=0 AX=0及 A X = b AX=b AX=b的解,推导如下。
齐次方程组求解AX=0
对于一个维度为 m × n m\times n m×n的矩阵 A A A来说,我们可以将其进行奇异值分解得到:
A m × n = U m × m W m × n V n × n T A_{m\times n} = U_{m \times m} W_{m\times n}V^T_{n\times n} Am×n=Um×mWm×nVn×nT
我们知道对于齐次线性方程组来说,如果位置量的维度为 n n n,并且 r a n k ( A ) = m > n rank(A)=m>n rank(A)=m>n的话,约束多于位置量个数,一般这种情况我们会使用最小二乘法进行求解:
x + = arg min ∥ A X ∥ 2 x^{+}=\arg \min\Vert AX\Vert^2 x+=argmin∥AX∥2
此时, x + x^{+} x+代表最小二乘法最优值。
基于拉格朗日法推导
我们将式(2)转换为一个带等式约束的最优问题:
x + = arg min ∥ A X ∥ 2 s . t . ∥ X ∥ 2 = 1 x^{+} = \arg\min\Vert AX \Vert^2 \\ s.t.~~ \Vert X \Vert^2 = 1 x+=argmin∥AX∥2s.t. ∥X∥2=1
我们知道 ∀ k \forall k ∀k那么 k A X = 0 kAX=0 kAX=0,所以我们可以这么限制。
针对式(3)使用拉格朗日乘子法:
L ( X , λ ) = ∥ A X ∥ 2 + λ ( 1 − ∥ X ∥ 2 ) = A X X T A T + λ ( 1 − X T X ) L(X, \lambda) = \Vert AX \Vert^2 + \lambda(1 - \Vert X \Vert^2)\\ = AXX^TA^T + \lambda(1 - X^TX) L(X,λ)=∥AX∥2+λ(1−∥X∥2)=AXXTAT+λ(1−XTX)
让朗格朗日函数 L L L对 λ \lambda λ与 x x x求导得:
∂ L ∂ λ = 1 − X T X = 0 ∂ L ∂ X = 2 A T A X − 2 λ X = 0 \frac{\partial L}{\partial \lambda} = 1-X^TX = 0\\ \frac{\partial L}{\partial X} = 2A^TAX-2\lambda X = 0 ∂λ∂L=1−XTX=0∂X∂L
6859




被折叠的 条评论
为什么被折叠?



