Simple Competitive Learning based Clustering

by Ahmad Masadeh, Paul Watta, and Mohamad Hassoun (March 1998)


This is a program that impliments the simple competetive learning process as described on page 103 in M. Hassoun, Fundementals of Artificial Neural Networks (MIT press, 1995 ). The program uses equations 3.4.2 and 3.4.3 (page 103) for both Inner Product and Euclidean Distance methods respectvely. It also uses equation 3.4.5 (page 104) for updating the weights. Each Initial weight unit has a distinctive color, and the final clusters are shown in a color matching to its winning unit.


How to use the applet:

  1. Choose the method of training : Inner product or Euclidian distance from the list.

  2. To insert a cluster of points just click on the CREATE TRAINING SET Button, then click on the desired position on the screen(each cluster contains 100 random points and uses a gaussian distribition).Multiple clicking at different points creates more complex clusters.

  3. To insert an initial unit weight click on the INITIAL UNIT WEIGHTS Button, then on the desired position on the screen.( you can have up to 5 units).

  4. In order to see how the weight trajectories develop press the TRAIN Button.

  5. You will notice that the final weight trajectory position is marked by a black star (*).

  6. In order to see the final distinctive clusters press the CALIBRATE Button.

  7. The CLEAR Button is used for clearing the screen.

  8. You may specify the learning rate to any value by typing in the desired learning rate ( note that the learning rate should be a small positive value).

  9. You may choose how many cycles you want the program to cycle through the training set by choosing from the Training Cycle list. Each training cycle is equivalent to m presentations (iterations) of input vectors from the training set where m is the size of the training set. The training vectors are chosen uniformly randomly from the training set.