当前位置:文档之家› 矩阵的奇异值分解及其应用

矩阵的奇异值分解及其应用

矩阵的奇异值分解及其应用
矩阵的奇异值分解及其应用

矩阵的奇异值分解(SVD)及其应用

版权声明:

本文由LeftNotEasy发布于https://www.doczj.com/doc/697918133.html,, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@https://www.doczj.com/doc/697918133.html,

前言:

上一次写了关于PCA与LDA的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。在上篇文章中便是基于特征值分解的一种解释。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。就像是描述一个人一样,给别人描述说这个人长得浓眉大眼,方脸,络腮胡,而且带个黑框的眼镜,这样寥寥的几个特征,就让别人脑海里面就有一个较为清楚的认识,实际上,人脸上的特征是有着无数种的,之所以能这么描述,是因为人天生就有着非常好的抽取重要特征的能力,让机器学会抽取重要的特征,SVD是一个重要的方法。

在机器学习领域,有相当多的应用与奇异值都可以扯上关系,比如做feature reduction的PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层次检索的LSI(Latent Sem antic Indexing)

另外在这里抱怨一下,之前在百度里面搜索过SVD,出来的结果都是俄罗斯的一种狙击枪(AK47同时代的),是因为穿越火线这个游戏里面有一把狙击枪叫做SVD,而在Google上面搜索的时候,出来的都是奇异值分解(英文资料为主)。想玩玩战争游戏,玩玩COD不是非常好吗,玩山寨的CS有神马意思啊。国内的网页中的话语权也被这些没有太多营养的帖子所占据。真心希望国内的气氛能够更浓一点,搞游戏的人真正是喜欢制作游戏,搞Data Mining的人是真正喜欢挖数据的,都不是仅仅为了混口饭吃,这样谈超越别人才有意义,中文文章中,能踏踏实实谈谈技术的太少了,改变这个状况,从我自己做起吧。

前面说了这么多,本文主要关注奇异值的一些特性,另外还会稍稍提及奇异值的计算,不过本文不准备在如何计算奇异值上展开太多。另外,本文里面有部分不算太深的线性代数的知识,如果完全忘记了线性代数,看本文可能会有些困难。

一、奇异值与特征值基础知识:

特征值分解和奇异值分解在机器学习领域都是属于满地可见的方法。两者有着很紧密的关系,我在接下来会谈到,特征值分解和奇异值分解的目的都是一样,就是提取出一个矩阵最重要的特征。先谈谈特征值分解吧:

1)特征值:

如果说一个向量v是方阵A的特征向量,将一定可以表示成下面的形式:

这时候λ就被称为特征向量v对应的特征值,一个矩阵的一组特征向量是一组正交向量。特征值分解是将一个矩阵分解成下面的形式:

其中Q是这个矩阵A的特征向量组成的矩阵,Σ是一个对角阵,每一个对角线上的元素就是一个特征值。我这里引用了一些参考文献中的内容来说明一下。首先,要明确的是,一个矩阵其实就是一个线性变换,因为一个矩阵乘以一个向量后得到的向量,其实就相当于将这个向量进行了线性变换。比如说下面的一个矩阵:

它其实对应的线性变换是下面的形式:

因为这个矩阵M乘以一个向量(x,y)的结果是:

上面的矩阵是对称的,所以这个变换是一个对x,y轴的方向一个拉伸变换(每一个对角线上的元素将会对一个维度进行拉伸变换,当值>1时,是拉长,当值<1时时缩短),当矩阵不是对称的时候,假如说矩阵是下面的样子:

它所描述的变换是下面的样子:

这其实是在平面上对一个轴进行的拉伸变换(如蓝色的箭头所示),在图中,蓝色的箭头是一个最主要的变化方向(变化方向可能有不止一个),如果我们想要描述好一个变换,那我们就描述好这个变换主要的变化方向就好了。反过头来看看之前特征值分解的式子,分解得到的Σ矩阵是一个对角阵,里面的特征值是由大到小排列的,这些特征值所对应的特征向量就是描述这个矩阵变化方向(从主要的变化到次要的变化排列)

当矩阵是高维的情况下,那么这个矩阵就是高维空间下的一个线性变换,这个线性变化可能没法通过图片来表示,但是可以想象,这个变换也同样有很多的变换方向,我们通过特征值分解得到的前N个特征向量,那么就对应了这个矩阵最主要的N个变化方向。我们利用这前N个变化方向,就可以近似这个矩阵(变换)。也就是之前说的:提取这个矩阵最重要的特征。总结一下,特征值分解可以得到特征值与特征向量,特征值表示的是这个特征到底有多重要,而特征向量表示这个特征是什么,可以将每一个特征向量理解为一个线性的子空间,我们可以利用这些线性的子空间干很多的事情。不过,特征值分解也有很多的局限,比如说变换的矩阵必须是方阵。

(说了这么多特征值变换,不知道有没有说清楚,请各位多提提意见。)

2)奇异值:

下面谈谈奇异值分解。特征值分解是一个提取矩阵特征很不错的方法,但是它只是对方阵而言的,在现实的世界中,我们看到的大部分矩阵都不是方阵,比如说有N个学生,每个学生有M科成绩,这样形成的一个N * M的矩阵就不可能是方阵,我们怎样才能描述这样普通的矩阵呢的重要特征呢?奇异值分解可以用来干这个事情,奇异值分解是一个能适用于任意的矩阵的一种分解的方法:

假设A是一个M * N的矩阵,那么得到的U是一个M * M的方阵(里

面的向量是正交的,U里面的向量称为左奇异向量),Σ是一个M * N的矩阵(除了对角线的元素都是0,对角线上的元素称为奇异值),V’(V的转置)是一个N * N的矩阵,里面的向量也是正交的,V里面的向量称为右奇异向量),从图片来反映几个相乘的矩阵的大小可得下面的图片

那么奇异值和特征值是怎么对应起来的呢?首先,我们将一个矩阵A的转置* A,将会得到

一个方阵,我们用这个方阵求特征值可以得到:这里得到的v,就是我们上面的右奇异向量。此外我们还可以得到:

这里的σ就是上面说的奇异值,u就是上面说的左奇异向量。奇异值σ跟特征值类似,在矩阵Σ中也是从大到小排列,而且σ的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上了。也就是说,我们也可以用前r 大的奇异值来近似描述矩阵,这里定义一下部分奇异值分解:

r是一个远小于m、n的数,这样矩阵的乘法看起来像是下面的样子:

右边的三个矩阵相乘的结果将会是一个接近于A的矩阵,在这儿,r越接近于n,则相乘的结果越接近于A。而这三个矩阵的面积之和(在存储观点来说,矩阵面积越小,存储量就越小)

要远远小于原始的矩阵A,我们如果想要压缩空间来表示原矩阵A,我们存下这里的三个矩阵:U、Σ、V就好了。

二、奇异值的计算:

