Matlab 奇異值、奇異矩陣、svd函式
阿新 • • 發佈:2018-11-24
奇異值:
奇異值分解法是線性代數中一種重要的矩陣分解法,在訊號處理、統計學等領域有重要應用。
定義:設A為m*n階矩陣,A'表示A的轉置矩陣,A'*A的n個特徵值的非負平方根叫作A的奇異值。記為σi(A)。如果把A‘*A的特徵值記為λi(A‘*A),則σi(A)=sqrt(λi(A’*A))。
奇異矩陣:
奇異矩陣是線性代數的概念,就是對應的行列式等於0的矩陣。
奇異矩陣的判斷方法:首先,看這個矩陣是不是方陣(即行數和列數相等的矩陣。若行數和列數不相等,那就談不上奇異矩陣和非奇異矩陣)。然後,再看此方陣的行列式|A|是否等於0,若等於0,稱矩陣A為奇異矩陣;若不等於0,稱矩陣A為非奇異矩陣。 同時,由|A|≠0可知矩陣A可逆,這樣可以得出另外一個重要結論:可逆矩陣就是非奇異矩陣,非奇異矩陣也是可逆矩陣。如果A為奇異矩陣,則AX=0有非零解或無解。如果A為非奇異矩陣,則AX=0有且只有唯一零解。
svd設A為m*n階矩陣,A'表示A的轉置矩陣,A'*A的n個特徵值的非負平方根叫作A的奇異值。記為σi(A)。
奇異值分解:
奇異值分解非常有用,對於矩陣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'。因此,奇異值分解和特徵值問題緊密聯絡 。
定理和推論定理:
設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的列向量空間的正交基。
奇異值分解函式 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'。
[1]矩陣近似值奇異值分解在統計中的主要應用為主成分分析(PCA),它是一種資料分析方法,用來找出大量資料中所隱含的“模式”,它可以用在模式識別,資料壓縮等方面。PCA演算法的作用是把資料集對映到低維空間中去。資料集的特徵值(在SVD中用奇異值表徵)按照重要性排列,降維的過程就是捨棄不重要的特徵向量的過程,而剩下的特徵向量張成空間為降維後的空間。正交矩陣正交矩陣是實數特殊化的酉矩陣,因此總是正規矩陣。儘管我們在這裡只考慮實數矩陣,這個定義可用於其元素來自任何域的矩陣。正交矩陣畢竟是從內積自然引出的,對於複數的矩陣這導致了歸一要求。
注意正交矩陣的定義:n階‘實矩陣’ A稱為正交矩陣,如果:A×A′=E(E為單位矩陣,A'表示“矩陣A的轉置矩陣”。) 若A為正交陣,則下列諸條件是等價的:
1) A 是正交矩陣
2) A×A′=E(E為單位矩陣)
3) A′是正交矩陣
4) A的各行是單位向量且兩兩正交
5) A的各列是單位向量且兩兩正交
6) (Ax,Ay)=(x,y) x,y∈R
參考:
http://moorechia.blog.163.com/blog/static/464070902012040504067/
http://blog.sina.com.cn/s/blog_6a67b5c50100n3g5.html
https://blog.csdn.net/u010555688/article/details/38899331