Pca

什麼是 PCA 如何從幾何問題(有距離)轉變為線性代數問題(有特徵向量)的直觀解釋?

  • June 8, 2016

我已經閱讀了很多關於 PCA 的內容,包括各種教程和問題(例如this onethis onethis onethis one)。

PCA 試圖優化的幾何問題對我來說很清楚:PCA 試圖通過最小化重構(投影)誤差來找到第一個主成分,同時最大化投影數據的方差。

在此處輸入圖像描述

當我第一次閱讀時,我立即想到了線性回歸之類的東西。如果需要,也許您可以使用梯度下降來解決它。

然而,當我讀到優化問題是通過使用線性代數並找到特徵向量和特徵值來解決時,我大吃一驚。我根本不明白這種線性代數的使用是如何發揮作用的。

所以我的問題是:PCA 如何從幾何優化問題轉變為線性代數問題?有人可以提供直觀的解釋嗎?

我不是在尋找這樣的答案即“當你解決 PCA 的數學問題時,它最終等同於找到協方差矩陣的特徵值和特徵向量。” 請解釋為什麼特徵向量是主成分以及為什麼特徵值是投影到它們上的數據的方差

順便說一句,我是一名軟件工程師,而不是數學家。

注意:上圖取自本 PCA 教程並進行了修改。

問題陳述

PCA 試圖優化的幾何問題對我來說很清楚:PCA 試圖通過最小化重構(投影)誤差來找到第一個主成分,同時最大化投影數據的方差。

那就對了。我在此處(不帶數學)或此處(帶數學)的回答中解釋了這兩個公式之間的聯繫。

讓我們採用第二個公式:PCA 正在嘗試尋找方向,以使數據在其上的投影具有最大可能的方差。根據定義,該方向稱為第一主方向。我們可以將其形式化如下:給定協方差矩陣 $ \mathbf C $ ,我們正在尋找一個向量 $ \mathbf w $ 具有單位長度, $ |\mathbf w|=1 $ , 這樣 $ \mathbf w^\top \mathbf{Cw} $ 是最大的。

(以防萬一這不清楚:如果 $ \mathbf X $ 是居中的數據矩陣,則投影由下式給出 $ \mathbf{Xw} $ 它的方差是 $ \frac{1}{n-1}(\mathbf{Xw})^\top \cdot \mathbf{Xw} = \mathbf w^\top\cdot (\frac{1}{n-1}\mathbf X^\top\mathbf X)\cdot \mathbf w = \mathbf w^\top \mathbf{Cw} $ .)

另一方面,特徵向量為 $ \mathbf C $ 是,根據定義,任何向量 $ \mathbf v $ 這樣 $ \mathbf{Cv}=\lambda \mathbf v $ .

事實證明,第一主方向由具有最大特徵值的特徵向量給出。這是一個不平凡且令人驚訝的聲明。


證明

如果您打開任何有關 PCA 的書籍或教程,您可以在那裡找到以下幾乎單行的上述陳述的證明。我們想要最大化 $ \mathbf w^\top \mathbf{Cw} $ 在約束下 $ |\mathbf w|=\mathbf w^\top \mathbf w=1 $ ; 這可以通過引入拉格朗日乘數並最大化 $ \mathbf w^\top \mathbf{Cw}-\lambda(\mathbf w^\top \mathbf w-1) $ ; 微分,我們得到 $ \mathbf{Cw}-\lambda\mathbf w=0 $ ,這是特徵向量方程。我們看到 $ \lambda $ 通過將此解代入目標函數,實際上必須是最大的特徵值,這給出 $ \mathbf w^\top \mathbf{Cw}-\lambda(\mathbf w^\top \mathbf w-1) = \mathbf w^\top \mathbf{Cw} = \lambda\mathbf w^\top \mathbf{w} = \lambda $ . 由於這個目標函數應該被最大化, $ \lambda $ 必須是最大的特徵值,QED。

對於大多數人來說,這往往不是很直觀。

