奇异值分解的计算量是多少?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/17 11:40:13
奇异值分解的计算量是多少?
奇异值分解的计算量是多少?
奇异值分解的计算量是多少?
奇异值分解
奇异值分解(Singular Value Decomposition)是线性代数中一种重要的矩阵分解,是矩阵分析中正规矩阵酉对角化的推广.在信号处理、统计学等领域有重要应用.
基本介绍
分析解释定理和推论
matlab奇异值分解
矩阵近似值
相关发展基本介绍
定理和推论
matlab奇异值分解
矩阵近似值
相关发展
展开 编辑本段基本介绍
奇异值分解在某些方面与对称矩阵或Hermite矩阵基于特征向量的对角化类似.然而这两种矩阵分解尽管有其相关性,但还是有明显的不同.对称阵特征向量分解的基础是谱分析,而奇异值分解则是谱分析理论在任意矩阵上的推广.[1]
编辑本段分析解释
定理和推论
定理:设A为m*n阶复矩阵,则存在m阶矩阵U和n阶矩阵V,使得: A = U*S*V’ 其中S=diag(σi,σ2,……,σr),σi>0 (i=1,…,r),r=rank(A). 推论:设A为m*n阶实矩阵,则存在m阶正交阵U和n阶正交阵V,使得 A = U*S*V’ 其中S=diag(σi,σ2,……,σr),σi>0 (i=1,…,r),r=rank(A). 说明: 1、 奇异值分解非常有用,对于矩阵A(m*n),存在U(m*m),V(n*n),S(m*n),满足A = U*S*V’.U和V中分别是A的奇异向量,而S是A的奇异值.AA'的正交单位特征向量组成U,特征值组成S'S,A'A的正交单位特征向量组成V,特征值(与AA'相同)组成SS'.因此,奇异值分解和特征值问题紧密联系. 2、 奇异值分解提供了一些关于A的信息,例如非零奇异值的数目(S的阶数)和A的秩相同,一旦秩r确定,那么U的前r列构成了A的列向量空间的正交基.
matlab奇异值分解
函数 svd 格式 s = svd (A) %返回矩阵A的奇异值向量 [U,S,V] = svd(A) %返回一个与A同大小的对角矩阵S,两个矩阵U和V,且满足= U*S*V'.若A为m×n阵,则U为m×m阵,V为n×n阵.奇异值在S的对角线上,非负且按降序排列 [U1,S1,V1]=svd(X,0) %产生A的“经济型”分解,只计算出矩阵U的前n列和n×n阶的S. 说明: 1.“经济型”分解节省存储空间. 2.U*S*V'=U1*S1*V1'.[2]
编辑本段矩阵近似值
奇异值分解在统计中的主要应用为主成分分析(PCA),它是一种数据分析方法,用来找出大量数据中所隐含的“模式”,它可以用在模式识别,数据压缩等方面.PCA算法的作用是把数据集映射到低维空间中去. 数据集的特征值(在SVD中用奇异值表征)按照重要性排列,降维的过程就是舍弃不重要的特征向量的过程,而剩下的特征向量张成空间为降维后的空间.
编辑本段相关发展
在08年以前,奇异值分解都无法并行处理.(虽然 Google 早就有了MapReduce等并行计算的工具,但是由于奇异值分解很难拆成不相关子运算,即使在 Google 内部以前也无法利用并行计算的优势来分解矩阵.) 2008年初,Google 中国的张智威博士和几个中国的工程师及实习生已经实现了奇异值分解的并行算法,这是 Google中国对世界的一个贡献.[3]