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

PS:一直以來(lái)對(duì)SVD分解似懂非懂岭接,此文為譯文名眉,原文以細(xì)致的分析+大量的可視化圖形演示了SVD的幾何意義帚湘。能在有限的篇幅把這個(gè)問(wèn)題講解的如此清晰军洼,實(shí)屬不易巩螃。原文舉了一個(gè)簡(jiǎn)單的圖像處理問(wèn)題,簡(jiǎn)單形象匕争,真心希望路過(guò)的各路朋友能從不同的角度闡述下自己對(duì)SVD實(shí)際意義的理解避乏,比如 個(gè)性化推薦中應(yīng)用了SVD,文本以及Web挖掘的時(shí)候也經(jīng)常會(huì)用到SVD甘桑。
原文:We recommend a singular value decomposition

簡(jiǎn)介

SVD實(shí)際上是數(shù)學(xué)專業(yè)內(nèi)容拍皮,但它現(xiàn)在已經(jīng)滲入到不同的領(lǐng)域中。SVD的過(guò)程不是很好理解跑杭,因?yàn)樗粔蛑庇^铆帽,但它對(duì)矩陣分解的效果卻非常好。比如德谅,Netflix(一個(gè)提供在線電影租賃的公司)曾經(jīng)就懸賞100萬(wàn)美金爹橱,如果誰(shuí)能提高它的電影推薦系統(tǒng)評(píng)分預(yù)測(cè)準(zhǔn)確率提高10%的話。令人驚訝的是窄做,這個(gè)目標(biāo)充滿了挑戰(zhàn)愧驱,來(lái)自世界各地的團(tuán)隊(duì)運(yùn)用了各種不同的技術(shù)慰技。最終的獲勝隊(duì)伍"BellKor's Pragmatic Chaos"采用的核心算法就是基于SVD。
SVD提供了一種非常便捷的矩陣分解方式组砚,能夠發(fā)現(xiàn)數(shù)據(jù)中十分有意思的潛在模式吻商。在這篇文章中,我們將會(huì)提供對(duì)SVD幾何上的理解和一些簡(jiǎn)單的應(yīng)用實(shí)例糟红。

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

讓我們來(lái)看一些簡(jiǎn)單的線性變換例子艾帐,以 2 X 2 的線性變換矩陣為例,首先來(lái)看一個(gè)較為特殊的盆偿,對(duì)角矩陣:


從幾何上講柒爸,M 是將二維平面上的點(diǎn)(x,y)經(jīng)過(guò)線性變換到另外一個(gè)點(diǎn)的變換矩陣,如下圖所示:

變換的效果如下圖所示陈肛,變換后的平面僅僅是沿 X 水平方面進(jìn)行了拉伸3倍揍鸟,垂直方向是并沒(méi)有發(fā)生變化。

現(xiàn)在看下矩陣

這個(gè)矩陣產(chǎn)生的變換效果如下圖所示

這種變換效果看起來(lái)非常的奇怪句旱,在實(shí)際環(huán)境下很難描述出來(lái)變換的規(guī)律 ( 這里應(yīng)該是指無(wú)法清晰辨識(shí)出旋轉(zhuǎn)的角度阳藻,拉伸的倍數(shù)之類的信息)。還是基于上面的對(duì)稱矩陣谈撒,假設(shè)我們把左邊的平面旋轉(zhuǎn)45度角腥泥,然后再進(jìn)行矩陣 M 的線性變換,效果如下圖所示:

看起來(lái)是不是有點(diǎn)熟悉啃匿? 對(duì)的蛔外,經(jīng)過(guò) M 線性變換后,跟前面的對(duì)角矩陣的功能是相同的溯乒,都是將網(wǎng)格沿著一個(gè)方向拉伸了3倍夹厌。
這里的 M 是一個(gè)特例,因?yàn)樗菍?duì)稱的裆悄。非特殊的就是我們?cè)趯?shí)際應(yīng)用中經(jīng)常遇見(jiàn)一些 非對(duì)稱的矛纹,非方陣的矩陣。如上圖所示光稼,如果我們有一個(gè) 2 X 2 的對(duì)稱矩陣 M 的話或南,我們先將網(wǎng)格平面旋轉(zhuǎn)一定的角度,M 的變換效果就是在兩個(gè)維度上進(jìn)行拉伸變換了艾君。

