奇異值分解 SVD 線性變換幾何意義

2021-08-08 16:41:46 字數 2515 閱讀 8418

科學網--奇異值分解--線性變換的幾何意義

ps:一直以來對svd分解似懂非懂,此文為譯文,原文以細緻的分析+大量的視覺化圖形演示了svd的幾何意義。能在有限的篇幅把這個問題講解的如此清晰,實屬不易。原文舉了乙個簡單的影象處理問題,簡單形象,真心希望路過的各路朋友能從不同的角度闡述下自己對svd實際意義的理解,比如 個性化推薦中應用了svd,文字以及web挖掘的時候也經常會用到svd。

原文:we recommend a singular value decomposition 簡介

svd提供了一種非常便捷的矩陣分解方式,能夠發現資料中十分有意思的潛在模式。在這篇文章中,我們將會提供對svd幾何上的理解和一些簡單的應用例項。

線性變換的幾何意義(the geometry of linear transformations)

讓我們來看一些簡單的線性變換例子,以 2 x 2 的線性變換矩陣為例,首先來看乙個較為特殊的,對角矩陣:

從幾何上講,m是將二維平面上的點(x,y)經過線性變換到另外乙個點的變換矩陣,如下圖所示

變換的效果如下圖所示,變換後的平面僅僅是沿x水平方面進行了拉伸3倍,垂直方向是並沒有發生變化。

現在看下矩陣

這個矩陣產生的變換效果如下圖所示

這種變換效果看起來非常的奇怪,在實際環境下很難描述出來變換的規律 ( 這裡應該是指無法清晰辨識出旋轉的角度,拉伸的倍數之類的資訊)。還是基於上面的對稱矩陣,假設我們把左邊的平面旋轉45度角,然後再進行矩陣m的線性變換,效果如下圖所示:

看起來是不是有點熟悉? 對的,經過m線性變換後,跟前面的對角矩陣的功能是相同的,都是將網格沿著乙個方向拉伸了3倍。

這裡的m是乙個特例,因為它是對稱的。非特殊的就是我們在實際應用中經常遇見一些 非對稱的,非方陣的矩陣。如上圖所示,如果我們有乙個 2 x 2 的對稱矩陣m的話,我們先將網格平面旋轉一定的角度,m的變換效果就是在兩個維度上進行拉伸變換了。

用更加數學的方式進行表示的話,給定乙個對稱矩陣m,我們可以找到一些相互正交vi,滿足mvi就是沿著vi方向的拉伸變換,公式如下:

mvi= λ

ivi

這裡的 λ

i 是拉伸尺度(scalar)。從幾何上看,m對向量vi進行了拉伸,對映變換。vi稱作矩陣 m 的特徵向量(eigenvector), λ

i 稱作為矩陣m特徵值(eigenvalue)。這裡有乙個非常重要的定理,對稱矩陣m的特徵向量是相互正交的。

如果我們用這些特徵向量對網格平面進行線性變換的話,再通過m矩陣對網格平面進行線性換的效果跟對m矩陣的特徵向量進行線性變換的效果是一樣的。

對於更為普通的矩陣而言,我們該怎麼做才能讓乙個原來就是相互垂直的網格平面(orthogonal grid), 線性變換成另外乙個網格平面同樣垂直呢?ps:這裡的垂直如圖所示,就是兩根交錯的線條是垂直的。

經過上述矩陣變換以後的效果如圖

從圖中可以看出,並沒有達到我們想要的效果。我們把網格平面旋轉 30 度角的話,然後再進行同樣的線性變換以後的效果,如下圖所示

讓我們來看下網格平面旋轉60度角的時候的效果。

嗯嗯,這個看起來挺不錯的樣子。如果在精確一點的話,應該把網格平面旋轉 58.28 度才能達到理想的效果。

奇異值分解在影象中的應用

特徵分解 奇異值分解幾何意義

為了從直觀上理解特徵分解和奇異值分解,可以研究一下它們的幾何意義 假設有矩陣 a 和其特徵向量 x 它們滿足ax x 其中 為特徵值。從上式就能看出x a 下,保持方向不變的向量。一般的,矩陣 a 作用在 相乘 乙個向量上,會使該向量發生縮放 旋轉變換。如果我們換一下座標系,以 a 的特徵向量作為基...

奇異值分解 SVD

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

SVD奇異值分解

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