奇异值
数学概念
奇异值是矩阵里的概念,一般通过奇异值分解定理求得。设A为m*n阶矩阵,q=min(m,n),A*A的q个非负特征值的算术平方根叫作A的奇异值。奇异值分解是线性代数矩阵论中一种重要的矩阵分解法,适用于信号处理和统计学等领域。
分解定理
设给定,令并假设
(a)存在酉矩阵与,以及一个对角方阵
使得以及
(b)参数是的按照递减次序排列的非零特征值的正的平方根,它们与的按照递减次序排列的非零特征值的正的平方根是相同的。
定义
在奇异值分解定理中,矩阵的对角元素(即纯量,它们是方阵的对角元素),称为矩阵A的奇异值。A的奇异值由的特征值唯一地决定(等价地说,是由的特征值唯一地决定)。
A的奇异值的重数是作为的特征值的重数,或者,等价地说,也就是的特征值的重数。如果A的一个奇异值是且是(或)的单重特征值,则奇异值称为单重的。
奇异值与秩
矩阵A的等于它的非零奇异值的个数,而不小于它的非零特征值的个数。
定理及结论
(1)设,有相同的奇异值
(2)的两个平方的奇异值是:
(3)设给定一个无穷序列,并假设(逐个元素地收敛),又设,设以及分别是A与按非增次序排列的奇异值(对),那么,对每个都有
(4)设,其中,若A是满秩的,当且仅当它的所有奇异值都是正数。
Matlab函数
svd函数是Matlab中对矩阵进行奇异值分解的内置函数,用法如下:
s = svd(A) %返回矩阵A的按降序排列的奇异值
[U,S,V] = svd(A) %对A进行奇异值分解,A = U*S*V'
[U,S,V] = svd(A,'econ')
[U,S,V] = svd(A,0)
应用
奇异值分解法是线性代数矩阵论中一种重要的矩阵分解法,在信号处理、统计学等领域有重要应用。
下面以在数据分析中的降噪为例。
在现实生活中,我们搜集的数据中总是存在噪声:无论采用的设备多精密,方法有多好,总是会存在一些误差的。由于大的奇异值对应着矩阵中的主要信息,因此可以运用奇异值分解进行数据分析,提取矩阵的主要信息。
假如我们搜集的数据如下所示:
将数据用矩阵的形式表示:
经过奇异值分解后,得到:
由于第一个奇异值远比第二个要大,数据中有包含一些噪声,第二个奇异值在原始矩阵分解相对应的部分可以忽略。经过SVD分解后,保留了主要样本点如图1所示:
参考资料
SVD.mathworks.
最新修订时间:2024-10-05 18:10
目录
概述
分解定理
定义
奇异值与秩
参考资料