清华大学马辉老师线性代数课程笔记,本人第一次写博客,如有问题请多指教。
首先,我们要搞清楚奇异值分解是用来干啥的。在众多矩阵中,我们最喜欢的矩阵是对角阵,因为对角阵一眼就能看出来秩、行列式、特征值等信息,但可惜的是我们从数学模型中提取出来的很多矩阵都不是对角矩阵,我们要尽量让普通矩阵和对角阵联系起来。由以前线性代数的知识可知,对于满足条件的方阵来说,对角化是一件容易实现的事情,例如实对称矩阵一定可以对角化。但如果不是方阵的时候,我们应该怎么办呢?这就需要奇异值分解了。
奇异值分解的定义
若有矩阵
Am×n,正交方阵
Um×m,正交方阵
Vn×n(即
UT=U−1,VT=V−1)满足
A=U⎝⎜⎜⎜⎜⎛σ1σ2⋱σr0⎠⎟⎟⎟⎟⎞m×nVT=:UΣVT其中,
r=rank(A),设
σ1≥σ2≥⋯σr≥0,则称
σ1,σ2,⋯,σr为奇异值(singular value),称
U和
V的前
r列向量为奇异向量(singular vector).上面的分解过程为奇异值分解(Singular Value Decomposition,SVD).
奇异值分解的性质
将
U、V写成列向量形式,则
U=(u1⋯urur+1⋯um),V=(v1⋯vrvr+1⋯vn),其中
ui∈Rm,vi∈Rn.
在
A=UΣVT等式两边同时右乘
V,得到
AV=UΣVTV,由正交矩阵性质,有
AV=UΣ,写成向量形式,有
A(v1⋯vrvr+1⋯vn)=(u1⋯urur+1⋯um)⎝⎜⎜⎜⎜⎛σ1σ2⋱σr0⎠⎟⎟⎟⎟⎞m×n因此,
Avi=σiui,i=1,…,r,(1)
Avj=0,j=r+1,⋯,m.将
A=UΣVT两边均转置得
AT=VΣTUT,同理可得
ATU=VΣT,因此
ATui=σivi,i=1,…,r,(2)
ATuk=0,k=r+1,⋯,m.
式(1)等式两边同时左乘
AT,得到
ATAui=σiATui,将式(2)带入其中,得到
ATAvi=σi2vi,同理可得
AATui=σi2ui,i=1,…,r.
这样,我们得到奇异值分解的一个性质:对于式(1)、(2)来说,
vi是
ATA的关于
σi2的特征向量,
ui是
AAT的关于
σi2的特征向量,其中,
i=1,…,r.
由此,我们由原来的矩阵
A构造了两个实对称矩阵:
m阶的
AAT和
n阶的
ATA,为接下来的工作打下了基础.
下面的反推过程说明了SVD的合理性
设
A是秩为
r的
m×n的实矩阵,则
AAT为
m阶实对称矩阵,
ATA为
n阶实对称矩阵,求证:
(1)
AAT与
ATA的特征值为非负数.
证:设
ATAx=λx(x̸=0),则
xTATAx=λxTx,即
∣∣Ax∣∣2=λ∣∣x∣∣2,故
λ≥0. 同理
AAT的特征值也全是非负数.
(2)
AAT与
ATA的非零特征值集合相同.
证:已知
rank(AAT)=rank(AT)=r,
rank(ATA)=rank(A)=r,且实对称矩阵一定正交相似于对角阵,而相似矩阵有相同的秩和相同的特征值,因此
AAT的非零特征值的个数与
ATA的非零特征值的个数都等于
r.
设
λ是
ATA的非零特征值,即
∃x,使得
ATAx=λx. 则有
AATAx=λAx. 故
λ也是
AAT的非零特征值.反之亦然. 因此,
AAT与
ATA具有相同的非零特征值.
不妨设
AAT和
ATA的
r个非零特征值为
σ12≥⋯σr2>0,其中
σi>0.
设
v1,⋯,vn∈Rn为
n阶实对称方程
ATA的单位正交特征向量,且有向量
ui:=σiAvi∈Rm(1≤i≤r). 记
V=(v1,⋯,vn),U=(u1,⋯,um). 若
ATA(v1⋯vn)=(v1⋯vn)⎝⎜⎜⎛σ12⋱σr20⎠⎟⎟⎞
(3)推出式(1)、式(2)
证:注意到
ATAvi=σi2vi(1≤i≤r). 故
viTATAvi=σi2viTvi,即
∣∣Axi∣∣2=σi2.
可知
AATui=A(ATσiAvi)=σiAσi2vi=σi2ui,所以
ui(1≤i≤r)是
AAT的特征向量,并且由于
vi为单位正交特征向量,故
uiTuj=σi(Avi)TσjAvj=σiσjviT(ATAvj)=σiσjσj2viTvj=σiσjδij=δij,故
{ui∣1≤i≤r}是
AAT的单位正交特征向量.
又
Avi=σiui,ATui=σivi,1≤i≤r.
故
{u1,⋯,ur}为
Rn的一组单位正交基;
{v1,⋯,vr}为
Rm的一组单位正交基.
A(v1⋯vr)=(u1⋯ur)⎝⎛σ1⋱σr⎠⎞
记为
Am×nVn×r=Um×rΣr×r.
扩充
{v1,⋯,vr}为
Rn的一组基
{v1,⋯,vr,vr+1,⋯,vn},扩充
{u1,⋯,ur}为
Rn的一组基
{u1,⋯,ur,ur+1,⋯,un}.
则有
A(v1⋯vrvr+1⋯vn)=(u1⋯urur+1⋯un)⎝⎜⎜⎛σ1⋱σr0⎠⎟⎟⎞m×n,
即
Am×nVn×n=Um×mΣm×n,其中
VTV=In,UTU=Im.
又即
A=UΣVT,A=σ1u1v1T+⋯+σrurvrT.
SVD与特征值的性质:
设
∣λ∣max是矩阵
A的特征值的模长的最大值,则
σ1≥∣λ∣max,σ1≥∣aij∣,∀i,j.证:设
A有奇异值分解
A=UΣVT,则对任意向量
x,有
∣∣Ax∣∣=∣∣UΣVTx∣∣=∣∣ΣVTx∣∣≤σ1∣∣VTx∣∣=σ1∣∣x∣∣.
这里
U和
VT都是正交矩阵,从奇异值分解的几何意义来看,只是做旋转,并不改变向量长度,乘上
Σ表示向量的伸缩,因为
σi是按照从大到小顺序排列的,故这里
σ1为最大的伸缩比例.
若
Ax=λx,则
∣∣Ax∣∣=∣λ∣⋅∣∣x∣∣,故
σ1≥∣λ∣,特别有
σ1≥∣λ∣max.
特别地,若取
x=(1,0,⋯,0),则
Ax表示
A的第一列向量,且
∣∣Ax∣∣≤σ1∣∣x∣∣=σ1,而
∣ai1∣≤a112+⋯+an12
≤σ1.同理,依次取不同的
x,则有
∣aij∣≤σ1.
其他性质
1.矩阵
A列满秩
⇔A的奇异值均非零.
2.方阵
A非奇异
⇔A的奇异值均非零.
注:
矩阵的奇异值和其特征值相比的一个优点是非零奇异值的个数恰好是矩阵的秩,而矩阵的非零特征值的个数一般比其秩小,故常以此来计算矩阵的秩.
奇异值分解的几何意义
一般地,设秩为
r的
m×n矩阵
A有SVD:
Am×n=UΣVT,则从
Rn到
Rm的线性变换
x→Ax可看成是以下三步的复合:
①
Rn中的旋转
x→VTx;
②
Rn中的向量
VTx的前
r个分量做伸缩,其余分量变为0;
③再在
Rm中做旋转
ΣVTx→UΣVTx.