Supervised and unsupervised learning

The learning algorithm of a neural network can either be supervised or unsupervised.


A neural net is said to learn supervised, if the desired output is already known.

Example: pattern association

Suppose, a neural net shall learn to associate the following pairs of patterns. The input patterns are decimal numbers, each represented in a sequence of bits. The target patterns are given in form of binary values of the decimal numbers:

input pattern target pattern
0001 001
0010 010
0100 011
1000 100

While learning, one of the input patterns is given to the net's input layer. This pattern is propagated through the net (independent of its structure) to the net's output layer. The output layer generates an output pattern which is then compared to the target pattern. Depending on the difference between output and target, an error value is computed.

This output error indicates the net's learning effort, which can be controlled by the "imaginary supervisor". The greater the computed error value is, the more the weight values will be changed.


Neural nets that learn unsupervised have no such target outputs.

It can't be determined what the result of the learning process will look like.

During the learning process, the units (weight values) of such a neural net are "arranged" inside a certain range, depending on given input values. The goal is to group similar units close together in certain areas of the value range.

This effect can be used efficiently for pattern classification purposes.

See Selforganization for details.

Neural Net Components in an Object Oriented Class Structure