用更加數(shù)學(xué)的方式進(jìn)行表示的話采够,給定一個(gè)對(duì)稱矩陣 M ,我們可以找到一些相互正交 Vi 冰垄,滿足 MVi 就是沿著 Vi 方向的拉伸變換蹬癌,公式如下:

Mvi = λi vi

這里的 λi 是拉伸尺度(scalar)。從幾何上看,M 對(duì)向量 Vi 進(jìn)行了拉伸逝薪,映射變換伴奥。Vi 稱作矩陣 M 的特征向量(eigenvector), λi 稱作為矩陣 M 特征值(eigenvalue)翼闽。這里有一個(gè)非常重要的定理,對(duì)稱矩陣 M 的特征向量是相互正交的洲炊。

如果我們用這些特征向量對(duì)網(wǎng)格平面進(jìn)行線性變換的話感局,再通過(guò) M 矩陣對(duì)網(wǎng)格平面進(jìn)行線性換的效果跟對(duì) M 矩陣的特征向量進(jìn)行線性變換的效果是一樣的。

對(duì)于更為普通的矩陣而言暂衡,我們?cè)撛趺醋霾拍茏屢粋€(gè)原來(lái)就是相互垂直的網(wǎng)格平面(orthogonal grid), 線性變換成另外一個(gè)網(wǎng)格平面同樣垂直呢询微?PS:這里的垂直如圖所示,就是兩根交錯(cuò)的線條是垂直的狂巢。

經(jīng)過(guò)上述矩陣變換以后的效果如圖:

從圖中可以看出撑毛,并沒(méi)有達(dá)到我們想要的效果。我們把網(wǎng)格平面旋轉(zhuǎn) 30 度角的話唧领,然后再進(jìn)行同樣的線性變換以后的效果藻雌,如下圖所示:

讓我們來(lái)看下網(wǎng)格平面旋轉(zhuǎn)60度角的時(shí)候的效果。

嗯嗯斩个,這個(gè)看起來(lái)挺不錯(cuò)的樣子胯杭。如果在精確一點(diǎn)的話,應(yīng)該把網(wǎng)格平面旋轉(zhuǎn) 58.28 度才能達(dá)到理想的效果受啥。

奇異值分解( The singular value decomposition )

該部分是從幾何層面上去理解二維的SVD:對(duì)于任意的 2 x 2 矩陣做个,通過(guò)SVD可以將一個(gè)相互垂直的網(wǎng)格(orthogonal grid)變換到另外一個(gè)相互垂直的網(wǎng)格。

我們可以通過(guò)向量的方式來(lái)描述這個(gè)事實(shí): 首先滚局,選擇兩個(gè)相互正交的單位向量 v1 和 v2, 向量Mv1 和 Mv2 正交居暖。

u1 和 u2分別表示Mv1 和 Mv2的單位向量,σ1 * u1 = Mv1 和 σ2 * u2 = Mv2。σ1 和 σ2分別表示這不同方向向量上的模归形,也稱作為矩陣 M 的奇異值漩绵。

這樣我們就有了如下關(guān)系式:

我們現(xiàn)在可以簡(jiǎn)單描述下經(jīng)過(guò) M 線性變換后的向量 x 的表達(dá)形式。由于向量v1 和 v2是正交的單位向量跟束,我們可以得到如下式子:

這就意味著:

向量?jī)?nèi)積可以用向量的轉(zhuǎn)置來(lái)表示,如下所示:

最終的式子為:

上述的式子經(jīng)常表示成 :

u 矩陣的列向量分別是u1,u2 丑孩,Σ 是一個(gè)對(duì)角矩陣冀宴,對(duì)角元素分別是對(duì)應(yīng)的σ1 和 σ2,V 矩陣的列向量分別是v1,v2温学。上角標(biāo) T 表示矩陣 V 的轉(zhuǎn)置略贮。
這就表明任意的矩陣 M 是可以分解成三個(gè)矩陣。V 表示了原始域的標(biāo)準(zhǔn)正交基,u 表示經(jīng)過(guò) M 變換后的co-domain的標(biāo)準(zhǔn)正交基逃延,Σ 表示了V 中的向量與u 中 相對(duì)應(yīng)向量之間的關(guān)系览妖。

如何獲得奇異值分解?( How do we find the singular decomposition? )

