PCA
PCA线性投影降维的方法。当维度p高,样本少。
p>> N ,
S
=
1
N
X
X
T
S= \frac{1}{N}XX^T
S=N1XXT
因为
x
n
是
R
p
×
1
x_n 是 R^{p \times 1}
xn是Rp×1 所以
R
a
n
k
(
x
n
x
n
T
)
≤
1
Rank(x_nx_n^T) \leq 1
Rank(xnxnT)≤1
所以
R
a
n
k
(
S
)
≤
N
Rank(S) \leq N
Rank(S)≤N
这种情况下,矩阵运算的复杂度
O
(
p
3
)
O(p^3)
O(p3),浪费了很多的时间,得到了很多是0的矩阵。
对偶PCA
S
=
1
N
X
X
T
,
G
=
X
T
X
S = \frac{1}{N}XX^T, G=X^TX
S=N1XXT,G=XTX, S的特征值和特征向量
λ
i
,
μ
i
\lambda_i, \mu_i
λi,μi, G的特征值和特征向量
γ
i
,
v
i
\gamma_i, v_i
γi,vi。
左乘
X
T
X_T
XT到公式
X
X
T
μ
i
=
N
λ
i
μ
i
XX^T\mu_i =N\lambda_i\mu_i
XXTμi=Nλiμi得到
X
T
X
(
X
T
μ
i
)
=
N
λ
i
(
X
T
μ
i
)
X^TX(X^T\mu_i) = N\lambda_i(X^T\mu_i)
XTX(XTμi)=Nλi(XTμi),
v
i
=
X
T
μ
i
a
n
d
γ
i
=
N
λ
i
v_i=X^T\mu_i and \gamma_i = N\lambda_i
vi=XTμiandγi=Nλi
得到
X
v
i
=
X
X
T
μ
i
=
N
S
μ
i
=
N
λ
i
μ
i
=
γ
i
μ
i
Xv_i= XX^T\mu_i = NS\mu_i=N\lambda_i\mu_i = \gamma_i\mu_i
Xvi=XXTμi=NSμi=Nλiμi=γiμi
所以
μ
i
=
1
γ
i
X
v
i
\mu_i = \frac{1}{\gamma_i}Xv_i
μi=γi1Xvi
在高维空间可以用对偶PCA
Kernel PCA
PCA是线性的,但是Kernel PCA是非线性的。
ϕ
:
χ
−
>
H
,
x
−
>
ϕ
(
x
)
\phi: \chi ->H, x->\phi(x)
ϕ:χ−>H,x−>ϕ(x)
在希尔伯特空间使用对偶PCA
G
=
ϕ
(
X
)
T
ϕ
(
X
)
=
[
k
(
x
i
,
x
j
)
]
i
,
j
G = \phi(X)^T\phi(X)=[k(x_i, x_j)]_{i,j}
G=ϕ(X)Tϕ(X)=[k(xi,xj)]i,j k 是降维的kernel.