特征值分解是利用矩阵的对角化来完成的:A=Q∧Q-1,但这种分解方法需要满足一个前提条件,即A是方阵。
奇异值分解(SVD)可以对m x n的矩阵进行分解。我们希望找到一个n x n的正交方阵V、一个m x m的正交方阵U和一个m x n的矩阵∑,使得A满足式子AV=U∑。因为V是正交矩阵,所以V是可逆,且V-1=VT,所以AV=U∑又可以写成A=U∑VT。下面分两步来找到V和U。
1)注意到ATA是一个对称方阵,如果存在一个n x n的正交方阵V、一个m x m的正交方阵U和一个m x n的矩阵∑,使得A=U∑VT成立,则有ATA=V∑TUTU∑VT=V(∑T∑)VT。观察式子ATA=V(∑T∑)VT可知,通过对对称方阵ATA进行特征值分解(对角化),可以得到等式右侧的V(∑T∑)VT,其中V的列向量组为对称方阵ATA的特征向量组,∑T∑为对角矩阵,其对角线上的元素为ATA的特征值。如下图所示,根据∑T∑的性质,可以推出∑:
图中的σi称为矩阵A的奇异值。
2)经过1)之后,我们已经找到了一种方法来求取V和∑,但在我们希望A满足的式子A=U∑VT中,还有U未知。为了求U,用AT右乘式子A=U∑VT,得到AAT=U∑VT V∑TUT。因为V是正交方阵,所以VTV=I,AAT=U∑∑TUT。注意到AAT同样是对称方阵,类似于1),我们可以通过对对称方阵AAT进行特征值分解(对角化),得到等式右侧的U∑∑TUT,其中U的列向量组为对称方阵AAT的特征向量组,∑∑T为对角矩阵,其对角线上的元素为AAT的特征值。注意到这里的∑和1)中求得的∑是同一个矩阵,不必惊讶于这一结论,因为根据定理,我们知道AAT与AAT的具有相同的特征值。
至此,我们完成了对一个m x n矩阵A的奇异值分解过程。
时间: 2024-10-05 23:09:28