SVD的简介和主要应用领域以及原理与几何意义

人工智能爱好者社区 2018-06-18 18:01 次阅读

1 简介

SVD 全称:Singular Value Decomposition。SVD 是一种提取信息的强大工具,它提供了一种非常便捷的矩阵分解方式,能够发现数据中十分有意思的潜在模式。

主要应用领域包括:

隐性语义分析 (Latent Semantic Analysis, LSA) 或隐性语义索引 (Latent Semantic Indexing, LSI);

推荐系统 (Recommender system),可以说是最有价值的应用点;

矩阵形式数据(主要是图像数据)的压缩。

2 线性变换

在做 SVD 推导之前,先了解一下线性变换,以 2*2 的线性变换矩阵为例,先看简单的对角矩阵:

SVD的简介和主要应用领域以及原理与几何意义

从集合上讲, M 是将二维平面上的点(x,y)  经过线性变换到另一个点的变换矩阵,如下所示:

SVD的简介和主要应用领域以及原理与几何意义

该变换的几何效果是,变换后的平面沿着x水平方向进行了3倍拉伸,垂直方向没有发生变化。

3 SVD 推导

该部分的推导从几何层面上去理解二维的SVD,总体的思想是:借助 SVD 可以将一个相互垂直的网格 (orthogonal grid) 变换到另外一个互相垂直的网格。

可以通过二维空间中的向量来描述这件事情。

首先,选择两个互相正交的单位向量v1和v2(也可称为一组正交基)。

M 是一个变换矩阵。

向量Mv1 , Mv2 也是一组正交向量(也就是v1和v2 经过M变换得到的)。

u1, u2分别是Mv1, Mv2的单位向量(即另一组正交基),且有:

SVD的简介和主要应用领域以及原理与几何意义

则,σ1,σ2 分别为 Mv1 , Mv2的模(也称为M的奇异值)。

设任意向量x,有:

SVD的简介和主要应用领域以及原理与几何意义

SVD的简介和主要应用领域以及原理与几何意义

根据线代知识,向量的内积可用向量的转置来表示:

SVD的简介和主要应用领域以及原理与几何意义

至此,SVD 使用几何意义的形式推导完毕,其中:

SVD的简介和主要应用领域以及原理与几何意义

关于 SVD 的一些重要的结论性总结:

任意的矩阵M是可以分解成三个矩阵;

V表示了原始域的标准正交基;

U表示经过M变换后的新标准正交基;

∑表示了V中的向量与U中相对应向量之间的比例(伸缩)关系;

∑中的每个σ会按从大到小排好顺序,值越大代表该维度重要性越高;

在利用 SVD 做数据信息提取或压缩时,往往依据一些启发式策略,如直接设定只提取∑  中的前 k项,或者另一种较常用的做法是保留矩阵中一定百分比的能量信息,一般可设定为 90%,能量信息比例的计算可先求得所有奇异值平方总和,然后将奇异值的平方依次累加到总值的 90% 为止,形如: 

SVD的简介和主要应用领域以及原理与几何意义

# -*- coding: utf-8 -*-

import numpy as np

import numpy.linalg as la

import matplotlib.pyplot as plt

from sklearn import datasets

from skimage import io

def getImgAsMat(index):

ds = datasets.fetch_olivetti_faces()

return np.mat(ds.images[index])

def getImgAsMatFromFile(filename):

img = io.imread(filename, as_grey=True)

return np.mat(img)

def plotImg(imgMat):

plt.imshow(imgMat, cmap=plt.cm.gray)

plt.show()

def recoverBySVD(imgMat, k):

# singular value decomposition

U, s, V = la.svd(imgMat)

# choose top k important singular values (or eigens)

Uk = U[:, 0:k]

Sk = np.diag(s[0:k])

Vk = V[0:k, :]

# recover the image

imgMat_new = Uk * Sk * Vk

return imgMat_new

# -------------------- main --------------------- #

#A = getImgAsMat(0)

#plotImg(A)

#A_new = recoverBySVD(A, 20)

#plotImg(A_new)

A = getImgAsMatFromFile('D:/pic.jpg')

plotImg(A)

A_new = recoverBySVD(A, 30)

plotImg(A_new)

热门推荐

原文标题:SVD-矩阵奇异值分解 —— 原理与几何意义

