如何理解主成分分析中的協方差矩陣的特徵值的幾何含義?

PCA中的協方差矩陣的特徵值對應各主成分的方差大小,而我所理解的特徵值特徵向量是線性變換的線性不變數,感覺二者聯繫不上,看證明也是一知半解,不知是否可以用幾何或者通俗的方式幫助理解?

補充:或者如何理解這句話:樣本的協方差矩陣的特徵向量就是樣本分布變換最劇烈的那些方向。

這句話感覺是對的,因為PCA主成分是這麼選取的,但是並不理解這句話是怎麼得到的。


把協方差陣直接理解成一個變換矩陣比較困難。

但是,協方差陣Sigma作為對稱正定陣,可以分解成Sigma = PLambda P^T,其中P為正交矩陣(即P^{-1} = P^T),Lambda為對角陣,且對角元均為正。

A=PLambda^{1/2}P^T,容易看出A也是對稱正定陣,且Sigma = A^2,即A可以看作Sigma的「平方根」。

這裡的矩陣A就有比較明確的變換意義了。

用給定的數據可以擬合出一個多維正態分布mathcal{N}(mu, Sigma),其概率密度函數為:

p(x) = C exp left[ -frac{1}{2} (x-mu)^T Sigma^{-1} (x-mu) 
ight]

C為常數,具體值就省略了)

Sigma = A^2代進去,變成

p(x) = C exp left{ -frac{1}{2} [A^{-1}(x-mu)]^T  [A^{-1}(x-mu)] 
ight}

跟標準正態分布的概率密度函數對比,可以發現y = A^{-1}(x-mu)服從標準正態分布。

也就是說,給定數據中的任意一個點x,可由服從標準正態分布的y經變換x = Ay + mu得來。

這樣就可以知道,x的分布以A的各個特徵向量為軸,各個特徵值的絕對值為軸向的標準差。

Sigma的特徵向量與A相同,特徵值是A的特徵值的平方,故Sigma的特徵向量也是x的分布的軸,特徵值是軸向的方差。


千萬不要小看PCA, 很多人隱約知道求解最大特徵值,其實並不理解PCA是對什麼東西求解特徵值和特徵向量。 也不理解為什麼是求解特徵值和特徵向量。 要理解到Hinton對PCA的認知,需要跨過4個境界,而上面僅僅是第1個境界的問題。

為什麼要理解PCA?

其實深度學習在成為深度學習以前,主要是特徵表達學習, 而特徵表達學習追溯到始祖象階段,主要是無監督特徵表達PCA和有監督特徵表達LDA。 對了這裡LDA不是主題模型的LDA,是統計鼻祖Fisher搞的linear discriminant analysis(參考「Lasso簡史」)。 而Hinton在這方面的造詣驚人, 這也是為什麼他和學生一起能搞出牛牛的 t-Distributed Stochastic Neighbor Embedding (t-SNE) 。

至於t-SNE為啥牛, 這裡給兩個對比圖片, 然後我們再回到PCA,以後有機會再擴展!

t-SNE vs PCA: 可以看到線性特徵表達的局限性

t-SNE 優於 已有非線性特徵表達 Isomap, LLE 和 Sammon mapping

依然還記得2004年左右Isomap橫空出世的驚奇, 再看t-SNE的誕生,真是膜拜! 也正是Hinton對PCA能理解到他的境界, 他才能發明t-SNE。

PCA理解第一層境界:最大方差投影

正如PCA的名字一樣, 你要找到主成分所在方向, 那麼這個主成分所在方向是如何來的呢?

其實是希望你找到一個垂直的新的坐標系, 然後投影過去, 這裡有兩個問題。 第一問題: 找這個坐標系的標準或者目標是什麼? 第二個問題, 為什麼要垂直的, 如果不是垂直的呢?

如果你能理解第一個問題, 那麼你就知道為什麼PCA主成分是特徵值和特徵向量了。 如果你能理解第二個問題, 那麼你就知道PCA和ICA到底有什麼區別了。

對於第一個問題: 其實是要求解方差最小或者最大。 按照這個目標, 你代入拉格朗日求最值, 你可以解出來, 主成分方向,剛好是S的特徵向量和特徵值! 是不是很神奇? 偉大的拉格朗日(參考 "一步一步走向錐規劃 - QP" "一挑三 FJ vs KKT ")

現在回答了,希望你理解了, PCA是對什麼東西求解特徵值和特徵向量。 也理解為什麼是求解的結果就是特徵值和特徵向量吧!

