天天看點

線性代數筆記16:了解PCA基本思想直覺了解PCA是最佳的仿射變換拟合PCA保留最大方差參考資料

在SVD的基礎上,深入了解PCA。

本文涉及到仿射變換、SVD等多個概念,可以先看參考文獻,本文作為複習了解之用。

基本思想

降維是機器學習中很常見的一種思維方式,一般來說,可以通過線性投影和非線性映射進行。

PCA是一種簡單的線性映射,當考慮降維時,我們一般有兩種思路:

  • 找到d-維仿射變換子空間,在合适的投影下,新的投影點與原先的投影點就接近。也就是說,在新投影下能最大限度的保持原資料的特征。
  • 找到d-位投影,盡可能多的保留資料的變動(方差)。

我們将會從這兩個思路分别進行求解,可以看到,這兩個目标實際上等價。

定義

首先定義一些常用的量

樣本均值

μn=1n∑n=1nxi μ n = 1 n ∑ n = 1 n x i

樣本協方差

∑n=1n−1∑i=1n(xi−μi)(xi−μi)T ∑ n = 1 n − 1 ∑ i = 1 n ( x i − μ i ) ( x i − μ i ) T

其中 xi x i 為資料樣本(列向量),是以可以得到 X=(x1,...,xn) X = ( x 1 , . . . , x n ) 為 p×n p × n 矩陣,是以,寫成矩陣的形式為

∑n=1n−1(X−μn1)(X−μ1)T ∑ n = 1 n − 1 ( X − μ n 1 ) ( X − μ 1 ) T

直覺了解

首先,讓我們用不是很嚴格的數學公式來直覺了解PCA。

我們很常見的思想是使得協方差矩陣的方差盡可能大(保留更多有效資訊),而讓協方差盡可能的小(防止資料備援),在協方差矩陣中則表現為對角矩陣 D D 。

我們令經過d-維基VV變換後的新坐标為 y y ,是以可得:

D=yyT=Vx(Vx)T=VxxTVT=V∑nVT(1)(2)(3)(4)(1)D=yyT(2)=Vx(Vx)T(3)=VxxTVT(4)=V∑nVT

這個式子有着特殊的含義。其中, D D 是新的協方差矩陣(對角矩陣),而∑n∑n則是原始資料的協方差矩陣, V V 則是d-維正交基。

是以,這個式子可以了解為:對協方差矩陣∑n∑n,找一個 V V ,使得其轉變為對角矩陣。而協方差矩陣是實對稱矩陣,一定能夠對角化,證明了這一點的完備性。

是以,我們隻需要對協方差矩陣進行對角化,然後求出其對應的特征向量,即為新坐标下的正交基VV。對 y=Vx y = V x 進行坐标變換則求到了新坐标下的PCA坐标。

PCA是最佳的仿射變換拟合

我們要對每個近似 xi x i 近似(由仿射變換的定義):

xi≈μ+∑j=1dβjivj x i ≈ μ + ∑ j = 1 d β i j v j

其中, Vp×d=(v1,..,vd) V p × d = ( v 1 , . . , v d ) 為d-維子空間中的标準正交基, μ∈Rp μ ∈ R p 是平移量, βj β j 為在基 vj v j 下的系數, βij β j i 為 βj β j 的第 i i 個分量那麼上式可以寫成:

xi=μ+Vβixi=μ+Vβi

由于其中的 V V 由标準正交基組成,是以VTV=1VTV=1.

用平方誤差來衡量拟合效果,即要求出:

minμ,V,βi.VTV=1∑i=1n||xi−(μ+Vβi)||2 min μ , V , β i . V T V = 1 ∑ i = 1 n | | x i − ( μ + V β i ) | | 2

求 μ μ 的最優值

首先對 μ μ 求偏導,可以得到:

∑i=1n(xi−(μ+Vβi))=0⇒(∑i=1nxi)−nμ−V(∑i=1nβi)=0 ∑ i = 1 n ( x i − ( μ + V β i ) ) = 0 ⇒ ( ∑ i = 1 n x i ) − n μ − V ( ∑ i = 1 n β i ) = 0

由于 μ μ 和 β β 之間沒有關系,不失一般性我們可以假設 ∑βi=0 ∑ β i = 0 ,是以可以解出:

μ∗=1n∑i=1nxi=μn μ ∗ = 1 n ∑ i = 1 n x i = μ n

是以, μ μ 的最優值就是樣本均值 μ∗ μ ∗ 。

這樣,我們可以将原始式子化簡為:

minμ,V,βi.VTV=1∑i=1n||xi−(μn+Vβi)||2 min μ , V , β i . V T V = 1 ∑ i = 1 n | | x i − ( μ n + V β i ) | | 2

求 βi β i 的最優值

注意到, βi β i 之間是無耦合的影響的最小值,是以,對于原始式子,可以分别解出 βi β i :

