星期六, 8月 17, 2013

PCA

學習筆記:PCA降維  

X = { xi | xi is m-dimension vector. i = 1 to n}
reduce to Y
Y = { yi | yi is r-dimension vector. i = 1 to n}

作法:
PCA 降維是將 x 投射到 X 主成分上 - X covariance matrix σ(X) eigenvectors上。
投射到前 r eigenvector,就可將原本 m 維度降低到 r 維度,可大幅減少資料。
eigenvectors { e1, e2, … em } 依照 eigenvalue { λ1, …,λm } 由大到小排列。


假說:
A' = arg. max. σ(y1)  ^  a1' a1 = 1, where y = A'x,  y1 = a1' x. 

可證明得,當 a1   σ(X) first eigenvector e1σ(y1) 有最大值 λ1


說明:
能用最少維度描述資料, 也就是新維度的鑑別率夠大,
也就是轉換後要最大化新維度上的 variance
通常從最大化第一個維度 y1 作起。

y = A'x  x A 每個 column vector 的投影 結果。
我們找能使得 variance y1 最大化之 a1
這裡 A = [a1 .. am]

其實一群資料目測就可找到主成分,
如下圖,顯然將資料投影到 v1 上,變異度會大,鑑別力大。
v1 是可保留之主成分。




而投影到 v2 上,變異度會被壓縮差異不大,可以忽略該項,達成降維。 


證明:
Proof that the A' can maximize σ(y1) is A is the eigenmatrix of X ordered by eigenvalue 
A' = arg. max. σ(y1)  ^  a1' a1 = 1,  where y = A'x. 

let Σ = σ(X)   .... covarince matrix of X

σ(Y) = σ(A'x)
= E[ (A'x - A'x) (A'x - A'x)' ]
= E[ A'xx'A - A'xxA- A'xx'A + A'xx'A ]
= A' E[ (x-x)(x-x)' ]
= A' σ(X) A
[ ai' Σ ai ] ij    .... covarince matrix of Y

let
P is
the eigenmatrix of Σ  and P'P = I
P = [e1 .. em] where the corresponding eigenvalue is λ1, …,λm that λ1 is the largest
Σ P = P Λ  where Λ = diag(λ1, …,λm)
Σ = P Λ P'


σ(y1) = σ(Y)11 
= a1' Σ a= a1' P Λ P'a1
= z' Λ z   ...  by let  z = P'a1
= sum { λ1 zi2 }


since z = P'a1a1 =  Pz
a1'a1 = z' P' P z = z'z = sum { zi2 } 


將上述  σ(y1) 和 a1'a1 代入 max. σ(y1) / a1'a1  




若令 a1 = e1,則 σ(y1) / a1'a1 能得最大值 λ1,為所求。

參考:
[1] 多變量分析。陳順宇。