矩阵奇异值分解学习笔记

清华大学马辉老师线性代数课程笔记。

首先,我们要搞清楚奇异值分解是用来干啥的。在众多矩阵中,我们最喜欢的矩阵是对角阵,因为对角阵一眼就能看出来秩、行列式、特征值等信息,但可惜的是我们从数学模型中提取出来的很多矩阵都不是对角矩阵,我们要尽量让普通矩阵和对角阵联系起来。由以前线性代数的知识可知,对于满足条件的方阵来说,对角化是一件容易实现的事情,例如实对称矩阵一定可以对角化。但如果不是方阵的时候,我们应该怎么办呢?这就需要奇异值分解了。

奇异值分解的定义

若有矩阵 A m × n A_{m\times n} Am×n,正交方阵 U m × m U_{m\times m} Um×m,正交方阵 V n × n V_{n\times n} Vn×n(即 U T = U − 1 , V T = V − 1 U^T=U^{-1},V^T=V^{-1} UT=U1VT=V1)满足
A = U ( σ 1 σ 2 ⋱ σ r 0 ) m × n V T = : U Σ V T A=U\begin{pmatrix} \sigma_1&&&\\& \sigma_2&&&\\&& \ddots&\\ &&&\sigma_r\\&&&&\mathbf0\end{pmatrix}_{m\times n}V^T=:U\Sigma V^T A=Uσ1σ2σr0m×nVT=:UΣVT其中, r = r a n k ( A ) r=rank(A) r=rank(A),设 σ 1 ≥ σ 2 ≥ ⋯ σ r ≥ 0 \sigma_1\geq\sigma_2\geq\cdots\sigma_r\geq 0 σ1σ2σr0,则称 σ 1 , σ 2 , ⋯   , σ r \sigma_1,\sigma_2,\cdots,\sigma_r σ1,σ2,,σr奇异值(singular value),称 U U U V V V的前 r r r列向量为奇异向量(singular vector).上面的分解过程为奇异值分解(Singular Value Decomposition,SVD).

奇异值分解的性质

U 、 V U、V UV写成列向量形式,则 U = ( u 1 ⋯ u r u r + 1 ⋯ u m ) , V = ( v 1 ⋯ v r v r + 1 ⋯ v n ) , U=(\mathbf u_1\cdots \mathbf u_r\mathbf u_{r+1}\cdots\mathbf u_m),V=(\mathbf v_1\cdots \mathbf v_r\mathbf v_{r+1}\cdots\mathbf v_n), U=(u1urur+1um),V=(v1vrvr+1vn)其中 u i ∈ R m , v i ∈ R n \mathbf u_i\in\mathbb R^m,\mathbf v_i\in\mathbb R^n uiRmviRn.

A = U Σ V T A=U\Sigma V^T A=UΣVT等式两边同时右乘 V V V,得到 A V = U Σ V T V AV=U\Sigma V^TV AV=UΣVTV,由正交矩阵性质,有 A V = U Σ AV=U\Sigma AV=UΣ,写成向量形式,有
A ( v 1 ⋯ v r v r + 1 ⋯ v n ) = ( u 1 ⋯ u r u r + 1 ⋯ u m ) ( σ 1 σ 2 ⋱ σ r 0 ) m × n A(\mathbf v_1\cdots \mathbf v_r\mathbf v_{r+1}\cdots\mathbf v_n)=(\mathbf u_1\cdots \mathbf u_r\mathbf u_{r+1}\cdots\mathbf u_m)\begin{pmatrix} \sigma_1&&&\\& \sigma_2&&&\\&& \ddots&\\ &&&\sigma_r\\&&&&\mathbf 0\end{pmatrix}_{m\times n} A(v1vrvr+1vn)=(u1urur+1um)σ1σ2σr0m×n因此, (1) A v i = σ i u i , i = 1 , … , r , A\mathbf v_i=\sigma_i\mathbf u_i, i=1,\dots,r,\tag{1} Avi=σiui,i=1,,r,(1) A v j = 0 , j = r + 1 , ⋯   , m . A\mathbf v_j=0, j=r+1,\cdots,m. Avj=0,j=r+1,,m. A = U Σ V T A=U\Sigma V^T A=UΣVT两边均转置得 A T = V Σ T U T A^T=V\Sigma ^TU^T AT=VΣTUT,同理可得 A T U = V Σ T A^TU=V\Sigma ^T ATU=VΣT,因此 (2) A T u i = σ i v i , i = 1 , … , r , A^T\mathbf u_i=\sigma _i\mathbf v_i,i=1,\dots,r,\tag{2} ATui=σivi,i=1,,r,(2) A T u k = 0 , k = r + 1 , ⋯   , m . A^T\mathbf u_k=\mathbf0,k=r+1,\cdots,m. ATuk=0,k=r+1,,m.

