数学漫游 ->奇异值分解SVD

本文详细介绍了奇异值分解(SVD)的概念、推导过程、几何形式以及如何利用SVD求解矩阵的伪逆和最小二乘问题。SVD能解决非方阵的分解问题,通过ATA和AAT求解U、Σ和V,并讨论了SVD在矩阵运算和最小二乘解中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

奇异值分解(SVD)

前面提到对于方阵 A A A, 大小为nxn, 在一定条件下, 可以进行特征值和特征向量分解. 但存在问题:

  • 方阵 A A A的特征向量并不正交(只有是对称矩阵的情况下才正交).
  • 方阵 A A A的特征向量数量不够(即不满足n个特征向量组是线性相关的).
  • 并不是一个方阵(A可能并不是方阵).

这种情况下如何对大小为mxn的矩阵 A A A 进行分解呢? A A A的奇异向量能够完美地解决上述问题.

1. SVD的推导

目标: 寻找行空间的一组标准正交基, 作用 A A A以后, 变换到列空间的一组正交基(倍数乘以标准正交基).
A v 1 = σ 1 u 1 , A v 2 = σ 2 u 2 , . . . , A v r = σ r u r Av_1 = \sigma_1 u_1, Av_2 = \sigma_2 u_2, ... , Av_r = \sigma_r u_r Av1=σ1u1,Av2=σ2u2,...,Avr=σrur
v i ∈ R n , u i ∈ R m v_i \in \mathbb{R}^n, u_i \in \mathbb{R}^m viRn,uiRm
所以可以得到:
A [ v 1 . . . v r ] = [ u 1 . . . u r ] [ σ 1 . . σ r ] ⇒ A V = U Σ A \begin{bmatrix} v_1&...&v_r\end{bmatrix} = \begin{bmatrix} u_1&...&u_r\end{bmatrix} \begin{bmatrix}\sigma_1\\&.\\&&.\\ &&& \sigma_r \end{bmatrix} \Rightarrow AV = U\Sigma A[v1...vr]=[u1...ur]σ1..σrAV=UΣ
其中 V ∈ C ( A T ) V \in C(A^T) VC(AT), A A A的行空间, U ∈ C ( A ) U\in C(A) UC(A), A A A的列空间. 如果矩阵 A A A 的行列空间不满秩, 那么会对 U U U V V V补上相应数量的对应零空间中的单位正交向量成为方阵, 写成如下形式:
A [ v 1 . . . v r . . v n ] = [ u 1 . . . u r . . u m ] [ σ 1 . . σ r ] ⇒ A V = U Σ A \begin{bmatrix} v_1&...&v_r&..&v_n\end{bmatrix} = \begin{bmatrix} u_1&...&u_r&..&u_m\end{bmatrix} \begin{bmatrix}\sigma_1\\&.\\&&.\\ &&& \sigma_r \\ &&&& \end{bmatrix} \Rightarrow AV = U\Sigma A[v1...vr..vn]=[u1...ur..um]σ1..σrAV=UΣ
综上可以得到SVD的表达式:
A = U Σ V − 1 = u 1 σ 1 v 1 T + . . . + u r σ r v r T A = U \Sigma V^{-1} = u_1 \sigma_1 v_1^T + ... + u_r \sigma_r v_r^T A=UΣV1=u1σ1v1T+...+urσrvrT
又因为, V V V是一个正交阵, 所以 V T = V − 1 V^T = V^{-1} VT=V1, 代入上式, 得:
A = U Σ V − 1 = U Σ V T A = U \Sigma V^{-1} = U \Sigma V^T A=UΣV1=UΣVT

2. 如何求解 U U U , Σ \Sigma Σ V V V

计算 A T A A^TA ATA可以消去 U U U:
A T A = V Σ T U T U Σ V T = V [ σ 1 2 . . σ r 2 ] V T A^TA = V \Sigma^T U^T U \Sigma V^T = V \begin{bmatrix} \sigma_1^{2} \\&.\\&&.\\ &&& \sigma_r^{2} \\ &&&& \\ \end{bmatrix} V^T ATA=VΣTUTUΣVT=Vσ12..σr2VT
可以发现, A T A A^TA ATA的结果恰好和 A T A A^TA ATA的特征值分解的形式相同. 也就是说矩阵 V V V A T A A^TA ATA的特征向量组成, 特征值为 σ i 2 \sigma_i^{2} σi2. 即我们求解特征方程 A T A v = σ i 2 v A^TA v = \sigma_i^{2} v ATAv=σi2v.

