1. 程式人生 > >奇異值分解 SVD 的數學解釋

奇異值分解 SVD 的數學解釋

奇異值分解(Singular Value Decomposition,SVD)是一種矩陣分解(Matrix Decomposition)的方法。除此之外,矩陣分解還有很多方法,例如特徵分解(Eigendecomposition)、LU分解(LU decomposition)、QR分解(QR decomposition)和極分解(Polar decomposition)等。這篇文章主要說下奇異值分解,這個方法在機器學習的一些演算法裡佔有重要地位。

相關概念

參考自維基百科。

  • 正交矩陣:若一個方陣其行與列皆為正交的單位向量,則該矩陣為正交矩陣,且該矩陣的轉置和其逆相等。兩個向量正交的意思是兩個向量的內積為 0
  • 正定矩陣:如果對於所有的非零實係數向量 z,都有 zTAz>0,則稱矩陣 A 是正定的。正定矩陣的行列式必然大於 0, 所有特徵值也必然 > 0。相對應的,半正定矩陣的行列式必然 ≥ 0。

定義

In linear algebra, the singular value decomposition (SVD) is a factorization of a real or complex matrix. It is the generalization of the eigendecomposition of a positive semidefinite normal matrix (for example, a symmetric matrix with positive eigenvalues) to any m

×n matrix via an extension of polar decomposition.

也就是說 SVD 是線代中對於實數矩陣和複數矩陣的分解,將特徵分解從 半正定矩陣 推廣到任意 m×n 矩陣。

注意:本篇文章內如未作說明矩陣均指實數矩陣。

假設有 m×n 的矩陣 A ,那麼 SVD 就是要找到如下式的這麼一個分解,將 A 分解為 3 個矩陣的乘積:

Am×n=Um×mΣm×nVTn×n

其中,UV 都是正交矩陣 (Orthogonal Matrix),在複數域內的話就是酉矩陣(Unitary Matrix),即

UTU=Em×m VT
V=En×n

換句話說,就是說 U 的轉置等於 U 的逆,V 的轉置等於 V 的逆:

UT=U1 VT=V1

Σ 就是一個非負實對角矩陣。

那麼 UV 以及 Σ 是如何構成的呢?

求解

UV 的列分別叫做 A左奇異向量(left-singular vectors)和 右奇異向量(right-singular vectors),Σ 的對角線上的值叫做 A 的奇異值(singular values)。

其實整個求解 SVD 的過程就是求解這 3 個矩陣的過程,而求解這 3 個矩陣的過程就是求解特徵值和特徵向量的過程,問題就在於 求誰的特徵值和特徵向量

  • U 的列由 AAT 的單位化過的特徵向量構成
  • V 的列由 ATA 的單位化過的特徵向量構成
  • Σ 的對角元素來源於 AATATA 的特徵值的平方根,並且是按從大到小的順序排列的

知道了這些,那麼求解 SVD 的步驟就顯而易見了:

  1. AAT 的特徵值和特徵向量,用單位化的特徵向量構成 U
  2. ATA 的特徵值和特徵向量,用單位化的特徵向量構成 V
  3. AAT 或者 ATA 的特徵值求平方根,然後構成 Σ

舉例

假設

A=21004300

那麼可以計算得到

AAT=20140014100000000000

接下來就是求這個矩陣的特徵值和特徵向量了

AATx=λx (AATλE)x=0

要想該方程組有非零解(即非零特徵值),那麼係數矩陣 AATλE 的行列式必須為 0

20λ14001410

相關推薦

奇異分解 SVD數學解釋

奇異值分解(Singular Value Decomposition,SVD)是一種矩陣分解(Matrix Decomposition)的方法。除此之外,矩陣分解還有很多方法,例如特徵分解(Eigendecomposition)、LU分解(LU decompos

[數學] 奇異分解SVD的理解與應用

資料 blank art use 過濾 ble 對角線 cos .net 看一個預測的代碼,在預處理數據的時候使用了svd。了解了一下svd相關資料,比較喜歡第一篇文章的解釋,不過第二篇也很簡單。 https://blog.csdn.net/ab_use/article/d

機器學習中的數學-強大的矩陣奇異分解(SVD)及其應用

版權宣告:     本文由LeftNotEasy釋出於http://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applications.html 前言: &nb

數學基礎系列(六)----特徵值分解奇異分解(SVD)

一、介紹   特徵值和奇異值在大部分人的印象中,往往是停留在純粹的數學計算中。而且線性代數或者矩陣論裡面,也很少講任何跟特徵值與奇異值有關的應用背景。   奇異值分解是一個有著很明顯的物理意義的一種方法,它可以將一個比較複雜的矩陣用更小更簡單的幾個子矩陣的相乘來表示,這些小矩陣描述的是矩陣的重要的特性。就像是

奇異分解(SVD)原理及應用

4.4 存在 post 定性 tro ant 二維 5.1 spl 一、奇異值與特征值基礎知識: 特征值分解和奇異值分解在機器學習領域都是屬於滿地可見的方法。兩者有著很緊密的關系,我在接下來會談到,特征值分解和奇異值分解的目的都是一樣,就是提取出一個矩陣最重要的特征

主成分分析PCA & 奇異分解SVD

一 特徵值和特徵向量 想了解PCA和SVD,首先要了解的一個概念就是特徵值和特徵向量。        A是矩陣,x是向量、是數。如果滿足公式,則說是矩陣A的一個特徵值,非零向量x為矩陣A的屬於特徵值的特徵向量。矩陣A的特徵值和特徵向量可以寫成以下格式,請注

奇異分解(SVD)原理詳解

一、奇異值與特徵值基礎知識:     特徵值分解和奇異值分解在機器學習領域都是屬於滿地可見的方法。兩者有著很緊密的關係,我在接下來會談到,特徵值分解和奇異值分解的目的都是一樣,就是提取出一個矩陣最重要的特徵。先談談特徵值分解吧:    1)特