式(1)等式两边同时左乘 A T A^T AT,得到 A T A u i = σ i A T u i A^TA\mathbf u_i=\sigma_iA^T\mathbf u_i ATAui=σiATui,将式(2)带入其中,得到 A T A v i = σ i 2 v i A^TA\mathbf v_i=\sigma _i^2\mathbf v_i ATAvi=σi2vi,同理可得 A A T u i = σ i 2 u i , i = 1 , … , r AA^T\mathbf u_i=\sigma _i^2\mathbf u_i,i=1,\dots,r AATui=σi2uii=1,,r.

这样,我们得到奇异值分解的一个性质:对于式(1)、(2)来说, v i \mathbf v_i vi A T A A^TA ATA的关于 σ i 2 \sigma_i^2 σi2的特征向量, u i \mathbf u_i ui A A T AA^T AAT的关于 σ i 2 \sigma_i^2 σi2的特征向量,其中, i = 1 , … , r i=1,\dots,r i=1,,r.

由此,我们由原来的矩阵 A A A构造了两个实对称矩阵: m m m阶的 A A T AA^T AAT n n n阶的 A T A A^TA ATA,为接下来的工作打下了基础.

下面的反推过程说明了SVD的合理性

A A A是秩为 r r r m × n m\times n m×n的实矩阵,则 A A T AA^T AAT m m m阶实对称矩阵, A T A A^TA ATA n n n阶实对称矩阵,求证:
(1) A A T AA^T AAT A T A A^TA ATA的特征值为非负数.

证:设 A T A x = λ x ( x ≠ 0 ) , A^TA\mathbf x=\lambda \mathbf x(\mathbf x\neq \mathbf0), ATAx=λx(x̸=0) x T A T A x = λ x T x \mathbf x^TA^TA\mathbf x=\lambda \mathbf x^T\mathbf x xTATAx=λxTx,即
∣ ∣ A x ∣ ∣ 2 = λ ∣ ∣ x ∣ ∣ 2 , ||A\mathbf x||^2=\lambda||\mathbf x||^2, Ax2=λx2 λ ≥ 0. \lambda\geq0. λ0. 同理 A A T AA^T AAT的特征值也全是非负数.
(2) A A T AA^T AAT A T A A^TA ATA的非零特征值集合相同.
证:已知 r a n k ( A A T ) = r a n k ( A T ) = r , rank(AA^T)=rank(A^T)=r, rank(AAT)=rank(AT)=r r a n k ( A T A ) = r a n k ( A ) = r , rank(A^TA)=rank(A)=r, rank(ATA)=rank(A)=r且实对称矩阵一定正交相似于对角阵,而相似矩阵有相同的秩和相同的特征值,因此 A A T AA^T AAT的非零特征值的个数与 A T A A^TA ATA的非零特征值的个数都等于 r r r.
λ \lambda λ A T A A^TA ATA的非零特征值,即 ∃ x , \exists \mathbf x, x使得 A T A x = λ x A^TA\mathbf x=\lambda \mathbf x ATAx=λx. 则有 A A T A x = λ A x AA^TA\mathbf x=\lambda A\mathbf x AATAx=λAx. 故 λ \lambda λ也是 A A T AA^T AAT的非零特征值.反之亦然. 因此, A A T AA^T AAT A T A A^TA ATA具有相同的非零特征值.