這僅僅是PCA的本意! 我們也經常看到PCA用在圖像處理裡面, 希望用最早的主成分重建圖像:

這是怎麼做到的呢?

PCA理解第二層境界:最小重建誤差

什麼是重建, 那麼就是找個新的基坐標, 然後減少一維或者多維自由度。 然後重建整個數據。 好比你找到一個新的視角去看這個問題, 但是希望自由度小一維或者幾維。

那麼目標就是要最小重建誤差,同樣我們可以根據最小重建誤差推導出類似的目標形式。

雖然在第二層境界裡面, 也可以直觀的看成忽略了最小特徵值對應的特徵向量所在的維度。 但是你能體會到和第一層境界的差別么? 一個是找主成分, 一個是維度縮減。 所以在這個層次上,才是把PCA看成降維工具的最佳視角。

PCA理解第三層境界:高斯先驗誤差

在第二層的基礎上, 如果引入最小二乘法和帶高斯先驗的最大似然估計的等價性。(參考"一步一步走向錐規劃 - LS" 「最小二乘法的4種求解」 ) 那麼就到了理解的第三層境界了。

所以, 重最小重建誤差, 我們知道求解最小二乘法, 從最小二乘法, 我們可以得到高斯先驗誤差。

有了高斯先驗誤差的認識,我們對PCA的理解, 進入了概率分布的層次了。 而正是基於這個概率分布層次的理解, 才能走到Hinton的理解境界。

PCA理解第四層境界(Hinton境界):線性流形對齊

如果我們把高斯先驗的認識, 到到數據聯合分布, 但是如果把數據概率值看成是空間。 那麼我們可以直接到達一個新的空間認知。

這就是「Deep Learning」書裡面寫的, 烙餅空間(Pancake), 而在烙餅空間裡面找一個線性流行,就是PCA要乾的事情。 我們看到目標函數形式和最小重建誤差完全一致。 但是認知完全不在一個層次了。

小結

這裡羅列理解PCA的4種境界,試圖通過解釋Hinton如何理解PCA的, 來強調PCA的重要程度。 尤其崇拜Hinton對簡單問題的高深認知。不僅僅是PCA,尤其是他對EM演算法的再認識, 誕生了VBEM演算法, 讓VB演算法完全從物理界過渡到了機器學習界(參考 「變の貝葉斯」)。 有機會可以看我對EM演算法的回答,理解EM演算法的9種境界。


謝謝回答。

這幾天翻了很多資料,理解的都不好,所以提問求助了一下。剛剛又看了一些資料,覺得這個講解的比較清楚,有種豁然開朗的感覺,分享一下

透徹講解PCA_百度文庫


PCA的數學原理(非常值得閱讀)!!!!


。。。矩陣特徵分解得到什麼?

特徵值分解就是找到線性空間的正交基表達

正交基不就意味著樣本變換最劇烈的方向。

特徵值的大小(正交基的norm)就代表了這個正交基對線性空間的影響權重。

所以選擇大的就所謂留下了主要正交基

所謂正交基表達線性空間換一個角度看就是不同頻率的餘弦波構成一個信號。

eg。fx=100cos(t)+2cos(2t)+40cos(3t)

而我們將這個信號做頻譜分析,只取其頻譜成分高的那些頻譜,不就最能夠保留信號特性而降低維(基數,頻譜數量)了嘛?


知乎首答 不會發公式 所以用電腦敲的然後截的圖…

上面我們實際有一個假設,也就是數據是以原點為質心分布的。但實際數據不一定滿足這個條件,怎麼辦吶?先求出數據的質心,然後將原點平移到質心,你會發現協方差矩陣就是上面的A的轉制乘A


各位大神,請問一下,對於一組是三維點的坐標,求出協方差矩陣,並求出特徵值,和特徵向量,請問,最大的特徵值對應的特徵向量能代表這組點的近似法向量嗎(就是可以把這個特徵向量近似看成這些點擬合的曲面的法線),請問可以嗎,有懂得的還望賜教!


推薦閱讀:

跡的幾何意義是什麼?
線性代數中,向量空間的子空間的「和」與「直和」,這兩個概念的區別是什麼?
如何理解線性空間這一概念?
如何理解並區分線性空間、向量空間、矩陣空間這三個數學概念?
如何理解內積空間?

TAG:數學 | 統計學 | 線性代數 | 特徵值 | PrincipalComponentAnalysis |