[非監督]PCA(降維)

2018-11-29  本文已影响0人  RJ阿杰

Dimension Reduction(降維)

有些時候高維的空間的資料可以以低維空間來表示。

PCA主成分分析(Principal Component Analysis)

基本概念

3個向量正交

再做PCA時需要先做Standardization,因為特徵的單位差異太大會對運算造成影響。
假設我們有一組數據,有3個特徵x_1,x_2,x_3分別是生命、攻擊、防禦,共有N個樣本(x_1^1、x_1^2...x_1^Nx_2^1、x_2^2...x_2^Nx_3^1、x_3^2...x_3^N)。
我們先看攻擊x_2跟防禦x_3數據分佈如下:

我們知道x,w向量,xw上的投影為z_1,我們要找一個向量w^1能使z_1的變異數Var(z_1)最大,w^1的長度必須等於1。如此我們會得到一個z_1將3維特徵降為1維。
若要降為2維則再求w^2w^2的長度也必須等於1,且要使w^1 \cdot w^2=0,兩個向量互相正交,如此我們會再得到一個z_2


w^1 = \begin{pmatrix} w^1_1&w^1_2&w^1_3 \end{pmatrix},shape= 3
W = \begin{pmatrix} w^1 \\ w^2 \end{pmatrix},shape= 2 \times3
x = \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix},shape= 3 \times N
z=Wx = \begin{pmatrix} z_1 \\ z_2 \end{pmatrix},shape= 2 \times N


3個向量正交

協方差、共變異數(cov)

協方差
cov(x_1,x_2)=\frac{ Σ(x^i_1 - {x_1}_{avg})(x^i_2 - {x_2}_{avg}) }{N-1} ,(x=x^1,x^2,x^3....x^i;y=y^1,y^2,y^3,...y^i)
x的cov matrix(協方差矩陣):
cov(x)=S=\begin{pmatrix} cov(x_1,x_1)&cov(x_1,x_2)&cov(x_1,x_3) \\ cov(x_2,x_1)&cov(x_2,x_2)&cov(x_2,x_3) \\ cov(x_3,x_1)&cov(x_3,x_2)&cov(x_3,x_3) \end{pmatrix},shape= 3 \times 3

PCA運算

我們要求max Var(z_1),可以經過以下推導:

S是半正定的矩陣(他的eigenvalues都是非負的) ,solution w^1為對應max\ eigenvaluecov(x)eigenvectorw^2為對應Second\ largest\ eigenvaluecov(x)eigenvector
線性代數--解eigen
將式子轉成g(w^1)=Var(z_1) - \alpha(constraint1) - \beta(constraint2),然後對w各維度的向量做偏微分再整合成eigen形式即可求w^1

實作

數據降維

影像降維

將每張image展開,一張 image為一個特徵,但平均值是每點pixel的平均。
gist程式連結

PCA的特性

PCA是非監督式的,不考慮到label,可能會造成不同label重疊再一起,而無法分辨,這時可以考慮用LDA,LDA是監督式的,但它們沒辦法做非線性的降維,這時可以用autoencoder,另外還有t-SNE。

由PCA觀點看NN(神經網絡)

參考李宏毅老師ML課程

上一篇 下一篇

猜你喜欢

热点阅读