不妨设 A A T AA^T AAT A T A A^TA ATA r r r个非零特征值为 σ 1 2 ≥ ⋯ σ r 2 > 0 \sigma_1^2\geq\cdots\sigma^2_r\gt0 σ12σr2>0,其中 σ i > 0 \sigma_i\gt0 σi>0.
v 1 , ⋯   , v n ∈ R n \mathbf v_1,\cdots,\mathbf v_n\in \mathbb R^n v1,,vnRn n n n阶实对称方程 A T A A^TA ATA的单位正交特征向量,且有向量 u i : = A v i σ i ∈ R m ( 1 ≤ i ≤ r ) . \mathbf u_i:=\frac{A\mathbf v_i}{\sigma_i}\in\mathbb R^m(1\leq i\leq r). ui:=σiAviRm(1ir). V = ( v 1 , ⋯   , v n ) , U = ( u 1 , ⋯   , u m ) . V=(\mathbf v_1,\cdots,\mathbf v_n),U=(\mathbf u_1,\cdots,\mathbf u_m). V=(v1,,vn),U=(u1,,um).
A T A ( v 1 ⋯ v n ) = ( v 1 ⋯ v n ) ( σ 1 2 ⋱ σ r 2 0 ) A^TA(\mathbf v_1\cdots \mathbf v_n)=(\mathbf v_1\cdots \mathbf v_n)\begin{pmatrix} \sigma^2_1&&&\\& \ddots&\\ &&\sigma^2_r\\&&&\mathbf 0\end{pmatrix} ATA(v1vn)=(v1vn)σ12σr20
(3)推出式(1)、式(2)

证:注意到 A T A v i = σ i 2 v i ( 1 ≤ i ≤ r ) . A^TA\mathbf v_i=\sigma_i^2\mathbf v_i(1\leq i\leq r). ATAvi=σi2vi(1ir). v i T A T A v i = σ i 2 v i T v i , \mathbf v_i^TA^TA\mathbf v_i=\sigma_i^2\mathbf v_i^T\mathbf v_i, viTATAvi=σi2viTvi, ∣ ∣ A x i ∣ ∣ 2 = σ i 2 . ||A\mathbf x_i||^2=\sigma_i^2. Axi2=σi2.
可知 A A T u i = A ( A T A v i σ i ) = A σ i 2 v i σ i = σ i 2 u i , AA^T\mathbf u_i=A(A^T\frac{A\mathbf v_i}{\sigma_i})=\frac{A\sigma^2_i\mathbf v_i}{\sigma_i}=\sigma_i^2\mathbf u_i, AATui=A(ATσiAvi)=σiAσi2vi=σi2ui所以 u i ( 1 ≤ i ≤ r ) \mathbf u_i(1\leq i\leq r) ui(1ir) A A T AA^T AAT的特征向量,并且由于 v i \mathbf v_i vi为单位正交特征向量,故 u i T u j = ( A v i ) T σ i A v j σ j = v i T ( A T A v j ) σ i σ j = σ j 2 v i T v j σ i σ j = σ j σ i δ i j = δ i j , \mathbf u_i^T\mathbf u_j=\frac{(A\mathbf v_i)^T}{\sigma_i}\frac{A\mathbf v_j}{\sigma_j}=\frac{\mathbf v_i^T(A^TA\mathbf v_j)}{\sigma_i\sigma_j}=\frac{\sigma_j^2\mathbf v_i^T\mathbf v_j}{\sigma_i\sigma_j}=\frac{\sigma_j}{\sigma_i}\delta_{ij}=\delta_{ij}, uiTuj=σi(Avi)TσjAvj=σiσjviT(ATAvj)=σiσjσj2viTvj=σiσjδij=δij { u i ∣ 1 ≤ i ≤ r } \{\mathbf u_i|1\leq i\leq r\} {ui1ir} A A T AA^T AAT的单位正交特征向量.