奇异值的计算是一个难题,是一个O(N^3)的算法。在单机的情况下当然是没问题的,matlab在一秒钟内就可以算出1000 * 1000的矩阵的所有奇异值,但是当矩阵的规模增长的时候,计算的复杂度呈3次方增长,就需要并行计算参与了。Google的吴军老师在数学之美系列谈到SVD的时候,说起Google实现了SVD的并行化算法,说这是对人类的一个贡献,但是也没有给出具体的计算规模,也没有给出太多有价值的信息。

其实SVD还是可以用并行的方式去实现的,在解大规模的矩阵的时候,一般使用迭代的方法,当矩阵的规模很大(比如说上亿)的时候,迭代的次数也可能会上亿次,如果使用

Map-Reduce框架去解,则每次Map-Reduce完成的时候,都会涉及到写文件、读文件的操作。个人猜测Google云计算体系中除了Map-Reduce以外应该还有类似于MPI的计算模型,也就是节点之间是保持通信,数据是常驻在内存中的,这种计算模型比Map-Reduce在解决迭代次数非常多的时候,要快了很多倍。

Lanczos迭代就是一种解对称方阵部分特征值的方法(之前谈到了,解A’* A得到的对称方阵的特征值就是解A的右奇异向量),是将一个对称的方程化为一个三对角矩阵再进行求解。按网上的一些文献来看,Google应该是用这种方法去做的奇异值分解的。请见Wikipedia上面的一些引用的论文,如果理解了那些论文,也“几乎”可以做出一个SVD了。

由于奇异值的计算是一个很枯燥,纯数学的过程,而且前人的研究成果(论文中)几乎已经把整个程序的流程图给出来了。更多的关于奇异值计算的部分,将在后面的参考文献中给出,这里不再深入,我还是focus在奇异值的应用中去。

三、奇异值与主成分分析(PCA):

主成分分析在上一节里面也讲了一些,这里主要谈谈如何用SVD去解PCA的问题。PCA 的问题其实是一个基的变换,使得变换后的数据有着最大的方差。方差的大小描述的是一个变量的信息量,我们在讲一个东西的稳定性的时候,往往说要减小方差,如果一个模型的方差很大,那就说明模型不稳定了。但是对于我们用于机器学习的数据(主要是训练数据),方差大才有意义,不然输入的数据都是同一个点,那方差就为0了,这样输入的多个数据就等同于一个数据了。以下面这张图为例子:

这个假设是一个摄像机采集一个物体运动得到的图片,上面的点表示物体运动的位置,假如我们想要用一条直线去拟合这些点,那我们会选择什么方向的线呢?当然是图上标有signal的那条线。如果我们把这些点单纯的投影到x轴或者y 轴上,最后在x轴与y轴上得到的方差是相似的(因为这些点的趋势是在45度左右的方向,所以投影到x轴或者y轴上都是类似的),如果我们使用原来的xy坐标系去看这些点,容易看不出来这些点真正的方向是什么。但是如果我们进行坐标系的变化,横轴变成了signal的方向,纵轴变成了noise的方向,则就很容易发现什么方向的方差大,什么方向的方差小了。

一般来说,方差大的方向是信号的方向,方差小的方向是噪声的方向,我们在数据挖掘中或者数字信号处理中,往往要提高信号与噪声的比例,也就是信噪比。对上图来说,如果我们只保留signal方向的数据,也可以对原数据进行不错的近似了。

PCA的全部工作简单点说,就是对原始的空间中顺序地找一组相互正交的坐标轴,第一个轴是使得方差最大的,第二个轴是在与第一个轴正交的平面中使得方差最大的,第三个轴是在与第1、2个轴正交的平面中方差最大的,这样假设在N维空间中,我们可以找到N个这样的坐标轴,我们取前r个去近似这个空间,这样就从一个N维的空间压缩到r维的空间了,但是我们选择的r个坐标轴能够使得空间的压缩使得数据的损失最小。

还是假设我们矩阵每一行表示一个样本,每一列表示一个feature,用矩阵的语言来表示,将一个m * n的矩阵A的进行坐标轴的变化,P就是一个变换的矩阵从一个N维的空间变换到另一个N维的空间,在空间中就会进行一些类似于旋转、拉伸的变化。

而将一个m * n的矩阵A变换成一个m * r的矩阵,这样就会使得本来有n个feature的,变成了有r个feature了(r < n),这r个其实就是对n个feature的一种提炼,我们就把这个称为feature的压缩。用数学语言表示就是:

但是这个怎么和SVD扯上关系呢?之前谈到,SVD得出的奇异向量也是从奇异值由大到小排列的,按PCA的观点来看,就是方差最大的坐标轴就是第一个奇异向量,方差次大的坐标轴就是第二个奇异向量…我们回忆一下之前得到的SVD式子:

在矩阵的两边同时乘上一个矩阵V,由于V是一个正交的矩阵,所以V转置乘以V得到单位阵I,所以可以化成后面的式子

将后面的式子与A * P那个m * n的矩阵变换为m * r的矩阵的式子对照看看,在这里,其实V就是P,也就是一个变化的向量。这里是将一个m * n 的矩阵压缩到一个m * r的矩阵,也就是对列进行压缩,如果我们想对行进行压缩(在PCA的观点下,对行进行压缩可以理解为,将一些相似的sample合并在一起,或者将一些没有太大价值的sample去掉)怎么办呢?同样我们写出一个通用的行压缩例子:

这样就从一个m行的矩阵压缩到一个r行的矩阵了,对SVD来说也是一样的,我们对SVD分解的式子两边乘以U的转置U'

这样我们就得到了对行进行压缩的式子。可以看出,其实PCA几乎可以说是对SVD的一个包装,如果我们实现了SVD,那也就实现了PCA了,而且更好的地方是,有了SVD,我们就可以得到两个方向的PCA,如果我们对A’A进行特征值的分解,只能得到一个方向的PCA。

四、奇异值与潜在语义索引LSI:

潜在语义索引(Latent Sem antic Indexing)与PCA不太一样,至少不是实现了SVD就可以直接用的,不过LSI也是一个严重依赖于SVD的算法,之前吴军老师在矩阵计算与文本处理中的分类问题中谈到:

“三个矩阵有非常清楚的物理含义。第一个矩阵X中的每一行表示意思相关的一类词,其中的每个非零元素表示这类词中每个词的重要性(或者说相关性),数值越大越相关。最后一个矩阵Y中的每一列表示同一主题一类文章,其中每个元素表示这类文章中每篇文章的相关性。中间的矩阵则表示类词和文章雷之间的相关性。因此,我们只要对关联矩阵A进行一次奇异值分解,w 我们就可以同时完成了近义词分类和文章的分类。(同时得到每类文章和每类词的相关性)。”

上面这段话可能不太容易理解,不过这就是LSI的精髓内容,我下面举一个例子来说明一下,下面的例子来自LSA tutorial,具体的网址我将在最后的引用中给出:

