- 线性变化的几何表现

  • 首先看下简单的矩阵,这是一个对角矩阵

    M=(3001)

    我们先用这个对角矩阵乘以一个点来看看它的几何变化。

    (3001)∗(xy)=(3xy)

    在几何上就相当于把原来的向量x轴方向拉伸成了原来的3倍

    –》

  • 再来看下对称矩阵

    M=(2112)

    利用对称矩阵乘以一个点来看看它的几何变化

    -》

    这并不能清晰的显示出发生了如何的几何变换。我们能够把整个坐标轴逆时针旋转45度来更好的发现规律。

    -》

    从上图能够看出原来的红色部分。沿着一个方向被拉伸了3倍。

- 神秘值分解

这是神秘值分解的几何实质:对于随意的二维方阵(M),我们都能够找到相互正交的向量 (v1,v2),使得经过M变换后得到的两个向量(Mv1,Mv2)还是正交的。

-》

 v1和v2是正交的单位向量 u1和u2是在Mv1和Mv2方向上的单位向量σ1和σ2表示v1和v2经过M变换后的拉伸倍数Mv1=σ1u1Mv2=σ2u2

对于随意的二维向量x

x=(v1.x)v1+(v2.x)v2Mx=(v1.x)Mv1+(v2.x)Mv2Mx=(v1.x)σ1u1+(v2.x)σ2u2由于v.x=vTxMx=u1σ1vT1x+u2σ2vT2xM=u1σ1vT1+u2σ2vT2M=UΣVTU=(u1u2)Σ=(σ100σ2)V=(v1v2)

-那么我们怎么发现神秘值呢

我们能够对不论什么矩阵进行神秘值分解,首先我们先看下最先的样例,我们在原来的红色正方形上加上一个单位圆

-》

变化后的图形是个椭圆。我们我们能够在椭圆的最长和最短的方向上发现正交基

-》

我们可以发现vi和vj是MTM的特征向量,因为MTM是一个对称矩阵那么不同特征值所对应的特征向量都是正交的所以vTivj=0,奇异值σi=|Mvi|ui是Mvi方向上的单位向量,问题是为什么ui和uj是正交的呢?我们假设σi和σj是不同的奇异值Mvi=σiuiMvj=σjuj.(Mvi)TMvj=vTiMTMvj=vTiλvj=λvTivj=0.(Mvi)TMvj=(σiui)Tσjuj=0uTiuj=0ui和uj正交所以我们发现了一系列的正交的vi经过M变换后成为ui。uiuj还是正交的

- 另外一个样例

M=(1212)

利用M对v1 v2进行变换

-》

在这个样例中第二个神秘值为0,

M=u1σ1vT1

M的秩是等于非0的神秘值的数目的。

- 数据压缩

神秘值分解能够有效地应用在数据表示中,如果我们来表示一个25*15的黑白像素



由于在整个图像中仅仅有3种列向量。所以我们能够来表示图像更加地高效



我们用一个25*15的矩阵来表示这个图像,1表示白色,0表示黑色



我们对M进行神秘值分解。仅仅发现了3个非0的神秘值

σ1=14.72σ2=5.22σ3=3.31M=u1σ1vT1+u2σ2vT2+u3σ3vT3ui是一个25维的向量vi是15维的向量我们用了非常少的数据量就把刚刚的M矩阵表示了

-噪音处理

如果我们利用了一个扫描器来扫描图像。可是在扫描的过程中引入了噪声



我们对这个25*15的矩阵进行神秘值分解

σ1=14.15σ2=4.67σ3=3.00σ4=0.21σ5=0.19...σ15=0.05M近似表示为M=u1σ1vT1+u2σ2vT2+u3σ3vT3