minβi||xi−μn−Vβi||2=minβi||xi−μn−∑j=1dβjivj||2 min β i | | x i − μ n − V β i | | 2 = min β i | | x i − μ n − ∑ j = 1 d β i j v j | | 2

由于 V V 是标準正交基,對βiβi求偏導:

βji=vTj(xi−μn)⇒βi=VT(xi−μn) β i j = v j T ( x i − μ n ) ⇒ β i = V T ( x i − μ n )

是以式子可以化簡為:

minVTV=1∑i=1n||(xi−μn)−VVT(xi−μn)||2 min V T V = 1 ∑ i = 1 n | | ( x i − μ n ) − V V T ( x i − μ n ) | | 2

求 V V 的最優值

由||x||2=<x,x>||x||2=<x,x>和 VTV=1 V T V = 1 ,可以得到:

||(xi−μn)−VVT(xi−μn)||2=[(xi−μn)−VVT(xi−μn)]T[(xi−μn)−VVT(xi−μn)]=(xi−μn)T(xi−μn)−(xi−μn)TVVT(xi−μn)−(xi−μn)TVVT(xi−μn)+(xi−μn)TVVTVVT(xi−μn)=2(xi−μn)T(xi−μn)−2(xi−μn)TVVT(xi−μn)(5)(6)(7) (5) | | ( x i − μ n ) − V V T ( x i − μ n ) | | 2 = [ ( x i − μ n ) − V V T ( x i − μ n ) ] T [ ( x i − μ n ) − V V T ( x i − μ n ) ] (6) = ( x i − μ n ) T ( x i − μ n ) − ( x i − μ n ) T V V T ( x i − μ n ) − ( x i − μ n ) T V V T ( x i − μ n ) + ( x i − μ n ) T V V T V V T ( x i − μ n ) (7) = 2 ( x i − μ n ) T ( x i − μ n ) − 2 ( x i − μ n ) T V V T ( x i − μ n )

由于 (xi−μn)T(xi−μn)與 ( x i − μ n ) T ( x i − μ n ) 與 V$無關,是以等價于求:

maxVTV=1∑i=1n(xi−μn)TVVT(xi−μn) max V T V = 1 ∑ i = 1 n ( x i − μ n ) T V V T ( x i − μ n )

由矩陣的迹的性質可得:

yTy=Tr(yyT) y T y = T r ( y y T )

化簡原式可得:

∑i=1n(xi−μn)TVVT(xi−μn)=∑i=1n[VT(xi−μn)]T[VT(xi−μn)] ∑ i = 1 n ( x i − μ n ) T V V T ( x i − μ n ) = ∑ i = 1 n [ V T ( x i − μ n ) ] T [ V T ( x i − μ n ) ]

是以,将原始化簡的式子等價于求:

maxVTV=1∑i=1n(xi−μn)TVVT(xi−μn)=maxVTV=1(n−1)Tr(VT∑nV) max V T V = 1 ∑ i = 1 n ( x i − μ n ) T V V T ( x i − μ n ) = max V T V = 1 ( n − 1 ) T r ( V T ∑ n V )

即:

maxVTV=1Tr(VT∑nV) max V T V = 1 T r ( V T ∑ n V )

即,我們最後要求的标準正交基為使得協方差矩陣的迹最大;這等價于求協方差矩陣的特征值,并按照從大到小排列。

PCA保留最大方差

我們的第二個目标是要保留資料最大變化的d-維投影。可以寫出全方差為:

TotalVariance(Xn)=1n∑||xi−μn||2=1n∑i=1n||xi−1n∑i=1nxi||2 T o t a l V a r i a n c e ( X n ) = 1 n ∑ | | x i − μ n | | 2 = 1 n ∑ i = 1 n | | x i − 1 n ∑ i = 1 n x i | | 2

是以,我們要向最大化投影以後的方差,即 VTxi V T x i 的方差:

maxVTV=1∑i=1n||VTxi−1n∑i=1nVTxi||2 max V T V = 1 ∑ i = 1 n | | V T x i − 1 n ∑ i = 1 n V T x i | | 2

根據之前的結論:

∑i=1n||VTxi−1n∑i=1nVTxi||2=∑i=1n||VT(xi−μn)||2=(n−1)Tr(VT∑nV) ∑ i = 1 n | | V T x i − 1 n ∑ i = 1 n V T x i | | 2 = ∑ i = 1 n | | V T ( x i − μ n ) | | 2 = ( n − 1 ) T r ( V T ∑ n V )

表明主成分 V V 可以通過下式解決:

maxVTV=1Tr(VT∑nV)maxVTV=1Tr(VT∑nV)

這樣,兩種不同的度量方法就等價求協方差矩陣的前 d d <script type="math/tex" id="MathJax-Element-65">d</script>個特征值。

參考資料

  • 如何通俗地講解「仿射變換」這個概念
  • 奇異值的實體意義是什麼
  • Tutorial on Principal Component Analysis

繼續閱讀