A v i = σ i u i , A T u i = σ i v i , 1 ≤ i ≤ r . A\mathbf v_i=\sigma_i\mathbf u_i,A^T\mathbf u_i=\sigma_i\mathbf v_i,\quad 1\leq i\leq r. Avi=σiuiATui=σivi1ir.
{ u 1 , ⋯   , u r } \{\mathbf u_1,\cdots ,\mathbf u_r\} {u1,,ur} R n \mathbb R^n Rn的一组单位正交基; { v 1 , ⋯   , v r } \{\mathbf v_1,\cdots ,\mathbf v_r\} {v1,,vr} R m \mathbb R^m Rm的一组单位正交基.
A ( v 1 ⋯ v r ) = ( u 1 ⋯ u r ) ( σ 1 ⋱ σ r ) A(\mathbf v_1\cdots \mathbf v_r)=(\mathbf u_1\cdots \mathbf u_r)\begin{pmatrix} \sigma_1&&\\& \ddots&\\ &&\sigma_r\end{pmatrix} A(v1vr)=(u1ur)σ1σr
记为 A m × n V n × r = U m × r Σ r × r . A_{m\times n}V_{n\times r}=U_{m\times r}\Sigma_{r\times r}. Am×nVn×r=Um×rΣr×r.
扩充 { v 1 , ⋯   , v r } \{\mathbf v_1,\cdots ,\mathbf v_r\} {v1,,vr} R n \mathbb R^n Rn的一组基 { v 1 , ⋯   , v r , v r + 1 , ⋯   , v n } \{\mathbf v_1,\cdots ,\mathbf v_r,\mathbf v_{r+1},\cdots,\mathbf v_n\} {v1,,vrvr+1,,vn},扩充 { u 1 , ⋯   , u r } \{\mathbf u_1,\cdots ,\mathbf u_r\} {u1,,ur} R n \mathbb R^n Rn的一组基 { u 1 , ⋯   , u r , u r + 1 , ⋯   , u n } \{\mathbf u_1,\cdots ,\mathbf u_r,\mathbf u_{r+1},\cdots,\mathbf u_n\} {u1,,urur+1,,un}.
则有
A ( v 1 ⋯ v r v r + 1 ⋯ v n ) = ( u 1 ⋯ u r u r + 1 ⋯ u n ) ( σ 1 ⋱ σ r 0 ) m × n , A(\mathbf v_1\cdots \mathbf v_r\mathbf v_{r+1}\cdots\mathbf v_n)=(\mathbf u_1\cdots \mathbf u_r\mathbf u_{r+1}\cdots\mathbf u_n)\begin{pmatrix} \sigma_1&&&\\& \ddots&\\ &&\sigma_r\\&&&\mathbf 0\end{pmatrix}_{m\times n}, A(v1vrvr+1vn)=(u1urur+1un)σ1σr0m×n
A m × n V n × n = U m × m Σ m × n , A_{m\times n}V_{n\times n}=U_{m\times m}\Sigma_{m\times n}, Am×nVn×n=Um×mΣm×n其中 V T V = I n , U T U = I m . V^TV=I_n,U^TU=I_m. VTV=InUTU=Im.
又即 A = U Σ V T , A = σ 1 u 1 v 1 T + ⋯ + σ r u r v r T . A=U\Sigma V^T,A=\sigma_1\mathbf u_1\mathbf v_1^T+\cdots+\sigma_r\mathbf u_r\mathbf v_r^T. A=UΣVTA=σ1u1v1T++σrurvrT.

