Kohonen Self-Ordering Networks

Kohonen network application screenshot

The objective of a Kohonen network is to map input vectors (patterns) of arbitrary dimension N onto a discrete map with 1 or 2 dimensions. Patterns close to one another in the input space should be close to one another in the map: they should be topologically ordered. A Kohonen network is composed of a grid of output units and N input units. The input pattern is fed to each output unit. The input lines to each output unit are weighted. These weights are initialised to small random numbers

The Kohonen.exe program is a simple program that demonstrates how Kohonen networks organise themselves.

Usually a Kohonen network is used to take input from some source that is to be quantified and diagnosed. However in this program we take our inputs as random points on the surface or inside of a sphere. The reason for this is simply to demonstrate how SONs organise themselves.

Download my C++ example programs or take a look at the Kohonen help.