PCA 與 Ridge Regression 的關係

%e8%a1%a8%e6%a0%bc123

之前我朋友在找機器學習相關的工作時,遇到一到面試問題:「主成份分析」(principal component analysis) 與「嶺迴歸」 (ridge regression) 之間有什麼關係?當下他有點困惑的來詢問我兩者之間哪裡有關,後來想想好像很少有機器學習的課程會談到這件事 (畢竟一學期的課程要上這麼多內容,很難討論到這麼細節的性質),因此我想跟大家討論一下這兩者之間的關連。

 

回顧:迴歸分析與最小平方法

 

針對 n 個個體我們蒐集了變數 X_1, \cdots, X_pY 的相關資料,我們會得到以下資料矩陣:

為求方便,不失一般性地假設X_1, \cdots, X_pY 的期望值皆為 0 ,且上述的矩陣已經是被置中了(也就是說每個 column 的數值已經扣除掉該 column 原始資料的平均值)。如果上述的變數間滿足線性模式

則一般最小平方法的估計結果是

 。

 

主成份分析迴歸模型

 

當我們的資料矩陣 \mathbf{X} 搜集了大量的變數,也就是 p 很大時,在做迴歸分析時我們可能會對資料矩陣進行降維,將原本有 p 個變數的迴歸模型轉換成只有  k << p 個變數的迴歸模型。其中一種方式就是透過主成份分析,得到 p 個主成份 (principal component),只留下能夠解釋最多變異的 k 個主成份。

 

接著,我們來談談主成份分析的數學原理。首先,我們對資料矩陣 \mathbf{X} 進行奇異值分解 (SVD, Singular Value Decomposition),得到以下形式:

如果你跟線性代數還熟悉,會知道其中

  • \mathbf{U}_{n \times p}= (\mathbf{u}_1, \mathbf{u}_2, \cdots, \mathbf{u}_p) 是資料矩陣 \mathbf{X} 行空間 (column space) 的一組正交基底 (orthogonal basis),
  • \mathbf{V}_{p \times p}= (\mathbf{v}_1, \mathbf{v}_2, \cdots, \mathbf{v}_p) 是資料矩陣 \mathbf{X} 列空間 (row space) 的一組正交基底 (orthogonal basis),
  • \mathbf{D}_{p \times p}= diag(d_1, d_2, \cdots, d_p),~d_1\geq d_2 \geq \cdots \geq d_p \geq 0 是一個對角矩陣,裡面的元素 d_i‘s 被稱為資料矩陣 \mathbf{X} 的奇異值 (singular value)。

 

主成份分析則是針對資料的共變異數矩陣 \mathbf{S} = \frac{1}{n} \mathbf{X}^T \mathbf{X},或是說對矩陣 \mathbf{X}^T \mathbf{X},進行特徵分解 (eigen-decomposition),特徵分解可以由資料矩陣 SVD 的結果得到:

其中 $latex\mathbf{V}$ 就是所謂的轉換矩陣,能夠將資料矩陣投影成主成份,而 \mathbf{v}_j‘s 被稱為主成份方向 (principal component direction)。

 

由上述的運算,很容易得知資料的第 j 個主成份以及其變異數為

因此每個主成份可以解釋資料的變異量其實就是其對應的奇異值,而越前面的主成分能夠解釋的變異量越多。將 SVD 的結果代入迴歸估計式中,可以得到:

 

在做迴歸分析時,假設我們想把可解釋變異量小於 \lambda的迴歸係數暴力設為 0,得到的結果會變成:

我們將會以這個結果與 ridge regression 的估計結果做比較,我們會很容易看出兩者間的關係。

 

嶺迴歸與其性質

 

嶺迴歸與一般最小平方法估計最大的差異,是希望能夠控制每個變數的係數大小,因此其目標函數會多加入係數大小的二次懲罰項:

其中 lambda 越大,代表我們希望迴歸係數越靠近 0。將上述目標函數取一次微分求極小值,會得到

 

如果我們將資料矩陣 \mathbf{X} 奇異值分解的結果代入,會得到:

跟暴力設 PC 係數為 0 的結果比較,差別在 ridge regression 將係數由 \mathbf{1}_{d^2_j > \lambda} 轉換成平滑的 \frac{d_j^2}{d_j^2+\lambda} 函數做收縮。

 

小結:PCA 與 Ridge Regression 的關係

 

從上面的估計結果來看,越前面的 PC 獲得的權重越高(因為 \frac{d_j^2}{d_j^2+\lambda}d_j^2 的遞增函數),而 \lambda 越大會讓每個 PC 的貢獻越小,而且對於解釋變異較小的 PC 收縮的幅度越強。下圖是簡單的示意圖,本來我們試圖將 Y 投影到第一個 PC 與第二個 PC 的方向上,得到的兩個投影向量 (藍色箭頭) 就是原本 PC 能夠夠獻給 Y 的部分。而 Ridge regression 則是針對這些投影量用收縮因子 \frac{d_j^2}{d_j^2+\lambda} 進行收縮,得到了收縮後的向量(綠色箭頭)。而且,對於第二個 PC 的收縮強度比第一個 PC 的收縮強度強。

螢幕快照 2018-06-10 上午11.10.43

 

有關 David’s Perspective 的最新文章,都會發布在大鼻的 Facebook 粉絲專頁,如果你喜歡大鼻的文章,還請您按讚或留言給我喔!

大鼻觀點:https://www.facebook.com/davidperspective/

About David Huang

國立臺灣大學統計碩士,喜愛運用資料科學解決複雜的商業問題,改善商業決策的品質。過去的專案經歷包括:外匯選擇權套利、股票投資組合設計、戲劇推薦系統、使用者觀看行為預測、聊天機器人機器學習開發、IoT產業文字探勘與產品分析、衛材存貨管理系統等。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *