SVD分解
来源:互联网 发布:php list range 编辑:程序博客网 时间:2024/04/29 13:29
原文:We recommend a singular value decomposition
关于线性变换部分的一些知识可以猛戳这里 奇异值分解(SVD) — 线性变换几何意义
一、奇异值分解( The singular value decomposition )
该部分是从几何层面上去理解二维的SVD:对于任意的2x2矩阵,通过SVD可以将一个相互垂直的网格(orthogonal grid)变换到另外一个相互垂直的网格。
我们可以通过向量的方式来描述这个事实: 首先,选择两个相互正交的单位向量
这样我们就有了如下关系式
我们现在可以简单描述下经过
这就意味着:
向量内积可以用向量的转置来表示,如下所示
最终的式子为
上述的式子经常表示成
这就表明任意的矩阵
如何获得奇异值分解?( How do we find the singular decomposition? )
事实上我们可以找到任何矩阵的奇异值分解,那么我们是如何做到的呢?假设在原始域中有一个单位圆,如下图所示。经过
换句话说,定义在单位圆上的函数
推导如下:
我们先看下
另一方面,我们有
因此,
二、应用实例(Another example)
现在我们来看几个实例。
实例一
经过这个矩阵变换后的效果如下图所示
在这个例子中,第二个奇异值为 0,因此经过变换后只有一个方向上有表达。
换句话说,如果某些奇异值非常小的话,其相对应的几项就可以不同出现在矩阵
实例二
我们来看一个奇异值分解在数据表达上的应用。假设我们有如下的一张15x25的图像数据。
如图所示,该图像主要由下面三部分构成。
我们将图像表示成15x25的矩阵,矩阵的元素对应着图像的不同像素,如果像素是白色的话,就取 1,黑色的就取0. 我们得到了一个具有375个元素的矩阵,如下图所示
如果我们对矩阵M进行奇异值分解以后,得到奇异值分别是
矩阵
实例三
减噪(noise reduction)
前面的例子的奇异值都不为零,或者都还算比较大,下面我们来探索一下拥有零或者非常小的奇异值的情况。通常来讲,大的奇异值对应的部分会包含更多的信息。比如,我们有一张扫描的,带有噪声的图像,如下图所示
我们采用跟实例二相同的处理方式处理该扫描图像。得到图像矩阵的奇异值:
…
很明显,前面三个奇异值远远比后面的奇异值要大,这样矩阵
经过奇异值分解后,我们得到了一张降噪后的图像。
实例四
数据分析(data analysis)
我们搜集的数据中总是存在噪声:无论采用的设备多精密,方法有多好,总是会存在一些误差的。如果你们还记得上文提到的,大的奇异值对应了矩阵中的主要信息的话,运用SVD进行数据分析,提取其中的主要部分的话,还是相当合理的。
作为例子,假如我们搜集的数据如下所示:
我们将数据用矩阵的形式表示:
[-1.03,0.74,-0.02,0.51,-0.31,0.99,0.69,-0.12,-0.72,1.11;
-2.23,1.61,-0.02,0.88,-2.39,2.02,1.62,-0.35,-1.67,2.46]
经过奇异值分解后,得到
由于第一个奇异值远比第二个要大,数据中有包含一些噪声,第二个奇异值在原始矩阵分解相对应的部分可以忽略。经过SVD分解后,保留了主要样本点如图所示
就保留主要样本数据来看,该过程跟PCA( principal component analysis)技术有一些联系,PCA也使用了SVD去检测数据间依赖和冗余信息.
总结(Summary)
这篇文章非常的清晰的讲解了SVD的几何意义,不仅从数学的角度,还联系了几个应用实例形象的论述了SVD是如何发现数据中主要信息的。在 netflix prize中许多团队都运用了矩阵分解的技术,该技术就来源于SVD的分解思想,矩阵分解算是SVD的变形,但思想还是一致的。之前算是能够运用矩阵分解 技术于个性化推荐系统中,但理解起来不够直观,阅读原文后醍醐灌顶,我想就从SVD能够发现数据中的主要信息的思路,就几个方面去思考下如何利用数据中所 蕴含的潜在关系去探索个性化推荐系统。也希望路过的各位大侠不吝分享呀。
References:
Gilbert Strang, Linear Algebra and Its Applications. Brooks Cole
William H. Press et al, Numercial Recipes in C: The Art of Scientific Computing. Cambridge University Press.
Dan Kalman, A Singularly Valuable Decomposition: The SVD of a Matrix, The College Mathematics Journal 27(1996), 2-23.
If You Liked This, You’re Sure to Love That, The New York Times, November 21, 2008.
扩展:
http://blog.jobbole.com/88208/
- SVD分解
- SVD分解
- SVD分解
- SVD分解
- SVD分解
- SVD分解
- SVD分解
- SVD分解
- SVD分解
- SVD分解
- SVD分解
- svd分解
- SVD分解
- 矩阵分解 SVD分解
- 特征值分解和SVD分解
- SVD分解C实现
- SVD奇异值分解
- SVD奇异值分解
- Activity启动模式图文详解:standard, singleTop, singleTask 以及 singleInstance
- 非正常注册的RHEL无法YUM安装软件解决方法
- ASP.NET中Server.MapPath
- Windows7下Visual Studio 2015 Community + opencv3.1.0环境搭建
- qtp 订票用户登录脚本参数化实现循环播放(自带的Flight订票系统)
- SVD分解
- nodejs mysql 数据查询例子
- 关于MySQL密码你应该知道的那些事
- 运维记录
- 我的软件开发之路
- EXT Java 后台获取数据生成饼状图
- 天天拼SQL——被group后与原表再结合
- layoutSubviews与drawRect
- JMeter专题系列(一)工具简单介绍