奇異值

奇異值

奇異值是矩陣里的概念,一般通過奇異值分解定理求得。設A為m*n階矩陣,q=min(m,n),A*A的q個非負特徵值的算術平方根叫作A的奇異值。奇異值分解是線性代數和矩陣論中一種重要的矩陣分解法,適用於信號處理和統計學等領域。

基本介紹

  • 中文名:奇異值
  • 外文名:singular value
  • 學科:數學
  • 常用於:壓縮;降噪
  • 方法:奇異值分解
  • 套用:信號處理等
分解定理,定義,奇異值與秩,定理及結論,Matlab函式,套用,

分解定理

設給定
,令
並假設
(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分解後,保留了主要樣本點如圖所示:
奇異值

相關詞條

熱門詞條

聯絡我們