奇異值、奇異矩陣、SVD分解、正交矩陣

2021-02-20 方寸與遠方

奇異值分解法是線性代數中一種重要的矩陣分解法,在信號處理、統計學等領域有重要應用。定義:設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)。這幾天做實驗涉及到奇異值分解svd(singular value decomposition),涉及到這樣的一個問題,做PCA時候400幅圖像拉成向量按列擺放,結果擺成了比如說10000*400大小的矩陣,用到svd函數進行奇異值分解找主分量,結果MATLAB提示超出內存,後來想起還有個函數叫svds,看到別人用過,以為只是一個變體,沒什麼區別,就用上了,結果確實在預料之中。但是今天覺得不放心,跑到變量裡面看了下,發現這個大的矩陣被分解成了三個10000*6,6*6,400*6大小的矩陣的乘積,而不是普通的svd分解得到的10000*10000,10000*400,400*400大小的矩陣乘積,把我嚇了一跳,都得到預期的結果,難不成這裡還出個簍子?趕緊試驗,發現任給一個M*N大小的矩陣,都是被分解成了M*6,6*6,N*6大小的矩陣的乘積,為什麼都會出現6呢?確實很納悶。help svds看了一下,發現SVDS(A) 返回的就是svds返回的就是最大的6個特徵值及其對應的特徵行向量和特徵列向量,還好,我們實驗中是在svds得到列向量中再取前5個最大的列向量,這個與普通的svd得到的結果是一致的,虛驚一場。還得到了一些別的,比如改變這個默認的設置,比如用[u,d,v]=svds(A,10)將得到最大的10個特徵值及其對應的最大特徵行向量和特徵列向量,[u,d,v]=svds(A,10,0)將得到最小的10個特徵值及其對應的特徵行向量和特徵列向量,[u,d,v]=svds(A,10,2)將得到與2最接近的10個特徵值及其對應的特徵行向量和特徵列向量。總之,相比svd,svds的可定製性更強。奇異值分解非常有用,對於矩陣A(m*n),存在U(m*m),V(n*n),S(m*n),滿足A = U*S*V』。U和V中分別是A的奇異向量,而S是A的奇異值。AA'的正交單位特徵向量組成U,特徵值組成S'SA'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的列向量空間的正交基。

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'。[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

