文章目錄
- PCA概念介紹
- PCA步驟
- PCA原理
-
- 協方差矩陣
- 拓展
-
- 白化whitening
-
- 目的
- 步驟
PCA概念介紹
PCA,主成分分析,作用是進行将資料降維将m維的資料降到k維,好處是降低算法的複雜度(包括時間、空間複雜度)、使結果更容易了解、去除噪聲、使得資料集更容易使用。同樣能達到降維目的的方法還有SVD奇異值分解,因子分析(FA),獨立成分分析(ICA)。
PCA步驟
将所有的資料記為 X \bm{X} X, X = [ x 1 , x 2 , ⋯ , x n ] \bm{X}=[\bm{x_1},\bm{x_2},\cdots,\bm{x_n}] X=[x1,x2,⋯,xn],即有n個資料,每個資料為m維。
- 将每一維資料去均值化,即每一位特征減去對應次元的平均值。
- 計算協方差矩陣。協方差矩陣公式 C o v = 1 n − 1 X X T Cov=\frac{1}{n-1}XX^T Cov=n−11XXT。
- 計算協方差矩陣的特征值和标準化後的特征向量。
- 将所有特征值從大到小排列,記為 Y Y Y,顯然 Y Y Y是一個 m × k m\times k m×k的矩陣。
- 最終的結果為 Z = Y X Z=YX Z=YX
PCA原理
工作原理:希望找到一組新的正交坐标系,使得第一個選的坐标軸是原資料中方差最大的方向,第二個坐标軸是與第一個坐标軸正交的平面中方差最大的方向,依次類推。
協方差矩陣
協方差的作用是判斷兩個變量的相關性,若協方差為正,則正相關;為負,則負相關;為零,則互相獨立。
由協方差構成的矩陣為協方差矩陣,是一個實對稱矩陣,有很好的性質。
- 實對稱矩陣A的不同特征值對應的特征向量是正交的
- 實對稱矩陣A的特征值都是實數,特征向量都是實向量。
- n階實對稱矩陣A必可對角化,且相似對角陣上的元素即為矩陣本身特征值。
- 若λ0具有k重特征值 必有k個線性無關的特征向量,或者說必有秩r(λ0E-A)=n-k,其中E為機關矩陣。
對于兩個變量a,b, C o v ( a , b ) = E [ ( a − E ( a ) ) ( b − E ( b ) ) ] Cov(a,b)= E[(a-E(a))(b-E(b))] Cov(a,b)=E[(a−E(a))(b−E(b))],如果去均值化處理後,則 C o v ( a , b ) = E ( a b ) = ∑ i = 1 n a i ∗ b i Cov(a,b)=E(ab)=\sum_{i=1}^n a_i*b_i Cov(a,b)=E(ab)=∑i=1nai∗bi。
設原始資料 X X X對應的協方差矩陣為 C C C,則可以得到 C = 1 n X X T C=\frac{1}{n}XX^T C=n1XXT。令 Y Y Y為變換後的資料, D D D為 Y Y Y對應的協方差矩陣。并設 P P P為變換矩陣,即 Y = P X Y=PX Y=PX。可得到以下式子:
D = 1 n Y Y T = 1 n ( P X ) ( P X ) T = 1 n P X X T P T = P C P T 。 (1) D=\frac{1}{n}YY^T=\frac{1}{n}(PX)(PX)^T=\frac{1}{n}PXX^TP^T=PCP^T。\tag{1} D=n1YYT=n1(PX)(PX)T=n1PXXTPT=PCPT。(1)
顯然根據PCA原理來說,我們的目的是讓不同次元之間互相獨立,即協方差矩陣應為一個對角矩陣,同時滿足同一次元方差最大化,是以根據(1)式來說,得到的 D D D應為一個對角矩陣,并且對角線元素逐漸遞減。
接下來,由實對稱矩陣的性質可知,對 C C C特征分解,得到 C = Q Λ Q T C=Q\Lambda Q^T C=QΛQT,那麼可以得到實對稱矩陣的 Λ = Q T C Q \Lambda=Q^TCQ Λ=QTCQ,是以 Λ \Lambda Λ即為我們需要的 D D D,同時 Q Q Q對應的變換矩陣 P P P,因而對于特征向量隻需要按特征值從大到小排列取前k個并按行排布構成P即可。
拓展
白化whitening
目的
為了去除輸入資料的備援資訊,比如如果輸入資料是圖像,那麼相鄰像素點相關性很強,是以存在備援。是以經過白化的資料特征之間相關性較低,畢竟不同特征具有相同方差。
步驟
- PCA降維
-
對每一維坐标做标準差歸一化處理,即 a i j = a i j s t d ( a i ) a_{ij}=\frac{a_{ij}}{std(a_i)} aij=std(ai)aij,同時由于已知了降維後的标準差矩陣D,即對角線為選取的前k大的特征值,是以 a i j = a i j D i i + ϵ a_{ij}=\frac{a_{ij}}{\sqrt{D_{ii}+\epsilon}} aij=Dii+ϵ
aij, ϵ \epsilon ϵ的作用是防止分母為零。
- 對于ZCA白化,還需要将新的次元的資料還原到原來的坐标系中。