首页>>科技 >>内容

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

发布时间:2023-11-06 09:30:29编辑:温柔的背包来源:

很多朋友对svd的缺点,SVD的简介和主要应用领域以及原理与几何意义不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

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

1简介SVD全称:奇异值分解。奇异值分解是提取信息的有力工具,它提供了非常方便的矩阵分解方法,可以在数据中发现非常有趣的潜在模式。主要应用领域包括:潜在语义分析(LSA)或潜在语义索引(LSI);推荐系统可以说是最有价值的应用点;压缩矩阵数据(主要是图像数据)。2线性变换

在SVD求导之前,我们先了解一下线性变换。以2*2的线性变换矩阵为例,先看简单的对角矩阵。合起来说,m就是将二维平面上的一个点(x,y)线性变换为另一个点的变换矩阵,如下图所示。这种变换的几何效果是,变换后的平面沿X的水平方向拉伸三倍,垂直方向没有变化。3奇异值分解推导

这部分的推导从几何层面理解了二维SVD。总体思想是,借助于SVD,可以将一个正交网格变换成另一个正交网格。这可以用二维空间的向量来描述。首先,选择两个相互正交的单位向量v1和v2(也称为一组正交基)。m是一个变换矩阵。向量Mv1和Mv2也是一组正交向量(即,通过M变换获得v1和v2)。

U1和u2分别是MV1和MV2的单位向量(即另一组正交基),有:那么,1和2分别是MV1和MV2的模(也叫m的奇异值)。设任意向量x有:根据线生成的知识,向量的内积可以用向量的转置来表示:至此,SVD已经以几何意义的形式导出,其中:关于SVD的一些重要结论性总结:任意矩阵m都可以分解为三个矩阵;v代表原域的标准正交基;u代表M变换后新的标准正交基;

表示V中的向量与U中对应的向量之间的比例(伸缩)关系;中的每个都会按照从大到小的顺序排列,值越大,这个维度的重要性越高;

使用SVD提取或压缩数据信息时,往往是基于一些启发式策略,比如直接设置只提取中的前k项,或者另一种常见的做法是在矩阵中保留一定比例的能量信息,一般可以设置为90%。能量信息比的计算可以先得到所有奇异值的平方和,然后依次累加奇异值的平方和到总值的90%。形状:#-*-编码:UTF-8-*-将numpy导入为npimport numpy。Linalgasla导入mapplotlib。pyplot asplt。

来自sklearn导入数据集从不足导入iodef getImgAsMat(index):ds=数据集。fetch _ olivetti _ faces()返回NP。mat(ds。images[index])def getImgAsMatFromFile(文件名):img=io。im read(filename,as _ grey=True)返回NP。mat(img)def plot img(im GMAT):PLTimshow(img mat,cmap=PLT。厘米。灰色)PLT。show()def recoverbyvd(im GMAT,k):

# recover the image imgMat _ new=Uk * Sk * vk return imgMat _ new #-main-# # A=getImgAsMat(0)# plot img(A)# A _ new=recoverBySVD(A,20)# plot img(A _ new)A=getImgAsMatFromFile(' D:/pic .jpg ')plot img(A _ new=recoverBySVD(A,30)plotImg(A_new)

以上知识分享希望能够帮助到大家!