这就是一个矩阵,不过不太一样的是,这里的一行表示一个词在哪些title中出现了(一行就是之前说的一维feature),一列表示一个title中有哪些词,(这个矩阵其实是我们之前说的那种一行是一个sample的形式的一种转置,这个会使得我们的左右奇异向量的意义产生变化,但是不会影响我们计算的过程)。比如说T1这个title中就有guide、investing、market、stock四个词,各出现了一次,我们将这个矩阵进行SVD,得到下面的矩阵:

左奇异向量表示词的一些特性,右奇异向量表示文档的一些特性,中间的奇异值矩阵表示左奇异向量的一行与右奇异向量的一列的重要程序,数字越大越重要。

继续看这个矩阵还可以发现一些有意思的东西,首先,左奇异向量的第一列表示每一个词的出现频繁程度,虽然不是线性的,但是可以认为是一个大概的描述,比如book是0.15对应文档中出现的2次,investing是0.74对应了文档中出现了9次,rich是0.36对应文档中出现了3次;

其次,右奇异向量中一的第一行表示每一篇文档中的出现词的个数的近似,比如说,T6是0.49,出现了5个词,T2是0.22,出现了2个词。

然后我们反过头来看,我们可以将左奇异向量和右奇异向量都取后2维(之前是3维的矩阵),投影到一个平面上,可以得到:

在图上,每一个红色的点,都表示一个词,每一个蓝色的点,都表示一篇文档,这样我们可以对这些词和文档进行聚类,比如说stock 和m arket可以放在一类,因为他们老是出现在一起,real 和estate可以放在一类,dads,guide这种词就看起来有点孤立了,我们就不对他们进行合并了。按这样聚类出现的效果,可以提取文档集合中的近义词,这样当用户检索文档的时候,是用语义级别(近义词集合)去检索了,而不是之前的词的级别。这样一减少我们的检索、存储量,因为这样压缩的文档集合和PCA是异曲同工的,二可以提高我们的用户体验,用户输入一个词,我们可以在这个词的近义词的集合中去找,这是传统的索引无法做到的。

不知道按这样描述,再看看吴军老师的文章,是不是对SVD更清楚了?:-D

参考资料:

1)A Tutorial on Principal Component Analysis, Jonathon Shlens

这是我关于用SVD去做PCA的主要参考资料

2)http://www.am https://www.doczj.com/doc/697918133.html,/samplings/feature-column/fcarc-svd

关于svd的一篇概念好文,我开头的几个图就是从这儿截取的

3)

https://www.doczj.com/doc/697918133.html,/index.php/news-and-articles/articles/30-singular-v alue-decomposition-tutorial.ht ml

另一篇关于svd的入门好文

4)

https://www.doczj.com/doc/697918133.html,/index.php/news-and-articles/articles/33-latent-se mantic-analysis-tutorial.ht ml

svd与LSI的好文,我后面LSI中例子就是来自此

5)

https://www.doczj.com/doc/697918133.html,/information-retrieval-tutorial/svd-lsi-tutorial-1-understa nding.ht ml

另一篇svd与LSI的文章,也还是不错,深一点,也比较长

6)Singular Value Decom position and Principal Component Analysis, Rasmus Elsborg Madsen, Lars Kai Hansen and Ole Winther, 2004

跟1)里面的文章比较类似

特征值分解与奇异值分解

特征值:一矩阵A作用与一向量a,结果只相当与该向量乘以一常数λ。即A*a=λa,则a 为该矩阵A的特征向量,λ为该矩阵A的特征值。 奇异值:设A为m*n阶矩阵,A H A的n个特征值的非负平方根叫作A的奇异值。记 (A) 为σ i 上一次写了关于PCA与LDA的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。在上篇文章中便是基于特征值分解的一种解释。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。就像是描述一个人一样,给别人描述说这个人长得浓眉大眼,方脸,络腮胡,而且带个黑框的眼镜,这样寥寥的几个特征,就让别人脑海里面就有一个较为清楚的认识,实际上,人脸上的特征是有着无数种的,之所以能这么描述,是因为人天生就有着非常好的抽取重要特征的能力,让机器学会抽取重要的特征,SVD是一个重要的方法。 在机器学习领域,有相当多的应用与奇异值都可以扯上关系,比如做feature reduction的PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层次检索的LSI(Latent Semantic Indexing) 另外在这里抱怨一下,之前在百度里面搜索过SVD,出来的结果都是俄罗斯的一种狙击枪(AK47同时代的),是因为穿越火线这个游戏里面有一把狙击枪叫做 SVD,而在Google上面搜索的时候,出来的都是奇异值分解(英文资料为主)。想玩玩战争游戏,玩玩COD不是非常好吗,玩山寨的CS有神马意思啊。国内的网页中的话语权也被这些没有太多营养的帖子所占据。真心希望国内的气氛能够更浓一点,搞游戏的人真正是喜欢制作游戏,搞Data Mining的人是真正喜欢挖数据的,都不是仅仅为了混口饭吃,这样谈超越别人才有意义,中文文章中,能踏踏实实谈谈技术的太少了,改变这个状况,从我自己做起吧。 前面说了这么多,本文主要关注奇异值的一些特性,另外还会稍稍提及奇异值的计算,不过本文不准备在如何计算奇异值上展开太多。另外,本文里面有部分不算太深的线性代数的知识,如果完全忘记了线性代数,看本文可能会有些困难。 一、奇异值与特征值基础知识: 特征值分解和奇异值分解在机器学习领域都是属于满地可见的方法。两者有着很紧密的关系,我在接下来会谈到,特征值分解和奇异值分解的目的都是一样,就是提取出一个矩阵最重要的特征。先谈谈特征值分解吧:

矩阵分解在优化方法中的应用

矩阵分解以及矩阵范数在数值计算中的应用 张先垒 (自动化与电气工程学院 控制科学与工程 2012210186) 【摘要】矩阵的分解是将一个矩阵分解为较为简单的或具有某种特性的若干矩阵的和或 者乘积,这是矩阵理论及其应用中比较常见的方法。由于矩阵的这些特殊的分解形式,一方面反映了矩阵的某些数值特性,如矩阵的秩、特征值、奇异值等;另一方面矩阵的分解方法与过程往往为某些有效的数值计算方法和理论分析提供了重要的依据,它是应用于解最优化问题、特征值问题、最小二乘方问题的主要数学工具。 关键词 : 矩阵分解 对角化 逆矩阵 范数 条件数 1. 引言 矩阵分解在工程中的应用主要是在解线性方程组中,而这主要就是关系到储存和计算时间的问题上面,如何实现最小的储存和最少的计算时间是在工程计算中的头等问题。在这方年就牵涉到很多对矩阵进行怎样的分解,这篇文章介绍了基本的关于三角分解相关的内容以及关于界的稳定性的考虑。 2. 矩阵的三角分解求解线性方程组 数值求解线性方程组的方法中有一个主要是直接法,假设计算中没有舍入误差,经过有限次算术运算能够给出问题的精确解的数值方法。其中高斯消去法就是利用矩阵的分解实现的。矩阵论一种有效而且应用广泛的分解法就是三角分解法,将一个矩阵分解为一个酉矩阵(或正交矩阵)与一个三角矩阵的乘积或者三角矩阵与三角矩阵的乘积。(见课本P93例4.3)考虑一般的线性方程组,设其中的系数矩阵A 是可逆的, 1111 n m mn a a A a a ?? ? = ? ??? (1-1) 设矩阵A 的第一列中至少有一个是非零元素(否则A 就是奇异矩阵)不妨设为1i a 若一 般的记初等矩阵 [1] 如1-2式及矩阵论课本上的Givens 矩阵。

