特徵值分解和SVD分解

2021-08-13 18:10:07 字數 2287 閱讀 8128

一、特徵值與特徵向量的幾何意義

1.     矩陣乘法

在介紹特徵值與特徵向量的幾何意義之前,先介紹矩陣乘法的幾何意義。

矩陣乘法對應了乙個變換,是把任意乙個向量變成另乙個方向或長度的新向量。在這個變化過程中,原向量主要發生旋轉、伸縮的變化。如果矩陣對某些向量只發生伸縮變換,不產生旋轉效果,那麼這些向量就稱為這個矩陣的特徵向量,伸縮的比例就是特徵值。

比如:

因為,這個矩陣乘以乙個向量(x,y)的結果是:

那麼如果矩陣m不是對稱的,比如:

這其實是在平面上對乙個軸進行的拉伸變換【如藍色箭頭所示】,在圖中藍色箭頭是乙個最主要的變化方向。變化方向可能有不止乙個,但如果我們想要描述好乙個變換,那我們就描述好這個變換主要的變化方向就好了。

2.     特徵值分解與特徵向量

如果說乙個向量v是方陣a的特徵向量,將一定可以表示成下面的形式:

λ為特徵向量 v 對應的特徵值。特徵值分解是將乙個矩陣分解為如下形式:

其中,q是這個矩陣a的特徵向量組成的矩陣,σ是乙個對角矩陣,每乙個對角線元素就是乙個特徵值,裡面的特徵值是由大到小排列的,這些特徵值所對應的特徵向量就是描述這個矩陣變化方向(從主要的變化到次要的變化排列)。也就是說矩陣a的資訊可以由其特徵值和特徵向量表示。

對於矩陣為高維的情況下,那麼這個矩陣就是高維空間下的乙個線性變換。可以想象,這個變換也同樣有很多的變換方向,我們通過特徵值分解得到的前n個特徵向量,那麼就對應了這個矩陣最主要的n個變化方向。我們利用這前

n個變化方向,就可以近似這個矩陣(變換)。

總結一下,特徵值分解可以得到特徵值與特徵向量,特徵值表示的是這個特徵到底有多重要,而特徵向量表示這個特徵是什麼。不過,特徵值分解也有很多的侷限,比如說變換的矩陣必須是方陣。

二:svd分解:

特徵值分解是乙個提取矩陣特徵很不錯的方法,但是它只是對方陣而言的,在現實的世界中,我們看到的大部分矩陣都不是方陣,比如說有n個學生,每個學生有m科成績,這樣形成的乙個n * m的矩陣就不可能是方陣,我們怎樣才能描述這樣普通的矩陣呢的重要特徵呢?奇異值分解可以用來幹這個事情,奇異值分解是乙個能適用於任意的矩陣的一種分解的方法: 

假設a是乙個n * m的矩陣,那麼得到的u是乙個n * n的方陣(裡面的向量是正交的,u裡面的向量稱為左奇異向量),σ是乙個n * m的矩陣(除了對角線的元素都是0,對角線上的元素稱為奇異值),v』(v的轉置)是乙個n * n的矩陣,裡面的向量也是正交的,v裡面的向量稱為右奇異向量),從來反映幾個相乘的矩陣的大小可得下面的 

那麼奇異值和特徵值是怎麼對應起來的呢?首先,我們將乙個矩陣a的轉置 * a,將會得到乙個方陣,我們用這個方陣求特徵值可以得到: 

這裡得到的v,就是我們上面的右奇異向量。此外我們還可以得到: 

這裡的σ就是上面說的奇異值,u就是上面說的左奇異向量。奇異值σ跟特徵值類似,在矩陣σ中也是從大到小排列,而且σ的減少特別的快,在很多情況下,前10%甚至1%的奇異值的和就佔了全部的奇異值之和的99%以上了。也就是說,我們也可以用前r大的奇異值來近似描述矩陣,這裡定義一下部分奇異值分解: 

r是乙個遠小於m、n的數,這樣矩陣的乘法看起來像是下面的樣子: 

右邊的三個矩陣相乘的結果將會是乙個接近於a的矩陣,在這兒,r越接近於n,則相乘的結果越接近於a。而這三個矩陣的面積之和(在儲存觀點來說,矩陣面積越小,儲存量就越小)要遠遠小於原始的矩陣a,我們如果想要壓縮空間來表示原矩陣a,我們存下這裡的三個矩陣:u、σ、v就好了。

可以看出用奇異值分解分解可以近似表示矩陣;同時也可以進行降維和資訊挖掘。

特徵值分解和奇異值分解分解本質上應該是對矩陣的資訊挖掘。

特徵值分解

一 特徵值與特徵向量的幾何意義 1.矩陣乘法 在介紹特徵值與特徵向量的幾何意義之前,先介紹矩陣乘法的幾何意義。矩陣乘法對應了乙個變換,是把任意乙個向量變成另乙個方向或長度的新向量。在這個變化過程中,原向量主要發生旋轉 伸縮的變化。如果矩陣對某些向量只發生伸縮變換,不產生旋轉效果,那麼這些向量就稱為這...

特徵值分解和奇異值分解

1.特徵值分解 evd 對於乙個實對稱矩陣a r n na in r a rn n 可以分解成以下形式 a q q ta q sigma q t a q qt 中q是乙個正交陣,qqt i qq t i qqt i,q qq的列向量為a aa的特徵向量,gamma 是乙個對角陣,對角元素是矩陣a a...

特徵值 特徵向量 正交分解 PCA

無意間想到的,有時間會補充內容。還記得學線性代數時計算矩陣的特徵值和特徵向量,然後這個矩陣就可以用這個特徵值和特徵向量表示。這樣就可以理解成矩陣其實是多個向量拼在一起的,這樣就可以將矩陣和向量建立聯絡。特徵值和特徵向量其實就是尋求原向量組合的最簡單表示,因為向量是可以分解和組合的。為什麼要用特徵值和...