奇异值分解

来源:互联网 发布:tcpip网络编程 pdf 编辑:程序博客网 时间:2024/04/29 14:03

原文: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σ1v1Tx + u2σ2v2Tx,即:

  M = u1σ1 v1T +u2σ2 v2T

  上式可以写成M = UΣVT  的形式,其中,U的列是u1u2,Σ是对角矩阵,对角线上的值是σi,矩阵V的列是v1v2,V右上角的T表示转置。

  这展示了如何把矩阵M分解成三个矩阵:V表示空间的正交基,U表示转换后空间的正交基,Σ表示V和U对应向量之间的转换量(V中的向量拉伸多少才能转换成U中的相应向量)。


  奇异值为零时,这个奇异值相对于的项将不会出现在分解的矩阵中。非零奇异值的个数等于矩阵的秩,即矩阵中线性无关列的个数。