矩阵分解的研究及应用

矩阵分解的研究及应用 摘要:将一矩阵分解为若干个矩阵的和或积,是解决某些线性问题的重要方法,其技巧性、实用性强。 本文首先分成四部分内容来阐述矩阵分解的形式及一些很常见的分解。最后举例说明矩阵分解的应用。 关键词:特征值分解 秩分解 三角分解 和分解 关于矩阵分解的形式的文献已有很多,但对于这个问题的分析各不相同。本文从四个方面来论述矩阵的分解的形式,并以一些具体的例子来说明矩阵分解在实际应用中的重要性。 一、特征值分解 性质1:任意n 阶矩阵A ,存在酉矩阵T ,使得1 10n A T T λλ-*?? ? = ? ??? ,其中1,,n λλ 为矩阵A 的 特征值。称形如这样的分解叫做矩阵A 的特征值分解。 性质1':任意n 阶矩阵A ,存在酉矩阵T ,使得11s J A T T J -?? ? = ? ??? ,其中 11i i i i i i n n J λλλ??? ? ?= ? ? ? ? ,1,2,,i s = 且1,,s λλ 为矩阵A 的特征值。 对于对称矩阵有如下结论: 定理1.1:若A 为n 阶实对称矩阵,则存在正交矩阵T ,使得11n A T T λλ-?? ? = ? ??? , 其中1,,n λλ 为矩阵A 的特征值。 证明 由性质1,知 存在酉矩阵T ,使得1 10n A T T λλ-*?? ? = ? ??? 又由于A 为n 阶实对称矩阵,因此 111 111000n n n A T T T T A T T λλλλλλ---'??**?????? ? ? ? ?'==== ? ? ? ? ? ? ? ?*??????? ? 从而,得 1 100n n λλλλ*???? ? ? = ? ? ? ?*???? 因此11n A T T λλ-?? ? = ? ??? 得证。

矩阵分解及其简单应用

矩阵分解是指将一个矩阵表示为结构简单或具有特殊性质若干矩阵之积或之和,大体分为三角分解、分解、满秩分解和奇异值分解.矩阵地分解是很重要地一部分内容,在线性代数中时常用来解决各种复杂地问题,在各个不同地专业领域也有重要地作用.秩亏网平差是测量数据处理中地一个难点,不仅表现在原理方面,更表现在计算方面,而应用矩阵分解来得到未知数地估计数大大简化了求解过程和难度. 矩阵地三角分解 如果方阵可表示为一个下三角矩阵和一个上三角矩阵之积,即,则称可作三角分解.矩阵三角分解是以消去法为根据导出地,因此矩阵可以进行三角分解地条件也与之相同,即矩阵地前个顺序主子式都不为,即.所以在对矩阵进行三角分解地着手地第一步应该是判断是否满足这个前提条件,否则怎么分解都没有意义.矩阵地三角分解不是唯一地,但是在一定地前提下,地分解可以是唯一地,其中是对角矩阵.矩阵还有其他不同地三角分解,比如分解和分解,它们用待定系数法来解求地三角分解,当矩阵阶数较大地时候有其各自地优点,使算法更加简单方便.资料个人收集整理,勿做商业用途 矩阵地三角分解可以用来解线性方程组.由于,所以可以变换成,即有如下方程组:资料个人收集整理,勿做商业用途 先由依次递推求得,,……,,再由方程依次递推求得,,……,. 资料个人收集整理,勿做商业用途 必须指出地是,当可逆矩阵不满足时,应该用置换矩阵左乘以便使地个顺序主子式全不为零,此时有:资料个人收集整理,勿做商业用途 这样,应用矩阵地三角分解,线性方程组地解求就可以简单很多了. 矩阵地分解 矩阵地分解是指,如果实非奇异矩阵可以表示为,其中为正交矩阵,为实非奇异上三角矩阵.分解地实际算法各种各样,有正交方法、方法和方法,而且各有优点和不足.资料个人收集整理,勿做商业用途 .正交方法地分解 正交方法解求分解原理很简单,容易理解.步骤主要有:)把写成个列向量(,,……,),并进行正交化得(,,……,);) 单位化,并令(,,……,),(,,……,),其中;). 这种方法来进行分解,过程相对较为复杂,尤其是计算量大,尤其是阶数逐渐变大时,就显得更加不方便.资料个人收集整理,勿做商业用途 .方法地分解 方法求分解是利用旋转初等矩阵,即矩阵()来得到地,()是正交矩阵,并且(()).()地第行第列 和第行第列为,第行第列和第行第列分别为和,其他地都为.任何阶实非奇异矩阵可通过左连乘()矩阵(乘积为)化为上三角矩阵,另,就有.该方法最主要地是在把矩阵化为列向量地基础上找出和,然后由此把矩阵地一步步向上三角矩阵靠近.方法相对正交方法明显地原理要复杂得多,但是却计算量小得多,矩阵()固有地性质很特别可以使其在很多方面地应用更加灵活.资料个人收集整理,勿做商业用途 .方法地分解 方法分解矩阵是利用反射矩阵,即矩阵,其中是单位列向量,是正交矩阵,.可以证明,两个矩阵地乘积就是矩阵,并且任何实非奇异矩阵可通过连乘矩阵(乘积为)化为上三角矩阵,则.这种方法首要地就是寻找合适地单位列向量去构成矩阵,

矩阵分解及其应用

《线性代数与矩阵分析》课程小论文 矩阵分解及其应用 学生姓名:****** 专业:******* 学号:******* 指导教师:******** 2015年12月

Little Paper about the Course of "Linear Algebra and Matrix Analysis" Matrix Decomposition and its Application Candidate:****** Major:********* StudentID:****** Supervisor:****** 12,2015

中文摘要 将特定类型的矩阵拆解为几个矩阵的乘机称为矩阵的分解。本文主要介绍几种矩阵的分解方法,它们分别是矩阵的等价分解、三角分解、谱分解、奇异值分解和 Fitting 分解等。矩阵的分解理论和方法是矩阵分析中重要的部分,在求解矩阵的特征值、解线性方程组以及实际工程中有着广泛的运用。因此,本文将介绍矩阵等价分解、三角分解、奇异值分解的理论运用以及三角分解的工程运用。 关键词:等价分解,三角分解,奇异值分解,运用