事實(shí)上我們可以找到任何矩陣的奇異值分解揽祥,那么我們是如何做到的呢讽膏?假設(shè)在原始域中有一個(gè)單位圓,如下圖所示拄丰。經(jīng)過(guò)M 矩陣變換以后在co-domain中單位圓會(huì)變成一個(gè)橢圓府树,它的長(zhǎng)軸(Mv1)和短軸(Mv2)分別對(duì)應(yīng)轉(zhuǎn)換后的兩個(gè)標(biāo)準(zhǔn)正交向量,也是在橢圓范圍內(nèi)最長(zhǎng)和最短的兩個(gè)向量料按。

換句話說(shuō)奄侠,定義在單位圓上的函數(shù)|Mx|分別在v1和v2方向上取得最大和最小值。這樣我們就把尋找矩陣的奇異值分解過(guò)程縮小到了優(yōu)化函數(shù)|Mx|上了载矿。結(jié)果發(fā)現(xiàn)(具體的推到過(guò)程這里就不詳細(xì)介紹了)這個(gè)函數(shù)取得最優(yōu)值的向量分別是矩陣 MT M 的特征向量垄潮。由于MTM是對(duì)稱矩陣,因此不同特征值對(duì)應(yīng)的特征向量都是互相正交的闷盔,我們用vi 表示MTM的所有特征向量弯洗。奇異值σi = |Mvi| , 向量 ui 為 Mvi 方向上的單位向量馁筐。但為什么ui也是正交的呢涂召?
推倒如下:
σi 和 σj分別是不同兩個(gè)奇異值:


我們先看下Mvi . Mvj 并假設(shè)它們分別對(duì)應(yīng)的奇異值都不為零。一方面這個(gè)表達(dá)的值為0敏沉,推到如下:

另一方面果正,我們有

因此,ui 和 uj是正交的盟迟。但實(shí)際上秋泳,這并非是求解奇異值的方法,效率會(huì)非常低攒菠。這里也主要不是討論如何求解奇異值迫皱,為了演示方便,采用的都是二階矩陣辖众。

應(yīng)用實(shí)例(Another example)

實(shí)例一

經(jīng)過(guò)這個(gè)矩陣變換后的效果如下圖所示:

在這個(gè)例子中卓起,第二個(gè)奇異值為 0,因此經(jīng)過(guò)變換后只有一個(gè)方向上有表達(dá)凹炸。

換句話說(shuō)戏阅,如果某些奇異值非常小的話,其相對(duì)應(yīng)的幾項(xiàng)就可以不同出現(xiàn)在矩陣 M 的分解式中啤它。因此奕筐,我們可以看到矩陣 M 的秩的大小等于非零奇異值的個(gè)數(shù)舱痘。

實(shí)例二
我們來(lái)看一個(gè)奇異值分解在數(shù)據(jù)表達(dá)上的應(yīng)用。假設(shè)我們有如下的一張 15 x 25 的圖像數(shù)據(jù)离赫。

如圖所示芭逝,該圖像主要由下面三部分構(gòu)成。


我們將圖像表示成 15 x 25 的矩陣渊胸,矩陣的元素對(duì)應(yīng)著圖像的不同像素旬盯,如果像素是白色的話,就取 1翎猛,黑色的就取 0. 我們得到了一個(gè)具有375個(gè)元素的矩陣瓢捉,如下圖所示


如果我們對(duì)矩陣M進(jìn)行奇異值分解以后,得到奇異值分別是:
σ1 = 14.72
σ2 = 5.22
σ3 = 3.31
矩陣M就可以表示成:

vi具有15個(gè)元素办成,ui 具有25個(gè)元素,σi 對(duì)應(yīng)不同的奇異值搂漠。如上圖所示迂卢,我們就可以用123個(gè)元素來(lái)表示具有375個(gè)元素的圖像數(shù)據(jù)了。

實(shí)例三: 減噪(noise reduction)

前面的例子的奇異值都不為零桐汤,或者都還算比較大而克,下面我們來(lái)探索一下?lián)碛辛慊蛘叻浅P〉钠娈愔档那闆r。通常來(lái)講怔毛,大的奇異值對(duì)應(yīng)的部分會(huì)包含更多的信息员萍。比如,我們有一張掃描的拣度,帶有噪聲的圖像碎绎,如下圖所示:

我們采用跟實(shí)例二相同的處理方式處理該掃描圖像。得到圖像矩陣的奇異值:

很明顯抗果,前面三個(gè)奇異值遠(yuǎn)遠(yuǎn)比后面的奇異值要大筋帖,這樣矩陣 M 的分解方式就可以如下:


