使用自组织图进行降维

机器算法验证 聚类 多元分析 神经网络 降维 自组织图
2022-04-14 23:29:21

自组织地图被认为是一种降维方法。但是,我对这种说法感到困惑。

考虑以下示例,我有一个包含 200 个数据点的数据集,每个数据点由一个 1000 维的特征向量表示。假设我想用1×2网格。换句话说,我会将这 200 个点映射到两个单元格。仅出于说明目的,假设前 100 个点映射到第一个单元格,后 100 个点映射到第二个单元格。从降维的角度来看,我们可以说我们使用一维输出空间来表示原始的 1000 维空间。但这真的让我很困惑。根据这个例子,在我看来,前 100 个点将共享相同的特征向量,在一维空间中只是 1;而后100个点将共享同一个特征向量,在同一个一维空间中为2。我的理解正确吗?

4个回答

在你的极端例子中,我会说你的观点是正确的。您指定要减少到一个维度,该维度中有两个可能的值,这就是您得到的。正如维基百科所说,SOM 创建了一个离散的低维表示。

也许问题在于 SOM 如何做到这一点。假设您指定了一个 3x3 SOM,它是一个具有 9 个点的二维网格。正如 Neil G 指出的那样,SOM 算法将这个二维网格嵌入到您的 1000 维空间中。然后,它使 9 个点适应数据,以保持流形在 1000-D 空间中的平滑度,同时将网格点移动到更密集(就您的数据而言)区域。(它通过将变化传播到二维流形中最近的 SOM 点,而不是传播到 1000 维空间中的邻居来实现。)

因此,SOM 网格中的 9 个点中的每一个在 1000-D 空间中都有一个 1000-D 位置,但是在算法完成后,您正在考虑 3x3 网格本身中的 9 个点,将 1000-D 空间减少到(离散化) 二维空间。

您也可以将其视为一种围绕 9 个点的数据聚类,这些点彼此之间的关系受到限制。

我会说 SOM 出于视觉和其他分析目的而减少了维度,减少的空间和原始空间之间的映射丢失了。这是因为您的 3x3 或 9 个 2D 点的网格是先验定义的,并且在训练期间保持不变。直接映射到缩减空间的是原始空间的拓扑排列。换句话说,如果您在缩小的空间中选择两个邻居,他们将成为原始空间的邻居(距离更大或更小 - 参见 umatrix)。

1 x 2 SOM 不是一维的 SOM,而是二维的。

您认为“......我们可以说我们使用一维输出空间来表示原始的 1000 维空间。” 因此是不对的。

如果你想要一个一维的 SOM,设置为 1 x 1。你的原始数据 200 x 1000 将被缩减为 1 x 1000。即从 200 维数据集到 1 维数据集

不,特征向量x1x2在 1000 维空间中。如果你用相同的点训练足够长的时间,每个特征向量都会接近其对应数据点的欧几里得平均值。

其它你可能感兴趣的问题