奇异值分的一些特性以及应用小案例.docx

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

第一部分:预备知识1.1 矩阵的F-范数与矩阵迹的关系引理:设,令,则;其中,定义如下:令方阵,则,即矩阵的迹。注意,只能作用于方阵。那么,下面来看下为什么有?首先,这个等式是矩阵F-范数的定义,即一个矩阵的F-范数等于矩阵中每个元素的平方和。其次,因,则,易得。(或的第r个对角元素等于第r行或列元素的平方和,所有对角元素之和就是矩阵每个元素的平方和,即有上式成立。)此过程如图1和图2所示。图1. 方阵迹的形成过程图2. 方阵迹的形成过程1.2 矩阵AB的迹等于矩阵BA的迹设,,令,,则。分析如下:图3. 图4. 第二部分:奇异值分解本部分主要在矩阵奇异值分解(Singular Value Decomposition)的基础之上,从理论上分析降维之后信息到底损失了多少,以及为什么要选取奇异值最大的那部分矩阵块;紧接着,举个例子来展示取不同奇异值的情况下,信息损失了多少,让大家进一步直观地理解其中的机理。2.1 矩阵U的奇异值分解:设矩阵,奇异值分解为:;其中,,,,如下式所示:其中,矩阵和都是正交矩阵,即,,,,矩阵和的行之间相互正交,列之间也相互正交,且行向量为单位向量,列向量也为单位向量。奇异值分解过程如图5所示。图5. U=SVD矩阵奇异值分解之后,矩阵可以分成两块,一个n阶的对角矩阵(对角元素为的n个奇异值)和一个全零矩阵;这样的话,通过矩阵分块理论,可以把奇异值分解简化,如图6所示。图6. 矩阵分块简化奇异值分解注意,在这里,矩阵的奇异值分解我并没有强调矩阵的对角元素非要按照从大到小排列,可以是随意的。因此,进一步对矩阵进行分块,将矩阵分解成两块对角矩阵,矩阵和作相应的分块,如图7所示。数学形式如下:图7. 矩阵分块变换奇异值分解形式因和的列向量相互正交,且为单位向量,故有;同理,和的行向量相互正交,且为单位向量,故有。2.2矩阵U的近似奇异值分解:在实际应用中,往往通过矩阵的近似分解来达到降维的目的,从而可以进行数据压缩。这样,一方面节省了存储空间,另一方面也将节省计算资源;最重要的一点,在某些应用(如信息检索,文本分类聚类)中,可以挖掘数据中潜在的语义结构,继而更深一步探讨事物的本质是什么。但是,矩阵的近似分解会丢失掉一部分信息,怎样分解才能使得信息量丢失的最少同时又有降维的目的呢?定量层面上又丢失多少呢?下面我们来从理论上分析下这些问题。上面已经给出了矩阵的奇异值分解形式以及分块后的变形形式(如图7所示)。假设将其降到维空间下,则有:如图7所示,矩阵近似成左边三个矩阵,和的乘积了,具体如图8所示。图8. 这样的话,就损失了最右边的三个矩阵乘积部分,即。那么损失的信息量怎么计算呢?一般可以用矩阵的F-范数来表示。因此,之后损失的信息量为。因此,可以看到,损失的信息量即为被“抛弃的奇异值的平方和”!我们知道,奇异值分解后,矩阵就是奇异值的“对角矩阵”;如果我们按照奇异值从大到小排列,取前个奇异值以及对应的和矩阵,那么我们就能最大程度上保留原来的信息量,从而减少了信息的损失量。这就是为什么以前总是提“按照奇异值从大到小排列,取前个,这样得到的矩阵近似分解信息损失的最小”的说法了,在这里得到了分析和验证。下面我们在看看矩阵原始的信息量是多少?如果猜想一下的话,对,就是所有的奇异值的平方和就是总的信息量!因此,的信息损失量为,占总信息量的。2.3 例子演示此部分主要是随机举个例子来展示下奇异值分解的结果,以及取不同奇异值的情况下信息的损失情况,看看是不是和理论上推导的结论相一致?理论与例子相结合,进一步加深大家对奇异值分解及其近似的理解。下面随机举个数据矩阵,12行9列,如下所示:Matlab中奇异值分解命令:[S,V,D]=svd(data)奇异值分解简化命令:[S,V,D]=svd(data,0)下面通过Matlab代码来展示每当“抛弃”一个奇异值后,其损失量是多少?Matlab代码:svd_sample.m% 清屏及变量clc;clear;% 数据data=[ 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 2 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1

文档评论(0)

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

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

1亿VIP精品文档

相关文档