【簡化資料】奇異分解 SVD

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

機器學習:奇異分解SVD簡介及其在推薦系統中的簡單應用

轉載自:https://www.cnblogs.com/lzllovesyl/p/5243370.html 本文先從幾何意義上對奇異值分解SVD進行簡單介紹,然後分析了特徵值分解與奇異值分解的區別與聯絡,最後用python實現將SVD應用於推薦系統。 1.SVD詳解 SVD(singul

【機器學習筆記14】奇異分解(SVD)

奇異值分解 定義: 假設A是一個m×nm \times nm×n的矩陣,則存在如下一種分解: Am×n=Um×m∑m×nVn×nTA_{m \times n}=U_{m \times m} \sum_{m \times n} V_{n \times n}^T

矩陣論(三):矩陣分解—從Schur分解、特徵值分解EVD到奇異分解SVD

本篇部落格針對三種聯絡十分緊密的矩陣分解(Schur分解、特徵值分解、奇異值分解)依次介紹,它們的關係是Schur→EVD→SVDSchur\rightarrow{}EVD\rightarrow{}SVDSchur→EVD→SVD,也就是說由Schur分解可以推

一步步教你輕鬆學奇異分解SVD降維演算法

摘要:奇異值分解(singular value decomposition)是線性代數中一種重要的矩陣分解,在生物資訊學、訊號處理、金融學、統計學等領域有重要應用,SVD都是提取資訊的強度工具。在機器學習領域,很多應用與奇異值都有關係,比如推薦系統、資料壓縮(以影象壓縮為代表)、搜尋引擎語義層次檢索的

奇異分解SVD簡介及其在推薦系統中的簡單應用

本文先從幾何意義上對奇異值分解SVD進行簡單介紹,然後分析了特徵值分解與奇異值分解的區別與聯絡,最後用python實現將SVD應用於推薦系統。 1.SVD詳解 SVD(singular value decomposition),翻譯成中文就是奇異值分解。SVD的用處有

奇異分解(SVD)原理與在降維中的應用

奇異值分解(Singular Value Decomposition,以下簡稱SVD)是在機器學習領域廣泛應用的演算法,它不光可以用於降維演算法中的特徵分解,還可以用於推薦系統,以及自然語言處理等領域。是很多機器學習演算法的基石。本文就對SVD的原理做一個總結,

【轉載】奇異分解(SVD)計算過程示例

原文連結:奇異值分解(SVD)的計算方法 奇異值分解是線性代數中一種重要的矩陣分解方法,這篇文章通過一個具體的例子來說明如何對一個矩陣A進行奇異值分解。 首先,對於一個m*n的矩陣,如果存在正交矩陣U(m*m階)和V(n*n階),使得(1)式成立: \[A=U \Sigma V^T \tag{1

奇異分解(SVD)原理詳解及推導

 轉載請宣告出處http://blog.csdn.net/zhongkejingwang/article/details/43053513     在網上看到有很多文章介紹SVD的,講的也都不錯,但是感覺還是有需要補充的,特別是關於矩陣和對映之間的對應關係。前段時間看了國外

機器學習實戰(Machine Learning in Action)學習筆記————10.奇異分解(SVD)原理、基於協同過濾的推薦引擎、資料降維

關鍵字:SVD、奇異值分解、降維、基於協同過濾的推薦引擎作者:米倉山下時間:2018-11-3機器學習實戰(Machine Learning in Action,@author: Peter Harrington)原始碼下載地址:https://www.manning.com/books/machine-le

機器學習實戰(Machine Learning in Action)學習筆記————10.奇異分解(SVD)原理、基於協同過濾的推薦引擎、數據降維

www 實現 由於 就是 計算 學習筆記 圖片 blob 標示 關鍵字:SVD、奇異值分解、降維、基於協同過濾的推薦引擎作者:米倉山下時間:2018-11-3機器學習實戰(Machine Learning in Action,@author: Peter Harringto

什麼是奇異分解(SVD)?

一、奇異值與特徵值基礎知識:     特徵值分解和奇異值分解在機器學習領域都是屬於滿地可見的方法。兩者有著很緊密的關係,我在接下來會談到,特徵值分解和奇異值分解的目的都是一樣,就是提取出一個矩陣最重要的特徵。先談談特徵值分解吧:    1)特

奇異分解(SVD) --- 線性變換幾何意義

SVD實際上是數學專業內容,但它現在已經滲入到不同的領域中。SVD的過程不是很好理解,因為它不夠直觀,但它對矩陣分解的效果卻非常好。比如,Netflix(一個提供線上電影租賃的公司)曾經就懸賞100萬美金,如果誰能提高它的電影推薦系統評分預測準確率提高10%的話。令人驚訝的是,這個目標充滿了挑戰