神秘值分解(Singular Value Decomposition)的更多相关文章

  1. 斯坦福ML公开课笔记15—隐含语义索引、神秘值分解、独立成分分析

    斯坦福ML公开课笔记15 我们在上一篇笔记中讲到了PCA(主成分分析). PCA是一种直接的降维方法.通过求解特征值与特征向量,并选取特征值较大的一些特征向量来达到降维的效果. 本文继续PCA的话题, ...

  2. SVD神秘值分解

    SVD分解 SVD分解是LSA的数学基础,本文是我的LSA学习笔记的一部分,之所以单独拿出来,是由于SVD能够说是LSA的基础,要理解LSA必须了解SVD,因此将LSA笔记的SVD一节单独作为一篇文章 ...

  3. 奇异值分解(We Recommend a Singular Value Decomposition)

    奇异值分解(We Recommend a Singular Value Decomposition) 原文作者:David Austin原文链接: http://www.ams.org/samplin ...

  4. 【转】奇异值分解(We Recommend a Singular Value Decomposition)

    文章转自:奇异值分解(We Recommend a Singular Value Decomposition) 文章写的浅显易懂,很有意思.但是没找到转载方式,所以复制了过来.一个是备忘,一个是分享给 ...

  5. 矩阵分解(rank decomposition)文章代码汇总

    矩阵分解(rank decomposition)文章代码汇总 矩阵分解(rank decomposition) 本文收集了现有矩阵分解的几乎所有算法和应用,原文链接:https://sites.goo ...

  6. [转]奇异值分解(We Recommend a Singular Value Decomposition)

    原文作者:David Austin原文链接: http://www.ams.org/samplings/feature-column/fcarc-svd译者:richardsun(孙振龙) 在这篇文章 ...

  7. 【线性代数】6-7:SVD分解(Singular Value Decomposition-SVD)

    title: [线性代数]6-7:SVD分解(Singular Value Decomposition-SVD) categories: Mathematic Linear Algebra keywo ...

  8. We Recommend a Singular Value Decomposition

    We Recommend a Singular Value Decomposition Introduction The topic of this article, the singular val ...

  9. [转载]We Recommend a Singular Value Decomposition

    原文:http://www.ams.org/samplings/feature-column/fcarc-svd Introduction The topic of this article, the ...

随机推荐

  1. 测试social_navigation_layers

    目标:测试social_navigation_layers 方法: 使用move_base接口启动costmap_2d 这样就能直接用configure方法来进行测试不用自己写代码 一.启动move_ ...

  2. eclipse出现build path 错误

    右击本项目-build path-config build path-libraries-发现有选项是带错误符号,于是点击edit然后点击alternative jre选择安装了的jre就解决问题了

  3. nodejs获取ASP.Net WebAPI(IIS Windows验证)

    处理了很多天,终于使用Nodejs可以发出请求至WebAPI,能够正常处理数据了 首先加入npm包 npm install httpntlm 在app.js中加入代码 var httpntlm = r ...

  4. Codeforces 361D Levko and Array(二分)(DP)

    Levko and Array time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  5. hadoop 编译代码及运行

    搞定了hadoop配置之后,可以写代码运行了,首先要配一下CLASS_PATH,修改/etc/profile export JAVA_HOME=/usr/lib/jvm/java--openjdk-i ...

  6. 23、Flask实战第23天:Flask-Restful

    Restful API规范 restful api是用于前端和后台进行通信的一套规范.使用这个规范可以让前后端开发变得更加轻松. 协议 采用http或者https 数据传输格式 数据之间传输的格式应该 ...

  7. JMeter之分布式部署

    转自:http://www.cnblogs.com/yangxia-test/p/4016277.html Jmeter 是Java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发 ...

  8. POJ 1466 Girls and Boys(二分图匹配)

    [题目链接] http://poj.org/problem?id=1466 [题目大意] 给出一些人和他们所喜欢的人,两个人相互喜欢就能配成一对, 问最后没有配对的人的最少数量 [题解] 求最少数量, ...

  9. java web(学习笔记)项目路径问题

    最近刚接触java web特别是是关于项目路径这一块很晕,就把自己遇到的一些疑惑和理解写下来. 首先贴上路径,这里用的是eclipse. 其中我们要注意看WebContent目录,这是web程序的根目 ...

  10. Problem Q: 多项式求和x+(x^2)/2!+(x^3)/3!+...

    #include<stdio.h> #include<math.h> int main() { float x,i; scanf("%f",&x); ...