SVD分解求解线性方程组

SVD分解求解线性方程组

1 SVD分解

任一实矩阵 A m × n \mathbf{A}_{m \times n} Am×n (典型情况: m ≥ n m \ge n mn),都可分解为:

A = U Σ V ⊤ \mathbf{A} = \mathbf{U} \boldsymbol{\Sigma} \mathbf{V}^\top A=UΣV

U m × m \mathbf{U}_{m \times m} Um×m:酉矩阵, U \mathbf{U} U 的列向量叫做 A \mathbf{A} A 的左奇异向量

V n × n \mathbf{V}_{n \times n} Vn×n:酉矩阵, V \mathbf{V} V的列向量叫做 A \mathbf{A} A 的右奇异向量

Σ m × n \boldsymbol{\Sigma}_{m \times n} Σm×n:对角矩阵,对角元素叫做 A \mathbf{A} A 的奇异值 ,沿对角线呈递减排列,且是非负值

2 求解齐次线性方程组

齐次线性方程组:

A x = 0 \mathbf{A} \mathbf{x} = \mathbf{0} Ax=0

等价为如下问题:

min ⁡ ∣ ∣ A x ∣ ∣ 2 \min||\mathbf{A} \mathbf{x}||^2 minAx2

推导过程:

∣ ∣ A x ∣ ∣ 2 = ∣ ∣ U Σ V ⊤ x ∣ ∣ 2 = ∣ ∣ Σ V ⊤ x ∣ ∣ 2 ||\mathbf{A} \mathbf{x}||^2 = ||\mathbf{U} \boldsymbol{\Sigma} \mathbf{V}^\top \mathbf{x}||^2 = ||\boldsymbol{\Sigma} \mathbf{V}^\top \mathbf{x}||^2 Ax2=UΣVx2=ΣVx2

y = V ⊤ x \mathbf{y} = \mathbf{V}^\top \mathbf{x} y=Vx,则

min ⁡ ∣ ∣ A x ∣ ∣ 2 = min ⁡ ∣ ∣ Σ y ∣ ∣ 2 \min ||\mathbf{A} \mathbf{x}||^2 = \min ||\boldsymbol{\Sigma} \mathbf{y}||^2 minAx2=minΣy2

可得 y = [ 0 , ⋯   , 1 ] ⊤ \mathbf{y} = [0, \cdots , 1]^\top y=[0,,1],于是 x \mathbf{x} x 等于 V \mathbf{V} V 的最后一列。

3 求解非齐次线性方程组

非齐次线性方程组:

A x = b \mathbf{A} \mathbf{x} = \mathbf{b} Ax=b

等价为如下问题:

min ⁡ ∣ ∣ A x − b ∣ ∣ 2 \min||\mathbf{A} \mathbf{x} - \mathbf{b}||^2 minAxb2

推导过程:

∣ ∣ A x − b ∣ ∣ 2 = ∣ ∣ U Σ V ⊤ x − b ∣ ∣ 2 = ∣ ∣ Σ V ⊤ x − U ⊤ b ∣ ∣ 2 ||\mathbf{A} \mathbf{x} - \mathbf{b}||^2 = ||\mathbf{U} \boldsymbol{\Sigma} \mathbf{V}^\top \mathbf{x} - \mathbf{b}||^2 = ||\boldsymbol{\Sigma} \mathbf{V}^\top \mathbf{x} - \mathbf{U}^\top \mathbf{b}||^2 Axb2=UΣVxb2=ΣVxUb2

y = V ⊤ x , c = U ⊤ b \mathbf{y} = \mathbf{V}^\top \mathbf{x}, \mathbf{c} = \mathbf{U}^\top \mathbf{b} y=Vx,c=Ub,则

min ⁡ ∣ ∣ A x − b ∣ ∣ 2 = min ⁡ ∣ ∣ Σ y − c ∣ ∣ 2 \min ||\mathbf{A} \mathbf{x} - \mathbf{b}||^2 = \min ||\boldsymbol{\Sigma} \mathbf{y} - \mathbf{c}||^2 minAxb2=minΣyc2

可得 y i = c i / σ i y_i = c_i / \sigma_i yi=ci/σi x = V y \mathbf{x} = \mathbf{V} \mathbf{y} x=Vy

你可能感兴趣的:(workspace,算法,人工智能)