Essentially : need to map a high dim space to a grid of neurons while trying to preserve the neighborhood relations from the high dim space. This is technically impossible so compromise.
First initialized with small random values
For each new pattern, identify Best Maching Unit based on current vectors. Reduce the value of r. And pull the point to the part of the grid with similar weight vectors.
fr(0)=1. Tends to 0 as argument grows. r is radius. Greater values, will spread it out.
Regulated by fr(d(vkl,vBMU))
Eventually this will lead to an organization. Covered evenly after a while. Eventually neighbors of v0 would have weights towards w(v0) . And w(v0)≈mean(allpatternsx)
Repeat until response stops. Each members BMU rate is too low to expand.