SVD原理及其应用导论
今天,來學習一種很重要的矩陣分解,叫做奇異值分解(Sigular Value Decomposition),簡稱SVD。
?
Contents
?
??? 1. 認識SVD
??? 2. SVD與廣義逆矩陣
??? 3. SVD與最小二乘法
??? 4. SVD與數據壓縮
??? 5. SVD與潛在語義分析
??? 6. SVD與低階近似
?
?
1. 認識SVD
?
???在認識SVD之前,先來學習兩個相關的概念:正交矩陣和酉矩陣。
?
?? 如果,則階實矩陣稱為正交矩陣。而酉矩陣是正交矩陣往復數域上的推廣。
?? 判斷正交矩陣和酉矩陣的充分必要條件是:。或者說正交矩陣和酉矩陣的共軛轉置和它的
???逆矩陣相等。
?
?? 對任意矩陣,都能被奇異值分解為
?
???
?
???其中是的正交矩陣,是的正交矩陣,是由個沿對角線從大到小排列的奇異值
?? 組成的方陣,就是矩陣的秩。奇異值分解是一種正交矩陣分解法。
?
?
2. SVD與廣義逆矩陣
?
?? 在認識矩陣的廣義逆之前,先來回顧一下方陣的逆。
?? 對于一個的方陣,如果存在一個矩陣,使得,那么方陣的逆為。
?
?? 那么對于非方陣來說情況又是怎樣的? 比如對于的矩陣,它的逆是怎樣計算的?這就是我將要
?? 討論的廣義逆矩陣。
?
???矩陣的廣義逆由Moore在1920年提出,后來在1955年經過Penrose發展得到如下定義
?
?? 對任意復數矩陣,如果存在的矩陣,滿足
?
???
?
???則稱為的一個Moore-Penrose逆,簡稱廣義逆,記為。并把上面四個方程叫做Moore-Penrose
?? 方程,簡稱M-P方程。
?
???由于M-P的四個方程都各有一定的解釋,并且應用起來各有方便之處,所以出于不同的目的,常常考慮滿足
?? 部分方程的,叫做弱逆,弱逆不唯一。為了引用方便,下面給出廣義逆矩陣的定義
?
???對于的矩陣,若存在的矩陣,滿足M-P方程中的全部或者其中的一部分,則稱為
???的廣義逆矩陣。
?
???實際上有結論:如果滿足M-P方程中的全部四個條件,那么得到的矩陣是唯一的,如果只滿足部分條件,
?? 那么得到的矩陣不唯一。也就是說一個矩陣的Moore-Penrose逆是唯一的。
?
?? 而廣義逆的計算可以利用的SVD分解得到,假設矩陣的SVD分解為
?
???
?
???那么,不難驗證
?
???
?
???有了廣義逆矩陣,那么就可以用來求解線性方程組,假設現在已經知道了矩陣的廣義逆,
?? 如果矩陣的秩是,則其唯一解是,如果秩小于,則有無窮多組解,其中最小范數解仍然是
???,通常我們關心的也就是這個解。
?
?
3. SVD與最小二乘法
?
?? 最常見的最小二乘問題是線性最小二乘問題。比如在三維空間有如下四個點
?
???
?
???現在用一個方程來擬合這四個點,這就是典型的線性最小二乘問題。
???接下來可以列出超定方程組,如下
?
???
?
???那么,進一步得到
?
???
?
???接下來用一個定理求最小二乘解,定理內容如下
?
???如上述超定系數方程組,一般情況下它是沒有解的,但是我們可以讓盡可能地小。解下面的方程
?? 可以求得方程的最小二乘解。
?
???
?
???這樣最小二乘解又變成了解線性方程組問題,可以先用SVD來求出廣義逆矩陣,然后解出。最終求得解為
?
???
?
?
4. SVD與數據壓縮
?
????SVD在數據壓縮方面有廣泛的應用,比如圖片壓縮。我們知道電腦上的圖像都是由一個一個像素點構成的,
???所以存儲一張1000*622的圖片,實際上是存儲一個1000*622的矩陣,即一共622000個元素,這是一個
?? 很大的矩陣,實際上可以用奇異值分解并通過低階近似的思想對圖片進行壓縮,但這是一種有損壓縮,不
?? 過不影響圖片的大致效果,鏈接:http://cos.name/2014/02/svd-and-image-compression/
?
???又比如在自然語言處理中,最常見的兩個問題是將文本按主題歸類和將詞匯表中的字詞按近義詞歸類,這
???兩個問題都可以用SVD完美一次性地解決。首先,用一個大矩陣來描述成千上萬篇文章和上百萬詞的關
?? 聯性,在這個矩陣中,每一行代表一篇文章,每一列對應一個詞。如果有個詞,篇文章,那么就是如
?? 下的矩陣
????
???????
?
???其中第行第列的元素,是字典中第個詞在第篇文章中出現的加權詞頻,比如用詞的TF-IDF值。
???這個矩陣可能會很大,如果進行奇異值分解后,上述的兩種分類也就完成了,而且存儲空間也會減少很多。
?
?
5. SVD與潛在語義分析
?
?? 潛在語義分析(Latent Semantic Analysis),簡稱LSA,是一種用于自動地實現知識提取和表示的
?? 理論和方法,它通過對大量文本集進行統計分析,從中提取出詞語的上下文使用含義。在技術上,它同向
?? 量空間模型類似,都是采用空間向量表示文本,但通過SVD分解等處理消除了同義詞,多義詞的影響,提
?? 高了后續處理的精度。
?
?? 關于潛在語義分析的論文,可以百度:潛在語義分析理論及其應用。
??
?
6. SVD與低階近似
?
???關于SVD的低階近似參考:http://m.blog.csdn.net/blog/wangran51/7408414
?
?
更多關于SVD的文章參考
?
http://www.cnblogs.com/zhangchaoyang/articles/2575948.html
http://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applications.html
http://www.cnblogs.com/LeftNotEasy/archive/2011/01/08/lda-and-pca-machine-learning.html
http://www.cnblogs.com/FengYan/archive/2012/05/06/2480664.html
總結
以上是生活随笔為你收集整理的SVD原理及其应用导论的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈文本的相似度问题
- 下一篇: Go语言的分词器(sego)