1. 程式人生 > >【ML學習筆記】25:PCA及繪製降維與恢復示意圖

【ML學習筆記】25:PCA及繪製降維與恢復示意圖

主成分分析

簡述

主成分分析意在學習一個對映 U r e d u c e

U_{reduce} ,能將高維資料投射到低維空間上(在矩陣表示中即將資料的列變少),PCA後的低維空間資料可通過對映 U r e d
u c e T U_{reduce}^T
還原成高維資料的近似。PCA意在使得在指定維度的低維表示中,投射誤差總是最小。在ML中即用於將 m
m
個樣本的特徵數目從 n n 減少到 k k

歸一化

設樣本的特徵矩陣 A A m m n n 列的,第 i i 行第 j j 列的 a j ( i ) a_j^{(i)} 即是第 i i 個樣本的第 j j 個特徵的值。資料歸一化是使樣本的特徵的均值為0,第 j j 個特徵在 m m 個樣本的樣本集中的均值
μ j = 1 m i = 1 m a j ( i ) \mu_j=\frac{1}{m} \sum_{i=1}^m a_j^{(i)}
資料歸一化即是使
x j ( i ) = a j ( i ) μ j x_j^{(i)}=a_j^{(i)}-\mu_j

縮放

不同的特徵值很可能取值範圍相差很大,縮放即使特徵的最大最小值之差恰為1。取每個特徵的最大最小值之差
s j = m a x ( a j ( i ) ) m i n ( a j ( i ) ) m a x ( x j ( i ) ) m i n ( x j ( i ) ) s_j=max(a_j^{(i)})-min(a_j^{(i)}) \equiv max(x_j^{(i)})-min(x_j^{(i)})
對歸一化後的資料進行縮放,即
x j ( i ) = x j ( i ) s j = a j ( i ) μ j s j x_j^{(i)}=\frac{x_j^{(i)}}{s_j}=\frac{a_j^{(i)}-\mu_j}{s_j}

PCA降維

前面的歸一化和縮放屬於資料預處理的過程,得到的還是 m × n m\times n 的矩陣 X X ,先計算樣本協方差矩陣 Σ \Sigma
Σ = 1 m X T X \Sigma=\frac{1}{m}X^TX
對其做SVD,得到
[ U , S , V ] = s v d ( Σ ) [U,S,V]=svd(\Sigma)
因為前面得到的 Σ \Sigma n × n n\times n 的,行數為 n n ,所以 U U n n 階方陣,其列空間由左奇異向量組成
U = [ u 1 , u 2 , . . . , u n ] U=[\pmb{u}_1,\pmb{u}_2,...,\pmb{u}_n]
樣本協方差矩陣 Σ \Sigma 可以由這些特徵向量線性表出。在約定奇異值在主對角線上從大到小排列的要求下,只要選取前 k k 個列向量,組成主成分特徵矩陣
U r e d u c e = [ u 1 , u 2 , . . . , u k ] U_{reduce}=[\pmb{u}_1,\pmb{u}_2,...,\pmb{u}_k]
其維度是