PCA
PCA线性投影降维的方法。当维度p高,样本少。
p>> N ,
S=1NXXT
S= \frac{1}{N}XX^T
S=N1XXT
因为 xn是Rp×1x_n 是 R^{p \times 1}xn是Rp×1 所以Rank(xnxnT)≤1Rank(x_nx_n^T) \leq 1Rank(xnxnT)≤1
所以 Rank(S)≤NRank(S) \leq NRank(S)≤N
这种情况下,矩阵运算的复杂度O(p3)O(p^3)O(p3),浪费了很多的时间,得到了很多是0的矩阵。
对偶PCA
S=1NXXT,G=XTXS = \frac{1}{N}XX^T, G=X^TXS=N1XXT,G=XTX, S的特征值和特征向量λi,μi\lambda_i, \mu_iλi,μi, G的特征值和特征向量γi,vi\gamma_i, v_iγi,vi。
左乘 XTX_TXT到公式
XXTμi=NλiμiXX^T\mu_i =N\lambda_i\mu_iXXTμi=Nλiμi得到
XTX(XTμi)=Nλi(XTμi)X^TX(X^T\mu_i) = N\lambda_i(X^T\mu_i)XTX(XTμi)=Nλi(XTμi),
vi=XTμiandγi=Nλiv_i=X^T\mu_i and \gamma_i = N\lambda_ivi=XTμiandγi=Nλi
得到
Xvi=XXTμi=NSμi=Nλiμi=γiμiXv_i= XX^T\mu_i = NS\mu_i=N\lambda_i\mu_i = \gamma_i\mu_iXvi=XXTμi=NSμi=Nλiμi=γiμi
所以μi=1γiXvi\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(xi,xj)]i,jG = \phi(X)^T\phi(X)=[k(x_i, x_j)]_{i,j}G=ϕ(X)Tϕ(X)=[k(xi,xj)]i,j k 是降维的kernel.