Here’s a simple algorithm to produce Self-organizing neural networks (SONN) in 2D clustering problems with a simple decremented gain.
Number of clusters of input data x represented by , and is the number of features in each cluster. To represent the amount of change in the weights as a function of the distance from the center cluster , here I use window function , and the goal is to decrement the gain for updating the weights at next step iteration.
Step 1 : set the weight in all clusters to random values :
for ; ; and
Set the initial gain .
Step 2 : For each input pattern
(a). Identify the cluster that is closest to to the k-th input :
(b). Update the weights of the clusters in the neighborhood of cluster according to the rule :
, for ,
Where is window function.
Step 3 : Decrement the gain term used for adapting the weight :
where is the learning rate.
Step 4 : Repeat by going back to step 2 until convergence.
For the similar 1D SONN algorithm see here.