我目前正在开发一个用于大数据聚类的自组织映射(SOM)原型,但有一点我不明白。
SOM算法会更新最佳匹配单元及其邻域的权重,以更好地适应输入向量。算法是否会以某种方式改变神经元在lattice上的实际位置?我是说,如果我定义了一个5×5的方形lattice,每个神经元都可以通过一个二维坐标来引用(例如1/1或1/5)。所以我想问的是,SOM算法是否会更新神经元的坐标(例如从1/1更新到1.1/1.3)。
如果没有,那么软件是如何显示聚类的呢?我是说,一些程序显示神经元之间的统一距离(例如,黑色区域是神经元之间距离较低的区域,白色区域是距离较高的区域)。那么软件是如何知道哪些神经元彼此相邻的呢?
回答:
权重向量会被更新,但神经元在lattice中的位置永远不会改变。
SOM是一种拓扑保持映射。也就是说,如果两个向量在输入空间中彼此接近,那么在映射表示中也是如此[1]。但有时会发生拓扑错误。
[1]: Engelbrecht, A.P., 2007. Computational intelligence: an introduction. John Wiley & Sons.