一個更好的證明(參見@cardinal 的這個簡潔的答案)說因為 $ \mathbf C $ 是對稱矩陣,它的特徵向量基是對角線。(這實際上稱為譜定理。)因此我們可以選擇一個正交基,即由特徵向量給出的基,其中 $ \mathbf C $ 是對角線並且有特徵值 $ \lambda_i $ 在對角線上。在此基礎上, $ \mathbf w^\top \mathbf{C w} $ 簡化為 $ \sum \lambda_i w_i^2 $ ,或者換句話說,方差由特徵值的加權和給出。幾乎立即可以最大化這個表達式,我們應該簡單地採用 $ \mathbf w = (1,0,0,\ldots, 0) $ ,即第一個特徵向量,產生方差 $ \lambda_1 $ (實際上,偏離該解決方案並將最大特徵值的部分“交易”為較小特徵值的部分只會導致較小的整體方差)。請注意, $ \mathbf w^\top \mathbf{C w} $ 不依賴基礎!更改為特徵向量基相當於旋轉,因此在 2D 中可以想像簡單地用散點圖旋轉一張紙;顯然這不能改變任何差異。

我認為這是一個非常直觀且非常有用的論點,但它依賴於譜定理。所以我認為真正的問題是:譜定理背後的直覺是什麼?


譜定理

取一個對稱矩陣 $ \mathbf C $ . 取其特徵向量 $ \mathbf w_1 $ 具有最大特徵值 $ \lambda_1 $ . 將此特徵向量作為第一個基向量,並隨機選擇其他基向量(使得它們都是正交的)。怎麼會 $ \mathbf C $ 在這個基礎上看?

它將有 $ \lambda_1 $ 在左上角,因為 $ \mathbf w_1=(1,0,0\ldots 0) $ 在此基礎上和 $ \mathbf {Cw}1=(C{11}, C_{21}, \ldots C_{p1}) $ 必須等於 $ \lambda_1\mathbf w_1 = (\lambda_1,0,0 \ldots 0) $ .

通過相同的論點,它在下面的第一列中將有零 $ \lambda_1 $ .

但是因為它是對稱的,所以它在之後的第一行會有零 $ \lambda_1 $ 也是。所以它看起來像這樣:

$$ \mathbf C=\begin{pmatrix}\lambda_1 & 0 & \ldots & 0 \ 0 & & & \ \vdots & & & \ 0 & & & \end{pmatrix}, $$

其中空白意味著那裡有一些元素的塊。因為矩陣是對稱的,所以這個塊也是對稱的。所以我們可以對它應用完全相同的參數,有效地使用第二個特徵向量作為第二個基向量,並得到 $ \lambda_1 $ 和 $ \lambda_2 $ 在對角線上。這可以持續到 $ \mathbf C $ 是對角線。這本質上是譜定理。(注意它是如何工作的,只是因為 $ \mathbf C $ 是對稱的。)


這是對完全相同的論點的更抽象的重新表述。

我們知道 $ \mathbf{Cw}_1 = \lambda_1 \mathbf w_1 $ ,所以第一個特徵向量定義了一個一維子空間,其中 $ \mathbf C $ 充當標量乘法。現在讓我們取任何向量 $ \mathbf v $ 正交於 $ \mathbf w_1 $ . 然後幾乎立即 $ \mathbf {Cv} $ 也正交於 $ \mathbf w_1 $ . 的確:

$$ \mathbf w_1^\top \mathbf{Cv} = (\mathbf w_1^\top \mathbf{Cv})^\top = \mathbf v^\top \mathbf C^\top \mathbf w_1 = \mathbf v^\top \mathbf {Cw}_1=\lambda_1 \mathbf v^\top \mathbf w_1 = \lambda_1\cdot 0 = 0. $$

這意味著 $ \mathbf C $ 作用於正交的整個剩餘子空間 $ \mathbf w_1 $ 使其與 $ \mathbf w_1 $ . 這是對稱矩陣的關鍵性質。所以我們可以在那裡找到最大的特徵向量, $ \mathbf w_2 $ ,並以相同的方式進行,最終構建特徵向量的正交基。

引用自:https://stats.stackexchange.com/questions/217995

comments powered by Disqus