# Neural Network Self-organizing maps

I'm studying the training algorithm for the self-organizing maps. The slides i'm studying says that : after i've found a winner neuron ( in reference to a specific example in the example set), i have to apply this formula to its, and its neighbours.

where $d_{t}$ is the specific example, $m_{ij}$ the neuron ij. What i've not understood is the meaning of the dist function in the radius . And what this radius means and what is its purpose. Can you help me ?

I gave some explanations here that may help.

The radius r_ij is the radius of the neighborhood of the winner. Only those neurons that are closer than r_ij to the winner are allowed to update.

The formulas that you show here say that this radius is not constant but decreases with each iteration. Initially you take a large radius, and then make it smaller and smaller with each iteration.

Since you probably initialize your weights randomly, you might want to change many of them in the beginning of training but you might want to disturb less and less weights as they become more trained. That's why you decrease the radius.

This formula is just a particular policy of change of the radius with each iteration. In this case it is exponential. You can choose another policy or keep the radius constant or decrease it slightly (not exponentially) which may be reasonable if you use some domain knowledge when initializing the weights. Also, you can keep the learning rate constant if you like. The radius of the neighborhood and the learning rate are hyper-parameters. It is up to you how to choose them.

The radius for a SOM is used to update weights of neighboring nodes as well as the winning node.

Typically SOM nodes are organized on a 2D lattice and the neighborhood is calculated with Euclidean distance. Thus the nodes develop a spatial relationship between each other in 2D, with different areas of the lattice representing different clusters.

Dist function is distance function,generally euclidian distance is used in self organizing map,


Radius is the neighbourhood radius which is updated in every iteration,generally decreased as iteration number increases,as the distance between the best matching unit and node in consideration for update is high the update magnitude will be less as you can see the negative sign on exponential denote that.