问题
我对 Laplacian Eigenmaps 方法非常感兴趣。目前,我正在使用它对我的医疗数据集进行降维。
但是,我在使用该方法时遇到了问题。
例如,我有一些数据(频谱信号),我可以使用 PCA(或 ICA)来获取一些 PC(或 IC)。问题是如何使用 LE 获得原始数据的相似降维分量?
根据拉普拉斯特征映射方法,我们需要解决广义特征值问题,即
这里是特征向量。如果我绘制例如前 3 个特征向量(根据 3 个特征值的解),则结果不可解释。
但是,当我绘制前 3 台 PC 和前 3 台 IC 时,结果似乎总是清楚地(视觉上)代表原始数据。
我假设原因是因为矩阵由权重矩阵(邻接矩阵)定义,并且数据已与热核拟合以创建,它使用指数函数。我的问题是如何检索的简化分量(不是矩阵)?
数据
我的数据集受到限制,不容易证明问题。在这里,我创建了一个玩具问题来展示我的意思和我想问的问题。
请看图,
首先,我创建了一些正弦波 A、B、C,以红色曲线显示(图的第一列)。A、B 和 C 有 1000 个样本,换句话说,保存在 1x1000 个向量中。
其次,我使用随机创建的线性组合混合源 A、B、C,例如,其中是随机值。混合信号处于非常高维空间中,例如,1517 是随机选择的高维空间。我在绿色曲线中只显示了前三行信号 M(图的第二列)。
接下来,我运行 PCA、ICA 和拉普拉斯特征图来获得降维结果。我选择使用 3 个 PC、3 个 IC 和 3 个 LE 进行公平比较(蓝色曲线分别显示为图中的第 3 列、第 4 列和最后一列)。
从 PCA 和 ICA 的结果(图中第 3、4 列)可以看出,我们可以将结果解释为某种降维,即对于 ICA 结果,我们可以通过(我不确定我们是否也可以得到的 PCA 结果,但结果似乎很适合我)。
但是,请看 LE 的结果,我几乎无法解释结果(图的最后一列)。减少的组件似乎有些“错误”。另外,我想提一下,最后一列的图最终是公式
你们有更多的想法吗?
图 1 使用 12 个最近邻,加热内核中的 sigma 为 0.5:
图 2 使用 1000 个最近邻,加热内核中的 sigma 为 0.5:
源代码:带有所需包的Matlab代码