文章出处:【微信号:AI_shequ,微信公众号:人工智能爱好者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

XILINXD_LICENSE_FILE变量支持是否有可用的矩阵文件

您好,我正在寻找有关工具引入的XILINXD_LICENSE_FILE变量的信息。 是否有可用的矩阵文件。 以上来自于谷...

发表于 12-13 10:36 26次 阅读
XILINXD_LICENSE_FILE变量支持是否有可用的矩阵文件

通过矩阵按键用lcd1602来显示相应的按键号(经供参考)

通过矩阵按键用lcd1602来显示相应的按键号(经供参考) ...

发表于 12-07 15:29 165次 阅读
通过矩阵按键用lcd1602来显示相应的按键号(经供参考)

Numpy居然有这么多陷阱?

从 Out[101] 可以看到一个陷阱,a[:, 0] 过滤完应该是一个 3 x 1 的列向量,可是....

的头像 马哥Linux运维 发表于 12-03 16:37 343次 阅读
Numpy居然有这么多陷阱?

请问如何利用matlab将线性方程组转化为矩阵相乘的形式

请教各位大佬如何利用matlab将(1-34)直接转化为(1-35),这样可以简化人工计算,提高效率 ...

发表于 11-26 19:17 104次 阅读
请问如何利用matlab将线性方程组转化为矩阵相乘的形式

安防矩阵和我的ADI的矩阵芯片情缘

随着国家“平安城市”项目、奥运安防,上海世博等大项目以及各地、各行业安防监控项目开发实施,涌出了很多安防监控设备制造商,系...

发表于 11-19 09:44 38次 阅读
安防矩阵和我的ADI的矩阵芯片情缘

labview识别二维码问题

用NI Vision Assistant 识别二维码时,矩阵尺寸选择自动时识别不出来,必须选择对矩阵尺寸才可以识别,为什么呢?自动选择为...

发表于 11-13 20:20 100次 阅读
labview识别二维码问题

运行synth_design时出现警告

嗨, 我尝试在PYNQ板上实现HW中的矩阵乘法。 我使用HLS构建了一个IP但是当我在Vivado中使用它时,我有一些我无法解...

发表于 11-08 11:33 126次 阅读
运行synth_design时出现警告

硅的性质是怎样的和相关的半导体基础理论资料介绍

硅是典型的具有半导体性质的元素,是很重要的半导体材料。据统计, 目前半导体器件的95%以上用硅材料制....

发表于 11-07 17:43 60次 阅读
硅的性质是怎样的和相关的半导体基础理论资料介绍

如何开发一个蓝牙低功耗系统的资料概述

在通过与智能手机和平板终端的结合来提高利便性的应用(例如钟表、健身/保健器材等)中,Bluetoot....

发表于 10-31 17:34 81次 阅读
如何开发一个蓝牙低功耗系统的资料概述

87406B同轴矩阵开关产品概述

This 12 page technical overview contains product description,top line specs, and ordering information for high performa...

发表于 10-22 16:36 82次 阅读
87406B同轴矩阵开关产品概述

一种文本挖掘方法称为主题建模,什么时候会用到主题建模?

我们可以轻易地分辨二者,因为我们理解了“novel”前后词语的意思。但是,机器无法理解这些概念,所以....

的头像 论智 发表于 10-10 09:01 656次 阅读
一种文本挖掘方法称为主题建模,什么时候会用到主题建模?

基于PXI平台的NI开关的矩阵扩展方案

使用PXIe-2739矩阵模块创建一个32×32(2线)矩阵。 每个PXIe-2739是一个独立的1....

的头像 电子设计 发表于 09-30 08:19 821次 阅读
基于PXI平台的NI开关的矩阵扩展方案

vuforia的Target space和screen space之间的转换方法

最近在研究 【高通 AR 】技术,通过其Examples来学习相关SDK。 在研究 ImageTagets 的时候,想获取: 1、目标空间...

发表于 09-20 10:11 184次 阅读
vuforia的Target space和screen space之间的转换方法

线性系统是什么?《线性系统理论》第2版电子教材免费下载

线性系统理论是系统与控制科学领域的一门最为基础的课程。本书按照课程的定位和少而精的原则 ,以线性系统....

