01
Singular Value Decomposition
奇异值分解
奇异值分解指任一mxn的矩阵A都可以分解为一个mxm酉矩阵U乘一个mxn对角阵Σ再乘一个nxn酉矩阵V共轭转置的形式。
下面的讨论都是基于n阶实方阵,故奇异值分解的结果是一个n阶正交阵x一个n阶对角阵x一个n阶正交阵的转置。
任意的n阶实矩阵都可以分解为如下形式
前面的正定矩阵(对称矩阵)性质好,可以分解为如下形式
这刚好对应了奇异值分解的三个矩阵,只不过这里U和V都是同一个正交矩阵Q,即对称矩阵只需要一个正交阵就可以进行SVD奇异值分解。
●
对于一般的矩阵该如何进行SVD呢?
要做SVD分解,需要理解SVD的几何意义。对于任意的矩阵而言都存在四大基本空间,行空间、列空间、零空间、左零空间,这在前面有学习到。
SVD的几何意义示意图如下:
据图解,SVD做的事情是将行空间中的一组标准正交基作与列空间中的一组标准正交基建立联系,类似于函数映射的关系,一个基向量v对应一个基向量u。
这个联系刚好可以用如下形式表达
V是由r(A的秩)个v向量构成的正交矩阵,U是r个u向量构成的正交矩阵,Σ是r个缩放因子σ(就是一个系数或倍数关系)构成的对角矩阵。
因为正交矩阵的逆矩阵等于其转置,所以这里能推导得出
这里是没有考虑零空间的,如果考虑零空间的话就是一个完整的n维空间的n个标准正交基与m维空间的m个标准正交基建立映射关系,方阵的m=n,所以也将零空间内的标准基和左零空间内的标准基建立了同样的联系。
任给一个矩阵A,如何确定V,Σ和U呢?
对于任意的矩阵A,都可以得到上面的两个对称矩阵,这两个对称矩阵的特征向量矩阵就是所要的V和U,特征值矩阵是所需的Σ的平方。
注:AB和BA的特征值相同
下面通过具体的例子对SVD进行理解
Example 1
这里注意取特征向量的时候保持手系相同,不然很可能得到错误的结果。
Example 2
这里两组基手系相同。两组基需要进一步单位化,σ需要通过计算A·A^T或A^T·A的一个迹