1

我最近遇到了自组织地图,我有以下疑问:

1)神经元的数量与单元(簇)的数量有什么关系?2) 如何从特定单元中提取元素?

4

3 回答 3

0

您可以将一个单元定义为一个集群。它与 k-means 非常相似(如果你知道的话)。每个单元都是一个集群(通过忽略自定义选项)。并为每个单元找到最相似的实例。他们是该单元的集群成员。如果您了解 Python,您可以推断出我的 SOM 实现。https://github.com/erogol/RSOM

于 2015-02-13T14:48:36.097 回答
0

原则上,SOM 是一种基于原型的方法,其中每个神经元都与一个权重向量相关。这个权重向量的作用类似于原始 k-means 算法中的质心。主要区别在于 SOM 中的神经元通过矩阵结构相互连接。在一个简单的解释中,矩阵的每个节点对应于它自己的集群,因为它代表了许多数据点。然而,在实践中,数据空间的区域包含点云,这些点通常由多个神经元表示,它们共同形成所谓的“超级”集群。SOM 收敛后的一个常见阶段是将 SOM 单元分组为超级集群,这可以使用聚类算法(如 k-means 或分层聚类)基于神经元之间的距离来完成。输出将是神经元组,即

在这里,您可以找到关于如何使用 R 中的 SOM 生成超级集群的非常有用的教程。

https://cran.r-project.org/web/packages/SOMbrero/vignettes/doc-numericSOM.html

于 2017-11-30T16:55:19.940 回答
0

神经元的数量与单位的数量有什么关系?

这些都是一样的。在 SOM 中,神经元被称为一个单元。赢得特定输入向量的单元称为其最佳匹配单元 (BMU)。在学习过程中,神经元/单元竞争以赢得输入向量。

如何从特定单元中提取元素?

训练 SOM 后,每个单元都以它赢得的输入向量结束。因此,您可以拥有一个字典,其中每个单元坐标作为键,而输入向量将成为成员。在这里查看它是如何完成的MiniSom,该方法win_map(self, data)可以从经过训练的 SOM 中提取字典。

于 2018-09-19T17:00:39.660 回答