相關焦點

  • 強大的矩陣奇異值分解(SVD)及其應用
    在上篇文章中便是基於特徵值分解的一種解釋。特徵值和奇異值在大部分人的印象中,往往是停留在純粹的數學計算中。而且線性代數或者矩陣論裡面,也很少講任何跟特徵值與奇異值有關的應用背景。奇異值分解是一個有著很明顯的物理意義的一種方法,它可以將一個比較複雜的矩陣用更小更簡單的幾個子矩陣的相乘來表示,這些小矩陣描述的是矩陣的重要的特性。
  • 奇異值分解及其應用
    兩者有著很緊密的關係,我在接下來會談到,特徵值分解和奇異值分解的目的都是一樣,就是提取出一個矩陣最重要的特徵。先談談特徵值分解吧:特徵值如果說一個向量v是方陣A的特徵向量,將一定可以表示成下面的形式:這時候λ就被稱為特徵向量v對應的特徵值,一個矩陣的一組特徵向量是一組正交向量。
  • 奇異值分解(SVD) 的 幾何意義
    這樣我們就把尋找矩陣的奇異值分解過程縮小到了優化函數|Mx|上了。結果發現(具體的推到過程這裡就不詳細介紹了)這個函數取得最優值的向量分別是矩陣 MT M 的特徵向量。由於MTM是對稱矩陣,因此不同特徵值對應的特徵向量都是互相正交的,我們用vi 表示MTM的所有特徵向量。奇異值σi = |Mvi| , 向量 ui 為Mvi 方向上的單位向量。但為什麼ui也是正交的呢?
  • 幾何角度理解奇異值分解SVD
    二、SVD的幾何意義奇異值分解SVD ( The singular value decomposition )從幾何意義上來說:對於任意矩陣M,通過SVD。可以將一個相互垂直的坐標變換到另外一個相互垂直的坐標。問題描述:用v1和v2分別表示原來坐標系中的單位向量, 經過左乘矩陣M後,向量Mv1和 Mv2正交。
  • 通俗易懂的講解奇異值分解(SVD)和主成分分析(PCA)
    而這個過程也被稱為矩陣的特徵分解。2.對稱矩陣的特徵分解對稱矩陣有一個非常重要的性質:他的特徵向量是正交向量。因此對於一個m×n維的矩形矩陣,我們能夠使用下面的方法對其進行特徵分解——即奇異值分解:其中,矩陣U和V是正交矩陣,Σ表示一個包含有奇異值的對角陣。
  • 矩陣的奇異值與特徵值有什麼相似之處與區別之處?
    奇異值分解正是對線性變換這三種效應的一個析構。A=,和是兩組正交單位向量,是對角陣,表示奇異值,它表示我們找到了和這樣兩組基,A矩陣的作用是將一個向量從這組正交基向量的空間旋轉到這組正交基向量空間,並對每個方向進行了一定的縮放,縮放因子就是各個奇異值。如果維度比大,則表示還進行了投影。可以說奇異值分解將一個矩陣原本混合在一起的三種作用效果,分解出來了。
  • 推薦系統 | 矩陣分解(SVD)原理和實戰
    標準化後∑的𝑛個特徵向量為標準正交基,滿足∑𝑇∑=𝐼,即∑𝑇=∑−1, 也就是說∑為酉矩陣。,得到的特徵矩陣即為𝑈;利用式(2-3)特徵值分解,得到的特徵矩陣即為𝑉;對Σ𝑇Σ或的特徵值開方,可以得到所有的奇異值。
  • SVD奇異值分解的數學涵義及其應用實例
    [online]Ams.org.Availableat: http://www.ams.org/publicoutreach/feature-column/fcarc-svd [Accessed 27 Feb. 2019].[2] Wikipedia contributors. "酉矩陣."維基百科, 自由的百科全書.
  • 數據科學中需要知道的5個關於奇異值分解(SVD)的應用
    線性代數的一種這樣的用途是奇異值分解(SVD)用於降維。你在數據科學中一定很多次遇到SVD。它無處不在,特別是當我們處理降維時。但它是什麼?它是如何工作的?SVD應用有什麼?事實上,SVD是推薦系統的基礎,而推薦系統是谷歌,YouTube,亞馬遜,Facebook等大公司的核心。
  • 奇異值分解簡介:從原理到基礎機器學習應用
    奇異值分解(SVD)可能是最著名和使用最廣泛的矩陣分解方法。所有矩陣都有一種 SVD 方法,這使得其比特徵分解(eigendecomposition)等其它方法更加穩定。因此,這種方法在很多應用中都有應用,包括壓縮、去噪、數據壓縮。在這份教程中,你將了解用於將矩陣分解成其組成元素的奇異值分解方法。
  • 矩陣分解 (乘法篇)
    對角和三角矩陣首先, 我們總結下, 在矩陣加法分解中出現了三種矩陣: 上三角矩陣, 下三角矩陣 和 對角陣。  這三種矩陣在乘法的分解中也會遇到。 那麼是不是乘法矩陣中有這三種矩陣就夠了呢? 不是的!正交矩陣還有一種經典的矩陣, 叫正交矩陣, 什麼叫正交矩陣呢?
  • 奇異值分解和矩陣分解傻傻分不清楚?一文幫你理清兩者差異!
    在推薦系統的相關研究中,我們常常用到兩個相關概念:矩陣分解和奇異值分解。這兩個概念是同一種算法嗎?兩者到底有什麼差別?在本文中,作者梳理了兩種算法的概念、來源和內容,並進行了比較。通過對相關內容的梳理,作者提出,矩陣分解是推薦系統中最初使用的概念,奇異值分解是對該方法的進一步發展。在現在的討論中,一般將兩種方法統一成為奇異值分解。
  • 「矩陣接近奇異值,或者縮放錯誤」解決方法
    對矩陣求逆或者求解線性方程組時,若出現「矩陣接近奇異值,或者縮放錯誤。結果可能不準確。Matrix is close to singular or badly scaled.直接求逆使用函數x=inv(A)*b,此方法等價於x=A^(-1)*b,但這種方法是通過構造顯式逆矩陣,如果A接近奇異或奇異,會返回不準確的結果。並且實際很少需要知道矩陣求逆結果,一般求解線性方程組時很少使用此種方法。2.
  • 從此, 實對稱矩陣, 實反稱矩陣, 正交矩陣殊途同歸
    , 這雖然有點難, 但是掌握好了, 那么正交矩陣就沒什麼問題了! , 也是如此, 其虛特徵值對應的特徵向量的實部與虛部是模長相等且正交: 上述結論和正交矩陣(正交變換)的性質基本是一樣的, 對應著可以得到實反稱矩陣的正交相似標準形:
  • 專題七:矩陣分解
    專題七:矩陣分解矩陣分解分為兩類:和分解與積分解.和分解是將一個矩陣分解為一些矩陣的和.積分解是將一個矩陣分解為一些矩陣的乘積.矩陣分解通常是利用標準形理論.,則存在正交矩陣既是上三角矩陣又是正交矩陣,或者正交三角分解.例(華中科技大學,2005)任一
  • 矩陣的特徵值與特徵向量
    正定矩陣:所有特徵值都為正數的矩陣稱為正定矩陣。半正定矩陣:所有特徵值都為非負數的矩陣稱為半正定矩陣。 四、特徵分解(EVD)        特徵分解又稱譜分解,是將矩陣分解為由其特徵值和特徵向量表示的矩陣之積的方法(可類比於整數分解質因數)。只有可對角化矩陣才可以進行特徵分解。任意一個實對稱矩陣都可以對角化,故可分解為實特徵向量和實特徵值。        假設n×n的方陣A有n個線性無關的特徵向量
  • 深入了解SVD與糾纏
    讓我們聊聊SVD吧。奇異值分解SVD可以說是線性代數中最重要、最著名的工具之一。你可能已經對它非常熟悉了,但這裡還是要快速地回顧一下。每個矩陣MM都可以分解為M=UDV† ,如下圖所示,稱為M的奇異值分解。對角矩陣D的元素為非負數,稱為奇異值,它們的數量等於M的秩,比如說k。更重要的是,U和V正好有k列,分別稱為左、右奇異值向量。
  • 線性代數18->內積&正交矩陣
    . + anbn稱為向量α和β的內積性質(1)(α,β)= (β,α)(2)(α+β,γ)= (α,γ)+(β,γ)(3)(kα,β)= k(α,β)(4)(α,α)>= 0(5)(α,α)= 0 <=> α = 0如(α,β) = 0,稱α與β正交
  • 線性代數(三) 特殊矩陣
    (4)正交矩陣① 定義:轉置等於其逆的矩陣成為正交矩陣(7)奇異矩陣② 性質:可逆矩陣一定是非奇異矩陣,非奇異矩陣一定是可逆矩陣。