SVD奇异值分解
来源:互联网 发布:sunny crown 人工智能 编辑:程序博客网 时间:2024/06/05 00:43
矩阵的奇异值是一个数学意义上的概念,一般是由奇异值分解(Singular Value Decomposition,简称SVD分解)得到。如果要问奇异值表示什么物理意义,那么就必须考虑在不同的实际工程应用中奇异值所对应的含义。
下面先尽量避开严格的数学符号推导,直观的从一张图片出发,让我们来看看奇异值代表什么意义。
图片实际上对应着一个矩阵,矩阵的大小就是像素大小,比如这张图对应的矩阵阶数就是1103*1620,矩阵上每个元素的数值对应着像素值。我们记这个像素矩阵为
现在我们对矩阵进行奇异值分解。直观上,奇异值分解将矩阵分解成若干个秩一矩阵之和,用公式表示就是:
其中等式右边每一项前的系数
既然奇异值有从大到小排列的顺序,我们自然要问,如果只保留大的奇异值,舍去较小的奇异值,这样(1)式里的等式自然不再成立,那会得到怎样的矩阵——也就是图像?
令
结果就是完全看不清是啥……多增加几项进来:
在增加几项,看看
得到和原图差别不大的图像。也就是说当从1不断增大时,
矩阵表示一个1103*1620的矩阵,需要保存个1103*1620=1786860元素的值。等式右边
从上面可以看到:奇异值往往对应着矩阵中隐含的重要信息,且重要性和奇异值大小正相关。每个矩阵都可以表示为一系列秩为1的“小矩阵”之和,而奇异值则衡量了这些“小矩阵”对于的权重。
代码:
from PIL import Imagefrom matplotlib.pylab import *import numpy as npdate=np.array(Image.open(r'C:\Users\Selena\Desktop\test\test.jpg').convert('L'))U,s,V=np.linalg.svd(date,full_matrices=False)S=np.diag(s)indice=1imshow(np.dot(U[:,0:indice],np.dot(S[0:indice,0:indice],V[0:indice,:])))indice=20imshow(np.dot(U[:,0:indice],np.dot(S[0:indice,0:indice],V[0:indice,:])))indice=50imshow(np.dot(U[:,0:indice],np.dot(S[0:indice,0:indice],V[0:indice,:])))
奇异值分解证明
假设
那么
即映射后的向量是两两正交的,并且
取单位向量
那么得到
将
可得到
从而得到
注意:
算法思路
利用QR分解算
奇异值分解与特征值分解
矩阵可以认为是一种线性变换的表示,而且这种线性变换的作用效果与基的选择有关,确定了定义域空间和目标空间的两组基,就可以写出该线性变换的矩阵表示。
以
奇异值分解正是对线性变换这三种效应的一个析构。
而特征值分解其实是对旋转缩放两种效应的归并。(有投影效应的矩阵不是方阵,没有特征值)
特征值,特征向量由
总结一下,特征值分解和奇异值分解都是给一个矩阵(线性变换)找一组特殊的基,特征值分解找到了特征向量这组基,在这组基下该线性变换只有缩放效果。而奇异值分解则是找到另一组基,这组基下线性变换的旋转、缩放、投影三种功能独立地展示出来了。
应用:图像处理领域:数据压缩,对图像去噪;机器学习:PCA
参考:
1. https://www.zhihu.com/question/19666954
2. http://www.ams.org/samplings/feature-column/fcarc-svd
- SVD奇异值分解
- SVD奇异值分解
- SVD奇异值分解
- SVD奇异值分解
- 奇异值分解(SVD)
- SVD奇异值分解
- 奇异值分解(SVD)
- SVD奇异值分解
- SVD奇异值分解
- SVD奇异值分解
- svd奇异值分解
- 奇异值分解(SVD)
- 奇异值分解(SVD)
- SVD奇异值分解
- SVD奇异值分解
- SVD奇异值分解
- 奇异值分解SVD
- SVD奇异值分解
- AngularJs directive-transclude
- Web第一部分(1-2) 未写
- 链表高级算法--1
- 解决Oracle 11g在用EXP导出时,空表不能导出
- python 两个list 求交集,并集,差集
- SVD奇异值分解
- 电商之梳理Heartbeat相关知识---基础框架
- AngularJs directive-scope
- HDU 3787 A+B(字符串进制转换)
- ddddddd
- 多维数组与指针
- js实现侧边导航栏展开和折叠
- linux shell快捷键整理
- 电商之梳理Flume相关知识---数据采集