Abstract Many particular types of matrix are split into the product of a matrix of several matrices, which is called decomposition of matrix. In this paper, we introduce some methods of matrix decomposition, which are equivalent decomposition, triangular decomposition, spectral decomposition, singular value decomposition, Fitting decomposition and so on. The decomposition theory and method of matrix is an important part of matrix analysis, which is widely used in solving the characteristic value, solving linear equations and the practical engineering. In this paper, we will introduce the theory of matrix equivalence decomposition, triangular decomposition, singular value decomposition and the engineering application of triangular decomposition. Key words:Equivalent Decomposition, Triangular Decomposition, Singular Value Decomposition, Application

2019机器学习中的数学 5 强大的矩阵奇异值分解 SVD.doc

机器学习中的数学 5 强大的矩阵奇异 值分解SVD 机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用 版权声明: 本文由LeftNotEasy发布于本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@https://www.doczj.com/doc/697918133.html, 前言: 上一次写了关于PCA与LDA的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。在上篇文章中便是基于特征值分解的一种解释。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。就像是描述一个人一样,给别人描述说这个人长得浓眉大眼,方脸,络腮胡,而且带个黑框的眼镜,这样寥寥的几个特征,就让别人脑海里面就有一个较为清楚的认识,实际上,人脸上的特征是有着无数种的,之所以能这么描述,是因为人天生就有着非常好的抽取重要特征的能力,让机器学会抽取重要的特征,SVD是一个重要的方法。 在机器学习领域,有相当多的应用与奇异值都可以扯上关系,比如做feature reduction的PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层次检索的LSI(Latent Semantic Indexing) 另外在这里抱怨一下,之前在百度里面搜索过SVD,出来的结果都是俄罗斯的一种狙击枪(AK47同时代的),是因为穿越火线这个游戏里面有一把狙击枪叫做SVD,而在Google上面搜索的时候,出来的都是奇异值分解(英文资料为主)。想玩玩战争游戏,玩玩COD不是非常好吗,玩山寨的CS有神马意思啊。

矩阵的奇异值分解及其应用

矩阵的奇异值分解(SVD)及其应用 版权声明: 本文由LeftNotEasy发布于https://www.doczj.com/doc/697918133.html,, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@https://www.doczj.com/doc/697918133.html, 前言: 上一次写了关于PCA与LDA的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。在上篇文章中便是基于特征值分解的一种解释。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。就像是描述一个人一样,给别人描述说这个人长得浓眉大眼,方脸,络腮胡,而且带个黑框的眼镜,这样寥寥的几个特征,就让别人脑海里面就有一个较为清楚的认识,实际上,人脸上的特征是有着无数种的,之所以能这么描述,是因为人天生就有着非常好的抽取重要特征的能力,让机器学会抽取重要的特征,SVD是一个重要的方法。 在机器学习领域,有相当多的应用与奇异值都可以扯上关系,比如做feature reduction的PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层次检索的LSI(Latent Sem antic Indexing) 另外在这里抱怨一下,之前在百度里面搜索过SVD,出来的结果都是俄罗斯的一种狙击枪(AK47同时代的),是因为穿越火线这个游戏里面有一把狙击枪叫做SVD,而在Google上面搜索的时候,出来的都是奇异值分解(英文资料为主)。想玩玩战争游戏,玩玩COD不是非常好吗,玩山寨的CS有神马意思啊。国内的网页中的话语权也被这些没有太多营养的帖子所占据。真心希望国内的气氛能够更浓一点,搞游戏的人真正是喜欢制作游戏,搞Data Mining的人是真正喜欢挖数据的,都不是仅仅为了混口饭吃,这样谈超越别人才有意义,中文文章中,能踏踏实实谈谈技术的太少了,改变这个状况,从我自己做起吧。 前面说了这么多,本文主要关注奇异值的一些特性,另外还会稍稍提及奇异值的计算,不过本文不准备在如何计算奇异值上展开太多。另外,本文里面有部分不算太深的线性代数的知识,如果完全忘记了线性代数,看本文可能会有些困难。 一、奇异值与特征值基础知识: 特征值分解和奇异值分解在机器学习领域都是属于满地可见的方法。两者有着很紧密的关系,我在接下来会谈到,特征值分解和奇异值分解的目的都是一样,就是提取出一个矩阵最重要的特征。先谈谈特征值分解吧: 1)特征值: 如果说一个向量v是方阵A的特征向量,将一定可以表示成下面的形式:

浅析矩阵分解的原理及其在人脸识别中的应用

浅析矩阵分解的原理及其在人脸识别中的应用 摘要:矩阵分解方法有多种,本文首先对矩阵的分解方法做了简单的介绍,这些分解在数值代数和最优化问题的解决中都有着十分重要的角色以及在其它领域方面也起着必不可少的作用。人脸识别是指采用机器对人脸图像进行分析,进而提取有效的识别信息从而达到身份辨认的目的。近年来因其在安全、认证、人机交互、视频电话等方面的广泛应用前景而越来越成为计算机模式识别领域的热点。本文在分析矩阵分解的原理后详细针对其在人脸识别中的应用做了一些初步认识的总结。 关键词:矩阵分解QR分解奇异值分解非负矩阵分解人脸识别 矩阵是数学中最重要的基本概念之一,是代数学的一个主要研究对象,也是数学研究及应用的一个重要工具。在近代数学、工程技术、信息处理、经济理论管理科学中,也大量涉及到矩阵理论的知识,矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成若干个矩阵的乘积或者一些矩阵之和。这些分解式的特殊形式,一是能明显地反映出原矩阵的某些特征;二是分解的方法与过程提供了某些有效的数值计算方法和理论分析依据。人脸识别是指采用机器对人脸图像进行分析 ,进而提取有效的识别信息从而达到身份辨认的目的。虽然人类能轻松地识别出人脸,但人脸的自动机器识别却是一个难度极大的课题,它涉及到图像处理、模式识别、计算机视觉和神经网络等学科,也和对人脑的认识程度紧密相关。现在矩阵分解在人脸识别中应用很广泛,有不同的算法来实现,本文将对现有的算法做总结和比较。 1 矩阵的分解方法 矩阵分解 (decomposition, factorization)是将矩阵拆解为数个矩阵的乘积,可分为三角分解、满秩分解、QR分解、Jordan分解和SVD(奇异值)分解等,常见的有三种:1)三角分解法 (Triangular Factorization),2)QR 分解法 (QR Factorization),3)奇异值分解法 (Singular Value Decomposition)。 1.1 矩阵的三角(LU)分解 LU分解,设A=()是n阶可逆矩阵,如果A的对角线下(上)方的元素全为零,即对i>j, =0(对i

矩阵分解及其简单应用

矩阵分解及其简单应用 x=b,即有如下方程组:Ly=bUx=y 先由Ly=b依次递推求得y1, y2,……,yn,再由方程Ux=y依次递推求得 xn,xn-1,……, x1、必须指出的是,当可逆矩阵A不满足?k≠0时,应该用置换矩阵P左乘A以便使PA的n个顺序主子式全不为零,此时有: Ly=pbUx=y 这样,应用矩阵的三角分解,线性方程组的解求就可 以简单很多了。2、矩阵的QR分解矩阵的QR分解是指,如果实 非奇异矩阵A可以表示为A=QR,其中Q为正交矩阵,R为实非奇 异上三角矩阵。QR分解的实际算法各种各样,有Schmidt正交方法、Givens方法和Householder方法,而且各有优点和不足。2、1.Schmidt正交方法的QR分解Schmidt正交方法解求QR分解原 理很简单,容易理解。步骤主要有:1)把A写成m个列向量a= (a1,a2,……,am),并进行Schmidt正交化得=(α1, α2,……,αm);2) 单位化,并令Q=(β1,β2,……,βm),R=diag(α1, α2,……,αm)K,其中a=K;3)A=QR、这种方法来进行QR分解,过程相对较为复杂,尤其是计算量大,尤其是阶数逐渐变大时,就显得更加不方便。2、2.Givens方法的QR分解Givens方 法求QR分解是利用旋转初等矩阵,即Givens矩阵Tij(c,s)来得 到的,Tij(c,s)是正交矩阵,并且det(Tij(c,s))=1。Tij(c,s)的第i行第i列和第j行第j列为cos,第i行第j列和第j行第i

