Skip to content

第三十讲:奇异值分解

本讲我们介绍将一个矩阵写为A=UΣVT,分解的因子分别为正交矩阵、对角矩阵、正交矩阵,与前面几讲的分解不同的是,这两个正交矩阵通常是不同的,而且这个式子可以对任意矩阵使用,不仅限于方阵、可对角化的方阵等。

  • 在正定一讲中(第二十八讲)我们知道一个正定矩阵可以分解为A=QΛQT的形式,由于A对称性其特征向量是正交的,且其Λ矩阵中的元素皆为正,这就是正定矩阵的奇异值分解。在这种特殊的分解中,我们只需要一个正交矩阵Q就可以使等式成立。

  • 在对角化一讲中(第二十二讲),我们知道可对角化的矩阵能够分解为A=SΛST的形式,其中S的列向量由A的特征向量组成,但S并不是正交矩阵,所以这不是我们希望得到的奇异值分解。

我们现在要做的是,在A列空间中找到一组特殊的正交基v1,v2,,vr,这组基在A的作用下可以转换为A行空间中的一组正交基u1,u2,,ur

用矩阵语言描述为A[v1 v2  vr]=[σ1u1 σ2u2  σrur]=[u1 u2  ur][σ1σ2σn],即Av1=σ1u1, Av2=σ2u2,,Avr=σrur,这些σ是缩放因子,表示在转换过程中有拉伸或压缩。而A的左零空间和零空间将体现在σ的零值中。

另外,如果算上左零、零空间,我们同样可以对左零、零空间取标准正交基,然后写为A[v1 v2  vr vr+1  vm]=[u1 u2  ur ur+1  un][σ1σr[0]],此时Um×m正交矩阵,Σm×n对角矩阵,VTn×n正交矩阵。

最终可以写为AV=UΣ,可以看出这十分类似对角化的公式,矩阵A被转化为对角矩阵Σ,我们也注意到U, V是两组不同的正交基。(在正定的情况下,U, V都变成了Q。)。进一步可以写作A=UΣV1,因为V是标准正交矩阵所以可以写为A=UΣVT

计算一个例子,A=[4433],我们需要找到:

  • 行空间R2的标准正交基v1,v2
  • 列空间R2的标准正交基u1,u2
  • σ1>0,σ2>0

A=UΣVT中有两个标准正交矩阵需要求解,我们希望一次只解一个,如何先将U消去来求V

这个技巧会经常出现在长方形矩阵中:求ATA,这是一个对称正定矩阵(至少是半正定矩阵),于是有ATA=VΣTUTUΣVT,由于U是标准正交矩阵,所以UTU=I,而ΣTΣ是对角线元素为σ2的对角矩阵。

现在有ATA=V[σ1σ2σn]VT,这个式子中V即是ATA的特征向量矩阵而Σ2是其特征值矩阵。

同理,我们只想求U时,用AAT消掉V即可。

我们来计算ATA=[4343][4433]=[257725],对于简单的矩阵可以直接观察得到特征向量ATA[11]=32[11], ATA[11]=18[11],化为单位向量有σ1=32, v1=[1212], σ2=18, v2=[1212]

到目前为止,我们得到[4433]=[u?u?u?u?][320018][12121212],接下来继续求解U

AAT=UΣVTVΣTUT=UΣ2UT,求出AAT的特征向量即可得到U[4433][4343]=[320018],观察得AAT[10]=32[10], AAT[01]=18[01]。但是我们不能直接使用这一组特征向量,因为式子AV=UΣ明确告诉我们,一旦V确定下来,U也必须取能够满足该式的向量,所以此处Av2=[018]=u2σ2=[01]18,则u1=[10], u2=[01]。(这个问题在本讲的官方笔记中有详细说明。)

  • 补充:AB的特征值与BA的特征值相同,证明来自Are the eigenvalues of AB equal to the eigenvalues of BA? (Citation needed!)

    λ0vAB在特征值取λ时的的特征向量,则有Bv0,并有λBv=B(λv)=B(ABv)=(BA)Bv,所以BvBA在特征值取同一个λ时的特征向量。

    再取AB的特征值λ=0,则0=detAB=detAdetB=detBA,所以λ=0也是BA的特征值,得证。

最终,我们得到[4433]=[1001][320018][12121212]

再做一个例子,A=[4386],这是个秩一矩阵,有零空间。A的行空间为[43]的倍数,A的列空间为[48]的倍数。

  • 标准化向量得v1=[0.80.6], u1=15[12]
  • ATA=[4836][4386]=[80606045],由于A是秩一矩阵,则ATA也不满秩,所以必有特征值0,则另特征值一个由迹可知为125
  • 继续求零空间的特征向量,有v2=[0.60,8], u1=15[21]

最终得到[4386]=[1221][125000][0.80.60.60.8],其中下划线部分都是与零空间相关的部分。

  • v1, , vr是行空间的标准正交基;
  • u1, , ur是列空间的标准正交基;
  • vr+1, , vn是零空间的标准正交基;
  • ur+1, , um是左零空间的标准正交基。

通过将矩阵写为Avi=σiui形式,将矩阵对角化,向量u, v之间没有耦合,A乘以每个v都能得到一个相应的u

本站没有备案,因为不需要备案