使用自组织图进行降维

机器算法验证 数据转换 降维 自组织图
2022-03-11 07:39:01

在过去的几天里,我一直在为学校的一个项目进行一些关于自组织地图的研究。我开始明白自组织地图可用于降低数据的维度。但是,我不明白这是如何工作的。例如,假设您在 SOM 中有一个 10x10 的神经元网络,并且您的输入是 25 维的。因此,根据我的理解,您将为每个同样是 25D 的神经元创建一个特征向量。当训练完成时,你最终会得到 100 个 25D 向量。这如何准确地减少数据的维度?我应该关心神经元的位置吗?

编辑:我已经阅读了Dimensionality reduction using self-organizing map的问题,但我觉得它没有回答我的问题。

2个回答

自组织图 (SOM) 是一个空间填充网格,可提供数据的离散降维。

您从数据点的高维空间和位于该空间中的任意网格开始。网格可以是任何维度,但通常小于数据集的维度,并且通常是二维的,因为这很容易可视化。

对于数据集中的每个数据,您可以找到最近的网格点,并将该网格点“拉”向数据集。您还将每个相邻的网格点拉向第一个网格点的新位置。在该过程开始时,您将许多邻居拉向数据点。在这个过程的后期,当你的网格开始填充空间时,你移动的邻居更少,这就像一种微调。这个过程会在数据空间中产生一组点,这些点与空间的形状相当吻合,但也可以被视为低维网格。

Kohonen 1990 年论文第 1468 页的两张图片很好地解释了这一过程

此图像显示了三角形中均匀分布的一维地图。网格从中心开始是一团糟,并逐渐拉成一条曲线,在给定网格点数的情况下,可以很好地填充三角形:

一维 SOM

第二张图片的左侧显示了一个 2D SOM 网格,它紧密地填充了左侧仙人掌形状定义的空间:

2D 仙人掌 SOM

在 2D 空间和 youtube 上的 3D 空间中有使用 2D 网格的 SOM 过程视频。

现在空间中的每一个原始数据点都有一个最近的邻居,它被分配到。因此,网格是数据点集群的中心。网格提供了降维。

以下是使用主成分分析 (PCA) 进行降维的比较,来自wikipedia 上的 SOM 页面

来自 en.wikipedia.org/wiki/File:SOMsPCA.PNG 的 SOM 降维

立即可以看出,一维 SOM 提供了更好的数据拟合,解释了超过 93% 的方差,而 PCA 为 77%。然而,据我所知,没有简单的方法来解释剩余的方差,就像 PCA(使用额外维度)一样,因为没有巧妙的方法来解开离散 SOM 网格周围的数据。

尽管您最终得到的节点多于特征维度,但您仍在减少维度。请记住,最初您有一个 25 维空间,而现在,您将这 25 个维度投影到仅 2 个维度中。SOM 不是代表完整的连续 25 维空间,而是为您提供该空间中“最重要的”点。