与标准PCA相比,内核PCA有何优势?


18

我想在一篇使用内核SVD分解数据矩阵的论文中实现一种算法。因此,我一直在阅读有关内核方法和内核PCA等的材料。但是,对于我而言,尤其是在数学细节方面,它还是很晦涩的,我有几个问题。

  1. 为什么使用内核方法?或者,内核方法有什么好处?直观的目的是什么?

    是否假设与非内核方法相比,更高的维数空间在现实世界中的问题更现实,并且能够揭示数据中的非线性关系?根据材料,内核方法将数据投影到高维特征空间上,但是它们不必显式计算新的特征空间。相反,仅计算特征空间中所有数据对对的图像之间的内积就足够了。那么为什么要投影到更高维度的空间呢?

  2. 相反,SVD减少了特征空间。他们为什么要朝不同的方向做?内核方法寻求更高维度,而SVD寻求更低维度。对我来说,将它们结合起来听起来很奇怪。根据我正在阅读的论文(Symeonidis等,2010),引入内核SVD而不是SVD可以解决数据中的稀疏性问题,从而改善结果。

在此处输入图片说明

从图中的比较中我们可以看到,KPCA得到的特征向量的方差(特征值)比PCA高。因为对于点在特征向量(新坐标)上的投影的最大差异,KPCA是一个圆,PCA是一条直线,所以KPCA的方差大于PCA。那么,这是否意味着KPCA的主成分要高于PCA?


3
评论多于答案:KPCA与光谱聚类非常相似-在某些设置下,它甚至是相同的。(例如参见cirano.qc.ca/pdf/publication/2003s-19.pdf)。

抱歉回复晚了。是的,您的答案很有启发性。
泰勒傲来国主2014年

Answers:


24

PCA(作为降维技术)试图找到数据所局限于的低维线性子空间。但是可能是数据被限制在低维非线性子空间中。那会发生什么呢?

看一下这张图片,摘自Bishop的“模式识别和机器学习”教科书(图12.16):

Bishop ML书中的内核PCA

此处(左侧)的数据点大部分位于2D曲线上。PCA不能将维数从2减小到1,因为这些点不在直线上。但是,数据仍然“显然”位于一维非线性曲线周围。因此,当PCA失败时,必须有另一种方法!实际上,内核PCA可以找到该非线性流形并发现数据实际上几乎是一维的。

它通过将数据映射到更高维度的空间来实现。这确实看起来像是一个矛盾(您的问题2),但事实并非如此。数据被映射到较高维的空间中,但随后位于其较低维的子空间中。因此,您可以增加尺寸以减小尺寸。

“内核技巧”的本质是,实际上并不需要明确考虑高维空间,因此,这种潜在的令人迷惑的维数跃迁完全是秘密执行的。但是,这个想法保持不变。


好答案。不过,只是一个后续问题。您说过,如果数据点是非线性的(如上图所示),则PCA将不起作用,并且需要内核PCA。但是首先我们要知道数据点是否具有4个以上特征的数据集是非线性的(实际情况)。为了可视化此类数据,我们需要减小维数,这意味着我们最终使用PCA来减小维数,这是错误的,因为数据可能是非线性的,而我们使用常规PCA进行可视化。然后如何知道数据是否是非线性的,以使用内核PCA而不是PCA
Baktaawar 2015年

谢谢@user。我猜这取决于PCA / kPCA的应用。例如,如果将其用作某些分类,回归或聚类算法的预处理步骤,则可以从该后续算法的性能判断PCA与kPCA的性能。
变形虫说恢复莫妮卡

1
谢谢@amoeba。但是我想我想问的是,像上面提到的那样,当数据为非线性时,我们需要使用kPCA,然后如何知道数据是否具有非线性(如果没有)。的功能是否超过3个?我们无法想象它没有达到尺寸,然后就像是鸡和鸡蛋的问题
Baktaawar 2015年

2
@Baktaawar如果您正在进行机器学习,请不要可视化,让您的模型自己学习。基本上在内部重采样循环中包括一个KPCA步骤,并以参数作为参数来测试内核,包括线性内核以及您想要/可以测试的其他内核。
Firebug
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.