如何评估降维技术?

时间:2013-07-30 00:42:23

标签: matlab binary dimensionality-reduction

我有一个二进制形式的NxM数据集。我在其上应用了各种维度技术,并绘制了前两个维度。这就是我如何直观地了解该技术是否适合我的数据集。是否有更合适/有条理/启发/正式的方法来测试我使用的降维技术的适用性?

2 个答案:

答案 0 :(得分:1)

对数据应用降维的主要目的是尽可能捕获原始数据的分布,即使在降维后 。因此,我们希望确保尽可能多地捕获数据的方差

假设您有一个N * N矩阵,我们在X上执行SVD(Singular Value Decomposition)。然后,我们将观察奇异值,即结果S矩阵中的对角线条目。 ( X = USV

并且您希望根据所捕获的所需百分比差异在某个指数K 处将其删除:

Σ i = 1 K sigma(i)/Σ i = 1 N sigma(i)

如果您选择 U的第一个K列,那么您将原始的N维缩小为K维。

答案 1 :(得分:0)

您可以使用SOM技术在两个维度中查看多个dims。还有其他技术,如果我能记住他们的名字,我会更新答案,但我习惯了SOM。

You can find one good SOM toolbox for matlab clicking here.

这有助于您进行可视化,但评估应使用效率计来衡量对于降低尺寸的重要性(SOM本身可用作降维技术)。重要的是,以最小的损失压缩数据?尽可能压缩数据?以可见的方式表示数据?您可以测量技术效率,而无需查看它们如何更改数据空间表示,您只需要一个很好的函数来衡量您的技术有多好。