列分别为sin和-sin,其他的都为0、任何n阶实非奇异矩阵A可通过左连乘Tij(c,s)矩阵(乘积为T)化为上三角矩阵R,另 Q=T-,就有A=QR。该方法最主要的是在把矩阵化为列向量的基础上找出c和s,然后由此把矩阵的一步步向上三角矩阵靠近。Givens方法相对Schmidt正交方法明显的原理要复杂得多,但是却计算量小得多,矩阵Tij(c,s)固有的性质很特别可以使其在很多方面的应用更加灵活。2、3.Householder方法的QR分解Householder方法分解矩阵是利用反射矩阵,即Householder矩阵H=E-2uuT,其中u是单位列向量,H是正交矩阵,detH=-1。可以证明,两个H矩阵的乘积就是Givens矩阵,并且任何实非奇异矩阵A可通过连乘Householder矩阵(乘积为S)化为上三角矩阵R,则A= QR。这种方法首要的就是寻找合适的单位列向量去构成矩阵H,过程和Givens方法基本相似,但是计算量要小一些。矩阵的QR分解可以用来解决线性最小二乘法的问题,也可以用来降低矩阵求逆的代价。矩阵的求逆是件不小的工程,尤其是阶数慢慢变大的情况时,而用先把矩阵QR分解成正交矩阵和上三角矩阵,就容易多了,况且正交矩阵的转置就是逆,这一点是其他的矩阵分解无法比拟的。在解求线性方程组中,如果系数矩阵的阶数比较大,可以利用QR分解来使计算简单化。另外,QR分解考虑的是n阶矩阵,其他的矩阵是不能用这种方法进行分解,由于QR 分解的这一前提条件,使得下面提到的满秩矩阵分解和奇异值分解就有了其特殊的意义。3、满秩分解满秩分解也称最大秩分

奇异值分解及其应用

奇异值分解及其应用 This model paper was revised by the Standardization Office on December 10, 2020

PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。就像是描述一个人一样,给别人描述说这个人长得浓眉大眼,方脸,络腮胡,而且带个黑框的眼镜,这样寥寥的几个特征,就让别人脑海里面就有一个较为清楚的认识,实际上,人脸上的特征是有着无数种的,之所以能这么描述,是因为人天生就有着非常好的抽取重要特征的能力,让机器学会抽取重要的特征,SVD是一个重要的方法。 在机器学习领域,有相当多的应用与奇异值都可以扯上关系,比如做feature reduction的PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层次检索的LSI(Latent Semantic Indexing) 奇异值与特征值基础知识 特征值分解和奇异值分解在机器学习领域都是属于满地可见的方法。两者有着很紧密的关系,我在接下来会谈到,特征值分解和奇异值分解的目的都是一样,就是提取出一个矩阵最重要的特征。先谈谈特征值分解吧: 如果说一个向量v是方阵A的特征向量,将一定可以表示成下面的形式: 这时候λ就被称为特征向量v对应的特征值,一个矩阵的一组特征向量是一组正交向量。特征值分解是将一个矩阵分解成下面的形式: 其中Q是这个矩阵A的特征向量组成的矩阵,Σ是一个对角阵,每一个对角线上的元素就是一个特征值。我这里引用了一些参考文献中的内容来说明一下。首先,要明确的是,一个矩阵其实就是一个线性变换,因为一个矩阵乘以一个向量后得到的向量,其实就相当于将这个向量进行了线性变换。比如说下面的一个矩阵: 它其实对应的线性变换是下面的形式:

(完整word版)矩阵分解及其简单应用

