可以扩展 PCA 以解决非线性依赖关系吗?

机器算法验证 主成分分析 协方差 随机变量 非线性
2022-04-01 20:32:41

刚学了主成分分析,貌似是一种有效的降维方法。现在,我想知道:

可以扩展 PCA 以解决非线性依赖关系吗?

根据对 Wikipedia、Google、ScienceDirect 等的一些搜索,这似乎是可能的。但是,数学相当困难。

PCA 首先找到一些多元数据的条目以便考虑非线性依赖关系,那么该技术会有效地成为“非线性 PCA”吗?CXC

现在,如果我正确理解这一点,那就是这样,但在实践中找到条目太难了——>一个恢复到近似/优化技术。

3个回答

Trevor Hastie 和 Werner Stuetzle 发明了一种称为主曲线的技术,它是主成分的非线性推广。

从原始论文的摘要中:

主曲线是平滑的一维曲线,通过 p 维数据集的中间,提供数据的非线性汇总。它们是非参数的,它们的形状是由数据建议的。构造主曲线的算法从一些先前的总结开始,例如通常的主成分线。每次连续迭代中的曲线是 p 维点的平滑或局部平均值,其中局部的定义基于点在上一次迭代中找到的曲线上的投影的弧长距离。

一些链接:

http://www.iro.umontreal.ca/~kegl/research/pcurves/

Hastie & Stuetzle 的原始论文: http: //www.stanford.edu/~hastie/Papers/Principal_Curves.pdf

机器学习研究杂志上最近的一篇论文:http: //jmlr.org/papers/volume12/ozertem11a/ozertem11a.pdf

您描述的非线性依赖项是 Mercer 内核。一个有效的核是任何具有两个连续、对称且具有正定 gram 矩阵的观测值的函数。在这种情况下,Gram 和协方差是可以互换的。观察结果不必是固定长度的向量。它们可以是图形、字符串、可变长度时间序列或任何其他可以赋予距离函数的对象。C#机器学习库的作者在这里给出了一些常见的内核。

任何期望设计矩阵的有监督或无监督算法都可以被核化。线性最小二乘可以通过适当的核学习正弦函数。

内核 PCA 得到了很好的研究。用于非线性化 PCA 或 OLS 的流行核是高斯核,有时称为径向基函数。

Xij=exp(||xixj||22σ2)

参数σ直观地控制该比较的重要性随距离下降的速度。

论文On Spectral Clustering中定义的用于对小数据集进行聚类的革命性算法是 RBF Kernel PCA,其后是最古老的聚类算法之一,称为 K-Means。

内核的一个问题是,它们的显式计算对于更大的数据集来说可能是令人望而却步的。事实上,性能最好的非线性分类器之一,支持向量机,随着评估 Gram 矩阵的算法复杂性而扩展。

为了解决这个问题,已经提出了许多采样技术来减少您的最终设计矩阵N×NN×B, 在哪里N是观察次数和B是您最终协方差矩阵的较小基数XXT很相似。这在概念上与可能执行 PCA 的低秩近似有关。有些是内核特定的,有些是通用的。一个简单有效的算法是在 k-means++ 的聚类中心上使用 Nystroem 采样,如改进的 Nystroem 低秩近似和误差分析

使用 MGV 和 MTV 方法很容易获得非线性主成分,这些方法在 SASPROC PRINQUAL和 RHmisc包中实现transcan功能。其基本思想是将每个连续变量用回归样条基函数展开,将分类变量展开为指标变量。然后使用规范变量来求解最佳变换。目标是通过允许非线性让更少的组件解释系统中的更多变化。MTV 以迭代方式将当前正在转换的变量的一组非线性项与所有(转换的)变量的第一个主成分进行回归。MGV 使用多元回归将每个单独的扩展变量回归到所有其他变量的当前转换上。所有这些都在 Rhomals包中进行了概括。有关更多信息,请参阅 R 心理测量任务视图:http://cran.r-project.org/web/views/Psychometrics.html