原文:http://www.ams.org/samplings/feature-column/fcarc-svd
这里只有The singular value decomposition这一节的翻译,作为自己阅读时的笔记。
The singular value decomposition 奇异值分解
以一个2*2的矩阵为例,奇异值分解在几何学上的本质是,任意2*2的矩阵,都可以将其从一个正交网格(坐标系)转换到另一个正交网格(坐标系)。
用向量来描述的话,就是对于俩个正交的单位向量v1和v2,Mv1和Mv2(M*v1和M*v2)是正交的。其中M是一个矩阵。
我们使用u1和u2分别表示Mv1方向和Mv2方向上的单位向量,σ1和σ2分别表示Mv1和Mv2的长度(他们就叫做奇异值)。
于是有:M v1 = σ1*u1,M v2 = σ2*u2.
下面我们给出一个简单的例子,解释一下矩阵M如何对一个普通的向量x产生作用。这里v1和v2为两个正交的单位向量,于是:
x = (v1·x)v1 + (v2·x)v2,即:
Mx = (v1·x) Mv1 + (v2·x) Mv2 即:
Mx = (v1·x) σ1u1 + (v2·x) σ2u2. 对于点乘,可以表示为:v·x = vTx,因此:
Mx = u1σ1 v1Tx + u2σ2 v2Tx,即:
M = u1σ1 v1T + u2σ2 v2T
上式可以写成M = UΣVT 的形式,其中,U的列是u1和 u2,Σ是对角矩阵,对角线上的值是σi,矩阵V的列是v1和v2,V右上角的T表示转置。
这展示了如何把矩阵M分解成三个矩阵:V表示空间的正交基,U表示转换后空间的正交基,Σ表示V和U对应向量之间的转换量(V中的向量拉伸多少才能转换成U中的相应向量)。
奇异值为零时,这个奇异值相对于的项将不会出现在分解的矩阵中。非零奇异值的个数等于矩阵的秩,即矩阵中线性无关列的个数。