Competitive learning is a neural learning technique in which processing units compete to respond to input patterns. The most responsive unit wins and updates its weights toward the input, rather than using error-correction learning such as backpropagation with gradient descent. section 11.10 section 11.4
A self-organizing map applies competitive learning through these operations:
- Compare each neuron’s weight vector with an input, commonly using Euclidean distance. section 11.4
- Select the best matching unit, or winning neuron, with the shortest distance. section 11.4
- Move the winner’s weight toward the input and update neighboring neurons through a neighborhood function. section 11.4
- Control neighborhood influence with the bandwidth σ: larger values affect more neighbors, while very small values approach winner-only learning. section 11.4
Algorithm 11.1 Self-organizing map (SOM)
Randomly initialize the weights of each neuron
For each step s=1 to iteration limit:
Randomly pick an input vector from the dataset
Traverse each node in the map
Calculate Euclidean distance as a similarity measure
Determine the node that produces the smallest distance (winning neuron)
Adapt the weights of each neuron v according to the following rule
Wv(s+1)=Wv(s)+ α(s).θ(u,v,s).‖Dt-Wv(s)‖
Follow the stepwise self-organizing map procedure from random weight initialization through repeated input selection, winner detection, and weight adaptation. section 11.4