发表于 09-17 15:53 93次 阅读
线性系统是什么?《线性系统理论》第2版电子教材免费下载

中美贸易冲突表象的博弈解读

中国选择“打”或“不打”两种情况下所获得的收益对比(在图中用竖着的椭圆虚框圈出)。上面所做的收益假设....

的头像 工业4俱乐部 发表于 08-13 14:33 2221次 阅读
中美贸易冲突表象的博弈解读

Dave Smith使用Excel电子表格深入浅出地讲解了SVD++的原理

我们将创建的SVD++模型(奇异值分解逼近)和Simon Funk的博客文章Netflix Upda....

的头像 论智 发表于 08-03 09:02 1683次 阅读
Dave Smith使用Excel电子表格深入浅出地讲解了SVD++的原理

请问在dspLib里只有矩阵转至和相乘的算法,还有没其他库有更多矩阵算法呢?

在dspLib里只有矩阵转至和相乘的算法,还有没其他库有更多矩阵算法呢?...

发表于 07-27 10:01 316次 阅读
请问在dspLib里只有矩阵转至和相乘的算法,还有没其他库有更多矩阵算法呢?

请问C6748的DSPLIB中有double型矩阵乘法函数吗?

我用的板子是6748,想对矩阵乘法进行优化,但发现674X 各个版本的DSPLIB里函数没有dp的。是因为TI公司还没有开发相应的...

发表于 07-25 07:56 228次 阅读
请问C6748的DSPLIB中有double型矩阵乘法函数吗?

在OPencv中采用的是Bouguet的极线校正的算法

校正后,极点在无穷远处,两个相机的光轴平行。像点在左右图像上的高度一致。这也就是极线校正的目标。校正....

的头像 Imagination Tech 发表于 06-29 11:13 1247次 阅读
在OPencv中采用的是Bouguet的极线校正的算法

通径分析的详细介绍及其在医学研究中的应用中文资料概述

通径分析是多元回归分析的扩展。在社会学、心理学和医学研究中,通径分析常用来探索和分析系统内部多变量间....

发表于 06-14 08:00 106次 阅读
通径分析的详细介绍及其在医学研究中的应用中文资料概述

51单片机之矩阵键盘的驱动实现

用这个 矩阵键盘 做 单片机 输入,插 P1 口的 P1.0~P1.6。 想问的是,当: 按下 1 ....

发表于 05-18 01:36 463次 阅读
51单片机之矩阵键盘的驱动实现

开眼界!矩阵矢网 助力MIMO天线厂商增产增效

在天线制造生产流程中,测试和调试是一个至关重要的环节,不仅关乎天线产品本身的参数质量指标,还影响整个....

发表于 05-09 09:09 150次 阅读
开眼界!矩阵矢网 助力MIMO天线厂商增产增效

以FX1N系列PLC来介绍PLC节省输入点数方法

使用时应注意:除按上图进行接线外,还必须有对应的软件来配合,以实现Y000~Y003轮流导通;同时还....

的头像 工控资料窝 发表于 05-07 08:54 1682次 阅读
以FX1N系列PLC来介绍PLC节省输入点数方法

OpenEM的原理简单的介绍和利用大矩阵乘的演示详细介绍OpenEM的使用

本文首先对OpenEM的原理做了简单的介绍。然后结合一个大矩阵乘的演示用例详细介绍了OpenEM的使....

发表于 04-28 10:02 185次 阅读
OpenEM的原理简单的介绍和利用大矩阵乘的演示详细介绍OpenEM的使用

基于GPGPU的大整数矩阵行列式快速准确计算方法

矩阵行列式的准确计算是一个非常基础的数学操作,但是在很多科学和工程问题中却较为关键。例如,在符号计算....

发表于 04-24 15:33 134次 阅读
基于GPGPU的大整数矩阵行列式快速准确计算方法

AM-HM808高清共享矩阵资料下载.pdf

AM-HM808高清共享矩阵资料下载.pdf

发表于 04-19 11:18 136次 阅读
AM-HM808高清共享矩阵资料下载.pdf

基于SVD的周期干净信号快速分解

文中提出了一种利用SVD将周期干净信号进行快速分解的方法。该方法首先利用SVD将带噪声的周期源信号进....

