matlab svd 含义,SVD 几何意义(转载)

本文深入浅出地介绍了奇异值分解(SVD)的几何意义,通过二维矩阵变换展示了SVD如何将一个正交网格变换到另一个。SVD在图像处理、个性化推荐和文本挖掘等领域有广泛应用。矩阵M的奇异值分解为M=UΣVT,其中U和V表示正交基,Σ表示向量的拉伸程度。奇异值越大,对应信息越重要,可用于降噪和数据分析。
摘要由CSDN通过智能技术生成

PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD的几何意义。能在有限的篇幅把这个问题讲解的如此清晰,实属不易。原文举了一个简单的图像处理问题,简单形象,真心希望路过的各路朋友能从不同的角度阐述下自己对SVD实际意义的理解,比如

个性化推荐中应用了SVD,文本以及Web挖掘的时候也经常会用到SVD。

奇异值分解( The singular value decomposition )

该部分是从几何层面上去理解二维的SVD:对于任意的 2 x 2 矩阵,通过SVD可以将一个相互垂直的网格(orthogonal

grid)变换到另外一个相互垂直的网格。

我们可以通过向量的方式来描述这个事实:

首先,选择两个相互正交的单位向量 v1和 v2,

向量Mv1 和 Mv2 正交。

a4c26d1e5885305701be709a3d33442f.png

u1 和 u2分别表示Mv1 和 Mv2的单位向量,σ1*u1 =

Mv1 和 σ2*u2 =

Mv2。σ1 和 σ2分别表示这不同方向向量上的模,也称作为矩阵 M 的奇异值。

a4c26d1e5885305701be709a3d33442f.png

这样我们就有了如下关系式

Mv1=

σ1u1

Mv2=

σ2u2

我们现在可以简单描述下经过 M 线性变换后的向量 x的表达形式。由于向量v1 和 v2是正交的单位向量,我们可以得到如下式子:

x=

(v1

a4c26d1e5885305701be709a3d33442f.pngx)v1+

(v2

a4c26d1e5885305701be709a3d33442f.pngx)v2

这就意味着:

Mx=

(v1

a4c26d1e5885305701be709a3d33442f.pngx)Mv1+

(v2

a4c26d1e5885305701be709a3d33442f.pngx)Mv2

Mx=

(v1

a4c26d1e5885305701be709a3d33442f.pngx)

σ1u1+

(v2

a4c26d1e5885305701be709a3d33442f.pngx)

σ2u2

向量内积可以用向量的转置来表示,如下所示

v

a4c26d1e5885305701be709a3d33442f.pngx=vTx

最终的式子为

Mx=u1σ1v1Tx+u2σ2v2Tx

M=u1σ1v1T+u2σ2v2T

上述的式子经常表示成

M=UΣVT

u矩阵的列向量分别是u1,u2,Σ是一个对角矩阵,对角元素分别是对应的σ1 和 σ2,V矩阵的列向量分别是v1,v2。上角标 T 表示矩阵 V的转置。

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

describes an orthonormal basis in the domain, and U describes an

orthonormal basis in the co-domain, and Σ describes how much the

vectors in V are stretched to give the vectors in U.)

如何获得奇异值分解?( How do we find the singular

decomposition? )

事实上我们可以找到任何矩阵的奇异值分解,那么我们是如何做到的呢?假设在原始域中有一个单位圆,如下图所示。经过 M矩阵变换以后在co-domain中单位圆会变成一个椭圆,它的长轴(Mv1)和短轴(Mv2)分别对应转换后的两个标准正交向量,也是在椭圆范围内最长和最短的两个向量。

a4c26d1e5885305701be709a3d33442f.png

换句话说,定义在单位圆上的函数|Mx|分别在v1和v2方向上取得最大和最小值。这样我们就把寻找矩阵的奇异值分解过程缩小到了优化函数|Mx|上了。结果发现(具体的推到过程这里就不详细介绍了)这个函数取得最优值的向量分别是矩阵

MT M 的特征向量。由于MTM是对称矩阵,因此不同特征值对应的特征向量都是互相正交的,我们用vi

表示MTM的所有特征向量。奇异值σi=

|Mvi| ,

向量 ui为 Mvi 方向上的单位向量。但为什么ui也是正交的呢?

推倒如下:

σi 和 σj分别是不同两个奇异值

Mvi=

σiui

Mvj=

σjuj.

我们先看下Mvi

a4c26d1e5885305701be709a3d33442f.pngMvj,并假设它们分别对应的奇异值都不为零。一方面这个表达的值为0,推到如下

Mvi

a4c26d1e5885305701be709a3d33442f.pngMvj=viTMTMvj=vi

a4c26d1e5885305701be709a3d33442f.pngMTMvj=

λjvi

a4c26d1e5885305701be709a3d33442f.pngvj=

0

另一方面,我们有

Mvi

a4c26d1e5885305701be709a3d33442f.pngMvj=

σiσjui

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值