SVD与特征值的性质:
∣ λ ∣ m a x |\lambda|_{max} λmax是矩阵 A A A的特征值的模长的最大值,则 σ 1 ≥ ∣ λ ∣ m a x , σ 1 ≥ ∣ a i j ∣ , ∀ i , j . \sigma_1\geq|\lambda|_{max},\sigma_1\geq|a_{ij}|,\forall i,j. σ1λmaxσ1aiji,j.证:设 A A A有奇异值分解 A = U Σ V T , A=U\Sigma V^T, A=UΣVT则对任意向量 x \mathbf x x,有 ∣ ∣ A x ∣ ∣ = ∣ ∣ U Σ V T x ∣ ∣ = ∣ ∣ Σ V T x ∣ ∣ ≤ σ 1 ∣ ∣ V T x ∣ ∣ = σ 1 ∣ ∣ x ∣ ∣ . ||A\mathbf x||=||U\Sigma V^T\mathbf x||=||\Sigma V^T\mathbf x||\leq\sigma_1||V^T\mathbf x||=\sigma_1||\mathbf x||. Ax=UΣVTx=ΣVTxσ1VTx=σ1x.

这里 U U U V T V^T VT都是正交矩阵,从奇异值分解的几何意义来看,只是做旋转,并不改变向量长度,乘上 Σ \Sigma Σ表示向量的伸缩,因为 σ i \sigma_i σi是按照从大到小顺序排列的,故这里 σ 1 \sigma_1 σ1为最大的伸缩比例.

A x = λ x A\mathbf x=\lambda\mathbf x Ax=λx,则 ∣ ∣ A x ∣ ∣ = ∣ λ ∣ ⋅ ∣ ∣ x ∣ ∣ ||A\mathbf x||=|\lambda|\cdot||\mathbf x|| Ax=λx,故 σ 1 ≥ ∣ λ ∣ , \sigma_1\geq|\lambda|, σ1λ特别有 σ 1 ≥ ∣ λ ∣ m a x . \sigma_1\geq|\lambda|_{max}. σ1λmax.

特别地,若取 x = ( 1 , 0 , ⋯   , 0 ) , \mathbf x=(1,0,\cdots,0), x=(1,0,,0) A x A\mathbf x Ax表示 A A A的第一列向量,且 ∣ ∣ A x ∣ ∣ ≤ σ 1 ∣ ∣ x ∣ ∣ = σ 1 ||A\mathbf x||\leq\sigma_1||\mathbf x||=\sigma_1 Axσ1x=σ1,而 ∣ a i 1 ∣ ≤ a 11 2 + ⋯ + a n 1 2 ≤ σ 1 . |a_{i1}|\leq\sqrt{a_{11}^2+\cdots+a_{n1}^2}\leq\sigma_1. ai1a112++an12 σ1.同理,依次取不同的 x \mathbf x x,则有 ∣ a i j ∣ ≤ σ 1 |a_{ij}|\leq\sigma_1 aijσ1.

其他性质
1.矩阵 A A A列满秩 ⇔ A \Leftrightarrow A A的奇异值均非零.
2.方阵 A A A非奇异 ⇔ A \Leftrightarrow A A的奇异值均非零.

注:
矩阵的奇异值和其特征值相比的一个优点是非零奇异值的个数恰好是矩阵的秩,而矩阵的非零特征值的个数一般比其秩小,故常以此来计算矩阵的秩.

奇异值分解的几何意义

一般地,设秩为 r r r m × n m\times n m×n矩阵 A A A有SVD: A m × n = U Σ V T , A_{m\times n}=U\Sigma V^T, Am×n=UΣVT则从 R n \mathbb R^n Rn R m \mathbb R^m Rm的线性变换 x → A x \mathbf x\rightarrow A\mathbf x xAx可看成是以下三步的复合:
R n \mathbb R^n Rn中的旋转 x → V T x ; \mathbf x\rightarrow V^T\mathbf x; xVTx
R n \mathbb R^n Rn中的向量 V T x V^T\mathbf x VTx的前 r r r个分量做伸缩,其余分量变为0;
③再在 R m \mathbb R^m Rm中做旋转 Σ V T x → U Σ V T x . \Sigma V^T\mathbf x\rightarrow U\Sigma V^T\mathbf x. ΣVTxUΣVTx.

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值