核化线性降维(KPCA)的理解

1、为什么要提出核化线性降维(KPCA)?

答:PCA只能解决数据分布是线性的情况(数据大致分布在一个超平面附近),对于数据分布情况是非线性的有心无力
在这里插入图片描述
可以看到,假如数据分布是图(a)的样子,利用PCA得到的图(c)就是杂乱无章的,与他本真的结构差别比较大。
为了解决这个问题,提出了KPCA

2、KPCA的思想是什么?

答:你不是说数据分布不再是线性的了吗,那我就想到了,当初支持向量机也是遇到过这个问题,他是怎么解决的呢?他把数据映射到高维空间去,在高维空间这些数据就是线性的了。好的,那我也有想法,PCA 不是只能处理线性分布的数据吗,那我把这个非线性的数据映射懂啊高维去不就变成线性分布的了吗。我再用 PCA 来处理映射后的高维数据,

好的,到这儿 KPCA 的思想就全部浮现了,把原始的非线性的数据映射到高维空间变成线性的,然后用 PCA 来处理映射后的高维数据。

在 PCA 里面有 \(\mathbf{x}{{\mathbf{x}}^{\text{T}}}\mathbf{w}=\lambda \mathbf{w}\Rightarrow \left( \sum\limits_{i=1}^{m}{{{x}_{i}}}x_{i}^{\text{T}} \right)\mathbf{w}=\lambda \mathbf{w}\),然后选前d(这个由你自己指定)个大的特征值对应的特征向量组成变换矩阵。

那么在KPCA里面有 \(Z{{Z}^{\text{T}}}\mathbf{W}=\lambda \mathbf{W}\Rightarrow \left( \sum\limits_{i=1}^{m}{{{z}_{i}}}z_{i}^{\text{T}} \right)\mathbf{W}=\lambda \mathbf{W}\) ,Z是样本x映射到高维空间的像,\(z=\phi (x)\)
\(Z{{Z}^{\text{T}}}\mathbf{W}=\phi (X)\phi {{(X)}^ {\text{T}}}\mathbf{W}\),然后我们都知道映射函数不好求嘛,那么我们引入了核函数 \(K=\phi (X)\phi {{(X)}^{\text{T}}}\),则可以推出\(\Rightarrow K\mathbf{W}=\lambda \mathbf{W}\),那么我们取K最大的d个的特征值对应的特征向量组成变换矩阵,不就可以了

posted on 2021-06-10 16:57  雾恋过往  阅读(1695)  评论(0编辑  收藏  举报

Live2D