1. 程式人生 > >主成分分析(PCA)(matlab版本)

主成分分析(PCA)(matlab版本)

一、基礎知識

假設兩個樣本X、Y,它們的均值分別為 X \overline{X} Y

\overline{Y} ,樣本X和樣本Y的協方差為:
C o v ( X , Y
) = i = 1 n
( X i X ) ( Y i Y )
n 1
Cov(X,Y) = \frac{\sum_{i=1}^{n}(X_i-\overline{X})(Y_i-\overline{Y})}{n-1}

協方差為正時說明X和Y是正相關,協方差為負時X和Y是負相關1,協方差為0時X和Y相互獨立。
X W = λ W XW=\lambda W ,則稱 λ \lambda 是X的特徵值,W是對應的特徵向量。 X W XW 的結果等同於 W W 按係數 λ \lambda 的縮放。當X是n階可逆對稱矩陣時,存在正交 Q Q ( Q 1 = Q T Q^{-1}=Q^T ),使得:
Q T X Q = ( λ 1 0 0 0 λ 2 0 0 0 λ n ) Q^T X Q = \begin {pmatrix} \lambda_1 & 0 & \cdots &0 \\ 0 & \lambda_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n \end {pmatrix}
對矩陣X進行奇異值分解,就可以得到特徵值和特徵向量(Q的列向量)。

二、PCA的理解

資料發生降維時會產生資訊損失,同時希望損失儘可能小,降維標準為:樣本到超平面的距離足夠小或者樣本在超平面的投影足夠分散2,詳細的介紹請看這裡
假設m個n維度資料 ( x 1 , x 2 , . . . , x m ) (x^{1},x^{2},...,x^{m}) 是中心化後的資料,經過變換得到的新座標系為 { w 1 , w 2 , . . . , w n } \{w_1,w_2,...,w_n\} ,其中w是標準正交基,滿足 w 2 = 1 , w i T w j = 0 ||w||_2 =1,w_i^Tw_j =0 這裡丟棄部分資料,新的座標系為: { w 1 , w 2 , . . . , w n } \{w_1,w_2,...,w_{n'}\} ,樣本點 x i x^i 在n’維度的新座標系上的投影為: Z ( i ) = ( z 1 i , z 2 i , . . . , z n i ) Z^{(i)}=(z_1^i,z_2^i,...,z_{n'}^i)
其中 z j i = w j T x i z_j^i = w_j^Tx^i x i x^i 在低維座標系中第J維的座標值。若用 z ( i ) z^{(i)} 來恢復原始資料 x ( i ) x^{(i)} ,得到:
x i = j = 1 n z j i w j = W Z i \overline {x^i} = \sum_{j=1}^{n'}z_j^iw_j=WZ^i
考慮整個樣本集,我們希望樣本到超平面足夠近,即
m i n x i m x i x i 2 2 min {\sum_{\overline {x^i}}^{m}||\overline {x^i}-x^i ||_2^2}