PCA 与 KernelPCA:哪一种用于高维数据?

数据挖掘 特征选择 主成分分析 降维 核心 线性可分
2022-03-15 05:21:42

我有一个包含很多特征的数据集(>>3)。出于计算原因,我想应用降维。在这一点上,我可以使用不同的技术:

标准 PCA Kernel PCA LLE ...我的问题是选择正确的方法,因为特征数量如此之多,以至于我无法事先知道点的分布情况。我只有拥有 3D 数据才能做到这一点,但就我而言,我拥有的远不止这些。

例如,我知道如果点集是线性可分的,我可以使用标准 PCA;如果它是某种类似形状的同心圆,那么 KernelPCA 将是一个更好的选择。

因此,我如何事先知道我需要对高维数据使用哪种降维技术?

2个回答

事实是,在无监督算法中,你永远不会知道。这是他们的主要瓶颈。无监督算法(聚类、降维等)基于假设。当做出假设时,它将被转换为数学算法并应用。

正如您所说,只有在您事先知道数据的分布和/或拓扑结构如何时,才能选择正确的东西。但不幸的是,大多数情况下它不会发生。数据的维度越高,猜测其结构就越困难。

如果您将其用作监督任务的特征提取步骤,那么正确的方法是通过统计模型选择(例如交叉验证)来评估每个步骤对监督学习的影响。

如果您将它们用于聚类等无监督任务,那么您可以选择一些实用标准(没有理论上的标准,即聚类任务没有任何理论依据)。例如,您可以将它们可视化为 2 或 3 维,并尝试检查集群是否正确(例如,通过数据中的一些已知样本。如果您知道不同样本的两个极端情况,则更好的集群会将它们放在远集群中,等等.)

我再次强调,对于像聚类这样的无监督任务没有普遍正确的评估。

希望它有所帮助!

它可能很难选择——因为它很难形象化。但是,您可能有一个特定的目标,对吧?最大化某种分数。

您为什么不尝试将网格搜索应用于您的降维决策?看到这个

不过,我有兴趣阅读这个问题的其他更具理论性的答案。