矩陣的奇異值分解過程
矩陣的奇異值分解(singular value decomposition,簡稱SVD)是線性代數中很重要的內容,並且奇異值分解過程也是線性代數中相似對角化分解(也被稱為特徵值分解,eigenvalue decomposition,簡稱EVD)的延伸。因此,以下將從線性代數中最基礎的矩陣分解開始講起,引出奇異值分解的定義,並最終給出奇異值分解的低秩逼近問題相關的證明過程。
1 線性代數中的矩陣分解
我們在學習線性代數時,就已經接觸了線性代數中的兩個重要定理,即對角化定理和相似對角化定理,在這裡,我們先簡單地回顧一下這兩個定理。另外,在接下來的篇幅裡,我們所提到的矩陣都是指由實數構成的矩陣,即實矩陣。
給定一個大小為的矩陣(是方陣),其對角化分解可以寫成
其中,的每一列都是特徵向量,對角線上的元素是從大到小排列的特徵值,若將記作,則
更為特殊的是,當矩陣是一個對稱矩陣時,則存在一個對稱對角化分解,即
其中,的每一列都是相互正交的特徵向量,且是單位向量,對角線上的元素是從大到小排列的特徵值。
當然,將矩陣記作,則矩陣也可以寫成如下形式:
舉一個簡單的例子,如給定一個大小為的矩陣,根據求得特徵值為,,相應地,,,則
.
這樣,我們就很容易地得到了矩陣的對稱對角化分解。
2 奇異值分解的定義
在上面,對於對稱的方陣而言,我們能夠進行對稱對角化分解,試想:對稱對角化分解與奇異值分解有什麼本質關係呢?
當給定一個大小為的矩陣,雖然矩陣不一定是方陣,但大小為的和的卻是對稱矩陣,若,,則矩陣的奇異值分解為
其中,矩陣的大小為,列向量是的特徵向量,也被稱為矩陣的左奇異向量(left singular vector);矩陣的大小為,列向量是的特徵向量,也被稱為矩陣的右奇異向量(right singular vector);矩陣大小為,矩陣大小為,兩個矩陣對角線上的非零元素相同(即矩陣和矩陣的非零特徵值相同,推導過程見附錄1);矩陣的大小為,位於對角線上的元素被稱為奇異值(singular value)。
接下來,我們來看看矩陣與矩陣和矩陣的關係。令常數是矩陣的秩,則,當時,很明顯,矩陣
即非零奇異值的平方對應著矩陣(或矩陣)的非零特徵值,到這裡,我們就不難看出奇異值分解與對稱對角化分解的關係了,即我們可以由對稱對角化分解得到我們想要的奇異值分解。
為了便於理解,在這裡,給定一個大小為的矩陣,雖然這個矩陣是方陣,但卻不是對稱矩陣,我們來看看它的奇異值分解是怎樣的。
由進行對稱對角化分解,得到特徵值為,,相應地,特徵向量為,;由進行對稱對角化分解,得到特徵值為,,相應地,特徵向量為,。取,則矩陣的奇異值分解為
.
若矩陣不再是一個方陣,而是一個大小為的,由得到特徵值為,,特徵向量為,,;由得到特徵值為,,特徵向量為,,令(注意:矩陣大小為),此時,矩陣的奇異值分解為
.
比較有趣的是,假設給定一個對稱矩陣,它是對稱矩陣,則其奇異值分解是怎麼樣的呢?
分別計算和,我們會發現,,左奇異向量和右奇異向量構成的矩陣也是相等的,即,更為神奇的是,該矩陣的奇異值分解和對稱對角化分解相同,都是。這是由於對於正定對稱矩陣而言,奇異值分解和對稱對角化分解結果相同。
3 奇異值分解的低秩逼近
在對稱對角化分解中,若給定一個大小為的矩陣,很顯然,矩陣的秩為,特徵值為,,,對應的特徵向量分別為,,,考慮任意一個向量,則
在這裡,我們會發現,即使是一個任意向量,用矩陣去乘以的效果取決於較大的特徵值及其特徵向量,類似地,在奇異值分解中,較大的奇異值會決定原矩陣的“主要特徵”,下面我們來看看奇異值分解的低秩逼近(有時也被稱為截斷奇異值分解)。需要說明的是,接下來的部分是從文獻《A Singularly Valuable Decomposition: The SVD of a Matrix》整理而來的。
給定一個大小為的矩陣,由於可以寫成
其中,向量之間相互正交,向量之間也相互正交,由內積(有興趣的讀者可以自行推算)得到矩陣的F-範數的平方為
知道了矩陣的F-範數的平方等於其所有奇異值的平方和之後,假設是矩陣的一個秩一逼近(rank one approximation),那麼,它所帶來的誤差則是(是矩陣的秩),不過如何證明是最好的秩一逼近呢?
由於(證明過程見附錄2),令,其中,是一個正常數,向量和分別是大小為和的單位向量,則
單獨看大小為的矩陣和的內積,我們會發現,
其中,需要注意的是,分別是向量和的第個元素;向量的大小為,向量的大小也為,另外,以為例,是向量的模,則(殘差矩陣的平方和)為
當且僅當時,取得最小值,此時,矩陣的秩一逼近恰好是.
當然,我們也可以證明是矩陣的最佳秩一逼近,以此類推,是矩陣的最佳秩一逼近。由於矩陣的秩為,這樣,我們可以得到矩陣的最佳秩逼近(rank approximation),即
.
這裡得到的矩陣的大小為,矩陣的大小為,矩陣的大小為,矩陣可以用來做近似。
用低秩逼近去近似矩陣有什麼價值呢?給定一個很大的矩陣,大小為,我們需要儲存的元素數量是個,當矩陣的秩遠小於和,我們只需要儲存個元素就能得到原矩陣,即個奇異值、
相關推薦
矩陣的奇異值分解過程
原著 矩陣的奇異值分解(singular value decomposition,簡稱SVD)是線性代數中很重要的內容,並且奇異值分解過程也是線性代數中相似對角化分解(也被稱為特徵值分解,eigenvalue decomposition,簡稱EVD)的延伸。因此,以下將從線
機器學習中的數學-強大的矩陣奇異值分解(SVD)及其應用
版權宣告: 本文由LeftNotEasy釋出於http://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applications.html 前言: &nb
奇異值的物理意義是什麼?強大的矩陣奇異值分解(SVD)及其應用
強大的矩陣奇異值分解(SVD)及其應用 一、奇異值與特徵值基礎知識: 特徵值分解和奇異值分解在機器學習領域都是屬於滿地可見的方法。兩者有著很緊密的關係,我在接下來會談到,特徵值分解和奇異值分解的目的都是一樣,就是提取出一個矩陣最重要的特徵。先談談特徵值分解吧: 1)特徵值: 如果說一個向量v是方陣
強大的矩陣奇異值分解(SVD)及其應用
前言: 上一次寫了關於PCA與LDA的文章,PCA的實現一般有兩種,一種是用特徵值分解去實現的,一種是用奇異值分解去實現的。在上篇文章中便是基於特徵值分解的一種解釋。特徵值和奇異值在大部分人的印象中,往往是停留在純粹的數學計算中。而且線性代數或者矩陣論裡面,也
矩陣奇異值分解
Notations: (1)Diag(x)Diag(x)表示以向量為矩陣對角線元素構成對角陣,如Diag(a,b)=(a00b)Diag(a,b)=(a00b); (2)粗體符號表示矩陣或者向量,如xx表示向量,AA表示矩陣。 特徵值與特徵向量
利用矩陣奇異值分解對影象進行壓縮
最近學習線性代數的有關東西,在看到奇異值分解(svd)時,發現了一個在影象壓縮上的應用。 奇異值分解:線上性代數中,我們知道對任意一個矩陣都存在奇異值分解,,其中U和V是標準正交矩陣,而是一個對角矩陣,每一個對角元是該矩陣的奇異值,奇異值指的是矩陣的特徵值開根號。其具體分解形式如下: 其中 將A展開
Ubuntu下C++基於eigen庫SVD矩陣奇異值分解效率分析
在優化求解問題中,經常要用到矩陣奇異值的SVD分解。奇異值分解 (singularvalue decomposition,SVD)是一種可靠地正交矩陣分解法,它比QR分解法要花上近十倍的計算時間。 使用SVD分解法的用途是解最小平方誤差法和資料壓縮。 在Ubuntu下基
矩陣論奇異值分解
參考連結:https://www.zhihu.com/question/22237507 矩陣的奇異值分解就是將矩陣分解成若干秩一矩陣之和,公式表示式: 其中表示奇異值,分別表示列向量,秩一矩陣就是秩為一的矩陣。而且我們假定 的大小代表權重值,越大,權重越大。 舉個例
矩陣論(三):矩陣分解—從Schur分解、特徵值分解EVD到奇異值分解SVD
本篇部落格針對三種聯絡十分緊密的矩陣分解(Schur分解、特徵值分解、奇異值分解)依次介紹,它們的關係是Schur→EVD→SVDSchur\rightarrow{}EVD\rightarrow{}SVDSchur→EVD→SVD,也就是說由Schur分解可以推
線性代數基礎(矩陣、範數、正交、特徵值分解、奇異值分解、跡運算)
目錄 基礎概念 矩陣轉置 對角矩陣 線性相關 範數 正交 特徵值分解 奇異值分解 跡運算 行列式 如果這篇文章對你有一點小小的幫助,請給個關注喔~我會非常開心的~ 基礎概念 標量:一個標量就是一個單獨的數字 向量:一個向量就是一列數字 矩
【轉載】奇異值分解(SVD)計算過程示例
原文連結:奇異值分解(SVD)的計算方法 奇異值分解是線性代數中一種重要的矩陣分解方法,這篇文章通過一個具體的例子來說明如何對一個矩陣A進行奇異值分解。 首先,對於一個m*n的矩陣,如果存在正交矩陣U(m*m階)和V(n*n階),使得(1)式成立: \[A=U \Sigma V^T \tag{1
矩陣分解 - 奇異值分解(SVD)
本篇介紹矩陣分解中最重要的分解方式 奇異值分解 - Singular Value Decomposition (SVD) 一 定義 : 給定一個矩陣W,可以將其作如下形式的分解 W
矩陣的特徵值分解與奇異值分解的幾何意義
1、首先,矩陣可以認為是一種線性變換:確定了定義域空間與目標空間的兩組基,就可以很自然地得到該線性變換的矩陣表示。即矩陣A可以通過Ax=b將一個向量x線性變換到另一個向量b,這個過程中,線性變換的作用包
矩陣特徵值分解與奇異值分解含義解析及應用
此文有一半轉載自他出,主要在這進行個整理,具體內容文中都有相關的轉載連結。特徵值與特徵向量的幾何意義矩陣的乘法是什麼,別隻告訴我只是“前一個矩陣的行乘以後一個矩陣的列”,還會一點的可能還會說“前一個矩陣的列數等於後一個矩陣的行數才能相乘”,然而,這裡卻會和你說——那都是表象。
矩陣的奇異值分解(SVD)(理論)
矩陣的奇異值分解(Singular Value Decomposition,SVD)是數值計算中的精彩之處,在其它數學領域和機器學習領域得到了廣泛的應用,如矩陣的廣義逆,主分成分析(PCA),自然語言處理(NLP)中的潛在語義索引(Latent Semantic Indexing),推薦演算法等。 鑑
矩陣分解 (特徵值/奇異值分解+SVD+解齊次/非齊次線性方程組)
,#1. 用途# 1.1 應用領域 最優化問題:最小二乘問題 (求取最小二乘解的方法一般使用SVD) 統計分析:訊號與影象處理 求解線性方程組:Ax=0或Ax=b 奇異值分解:可以降維,同時可以降低資料儲存需求 1.2 矩陣是什麼 矩陣是什
3D-3D座標 SVD奇異值分解 ICP迭代最近點 G2O優化 求解 求旋轉平移矩陣 R t
* 迭代最近點 Iterative Closest Point, ICP求解 3D座標 到 3D座標的轉換矩陣(不用求解距離 鐳射SLAM 以及 RGB-D SLAM) * 使用 線性代數SVD奇異值分解 或者 非線性優化方法 求解 * 使用深度圖將 平面圖 轉化成 3維點
協方差矩陣的幾何解釋--協方差矩陣的特徵值分解部分,很好的解釋了奇異值分解主成分選擇的原因
http://www.360doc.com/content/16/0121/13/13800296_529534763.shtml A geometric interpretation of the covariance matrix http://www.visi
SVD分解(奇異值分解)求旋轉矩陣
參考文獻:http://igl.ethz.ch/projects/ARAP/svd_rot.pdf 一 問題描述 假設P={p1,p2,...,pn}和Q={q1,q2,...,qn}是兩組Rd空間中的對應點集,現在想要根據這個兩個點集的資料來計算出它們之間的剛性轉置
矩陣分解:奇異值分解(SVD)詳解
SVD分解 SVD分解是淺層語義分析(LSA)的數學基礎,本文是我的LSA學習筆記的一部分,之所以單獨拿出來,是因為SVD可以說是LSA的基礎,要理解LSA必須瞭解SVD,因此將LSA筆記的SVD一節單獨作為一篇文章。本節討論SVD分解相關數學問題,一個分為3個部分,第