奇异值分解的主要思想
奇异值(singular value decomposition, SVD)是一种矩阵因子分解方法。
其主要思想是:任意一个m×n 矩阵都可以表示为三个矩阵的乘积(因子分解)形式,即:
A=UΣVT
其中 U 是m 阶正交矩阵,V 是 n 阶正交矩阵, Σ 是由降序排序的非负的对角线元素组成的m×n 矩形对角矩阵。且满足:
UUT=IVVT=IΣ=diag(σ1,σ2,…,σp)σ1≥σ2≥…≥σp≥0p=min(m,n)
σi 称为矩阵A的奇异值,U的列向量称为左奇异向量,V的列向量称为右奇异向量。
奇异值分解形式
奇异值分解A=UΣVT 又称矩阵的完全奇异值分解。实际常用的是奇异值分解的紧凑形式和截断形式。紧凑形式分解是与原始矩阵等秩的奇异值分解,截断奇异值分解是比原始矩阵低秩的奇异值分解。
(1)紧奇异值分解
紧奇异值分解:
A=UrΣrVrT
其中,r=rank(A) 。
这种分解的对角矩阵Σr 的秩和原始矩阵A的秩相等。
(2)截断奇异值分解
A≈UkΣkVkT
其中,rank(A)=r且0<k<r。
这种分解的对角矩阵Σr 的秩比原始矩阵A的秩低。
几何解释
从线性变换的角度解释奇异值分解。设存在这样一个线性变换:
T:x→Ax
x∈Rn,Ax∈Rm,x,Ax 分别是各自空间的向量。线性变换可以解释分解为三个简单的变换:
(1)一个坐标系的旋转或反射变换:VT。
(2)一个坐标轴的缩放变换:Σ。
(3)另一个坐标系的旋转或反射变换:U。
奇异值分解过程:A=UΣVT ,U、V 是正交矩阵,V 可以理解为列向量v1,v2…,vn 构成Rn 空间的一组标准正交基。 U 可以理解为列向量u1,u2…,un 构成Rn 空间的一组标准正交基。 Σ 的对角线元素σ1,σ2…,σn 是一组非负实数,表示 Rn 空间中原始坐标系坐标轴的σ1,σ2…,σn 倍的缩放变换。
任意一个向量x∈Rn,经过基于A=UΣVT 的线性变换,等价于上述的三个过程,具体如下图所示:

主要性质
(1)AAT和ATA的特征分解存在,且可由矩阵A的奇异值分解的矩阵表示;
ATA=(UΣVT)T(UΣVT)=V(ΣTΣ)VTAAT=(UΣVT)(UΣVT)T=U(ΣTΣ)UT
(2)奇异值,左奇异向量,右奇异向量之间的关系
正交矩阵U满足:U−1=UT
由A=UΣVT 易知:
AV=UΣ
所以有:
Avj=σjujj=1,2,…,n
得到:
uj=σj1Avj
(3)矩阵A的奇异值分解中,奇异值是唯一的,即:Σ 唯一,但是矩阵U和V不是唯一的。
(4)rank(A)=rank(Σ)
计算过程
根据性质(1)ATA=(UΣVT)T(UΣVT)=V(ΣTΣ)VT ,ATA的特征向量构成正交矩阵V 的列;ATA的特征值λj 的平方根为奇异值σi ;即:
σj=λjj=1,2,…,n
对其由大到小排列组为对角线元素,构成对角矩阵Σ 。
具体过程如下:
(1)首先求ATA 的特征值和特征向量
计算对称矩阵W=ATA。
求解特征方程:
(W−λI)x=0
特征值λi 从大到小排序:
λ1≥λ2≥…≥λn≥0
求特征值λi 对应的特征向量。
(2)将特征向量单位化,得到单位特征向量v1,v2,…,vn,构成n 阶正交矩阵V:
V=[v1v2…vn]
(3)求m×n 对角矩阵Σ
计算奇异值:σi=λi
构造m×n 矩形对角矩阵Σ ,主对角线元素是奇异值,其余元素是零:
Σ=diag(σ1,σ2,…,σn)
(4)求m 阶正交矩阵U
对A的前r 个正奇异值,令:
uj=σj1Avj,j=1,2,…r
得到:
U1=[u1u2…ur]
求AT 的零空间的一组标准正交基{ur+1ur+2…um},令:
U2=[ur+1ur+2…um]
并令:
U=[U1U2]
(5)得到奇异值分解:
A=UΣVT