发表于 04-09 11:42 123次 阅读
基于SVD的周期干净信号快速分解

基于奇异值分解和小波包分解的故障检测

对于采集的时间序列x(n),有用信号和噪声混杂其中。根据研究,若信号为光滑信号,那么其吸引子轨迹矩阵....

的头像 电子技术应用ChinaAET 发表于 03-27 08:58 1116次 阅读
基于奇异值分解和小波包分解的故障检测

分类问题统计指标入门:混淆矩阵、召回、误检率、AUROC

当比较多个不同模型的表现时,仅仅考虑精确度往往是不够的。常用的指标还包括混淆矩阵、召回、误检率和AU....

的头像 论智 发表于 03-17 10:37 4347次 阅读
分类问题统计指标入门:混淆矩阵、召回、误检率、AUROC

高频链矩阵整流器拓扑结构

高频链矩阵整流器通过三相一单相AC/AC矩阵变换器与高频链结合并经由单相整流电路组合而成,自提出以来....

发表于 01-07 10:20 223次 阅读
高频链矩阵整流器拓扑结构

基于SVD和Savitzky-Golay滤波器的信号降噪方法

为降低信号中噪声的干扰,将奇异值分解( SVD)理论和Savitzky-Golay滤波器相结合提出了....

发表于 01-03 15:08 199次 阅读
基于SVD和Savitzky-Golay滤波器的信号降噪方法

矩阵补全模型算法研究

近年来,随着压缩感知技术在信号处理领域的巨大成功,由其衍生而来的矩阵补全技术也日益成为机器学习领域的....

发表于 12-28 10:54 161次 阅读
矩阵补全模型算法研究

基于SVD和最大熵的缺陷图像背景建模方法

针对目前液晶显示器斑痕( LCD-Mura)缺陷背景抑制检测中重建的背景存在引入性噪声干扰和目标缺损....

发表于 12-21 16:16 209次 阅读
基于SVD和最大熵的缺陷图像背景建模方法

基于SVD和分块DCT的半脆弱图像水印算法

随着计算机和网络技术的快速发展,各种数字媒体得到广泛的传播和使用。但是,数字化在给人类带来便利的同时....

发表于 12-15 10:38 128次 阅读
基于SVD和分块DCT的半脆弱图像水印算法

可控特性的金字塔变换

