A collection of fragments of understanding in the pursuit of deeper questions.
Competitive Learning Paper: "Feature Discovery by Competitive Learning"
Competitive learning is a form of unsupervised learning in artificial neural networks, in which nodes compete for the right to respond to a subset of the input data. A variant of Hebbian learning, competitive learning works by increasing the specialization of each node in the network. It is well suited to finding clusters within data. Imagine that we move our neuron around that space by adjusting the weights.
The CL Algorithm The competitive learning algorithm (two clusters):
In the figure we have an illustration of how the barrier would move if the blue neuron would move upwards in direction of the cluster center and the red one downwards (3 iterations are shown). However, after revisiting this example I think the blue one would occupy the lower cluster.
CL with Neural Networks We ask for the neuron with the closest weight vector:
We update our weights accordingly:
![]() |
![]() |
![]() |
|---|
The figure above shows Competitive NN: the position of the two neurons after convergence (left). A new datapoint and the data points equidistance line to the cluster-center neurons (center). The network structure (right).
Self-Organizing Maps
When a training example is fed to the network, its Euclidean distance to all weight vectors is computed. The neuron whose weight vector is most similar to the input is called the Best Matching Unit (BMU). The weights of the BMU and neurons close to it in the SOM grid are adjusted towards the input vector. The magnitude of the change decreases with time and with the grid-distance from the BMU.
Summary Plots
![]() |
![]() |
![]() |
|---|