Search code examples
algorithmmachine-learningself-organizing-maps

Location of the neuron on the lattice


I am currently delevoping a Self-Organizing-Map prototype for clustering of BigData and don't understand one thing.

The SOM-algorithm updates the weights of the Best Matching Unit and its neighborhood to better fit the input vector. Does the algorithm somehow change the real position of the neuron on the lattice? I mean, if I define a square lattice (5x5) each neuron can be referenced by a two dimensional coordinate (for example 1/1 or 1/5). So what I ask is, if the SOM algorithm update the coordinate of the neuron (for example from 1/1 to 1.1/1.3).

If not, how does the software show up clusters? I mean some programs show a unified distance between neurons (for example black areas are those, where the distances between neurons are low and white areas are those, where the distances are high). So how does the software know, which Neurons are next to each other?


Solution

  • Weight vectors are updated but the positions of neurons in the lattice never change.

    SOM is a topology preserving map. That is, if two vectors are close to one another in input space, so is the case for the map representation [1]. But sometime topographic errors occur.

    [1]: Engelbrecht, A.P., 2007. Computational intelligence: an introduction. John Wiley & Sons.