經(jīng)過(guò)奇異值分解后,我們得到了一張降噪后的圖像冤馏。

實(shí)例四: 數(shù)據(jù)分析(data analysis)
我們搜集的數(shù)據(jù)中總是存在噪聲:無(wú)論采用的設(shè)備多精密日麸,方法有多好,總是會(huì)存在一些誤差的逮光。如果你們還記得上文提到的代箭,大的奇異值對(duì)應(yīng)了矩陣中的主要信息的話,運(yùn)用SVD進(jìn)行數(shù)據(jù)分析涕刚,提取其中的主要部分的話嗡综,還是相當(dāng)合理的。
作為例子副女,假如我們搜集的數(shù)據(jù)如下所示:

我們將數(shù)據(jù)用矩陣的形式表示:

經(jīng)過(guò)奇異值分解后蛤高,得到:


由于第一個(gè)奇異值遠(yuǎn)比第二個(gè)要大蚣旱,數(shù)據(jù)中有包含一些噪聲,第二個(gè)奇異值在原始矩陣分解相對(duì)應(yīng)的部分可以忽略戴陡。經(jīng)過(guò)SVD分解后塞绿,保留了主要樣本點(diǎn)如圖所示


就保留主要樣本數(shù)據(jù)來(lái)看,該過(guò)程跟PCA( principal component analysis)技術(shù)有一些聯(lián)系恤批,PCA也使用了SVD去檢測(cè)數(shù)據(jù)間依賴和冗余信息.

總結(jié)(Summary)

這篇文章非常的清晰的講解了SVD的幾何意義异吻,不僅從數(shù)學(xué)的角度,還聯(lián)系了幾個(gè)應(yīng)用實(shí)例形象的論述了SVD是如何發(fā)現(xiàn)數(shù)據(jù)中主要信息的喜庞。在 netflix prize中許多團(tuán)隊(duì)都運(yùn)用了矩陣分解的技術(shù)诀浪,該技術(shù)就來(lái)源于SVD的分解思想,矩陣分解算是SVD的變形延都,但思想還是一致的雷猪。之前算是能夠運(yùn)用矩陣分解 技術(shù)于個(gè)性化推薦系統(tǒng)中,但理解起來(lái)不夠直觀晰房,閱讀原文后醍醐灌頂求摇,我想就從SVD能夠發(fā)現(xiàn)數(shù)據(jù)中的主要信息的思路,就幾個(gè)方面去思考下如何利用數(shù)據(jù)中所 蘊(yùn)含的潛在關(guān)系去探索個(gè)性化推薦系統(tǒng)殊者。也希望路過(guò)的各位大俠不吝分享呀与境。

參考文獻(xiàn)

[1]From Singular Value Decomposition

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市猖吴,隨后出現(xiàn)的幾起案子摔刁,更是在濱河造成了極大的恐慌,老刑警劉巖海蔽,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件共屈,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡党窜,警方通過(guò)查閱死者的電腦和手機(jī)趁俊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)刑然,“玉大人寺擂,你說(shuō)我怎么就攤上這事∑寐樱” “怎么了怔软?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)择镇。 經(jīng)常有香客問(wèn)我挡逼,道長(zhǎng),這世上最難降的妖魔是什么腻豌? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任家坎,我火速辦了婚禮嘱能,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘虱疏。我一直安慰自己惹骂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布做瞪。 她就那樣靜靜地躺著对粪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪装蓬。 梳的紋絲不亂的頭發(fā)上著拭,一...
    開(kāi)封第一講書(shū)人閱讀 51,679評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音牍帚,去河邊找鬼儡遮。 笑死,一個(gè)胖子當(dāng)著我的面吹牛暗赶,可吹牛的內(nèi)容都是我干的峦萎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼忆首,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了被环?” 一聲冷哼從身側(cè)響起糙及,我...
    開(kāi)封第一講書(shū)人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎筛欢,沒(méi)想到半個(gè)月后浸锨,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡版姑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年柱搜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片剥险。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡聪蘸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出表制,到底是詐尸還是另有隱情健爬,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布么介,位于F島的核電站娜遵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏壤短。R本人自食惡果不足惜设拟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一慨仿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧纳胧,春花似錦镰吆、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至相赁,卻和暖如春相寇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背钮科。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工唤衫, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绵脯。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓佳励,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蛆挫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子赃承,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容