【降維】主成分分析PCA推導


本博客根據 百面機器學習,算法工程師帶你去面試 一書總結歸納,公式都是出自該書.
本博客僅為個人總結學習,非商業用途,侵刪.
網址 http://www.ptpress.com.cn

目錄:

  • PCA最大方差理論

  • PCA最小平方誤差理論

在機器學習中, 數據通常需要被表示成向量形式以輸入模型進行訓練。 但是在對向維向量進行處理和分析時, 會極大地消耗系統資源, 甚至產生維度災難。 因此, 對特征向量進行降維, 即用一個低維度的向量表示原始高維度的特征就顯得尤為重要。

PCA(Principal Components Analysis),它屬於一種線性,非監督,全局的降維方法。旨在找到數據中的主成分,並利用這些主成分表征原始數據,從而達到降維的目的。

PCA最大方差理論

我們不妨先從最簡單的二維數據進行推到,看PCA是如何工作的。如下圖所示:

上圖中表示經過中心化的一組數據,我們很容易看出主成分所在的軸的大致方向,即圖b中黃線所在的軸。因為在黃線所處的軸上,數據分布的更為分散,意味着數據在這個方向上方差更大。所以從上圖可以引出,PCA的目標即最大化投影方差,也就是讓數據在主軸上投影的方差最大。

對給定的一組數據點{\(v_1,v_2,…,v_n\)},其中所以向量均為列向量,中心化后的表示為:
=,其中

進行中心化的意義是讓數據投影后的平均值為0,更容易描述找到的投影向量。且在進行了中心化后,所有樣本投影之后的均值為0,即

我們知道向量內積在幾何上表示為第一個向量投影到第二個向量上的長度,因此向量\(x_i\)在ω( 單位方向向量) 上的投影坐標可以表示為 。 所以目標是找到一個投影方向ω, 使得\(x_1,x_2,...,x_n\),在ω上的投影方差盡可能大。

所以投影后得方差可以表示為:



仔細觀察可以發現,其實就是樣本的協方差矩陣,我們將其寫作Σ。由於ω是單位方向向量, 即有\(ω^Tω\)=1。因此我們要求解的最大化問題,可以表示為:

引入拉格朗日乘子, 並對ω求導令其等於0, 便可以推出Σω=λω, 此時

根據我們學過的線性代數知識,我們會發現,原來,\(x\)投影后的方差就是協方差矩陣的特征值。我們要找的最大的方差也就是協方差矩陣最大的特征值,最佳投影方向就是最大特征值所對應得特征向量。次投影方向位於最佳投影方向得正交空間中,是第二大特征向量對應得特征向量,以此類推。
所以我們可以得到PCA求解得步驟:

  • 1,對樣本數據進行中心化;
  • 2,求樣本得協方差矩陣;
  • 3,對協方差矩陣進行特征值分解,將特征值從大到小排序;
  • 4,去特征值前d大對應得特征向量\(ω_1,ω_2,...,ω_d\),通過以下映射將n維樣本映射到d維。

新的\(x_i^′\)的第d維就是\(x_i\)在第d個主成分\(ω_d\)方向上的投影, 通過選取最大的d個特征值對應的特征向量, 我們將方差較小的特征( 噪聲) 拋棄, 使得每個n維列向量\(x_i\)被映射為d維列向量\(x_i^′\), 定義降維后的信息占比為

總結: PCA是一種線性降維方法,有一定的局限性,我們可以通過核映射對PCA進行擴展得到核主成分分析(KPCA),也可以通過流形映射的降維方法, 比如等距映射、 局部線性嵌入、 拉普拉斯特征映射等, 對一些PCA效果不好的復雜數據集進行非線性降維操作。

PCA最小平方誤差理論

前面求解一條直線使得樣本點投影到該直線上的方差最大。從求解直線的思路出發,很容易聯想到數學中的線性回歸問題,其目標也是求解一個線性函數使得對應直線能夠很好地擬合樣本點集合。從這個角度出發,PCA的目標就會轉換為一個回歸問題,在高維空間中,我們實際要找一個d維超平面,使得數據點到這個超平面的距離平方和最小.

以d=1為例,超平面退化為直線,即把樣本投影到最佳直線,最小化的就是所有點到直線的距離平方之和。如下圖所示:

數據集中每個點\(x_k\)到d維超平面D的距離為:
image-20200218141137330

其中 表示\(x_k\)在超平面D上的投影向量。如果該超平面由d個標准正交基構成,根據線性代數理論可以由這組基線性表示:

其中\(ω_i^T x_k\)表示\(x_k\)\(ω_i\)方向上投影的長度.因此,實際上就是\(x_k\)W這組標准正交基下的坐標.而PCA要優化的目標為:

由向量內積的性質,我們可以知道,,於是可以將上面式子中的每一個距離展開

根據展開后的式子來看,

  • 第一項\(x_k^Tx_k\)與選取的W無關,是個常數。
  • 第二項為:


  • 第三項為:

第三項中,\(ω_i^T x_k\)\(ω_j^T x_k\) 表示投影長度, 都是數字.且當i≠j時,\(ω_i^Tω_j=0\),因此第三項的交叉項中只剩下d項:

我們可以看到實際上就是矩陣\(W^Tx_kx_k^TW\)的跡(對角線之和),於是可以將距離差的平方繼續化簡為:

所以原來的優化目標函數可以寫成:


根據矩陣乘法的性質,因此優化問題可以轉化為,這等價於求解帶約束的優化問題

如果我們對W中的d個基\(ω_1,ω_2,...,ω_d\)依次求解, 就會發現和最大方差理論的方法
完全等價。 比如當d=1時, 我們實際求解的問題是

最佳直線ω與最大方差法求解的最佳投影方向一致, 即協方差矩陣的最大特征值所對應的特征向量, 差別僅是協方差矩陣Σ的一個倍數, 以及常數 偏差,但這並不影響我們對最大值的優化。

總結:我們從最小平方誤差的角度解釋了PCA的原理、 目標函數和求解方法。 不難發現,這與最大方差角度殊途同歸, 從不同的目標函數出發, 得到了相同的求解方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM