使用多个 BMU 进行自组织地图有什么影响?

人工智能 神经网络 自组织图
2021-11-09 02:30:57

这是一个概念性问题。我正在实施一个 SOM 算法以更好地理解它的变化和参数。我对一点感到好奇:BMU(最佳匹配单元 == 与所呈现的向量更相似的神经元)被选为在特征空间中与向量具有最小距离的神经元。然后我更新了它和它的邻居。

这是有道理的,但是如果我使用多个 BMU 来更新网络怎么办?例如,假设到一个神经元的距离是 0.03,但是另一个神经元的距离是 0.04。这是两个最小的距离。我会使用 0.03 作为 BMU。

问题是,如果我使用多个BMU,对算法的预期影响是什么?例如,我可以选择更新所有距离比最小距离多 5% 的神经元。

我不是要代码。我可以实现它来看看会发生什么。我只是想看看是否有人对这种方法的优缺点(除了额外的复杂性)有任何见解。

1个回答

根据我对单个 BMU SOM 的知识和经验,以下是我对考虑到您的问题的算法行为的直觉。我没有通过实验验证它。

在训练的早期阶段: 它应该扰乱 SOM 拓扑保留属性,因为您将相同的模式分配给晶格中的不同(并且可能是遥远的)位置,从而使分布成为多模态。这本身并不可怕,因为不同的位置可以编码与邻居的不同关系,从而克服了单个 2D/3D 邻域的限制。但是,如果您的 SOM 不够大,多种模式可能会崩溃,从而导致单峰分布覆盖地图的大部分区域,从而浪费空间。这完全取决于您的训练计划。

在训练的后期阶段: 如果您在早期阶段从单个 BMU 开始,它不会提供任何有意义的影响,因为根据定义,SOM 在其晶格的靠近位置聚集类似的模式。换句话说,离您的输入最近的神经元已经在 BMU 更新半径内。如果您从一开始就使用多个 BMU 进行训练,您将不断寻找/激活每个模式的多峰分布的多个最大值。与单个 BMU 相比,降维将变得更加非线性。这可能是也可能不是问题,具体取决于您的应用程序。