当 SOM 有很多节点时,自组织地图与 k-means

机器算法验证 k-均值 无监督学习 自组织图
2022-03-16 21:45:36

维基百科上它说:

已经表明,虽然具有少量节点的自组织映射以类似于 k-means 的方式表现,但较大的自组织映射以基本拓扑特征的方式重新排列数据。

这究竟是什么意思?我理解了第一部分:具有小节点的 SOM 的行为类似于 k-means 算法。但对于更大的 SOM,“基本拓扑性质”是什么意思?对我来说完全是无稽之谈。

所以基本上我的问题是:

  1. 什么是“..从根本上拓扑性质......”?
  2. 当 SOM 具有大量节点时,SOM 和 k-means 有什么区别?
3个回答

SOM 背后的想法是将高维向量映射到较小维(通常是二维)空间。您可以将其视为聚类,就像在 K-means 中一样,增加的区别在于,在高维空间中接近的向量最终也会映射到在二维空间中接近的节点。

因此,SOM 被称为“保留原始数据的拓扑”,因为二维空间中的距离反映了高维空间中的距离。K-means 也将相似的数据点聚集在一起,但它的最终“表示”很难可视化,因为它不是方便的二维格式。

一个典型的例子是颜色,其中每个数据点都是代表 R、G、B 颜色的 3-D 向量。当映射到 2-D SOM 时,您可以看到相似颜色的区域开始发展,这是颜色空间的拓扑结构。我喜欢本教程作为解释,并添加了代码片段。

你已经接受了一个答案,但我认为部分答案需要更清楚......

SOM 在本质上始终是拓扑的。它本质上是在数据的高维空间中嵌入一个二维流形。

在直观的层面上,k-means 和 SOM 都在将节点移向空间中更密集的区域。使用 k-means,节点可以自由移动,彼此之间没有直接关系。并且负责零个或一个数据点的节点是退化的,k-means 算法必须避免这种情况。

使用 SOM,当一个节点向数据移动时,它会将 2D 流形中的相邻节点与其一起拉动。这自然地维护了嵌入在数据空间中的拓扑。一个节点可以毫无问题地负责 0 或 1 个数据点。(这些节点位于空旷的空间中,被它们的邻居向各个方向拉动。在某种意义上,它们可能是流形的产物,但在另一种意义上,它们在更密集的空间之间进行插值。)

因此,在 SOM 从非拓扑变为拓扑的过程中,不会发生某种相变。相反,随着 SOM 节点数量的增加,您将获得更高分辨率的流形。

如果将 2x3(6 节点)SOM 拟合到 Iris 数据中,与拟合 10x15(150 节点)SOM 相比,您将获得更类似于具有 6 个节点的 k-means 的结果。所以我认为低分辨率 SOM 看起来更像是在做类似任务的非拓扑 k-means,但高分辨率 SOM 的拓扑性质会更加明显。

少量节点的情况与 K-means 类似,因为您强制每个向量匹配现有节点,充当原型/质心,没有任何发散边距。

在节点数量多的情况下,过渡区域有一定的余量,它模仿原型/质心之间的空间,从而对样本之间的变换拓扑空间进行建模。这样,相对距离在某种意义上” 得以保留