本文设计了一种具有平移不变性、方向和尺度联合可控特性的金字塔变换,称为几何变形可控金字塔变换(DPT....

发表于 12-14 16:41 123次 阅读
可控特性的金字塔变换

基于压缩感知测量矩阵构造分析

压缩感知测量矩阵构造方式多样并不断发展,为梳理现有研究成果,掌握测量矩阵发展动态,对压缩感知测量矩阵....

发表于 12-07 10:25 147次 阅读
基于压缩感知测量矩阵构造分析

基于LDA主题模型的移动应用的相似度矩阵

随着移动互联网的快速发展,如何从大量的移动应用中抽取有效的描述信息继而为移动用户提供有效准确的推荐策....

发表于 12-04 09:39 178次 阅读
基于LDA主题模型的移动应用的相似度矩阵

基于稀疏随机矩阵和乘积矩阵框架相结合的再生码构造方法

针对已有的再生码编码方案的运算是基于有限域GF(g)、运算复杂度高、效率低的问题,提出了一种将CF(....

发表于 11-30 15:12 116次 阅读
基于稀疏随机矩阵和乘积矩阵框架相结合的再生码构造方法

矩阵分析+(史荣昌)

矩阵分析

发表于 11-29 15:46 135次 阅读
矩阵分析+(史荣昌)

基于低秩投影中稀疏误差矩阵分析的视觉跟踪

单目标跟踪是计算机视觉的重要组成部分,其鲁棒性一直受到目标遮挡、光照变化、目标尺度变化等因素的制约。....

发表于 11-21 16:15 98次 阅读
基于低秩投影中稀疏误差矩阵分析的视觉跟踪

基于FPGA的矩阵键盘控制器的设计

为改变采用CPU 控制矩阵键盘导致CPU 资源利用下降及引脚不足的现状,介绍了一种基于FPGA 的矩....

发表于 11-18 11:45 742次 阅读
基于FPGA的矩阵键盘控制器的设计

matlab输入矩阵的格式的方法步骤

Matlab语言的核心是矩阵,其最初的出现和应用也是和矩阵息息相关的,矩阵是Matlab中的基本运算....

发表于 11-15 11:35 3558次 阅读
matlab输入矩阵的格式的方法步骤

直升机卫星通信系统关键技术解析

卫星通信(简 称卫通) 具有频带宽、容量大、性能稳定、成本与通信距离无关等优点,成为现代通信的一种重....

发表于 11-09 11:37 189次 阅读
直升机卫星通信系统关键技术解析

RSM高性能射频开关矩阵的应用

1. 概述 RSM高性能射频开关矩阵是基于高稳定性、高可靠性、高性能指标的射频开关研制而成,工作频率....

发表于 11-09 10:56 204次 阅读
RSM高性能射频开关矩阵的应用

LED几种典型的点矩阵实验案例与程序分析

发表于 09-06 09:33 189次 阅读
LED几种典型的点矩阵实验案例与程序分析

Type 7 模块解决复杂的物联网边 缘节点处理矩阵

Type 7 模块解决复杂的物联网边 缘节点处理矩阵

发表于 09-04 16:01 157次 阅读
Type 7 模块解决复杂的物联网边 缘节点处理矩阵

第四棵--KEY独立键盘和矩阵键盘的检测

独立键盘和矩阵键盘的检测,十分详细。适合新手。

发表于 09-01 11:44 190次 阅读
第四棵--KEY独立键盘和矩阵键盘的检测

c51单片机矩阵程序

发表于 05-26 08:00 259次 阅读
c51单片机矩阵程序

基于联合双重概率矩阵的动态规划检测前跟踪算法_梁志兵

基于联合双重概率矩阵的动态规划检测前跟踪算法_梁志兵

发表于 03-22 09:20 241次 阅读
基于联合双重概率矩阵的动态规划检测前跟踪算法_梁志兵

基于分块颜色矩和灰度共生矩阵的图像检索_岳磊

基于分块颜色矩和灰度共生矩阵的图像检索_岳磊

发表于 03-17 09:57 179次 阅读
基于分块颜色矩和灰度共生矩阵的图像检索_岳磊

基于SVD和EMD_S编码的隐藏算法_董振华

基于SVD和EMD_S编码的隐藏算法_董振华

发表于 03-04 17:59 191次 阅读
基于SVD和EMD_S编码的隐藏算法_董振华

SVD的效果到底如何呢?

机器学习中常用的降维方法是主成分分析(PCA),而主成分分析常用奇异值分解(SVD)。那么SVD的效....

发表于 02-11 17:19 561次 阅读
SVD的效果到底如何呢?

矩阵键盘

矩阵键盘

发表于 12-25 22:47 142次 阅读
矩阵键盘

5.4矩阵式键盘的锁定

很好的资料

发表于 12-16 20:47 179次 阅读
5.4矩阵式键盘的锁定

5.3 矩阵式键盘的控制

很好的资料

发表于 12-16 20:47 142次 阅读
5.3 矩阵式键盘的控制

安森美半导体的超低功耗音频处理器延长70%的播放时间

LC823450是音频处理系统大规模集成电路(LSI),为其供电的是高能效的ARM® Cortex®....

发表于 06-02 15:41 376次 阅读
安森美半导体的超低功耗音频处理器延长70%的播放时间

三星新组建设备解决方案部门 重组LCD业务

  据国外媒体报道,三星电子母公司三星集团日前宣布,三星电子已组建了名为“设备解决方案”(Devic....

发表于 06-01 09:22 544次 阅读
三星新组建设备解决方案部门 重组LCD业务

_矩阵与变换_典型例题精析

线性矩阵,此篇文章用于解决难题很用帮助,谢谢采用

发表于 04-29 11:28 149次 阅读
_矩阵与变换_典型例题精析

单片机键盘电路的优化

本文在研究现有键盘电路后,提出了一种基于组合排列构成准矩阵式组合键盘的实用方案。

发表于 03-25 11:27 225次 阅读
单片机键盘电路的优化

协方差矩阵

该ppt是为学生更好的复习矩阵所提供的!还不错哦,可以下载来看下!你值得拥有。

发表于 03-18 16:37 133次 阅读
协方差矩阵