对矩阵分解及其应用 矩阵分解是指将一个矩阵表示为结构简单或具有特殊性质若干矩阵之积或之和,大体分为三角分解、QR 分解、满秩分解和奇异值分解。矩阵的分解是很重要的一部分内容,在线性代数中时常用来解决各种复杂的问题,在各个不同的专业领域也有重要的作用。秩亏网平差是测量数据处理中的一个难点,不仅表现在原理方面,更表现在计算方面,而应用矩阵分解来得到未知数的估计数大大简化了求解过程和难度。 1. 矩阵的三角分解 如果方阵A可表示为一个下三角矩阵L和一个上三角矩阵U之积,即A=LU 则称A可作三角分解。矩阵三角分解是以Gauss消去法为根据导出的,因此矩阵可以进行三角分解的条件也与之相同,即矩阵A的前n-1个顺序主子式都不为0, 即?k工0.所以在对矩阵A进行三角分解的着手的第一步应该是判断是否满足这个前提条件,否则怎么分解都没有意义。矩阵的三角分解不是唯一的,但是在一定的前提下, A=LDU勺分解可以是唯一的,其中D是对角矩阵。矩阵还有其他不同的三角分解,比如Doolittle 分解和Crout 分解,它们用待定系数法来解求 A 的三角分解,当矩阵阶数较大的时候有其各自的优点,使算法更加简单方便。 矩阵的三角分解可以用来解线性方程组Ax=b。由于A=LU,所以Ax=b可以变换成LU x=b,即有如下方程组: Ly = b { {Ux = y 先由Ly = b依次递推求得y i, y2, ........ ,y n,再由方程Ux = y依次递推求得X n, x n-1 , ... ,X1 . 必须指出的是,当可逆矩阵A不满足?k工0时,应该用置换矩阵P左乘A以便使PA 的n个顺序主子式全不为零,此时有: Ly = pb { { Ux = y 这样,应用矩阵的三角分解,线性方程组的解求就可以简单很多了。 2. 矩阵的QF分解 矩阵的QR分解是指,如果实非奇异矩阵A可以表示为A=QR其中Q为正交矩阵,R为实非奇异上三角矩阵。QR分解的实际算法各种各样,有Schmidt正交方

浅谈矩阵的LU分解和QR分解及其应用

浅谈矩阵的LU 分解和QR 分解及其应用 基于理论研究和计算的需要,往往有必要把矩阵分解为具有某种特性的矩阵之积,这就是我们所说的矩阵分解. 本文将介绍两种常用的矩阵分解方法,以及其在解线性方程组及求矩阵特征值中的应用. 1.矩阵的LU 分解及其在解线性方程组中的应用 1.1 高斯消元法 通过学习,我们了解到利用Gauss 消去法及其一些变形是解决低阶稠密矩阵方程组的有效方法.并且近些年来利用此类方法求具有较大型稀疏矩阵也取得了较大进展.下面我们就通过介绍Gauss 消去法,从而引出矩阵的LU 分解及讨论其对解线性方程组的优越性. 首先通过一个例子引入: 例1,解方程组 (1.1) (1. 2)(1.3) 解.1Step (1.1)(2)(1.3)?-+ 消去(1.3)中未知数,得到 23411x x --=-(1.4) 2Shep . (1.2)(1.4)+ 消去(1.4)中的未知数2 x 有12323364526x x x x x x ++=-=-=-????? 显然方程组的解为* x =123?? ? ? ? ?? 上述过程相当于 111604152211?? ?- ? ?-??~111604150411?? ?- ? ?---??~111 604150026?? ? - ? ? --?? 2-()+ ()i i r 表示矩阵的行

由此看出,消去法的基本思想是:用逐次消去未知数的方法把原方程化为与其等价的三角方程组. 下面介绍解一般n 阶线性方程组的Gauss 消去法. 设111n n1nn a a a a A ?? ?= ? ??? 1n x X x ?? ?= ? ??? 1n b b b ?? ? = ? ??? 则n 阶线性方程组 AX b =(1.5) 并且A 为非奇异矩阵. 通过归纳法可以将AX b =化为与其等价的三角形方程,事实上: 及方程(1.5)为()()1 1 A X b =,其中 ()1A A =()1 b b = (1) 设(1) 11 0a ≠,首先对行计算乘数() ()1 1i11 11i a m m =.用1i m -乘(1.5)的第一个方程加到第 ()2,3,,i i n =?个方程上.消去方程(1.5)的第2个方程直到第n 个方程的未知数1x . 得到与(1.5)等价的方程组()()()11n 12n 111nn 0a a x x a ????? ? ? ? ? ? ?????? =()()112n b b ?? ? ? ??? 简记作 ()()22A b =(1.6) 其中()()() ()()()211211111 ij ij i ij i i i a m b b m a a b =-=- (2) 一般第()11k k n ≤≤-次消去,设第1k -步计算完成.即等价于 ()()k k A X b = (1.7) 且消去未知数121,,,k x x x -?.其中() ()()() ()() ()()()()11 1 11 12 12222 2k k k k kk kn k nk nna n n a a a a a A a a a a ?? ? ? ? ? = ? ? ? ?? ?

矩阵的奇异值分解

§2 矩阵的奇异值分解 定义 设A 是秩为r 的m n ?复矩阵,T A A 的特征值为 1210r r n λλλ>λλ+≥≥ ≥===. 则称i σ=(1,2, ,)i n =为A 的奇异值. 易见,零矩阵的奇异值都是零,矩阵A 的奇异值的个数等于A 的列数,A 的非零奇异值的个数等于其秩. 矩阵的奇异值具有如下性质: (1)A 为正规矩阵时,A 的奇异值是A 的特征值的模; (2)A 为半正定的Hermite 矩阵时,A 的奇异值是A 的特征值; (3)若存在酉矩阵,m m n n ??∈∈U V C C ,矩阵m n ?∈B C ,使=UAV B ,则称A 和B 酉等价.酉等价的矩阵A 和B 有相同的奇异值. 奇异值分解定理 设A 是秩为r (0)r >的m n ?复矩阵,则存在m 阶酉矩阵U 与n 阶酉矩阵V ,使得 H ?? ==?? ?? O U AV O O ∑?. ① 其中12diag(,,,)r σσσ=∑,i σ(1,2,,)i r =为矩阵A 的全部非零奇异值. 证明 设Hermite 矩阵H A A 的n 个特征值按大小排列为 1210r r n λλλ>λλ+≥≥ ≥===. 则存在n 阶酉矩阵V ,使得 1 2 H H ()n λλ???? ??==??? ??? ??? ? O V A A V O O ∑. ②

将V 分块为 12()=V V V , 其中1V ,2V 分别是V 的前r 列与后n r -列. 并改写②式为 2 H ??=? ??? O A AV V O O ∑. 则有 H 2H 112==A AV V A AV O , ∑. ③ 由③的第一式可得 H H 2H 1111()()r ==V A AV AV AV E , 或者∑∑∑. 由③的第二式可得 H 222()() ==AV AV O AV O 或者. 令111-=U AV ∑,则H 11r =U U E ,即1U 的r 个列是两两正交的单位向量.记作112(,,,)r =U u u u , 因此可将12,,,r u u u 扩充成m C 的标准正交基, 记增添的向量为1, ,r m +u u ,并构造矩阵21(, ,)r m +=U u u ,则 12121(,)(,, ,,, ,)r r m +==U U U u u u u u 是m 阶酉矩阵,且有 H H 1121 r ==U U E U U O ,. 于是可得 H H H 1 121H 2()()????===???? ???? O U U AV U AV AV U O O O U ,,∑∑. 由①式可得 H H H H 111222r r r σσσ??==+++???? O A U V u v u v u v O O ∑. ④ 称④式为矩阵A 的奇异值分解. 值得注意的是:在奇异值分解中121,, ,,, ,r r m +u u u u u 是H AA 的特征 向量,而V 的列向量是H A A 的特征向量,并且H AA 与H A A 的非零特征值

矩阵分解及应用

引言 数学是人类历史中发展最早,也是发展最为庞大的基础学科。许多人说数学是万理之源,因为许多学科的研究都是以数学做为基础,有了数学的夯实基础,人类才铸就起了众多学科的高楼大厦,所以数学的研究和发展一直在不断的发展壮大。在数学中有一支耀眼的分支,那就是矩阵。在古今矩阵的研究发展长河中产生了许多闪耀星河的大家。英国数学大家詹姆斯?约瑟夫?西尔维斯特,一个数学狂人,正是他的孜孜不倦的研究使得矩阵理论正式被确立并开启了矩阵发展的快速发展通道。凯莱和西尔维斯特是非常要好的朋友,他也是一位非常伟大的数学大师,正是他们伟大的友谊,加上两人的齐心协力最后他们共同发展了行列式和矩阵的理论。后来高斯在矩阵方面的研究取得重要的成就,尤其是高斯消去法的确立,加速了矩阵理论的完善和发展。 而在我国,矩阵的概念古已有之。从最早的数学大家刘徽开始我们古代数学大家都已或多或少的研究了矩阵。尤其在数学大家刘徽写的《九章算术》中,它最早提出了矩阵的类似定义。而且是将矩阵的类似定义用在了解决遍乘直除问题里了。这已经开始孕育出了最早的矩阵形式。 随着时间转移,矩阵的理论不断的完善,在对于那些大型矩阵的计算中如果用基本方法显得过于繁重,于是发展出了矩阵的分解,随着对矩阵分解的不断研究完善,矩阵分解方法和理论也日趋成熟 矩阵经常被当做是数学工具,因为在数学问题中要经常用上矩阵的知识。矩阵是一个表格,要掌握其运算法则,作为表格的运算与数的运算既有联系又有差别,在所有矩阵的运算方法中,矩阵的分解是他们中一种最重要并且也是应用最广泛。矩阵分解主要是对高斯消去法的延续和拓展。 在一些大型的矩阵计算中,其计算量大,化简繁杂,使得计算非常复杂。如果运用矩阵的分解,将那些大型矩阵分解成简单的矩阵的乘积形式,则可大大降低计算的难度以及计算量。这就是矩阵分解的主要目的。而且对于矩阵的秩的问题,特征值的问题,行列式的问题等等,通过矩阵的分解后都可以清楚明晰的反应出来。就连矩阵的奇异性也显而易见。在另一方面,对于哪些大型的数值计算问题,矩阵的分解方式以及分解过程也可以作为其计算的理论依据。

奇异值分解及其应用

PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。就像是描述一个人一样,给别人描述说这个人长得浓眉大眼,方脸,络腮胡,而且带个黑框的眼镜,这样寥寥的几个特征,就让别人脑海里面就有一个较为清楚的认识,实际上,人脸上的特征是有着无数种的,之所以能这么描述,是因为人天生就有着非常好的抽取重要特征的能力,让机器学会抽取重要的特征,SVD是一个重要的方法。 在机器学习领域,有相当多的应用与奇异值都可以扯上关系,比如做feature reduction的PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层次检索的LSI(Latent Semantic Indexing) 奇异值与特征值基础知识 特征值分解和奇异值分解在机器学习领域都是属于满地可见的方法。两者有着很紧密的关系,我在接下来会谈到,特征值分解和奇异值分解的目的都是一样,就是提取出一个矩阵最重要的特征。先谈谈特征值分解吧: 特征值

如果说一个向量v是方阵A的特征向量,将一定可以表示成下面的形式: 这时候λ就被称为特征向量v对应的特征值,一个矩阵的一组特征向量是一组正交向量。特征值分解是将一个矩阵分解成下面的形式: 其中Q是这个矩阵A的特征向量组成的矩阵,Σ是一个对角阵,每一个对角线上的元素就是一个特征值。我这里引用了一些参考文献中的内容来说明一下。首先,要明确的是,一个矩阵其实就是一个线性变换,因为一个矩阵乘以一个向量后得到的向量,其实就相当于将这个向量进行了线性变换。比如说下面的一个矩阵: 它其实对应的线性变换是下面的形式: 因为这个矩阵M乘以一个向量(x,y)的结果是:

矩阵的奇异值分解及数值实现

矩阵的奇异值分解及数值实现 1.引言 矩阵的奇异值分解是数学研究中一种重要的方法, 除了其理论价值外,在工程领域中的应用也很普遍。例如: 在最优化问题、特征值问题、广义逆矩阵计算、高质量的统计计算、信号和图像处理、系统辨识、滤波器设计、谱估计、时间序列分析、控制理论和酉不变范数理论等领域, 奇异值分解都占有极其重要的作用同时它在求线性方程组的数组时也经常使用。它的核心在于在求出矩阵的有效秩的同时不改变矩阵的有关度量特性, 这对统计和检测数据的处理有很重要的作用。但矩阵奇异值分解的严重不足之处在于速度慢、计算量和存储量相当大, 并且到现在仍然没有计算矩阵的奇异值分解的快速算法。因此研究奇异值分解的快速算法,在理论上和工程实际中都有重要意义。 2.矩阵的奇异值分解 在数值分析中,矩阵的奇异值分解具有相当重要的作用, 因此在求矩阵的奇异值分解时, 必须掌握矩阵的奇异值分解的理论及相关概念。 2.1 矩阵的奇异值相关定义 定义2.1.1对于任一个mn阶复(实)矩阵A,设AH(AT)为A的共轭转置矩阵,则AHA的n个特征值的非负平方根称为A的奇异值,也就是A共有n个奇异值,且全部》0。AHA是一个半正定矩

阵,所以它的特征值》0。 设A?HYCmn(r>0),AHA的特征值 为?%d1>?%d夢…》?%dr>?%dr+1=- =?%dn=0则 称?%li=(i=1,2,…,n)为A的奇异值。 从定义可以看出以下性质: (1)mn 矩阵的奇异值的个数等于列数; (2)AHA和AAH的非零特征值相同,A的非零奇异值的个数等 于r?%ZnkA。 定义2。1。2设A为复数域C上的n阶矩阵,如果存在 数?%d?HY(和非零的n维向量x,使得Ax=?%dx就称?%d是矩阵A 的特征值,x是A的属于(或对应于)特征值?%d的特征向量。 定义2。1。3 设mn矩阵A?HYCmn,r?%ZnkA=r(r>0),则AHA 和AAH的特征值都是非负实数。 3.矩阵奇异值分解的性质 既然矩阵奇异值分解在计算中有如此重要的作用, 当然它就具有一些重要的性质, 并且这些性质的应用也相当广泛。 性质3.1 A的奇异值由A惟一确定,但酉矩阵U和V不惟一,故矩阵A的奇异值分解一般不惟一。 性质 3.2 奇异值分解可以计算出矩阵的条件数。 设A?HYCmn且存在可逆矩阵P使得 P- 1AP=di?%Zg(?%d1 …,?%dn),则称?UP-1?U|| PII 为矩阵A关于特征值问题的条件数, 记为k(P) 。

矩阵的奇异值分解在数字图像处理的应用

矩阵的奇异值分解 在数字图像处理的应用浅析 学院:··· 专业:·· 姓名:·· 学号:·· 2011年11月6日

目录 一、绪论 ................................................................................................................................. - 1 - 二、数字图像处理简介 ............................................................................................................. - 2 - 三、矩阵的奇异值分解原理 ..................................................................................................... - 4 - 3.1 矩阵的奇异值 ............................................................................................................. - 4 - 3.2 矩阵的奇异值分解(SVD) ....................................................................................... - 4 - 四、奇异值分解的图像性质 ..................................................................................................... - 5 - 五、图像的奇异值分解压缩方法 ............................................................................................. - 7 - 5.1 奇异值分解压缩原理分析 ......................................................................................... - 7 - 5.2 奇异值分解压缩应用过程 ......................................................................................... - 8 - 六、小结 ................................................................................................................................. - 9 -

相关主题
文本预览
相关文档 最新文档