- 线性变化的几何表现

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

    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. MySQL数据库中的Date,DateTime,int,TimeStamp和Time类型的对比

    DATETIME 用在你需要同时包含日期和时间信息的值时.MySQL检索并且以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,支持的范围是'1000-01-01 00:00:00 ...

  2. saturate_cast防越界函数

    CV_IMAGE_ELEM(img2,uchar,i,j*3+c)=saturate_cast<uchar>(alpha*( CV_IMAGE_ELEM(img,uchar,i,j*3+c ...

  3. FZU 2150 Fire Game 【两点BFS】

    Fat brother and Maze are playing a kind of special (hentai) game on an N*M board (N rows, M columns) ...

  4. 大数模板(Java)

    大数加法 /* 给出2个大整数A,B,计算A+B的结果. Input 第1行:大数A 第2行:大数B (A,B的长度 <= 10000 需注意:A B有可能为负数) Output 输出A + B ...

  5. 百度之星资格赛 2016 Problem 1004

    本文链接:http://www.cnblogs.com/Ash-ly/p/5494630.html 题意: 熊所居住的 D 国,是一个完全尊重人权的国度.以至于这个国家的所有人命名自己的名字都非常奇怪 ...

  6. noi 题库1.7字符串 第16至20题

    16:忽略大小写的字符串比较 一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到'\0'为止.如果全部字符 ...

  7. 1、Django实战第1天:建立项目mxonline

    工具版本: python3.6.3 django1.9.8 安装工具 mkvirtualenv --python="C:\Python36\python.exe" mxonline ...

  8. Reference resources

    CentOS7 (精简操作指令) http://www.centoscn.com/CentOS/help/2016/0429/7147.html

  9. Joomla!网站扫描工具joomscan

    Joomla!网站扫描工具joomscan   Joomla!是一款知名的PHP语言编写的CMS系统.很多网站都使用Joomla!搭建而成.Kali Linux集成了一款Joomla!网站扫描工具jo ...

  10. Robot Framework与Web界面自动化测试:简单例子

    假设环境已经搭建好了.这里用RIDE( Robot Framework Test Data Editor)工具来编写用例.下面我们对Robot Framework简称rf. 我们先考虑下一个最基本的登 ...