奇異值

奇異值

奇異值是矩陣里的概念,一般通過奇異值分解定理求得。設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分解後,保留了主要樣本點如圖所示:
奇異值

相關詞條

熱門詞條

聯絡我們