奇異值分解 SVD 原理詳解及推導

2021-08-07 01:38:24 字數 1974 閱讀 4354

今天學習svd原理,檢視一些博文與資料,為了方便複習,做一下學習筆記。

svd不僅是乙個數學問題,在工程應用中的很多地方都有它的身影,比如前面講的pca,掌握了svd原理後再去看pca那是相當簡單的,在推薦系統方面,svd更是名聲大噪,將它應用於推薦系統的是netflix大獎的獲得者koren,可以在google上找到他寫的文章。

設a∈

cm×n

r ,那麼存在b∈

cm×r

r ,c∈

cr×n

r ,使得a=

bc,其中b為列滿秩矩陣,c為行滿秩矩陣;這樣的分解為矩陣的滿秩分解

定義
aa

t=e (

e 為單位矩陣,at

表示「矩陣a的轉置矩陣」。)或at

a=e ,則n階實矩陣a稱為正交矩陣。

正交變換

正交矩陣是在歐幾里得空間裡的叫法,在酉空間裡叫酉矩陣乙個正交矩陣對應的變換叫正交變換,這個變換的特點是不改變向量的尺寸和向量間的夾角,那麼它到底是個什麼樣的變換呢?看下面這張圖1:

通過圖1,可知:

向量x=

[ab]

,e1與e2

相互正交的單位向量,e1

′ 與e2

′ 相互正交的單位向量;設oa

′=m⋅

e1,ob

′=m⋅

e2,其中

m 為線性變換的矩陣(即將座標旋轉)。設定m

⋅e1在

e11 模為σ1

,m⋅e2

在e21 的模為σ2

,則 m⋅

e1=σ

1⋅e1

′(1)

m⋅e2=σ2

⋅e2′

(2)

通過向量的性質我們知道: x

=(e1

⋅x)⋅

e1+(

e2⋅x

)⋅e2

(3) mx

=(e1

⋅x)m

⋅e1+

(e2⋅

x)m⋅

e2(4)

因為(1)與(2),則: m

x=(e

1⋅x)

⋅σ1⋅

e1′+

(e2⋅

x)⋅σ

2⋅e2

′(5)

在(5)中 e

1⋅x 與 e

2⋅x 是向量的內積,我們轉換成向量轉置來表示: m

x=(e

1tx)

⋅σ1⋅

e1′+

(e2t

x)⋅σ

2⋅e2

′(6)

m=e1′⋅σ

1⋅e1

t+e2

′⋅σ2

⋅(e2

t)(7)

通過(7)知道: m

=uσv

t(8)

其中 u

矩陣的列向量分別是e1

′和 e

2′,

σ 是乙個對角矩陣,對角元素分別是對應的σ1 和 σ2,v矩陣的列向量分別是 e

1 和 e

2 。上角標t 表示矩陣 v

的轉置。

總結

這就表明任意的矩陣 m 是可以分解成三個矩陣。v表示了原始域的標準正交基,u表示經過m 變換後的co-domain的標準正交基,σ表示了v 中的向量與u中相對應向量之間的關係

未完待續。。。。。。。

奇異值分解 SVD 原理詳解及推導

在網上看到有很多文章介紹svd的,講的也都不錯,但是感覺還是有需要補充的,特別是關於矩陣和對映之間的對應關係。前段時間看了國外的一篇文章,叫a singularly valuable decomposition the svd of a matrix,覺得分析的特別好,把矩陣和空間關係對應了起來。本...

奇異值分解 SVD

最近不小心接觸到了svd,然後認真看下去之後發現這東西真的挺強大的,把乙個推薦問題轉化為純數學矩陣問題,看了一些部落格,把乙個寫個比較具體的博文引入進來,給自己看的,所以把覺得沒必要的就去掉了,博文下面附原始部落格位址。一 基礎知識 1.矩陣的秩 矩陣的秩是矩陣中線性無關的行或列的個數 2.對角矩陣...

SVD奇異值分解

原文出處 今天我們來講講奇異值分解和它的一些有意思的應用。奇異值分解是乙個非常,非常,非常大的話題,它的英文是 singular value decomposition,一般簡稱為 svd。下面先給出它大概的意思 對於任意乙個 m n 的矩陣 m 不妨假設 m n 它可以被分解為 m udv t 其...