商业数据分析·SVD2.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
商业数据分析·SVD2

商业数据分析 2016·11·29 线性降维 : SVD 线性降维 3 1 SVD Singular value decomposition 奇异值分解 数学基础:奇异值分解 3 奇异值分解:在线性代数中,我们知道对任意一个矩阵都存在奇异值分解, ,其中 U和V是标准正交矩阵,而σ是一个对角矩阵,每一个对角元是该矩阵的奇异值,奇异值指的是矩阵的特征值开根号。其具体分解形式如下: 线性降维 回顾PCA 3 步骤: 1、每列中心化:X——Xc 2、计算Xc的协方差矩阵S; 3、计算协方差矩阵S的特征向量和特征值; 4、将特征值从大到小排列,选取前k个大的特征值对应的特征向量; 5、将Xc映射到第4步计算出来的特征向量上; 线性降维 Singular value decomposition 奇异值分解 SVD是什么 3 线性降维 任何一个矩阵都可以表达为: 这就叫做把矩阵X进行奇异值分解。 这就叫做把矩阵X进行奇异值分解。 假设X是n×p的矩阵,那么U是一个n×n 的矩阵,而D是一个n×p对角矩阵(对角线上才会有非零元素),而V是一个p×p的矩阵。 而U和V各自的列向量都是单位正交向量。 因此 X = UDVT XTX = VDTUTUDVT = VDTDVT VT XTXV=DTD SVD是什么 2 线性降维 因此,SVD分解后得到的V就是XTX的特征向量,而DTD对角上的元素就是XTX的特征值。 XTX = VDTUTUDVT = VDTDVT VT XTXV=DTD SVD是什么 2 线性降维 任何一个矩阵都可以表达为: 这就叫做把矩阵X进行奇异值分解。 X = UDVT 新的PCA步骤: 1、每列中心化:X——Xc 2、把Xc进行奇异值分解,得到U、D、V 3、将U、D、V都从大到小排列,选取前k个大的Uk、Dk、Vk ; 4、计算Xk=UkDkVKT; 5、新对象的线性变换 小问题:这样得到的Xk和直接把X投影都k个特征向量上是一样的吗? SVD应用——数字图像处理 2 一个视频图像或图片可以通过将其分解为单元(或像素)数组并测量每一个单元的灰度进行数字化,这些信息可使用一个mxn矩阵A进行存储和传输,A的元素为非负值,对应于灰度级别的度量,由于任一单元的灰度级别通常很接近其相邻的单元,所以可以 将需要的存储数量从mn减少到m+n+1.一般地,矩阵A将有很小的奇异值,因此,A可以用一个秩非常小的矩阵来逼近. 线性降维 SVD应用——数字图像处理 2 回到之前的奇异值分解展开式,若A的奇异值分解为UDVT,则A可表示为外积展开: 将A看成一个图像的矩阵,上面和式的每一个分量按大小排序,越大,说明越重要。而后面的权很小,可以舍去,如果只取前面k项,则数据量为(m+n+1)km*n因而达到了压缩图像的目的。 Ak的总存储量为k(m+n+1).我们可以考虑选择的k小于n,且相应于Ak的图像和原来的图像非常接近.对k的典型选择,Ak所需的存储量将小于整个矩阵A所需存储量的20%。 线性降维 SVD应用——数字图像处理 2 线性降维 通过对比发现,当k=1/20 r时,能基本看清图像。当k=1/4r时基本看不出任何区别,对于长宽相等的图像,此时数据量占原数据量的2k/n,在测试图像中,这个数值为0.5 。可见图像压缩的效果是显著的。(示例代码为: svdcompression.m) ? 原图像 2 线性降维 K=1 K=21 K=4 K=r=323 K=50 K=105 MATLAB实例——LSI 2 为了进一步说明SVD的方法,我们来看一个信息检索的例子,称为潜在语义索引(或LSI)。 信息检索(IR)的许多应用程序依赖于词汇的搭配,用户输入了几个词语在一些文档中进行检索。然后用户用来检索的词可能是各种各样的,甚至是不准确的。所以,有时候检索结果不尽人意。潜在语义索引使用SVD的方法来求解输入检索词和文档的相关性,使得检索结果更为准确。 线性降维 MATLAB实例——LSI 2 我们使用数据集lsiex.mat进行实验,这里有一些文档,里面包含一个书名的列表,然后还有个术语集包含一些词汇。我们把他们变成一个矩阵,每一列是一个文件,每一行是一个术语在这个文件中出现的次数。 然后将用户的有哪些信誉好的足球投注网站输入变成一个向量,包含对应术语的为1,不包含的为0。 下面打开matlab我们进行实战!(对应文件Example2_3.m) 线性降维 作业 课后 作业 2.9题 2.11题 课本 作业 课后 作业 2.9 ?Repeat Example

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档