
奇異值分解(SVD)原理詳解及推導(dǎo)
在網(wǎng)上看到有很多文章介紹SVD的,講的也都不錯(cuò),但是感覺還是有需要補(bǔ)充的,特別是關(guān)于矩陣和映射之間的對(duì)應(yīng)關(guān)系。前段時(shí)間看了國外的一篇文章,叫A Singularly Valuable Decomposition The SVD of a Matrix,覺得分析的特別好,把矩陣和空間關(guān)系對(duì)應(yīng)了起來。本文就參考了該文并結(jié)合矩陣的相關(guān)知識(shí)把SVD原理梳理一下。
SVD不僅是一個(gè)數(shù)學(xué)問題,在工程應(yīng)用中的很多地方都有它的身影,比如前面講的PCA,掌握了SVD原理后再去看PCA那是相當(dāng)簡單的,在推薦系統(tǒng)方面,SVD更是名聲大噪,將它應(yīng)用于推薦系統(tǒng)的是Netflix大獎(jiǎng)的獲得者Koren,可以在Google上找到他寫的文章;用SVD可以很容易得到任意矩陣的滿秩分解,用滿秩分解可以對(duì)數(shù)據(jù)做壓縮??梢杂?a href='/map/svd/' style='color:#000;font-size:inherit;'>SVD來證明對(duì)任意M*N的矩陣均存在如下分解:
這個(gè)可以應(yīng)用在數(shù)據(jù)降維壓縮上!在數(shù)據(jù)相關(guān)性特別大的情況下存儲(chǔ)X和Y矩陣比存儲(chǔ)A矩陣占用空間更??!
在開始講解SVD之前,先補(bǔ)充一點(diǎn)矩陣代數(shù)的相關(guān)知識(shí)。
正交矩陣
正交矩陣是在歐幾里得空間里的叫法,在酉空間里叫酉矩陣,一個(gè)正交矩陣對(duì)應(yīng)的變換叫正交變換,這個(gè)變換的特點(diǎn)是不改變向量的尺寸和向量間的夾角,那么它到底是個(gè)什么樣的變換呢?看下面這張圖
假設(shè)二維空間中的一個(gè)向量OA,它在標(biāo)準(zhǔn)坐標(biāo)系也即e1、e2表示的坐標(biāo)是中表示為(a,b)'(用'表示轉(zhuǎn)置),現(xiàn)在把它用另一組坐標(biāo)e1'、e2'表示為(a',b')',存在矩陣U使得(a',b')'=U(a,b)',則U即為正交矩陣。從圖中可以看到,正交變換只是將變換向量用另一組正交基表示,在這個(gè)過程中并沒有對(duì)向量做拉伸,也不改變向量的空間位置,加入對(duì)兩個(gè)向量同時(shí)做正交變換,那么變換前后這兩個(gè)向量的夾角顯然不會(huì)改變。上面的例子只是正交變換的一個(gè)方面,即旋轉(zhuǎn)變換,可以把e1'、e2'坐標(biāo)系看做是e1、e2坐標(biāo)系經(jīng)過旋轉(zhuǎn)某個(gè)斯塔角度得到,怎么樣得到該旋轉(zhuǎn)矩陣U呢?如下
正交陣U行(列)向量之間都是單位正交向量。上面求得的是一個(gè)旋轉(zhuǎn)矩陣,它對(duì)向量做旋轉(zhuǎn)變換!也許你會(huì)有疑問:剛才不是說向量空間位置不變嗎?怎么現(xiàn)在又說它被旋轉(zhuǎn)了?對(duì)的,這兩個(gè)并沒有沖突,說空間位置不變是絕對(duì)的,但是坐標(biāo)是相對(duì)的,加入你站在e1上看OA,隨著e1旋轉(zhuǎn)到e1',看OA的位置就會(huì)改變。如下圖:
如圖,如果我選擇了e1'、e2'作為新的標(biāo)準(zhǔn)坐標(biāo)系,那么在新坐標(biāo)系中OA(原標(biāo)準(zhǔn)坐標(biāo)系的表示)就變成了OA',這樣看來就好像坐標(biāo)系不動(dòng),把OA往順時(shí)針方向旋轉(zhuǎn)了“斯塔”角度,這個(gè)操作實(shí)現(xiàn)起來很簡單:將變換后的向量坐標(biāo)仍然表示在當(dāng)前坐標(biāo)系中。
旋轉(zhuǎn)變換是正交變換的一個(gè)方面,這個(gè)挺有用的,比如在開發(fā)中需要實(shí)現(xiàn)某種旋轉(zhuǎn)效果,直接可以用旋轉(zhuǎn)變換實(shí)現(xiàn)。正交變換的另一個(gè)方面是反射變換,也即e1'的方向與圖中方向相反,這個(gè)不再討論。
總結(jié):正交矩陣的行(列)向量都是兩兩正交的單位向量,正交矩陣對(duì)應(yīng)的變換為正交變換,它有兩種表現(xiàn):旋轉(zhuǎn)和反射。正交矩陣將標(biāo)準(zhǔn)正交基映射為標(biāo)準(zhǔn)正交基(即圖中從e1、e2到e1'、e2')
特征值分解——EVD
在討論SVD之前先討論矩陣的特征值分解(EVD),在這里,選擇一種特殊的矩陣——對(duì)稱陣(酉空間中叫hermite矩陣即厄米陣)。對(duì)稱陣有一個(gè)很優(yōu)美的性質(zhì):它總能相似對(duì)角化,對(duì)稱陣不同特征值對(duì)應(yīng)的特征向量兩兩正交。一個(gè)矩陣能相似對(duì)角化即說明其特征子空間即為其列空間,若不能對(duì)角化則其特征子空間為列空間的子空間。現(xiàn)在假設(shè)存在mxm的滿秩對(duì)稱矩陣A,它有m個(gè)不同的特征值,設(shè)特征值為
對(duì)應(yīng)的單位特征向量為
則有
進(jìn)而
所以可得到A的特征值分解(由于對(duì)稱陣特征向量兩兩正交,所以U為正交陣,正交陣的逆矩陣等于其轉(zhuǎn)置)
這里假設(shè)A有m個(gè)不同的特征值,實(shí)際上,只要A是對(duì)稱陣其均有如上分解。
矩陣A分解了,相應(yīng)的,其對(duì)應(yīng)的映射也分解為三個(gè)映射?,F(xiàn)在假設(shè)有x向量,用A將其變換到A的列空間中,那么首先由U'先對(duì)x做變換:
U是正交陣U'也是正交陣,所以U'對(duì)x的變換是正交變換,它將x用新的坐標(biāo)系來表示,這個(gè)坐標(biāo)系就是A的所有正交的特征向量構(gòu)成的坐標(biāo)系。比如將x用A的所有特征向量表示為:
則通過第一個(gè)變換就可以把x表示為[a1 a2 ... am]':
緊接著,在新的坐標(biāo)系表示下,由中間那個(gè)對(duì)角矩陣對(duì)新的向量坐標(biāo)換,其結(jié)果就是將向量往各個(gè)軸方向拉伸或壓縮:
從上圖可以看到,如果A不是滿秩的話,那么就是說對(duì)角陣的對(duì)角線上元素存在0,這時(shí)候就會(huì)導(dǎo)致維度退化,這樣就會(huì)使映射后的向量落入m維空間的子空間中。
最后一個(gè)變換就是U對(duì)拉伸或壓縮后的向量做變換,由于U和U'是互為逆矩陣,所以U變換是U'變換的逆變換。
因此,從對(duì)稱陣的分解對(duì)應(yīng)的映射分解來分析一個(gè)矩陣的變換特點(diǎn)是非常直觀的。假設(shè)對(duì)稱陣特征值全為1那么顯然它就是單位陣,如果對(duì)稱陣的特征值有個(gè)別是0其他全是1,那么它就是一個(gè)正交投影矩陣,它將m維向量投影到它的列空間中。
根據(jù)對(duì)稱陣A的特征向量,如果A是2*2的,那么就可以在二維平面中找到這樣一個(gè)矩形,是的這個(gè)矩形經(jīng)過A變換后還是矩形:
這個(gè)矩形的選擇就是讓其邊都落在A的特征向量方向上,如果選擇其他矩形的話變換后的圖形就不是矩形了!
奇異值分解——SVD
上面的特征值分解的A矩陣是對(duì)稱陣,根據(jù)EVD可以找到一個(gè)(超)矩形使得變換后還是(超)矩形,也即A可以將一組正交基映射到另一組正交基!那么現(xiàn)在來分析:對(duì)任意M*N的矩陣,能否找到一組正交基使得經(jīng)過它變換后還是正交基?答案是肯定的,它就是SVD分解的精髓所在。
現(xiàn)在假設(shè)存在M*N矩陣A,事實(shí)上,A矩陣將n維空間中的向量映射到k(k<=m)維空間中,k=Rank(A)?,F(xiàn)在的目標(biāo)就是:在n維空間中找一組正交基,使得經(jīng)過A變換后還是正交的。假設(shè)已經(jīng)找到這樣一組正交基:
則A矩陣將這組基映射為:
如果要使他們兩兩正交,即
根據(jù)假設(shè),存在
所以如果正交基v選擇為A'A的特征向量的話,由于A'A是對(duì)稱陣,v之間兩兩正交,那么
這樣就找到了正交基使其映射后還是正交基了,現(xiàn)在,將映射后的正交基單位化:
因?yàn)?
所以有
所以取單位向量
由此可得
當(dāng)k < i <= m時(shí),對(duì)u1,u2,...,uk進(jìn)行擴(kuò)展u(k+1),...,um,使得u1,u2,...,um為m維空間中的一組正交基,即
同樣的,對(duì)v1,v2,...,vk進(jìn)行擴(kuò)展v(k+1),...,vn(這n-k個(gè)向量存在于A的零空間中,即Ax=0的解空間的基),使得v1,v2,...,vn為n維空間中的一組正交基,即
則可得到
繼而可以得到A矩陣的奇異值分解:
現(xiàn)在可以來對(duì)A矩陣的映射過程進(jìn)行分析了:如果在n維空間中找到一個(gè)(超)矩形,其邊都落在A'A的特征向量的方向上,那么經(jīng)過A變換后的形狀仍然為(超)矩形!
vi為A'A的特征向量,稱為A的右奇異向量,ui=Avi實(shí)際上為AA'的特征向量,稱為A的左奇異向量。下面利用SVD證明文章一開始的滿秩分解:
利用矩陣分塊乘法展開得:
可以看到第二項(xiàng)為0,有
則A=XY即是A的滿秩分解。
整個(gè)SVD的推導(dǎo)過程就是這樣,后面會(huì)介紹SVD在推薦系統(tǒng)中的具體應(yīng)用,也就是復(fù)現(xiàn)Koren論文中的算法以及其推導(dǎo)過程。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03