如何为内核PCA选择内核?


12

有哪些方法可以选择哪种内核会在内核PCA(主成分分析)输出的最终数据中实现良好的数据分离,还有哪些方法可以优化内核的参数?

如果可能的话,Layman的术语将不胜感激,并且解释这些方法的论文的链接也将很不错。


1
当您说“良好的数据分离”时,您指的是什么?您打算使用什么内核PCA?如果与“数据分离”有关,那么您是否应该使用某种分类技术(例如内核支持向量机)而不是kPCA?除此之外,还有一个很好的问题,+ 1。我没有选择内核的经验,因此无法为您提供帮助。
变形虫说莫妮卡(

@amoeba用于非线性降维。我对支持向量的知识有限,因为我从未参加过任何CS课程。我是本科生,一直在通过在线论文学习。所谓“良好的数据分离”,是指本文中的示例所显示的内容。我正在与Matlab一起工作,并且我的内核PCA代码已针对简单,多边形,径向和S型内核启动并运行,但是知道何时使用哪种可以获得最佳效果会有所帮助。
香葱

我认为选择内核的最佳方法(唯一?)是使用交叉验证,请参见此处:如何为SVM选择内核?您只需要对kPCA进行性能评估即可使用交叉验证。类分离可以是一个体面的措施,如果这是你所追求的,但要注意,PCA / KPCA没有设计可言,以得到良好的类分离; 它只是使捕获的方差最大化。
变形虫说恢复莫妮卡

我读了一些书,毕竟也许可以回答您的问题。但是,这可能需要我一些时间(几天)。
变形虫说莫妮卡

@amoeba既然您提到了方差,那对我来说确实很有意义。我将亲自研究交叉验证,但是如果您能抽出一点时间的话,也可以多加研究一下!谢谢。
香葱

Answers:


7

在任何基于内核的方法中选择最佳内核(内核类型或内核参数)的一般方法是交叉验证。有关支持向量机的内核选择的讨论,请参见此处:如何为SVM选择内核?

交叉验证背后的想法是,我们省略一些“测试”数据,运行我们的算法以使模型适合剩余的“训练”数据,然后检查结果模型描述测试数据的程度(以及误差有多大)是)。对不同的遗漏数据重复此操作,将误差平均以形成平均交叉验证误差,然后可以比较不同的算法,以选择产生最低误差的算法。在SVM中,可以使用例如分类精度(或相关度量)作为模型性能的度量。然后,我们将选择一个能够对测试数据进行最佳分类的内核。

问题就变成了:在kPCA中可以使用哪种模型性能度量?如果要实现“良好的数据分离”(大概是良好的类分离),则可以以某种方式在训练数据上对其进行度量,然后使用它来找到最佳内核。但是请注意,这PCA / KPCA不是用来产生良好的数据分离(他们不花类标签考虑在所有)。因此,总的来说,人们会想要另一种与类无关的模型性能度量。

在标准PCA中,可以将重构误差用作测试集上的性能度量。在内核PCA中,还可以计算重构误差,但是问题在于它在不同内核之间不具有可比性:重构误差是在目标特征空间中测量的距离;并且不同的内核对应于不同的目标空间...所以我们有一个问题。

解决此问题的一种方法是以某种方式计算原始空间而非目标空间中的重建误差。显然,遗漏的测试数据点位于原始空间中。但是它的kPCA重构存在于目标空间的[低维子空间]中。但是,可以做的是在原始空间中找到一个点(“原像”),该点将被映射为尽可能靠近此重建点,然后测量测试点与该原像之间的距离。作为重建错误。

我不会在这里给出所有公式,而是请您参考一些论文,并在此处仅插入几张图。

本文显然引入了kPCA中的“原像”概念:

  • Mika,S.,Schölkopf,B.,Smola,AJ,Müller,KR,Scholz,M.,&Rätsch,G.(1998)。特征空间中的内核PCA和去噪。在NIPS(第11卷,第536-542页)中。

Mika等。并没有进行交叉验证,但是它们需要原像以进行降噪,请参见下图:

Mika等人的kPCA去噪。

去噪(粗)点是kPCA投影的原像(此处没有测试和培训)。找到这些原像不是一件容易的事:需要使用梯度下降,并且损失函数将取决于内核。

这是一篇非常新的论文,该论文使用原图像进行交叉验证和内核/超参数选择:

这是他们的算法:

阿拉姆和深水

以下是一些结果(我认为这很不言而喻):

阿拉姆和深水


1
(+1)可能需要注意的是,此原像是分配给给定聚类的点的Fréchet/ Karcher均值的集合,但这不一定对任何事情都有帮助。
Dougal 2015年

XXÿÿžž

第二个想法,我想我之前没有足够的重视;我的评论适用于内核k均值,而不适用于kPCA。原像肯定与该概念有关,但根本不是一回事。对不起,噪音。:)
Dougal 2015年
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.