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 的奇异值 ,沿对角线呈递减排列,且是非负值
Σ m × n = [ σ 0 0 0 ⋯ 0 0 σ 1 0 ⋯ 0 0 0 σ 2 ⋯ 0 ⋮ ⋮ ⋮ ⋱ ⋮ 0 0 0 ⋯ σ n 0 0 0 ⋯ 0 ⋮ ⋮ ⋮ ⋱ ⋮ 0 0 0 ⋯ 0 ] where  σ i ≥ σ i + 1 σ i ≥ 0 \boldsymbol{\Sigma}_{m \times n} = \begin{bmatrix} \sigma_0 &0 &0 &\cdots &0\\ 0 &\sigma_1 &0 &\cdots &0\\ 0 &0 &\sigma_2 &\cdots &0 \\ \vdots &\vdots &\vdots &\ddots &\vdots\\ 0 &0 &0 &\cdots &\sigma_n\\ 0 &0 &0 &\cdots &0\\ \vdots &\vdots &\vdots &\ddots &\vdots\\ 0 &0 &0 &\cdots &0 \end{bmatrix} \\ \text{where } \sigma_i \ge \sigma_{i+1} \\ \sigma_i \ge 0 Σm×n= σ0000000σ1000000σ2000000σn00 where σiσi+1σi0

2. 求解齐次线性方程组

齐次线性方程组:

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

这里需要说明一下:

  • x \mathbf{x} x 是一个解,那么 λ ⋅ x \lambda \cdot \mathbf{x} λx 也是一个解
  • 零解不是我们想要的

于是为了简便,表达为如下的带约束的最优化问题:

min ⁡ ∣ ∣ A x ∣ ∣ 2 ,s.t.  ∣ ∣ x ∣ ∣ = 1 \min||\mathbf{A} \mathbf{x}||^2, \text{s.t. } ||\mathbf{x}|| = 1 min∣∣Ax2s.t. ∣∣x∣∣=1

2.1 推导过程

∣ ∣ 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,那么 ∣ ∣ y ∣ ∣ = 1 ||\mathbf{y}|| = 1 ∣∣y∣∣=1,则

min ⁡ ∣ ∣ A x ∣ ∣ 2 = min ⁡ ∣ ∣ Σ y ∣ ∣ 2 \min ||\mathbf{A} \mathbf{x}||^2 = \min ||\boldsymbol{\Sigma} \mathbf{y}||^2 min∣∣Ax2=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 min∣∣Axb2

3.1 推导过程

∣ ∣ 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 min∣∣Axb2=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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值