计算 A A T AA^T AAT可以消去 V V V
A A T = U Σ V T V Σ T U T = U [ σ 1 2 . . σ r 2 ] U T AA^T = U \Sigma V^T V \Sigma^T U^T = U \begin{bmatrix} \sigma_1^{2} \\&.\\&&.\\ &&& \sigma_r^{2} \\ &&&& \\ \end{bmatrix} U^T AAT=UΣVTVΣTUT=Uσ12..σr2UT
同理, A A T AA^T AAT的结果恰好和 A T A A^TA ATA的特征值分解的形式相同. 也就是说矩阵 U U U A A T AA^T AAT的特征向量组成, 特征值为 σ i 2 \sigma_i^{2} σi2. 即我们求解特征方程 A A T u = σ i 2 u AA^T u= \sigma_i^{2} u AATu=σi2u.

3. SVD的几何形式

从图中可以看出对矩阵A的SVD分解可以表示成一个圆到一个椭圆的变换过程.
在这里插入图片描述

4. 矩阵A的伪逆(Pseudoinverse)和SVD求解最小二乘

(1) 伪逆的定义
前面讲到任意大小的普通矩阵都可以奇异值分解. 从 A v = σ u Av = \sigma u Av=σu 出发进行推导. 如果 A A A是一个可逆的方阵, 那么有 A − 1 u = 1 σ v A^{-1}u = \frac{1}{\sigma} v A1u=σ1v. 那么相应的SVD分解形式也会变成:
A = U Σ V T ⇒ A + = V Σ + U T A = U \Sigma V^T \Rightarrow A^{+} = V \Sigma^{+} U^{T} A=UΣVTA+=VΣ+UT
其中的 + + + 表示伪逆, 如果 A A A 是方阵并且的确存在逆的话, 结果就是 A A A 的逆. 但是如果矩阵 A A A 的行空间不满秩或者列空间不满秩, 那么不管是不是方阵, 就会导致 A A A 不存在逆. 这时候就定义矩阵 A A A 的伪逆.

(2) SVD形式的伪逆应用求解最小二乘
在正交投影的章节中, 我们从几何的形式推导出, 求解最小二乘问题, 可以通过求解正规方程(normal equation).
A T A x ^ = A T b ⇒ x ^ = A ( A T A ) − 1 A T b A^TA \widehat{x} = A^Tb \Rightarrow \widehat{x} = A(A^TA)^{-1}A^Tb ATAx =ATbx =A(ATA)1ATb
这其中, 我们假设矩阵 A A A A T A A^TA ATA 是可逆的. 现在如果 A A A 不满秩, 那么就会导致正规方程存在多个解, 而不是唯一解. 原来 A x = b Ax=b Ax=b 中的A是满秩的, b b b 不在 A A A 的列空间中, 方程没有解, 因此需要求解最小二乘解. 如果 A A A 不满秩, 则其中一个解为 $x^{+} = A^{+}b $ , 并且可以证明这个解 x + x^{+} x+ 是所有解最小的那个.
证明: TODO

总结

  • 矩阵的特征值和特征向量分解适用于特定的矩阵, 对于任意大小的普通矩阵, 可以使用SVD分解.
  • 矩阵 A A A C ( A T ) C(A^T) C(AT) 中的一组标准正交基变换到 C ( A ) C(A) C(A) 中的一组正交基. 由此可以推导出 A = U Σ V T A = U \Sigma V^T A=UΣVT 的分解形式.
  • 通过 A T A A^TA ATA 的对称矩阵形式可以消去 U U U , 从而得到 V V V Σ \Sigma Σ 的求解方式. 同理通过 A A T AA^T AAT 的对称矩阵形式可以得到 U U U Σ \Sigma Σ 的求解方式.

参考

[1] Strang G, Strang G, Strang G, et al. Introduction to linear algebra[M]. Wellesley, MA: Wellesley-Cambridge Press, 1993.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值