奇异值分解(SVD)原理详解及推导

今天学习SVD原理,查看一些博文与资料,为了方便复习,做一下学习笔记。

SVD不仅是一个数学问题,在工程应用中的很多地方都有它的身影,比如前面讲的PCA,掌握了SVD原理后再去看PCA那是相当简单的,在推荐系统方面,SVD更是名声大噪,将它应用于推荐系统的是Netflix大奖的获得者Koren,可以在Google上找到他写的文章。

满秩分解

ACm×nr,那么存在BCm×rrCCr×nr,使得A=BC,其中B为列满秩矩阵,C为行满秩矩阵;这样的分解为矩阵的满秩分解

正交矩阵

定义

AAT=EE为单位矩阵,AT表示“矩阵A的转置矩阵”。)或ATA=E,则n阶实矩阵A称为正交矩阵。

正交变换

正交矩阵是在欧几里得空间里的叫法,在酉空间里叫酉矩阵一个正交矩阵对应的变换叫正交变换,这个变换的特点是不改变向量的尺寸和向量间的夹角,那么它到底是个什么样的变换呢?看下面这张图1:
奇异值分解(SVD)原理详解及推导

通过图1,可知:

向量x=[ab]e1e2相互正交的单位向量,e1e2相互正交的单位向量;设oa=Me1ob=Me2,其中M为线性变换的矩阵(即将坐标旋转)。

设置Me1e11模为σ1Me2e21的模为σ2,则

Me1=σ1e1(1)
Me2=σ2e2(2)

通过向量的性质我们知道:
x=(e1x)e1+(e2x)e2(3)
Mx=(e1x)Me1+(e2x)Me2(4)

因为(1)与(2),则:
Mx=(e1x)σ1e1+(e2x)σ2e2(5)

在(5)中e1xe2x是向量的内积,我们转换成向量转置来表示:
Mx=(e1Tx)σ1e1+(e2Tx)σ2e2(6)

M=e1σ1e1T+e2σ2(e2T)(7)

通过(7)知道:
M=UΣVT(8)

其中U矩阵的列向量分别是e1e2Σ是一个对角矩阵,对角元素分别是对应的σ1 和 σ2,V矩阵的列向量分别是e1e2。上角标T 表示矩阵 V 的转置。

总结

这就表明任意的矩阵 M 是可以分解成三个矩阵。V表示了原始域的标准正交基,U表示经过M 变换后的co-domain的标准正交基,Σ表示了V 中的向量与U中相对应向量之间的关系

未完待续。。。。。。。