Notes

← Back to home

A collection of fragments of understanding in the pursuit of deeper questions.

Non-Probabilistic UL - Competitive Network Learning

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.

  • Neurons/Nodes are all the same except for their weights.
  • A competitive mechanism permits neurons to compete for the right to respond to a given subset of inputs, such that only one output neuron (or only one neuron per group), is active (i.e., "on") at a time.
  • The neuron that wins the competition is called a "winner-take-all" neuron and is allowed to update its weights.
  • During "learning" individual neurons of the network learn to specialize on ensembles of similar patterns and become "feature detectors" for different classes of input patterns.
  • The competitive networks are able to recode sets of correlated inputs to a few output neurons.

The CL Algorithm The competitive learning algorithm (two clusters):

  1. Let all inputs feed into two different nodes, so that every hidden node is connected to every input. Initialize the weights randomly between 0.0 and 1.0. Calculate the activity of each hidden node for the first input.
  2. The hidden node with the highest output is the winner for the cluster to which the data point belongs.
  3. The winner node updates each of its weights, thereby moving its weight vector towards the data point.
  4. Repeat with the next data point.
image142

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:

image143

We update our weights accordingly:

image144
image145 image146 image147

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

image148

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

image151 image150 image149