1、为什么要提出核化线性降维(KPCA)?
答:PCA只能解决数据分布是线性的情况(数据大致分布在一个超平面附近),对于数据分布情况是非线性的有心无力
可以看到,假如数据分布是图(a)的样子,利用PCA得到的图(c)就是杂乱无章的,与他本真的结构差别比较大。
为了解决这个问题,提出了KPCA
2、KPCA的思想是什么?
答:你不是说数据分布不再是线性的了吗,那我就想到了,当初支持向量机也是遇到过这个问题,他是怎么解决的呢?他把数据映射到高维空间去,在高维空间这些数据就是线性的了。好的,那我也有想法,PCA 不是只能处理线性分布的数据吗,那我把这个非线性的数据映射懂啊高维去不就变成线性分布的了吗。我再用 PCA 来处理映射后的高维数据,
好的,到这儿 KPCA 的思想就全部浮现了,把原始的非线性的数据映射到高维空间变成线性的,然后用 PCA 来处理映射后的高维数据。
在 PCA 里面有 xxTw=λw⇒(i=1∑mxixiT)w=λw,然后选前d(这个由你自己指定)个大的特征值对应的特征向量组成变换矩阵。
那么在KPCA里面有 ZZTW=λW⇒(i=1∑mziziT)W=λW ,Z是样本x映射到高维空间的像,z=ϕ(x)
ZZTW=ϕ(X)ϕ(X)TW,然后我们都知道映射函数不好求嘛,那么我们引入了核函数 K=ϕ(X)ϕ(X)T,则可以推出⇒KW=λW,那么我们取K最大的d个的特征值对应的特征向量组成变换矩阵,不就可以了