The SOM algorithm demonstration

The first demo shows the SOM algorithm in a nutshell. When the Self-Organizing Map algorithm controls a row of sliders, they gradually become ordered when random inputs are presented.

In this demo a one-dimensional map is represented by a row of sliders. The sliders, representing map units, are controlled by the SOM algorithm. When random inputs are presented, the values of the sliders gradually become ordered. During training the difference between the previous and the new value of a slider is shown with yellow colour after each training step. The slider whose value is closest to the input value (i.e. corresponding to the best-matching map unit) is indicated with red colour. The leftmost slider with pinkish background is the input controller. It shows the input presented to the map at each training step.

The map can be trained either automatically or manually. During automatic training the map is presented with random inputs at a constant rate. In manual training you can yourself specify the input used for training by clicking with the mouse on the input controller (the leftmost slider with pinkish background) or you can press the SPACE key to teach one step with a random input.

Use the START/STOP button to start and stop the automatic training. The RANDOMIZE button will set the values of the sliders to random values. Use the text field to set the alpha learning rate parameter. Map units are also editable with the mouse.

More detailed information about the first demo is also available. But now, lets see that demo:

Java SOM applet not started. Possibly Java has been turned off or your browser doesn't support Java applets...
  • START/STOP button start or stop automatic training
  • RANDOMIZE button randomizes the map
  • Alpha textfield sets alpha, the learning rate (remember to press Enter/Return after inputting a new value for alpha)
  • SPACEBAR trains one step with a random input.
  • Click mouse on input vector (leftmost, pinkish) to teach one step with user-selectable input
  • CURSOR UP/DOWN increase/decrease automatic training rate
  • You can also edit the values of the map vectors with the mouse.
  • More information


When you are done with this demo, you can go to the second demo.