Evolutionary self-organizing map

Extending Kohonen's SOM the paper proposes one kind of dynamically growing neural network, called evolutionary SOM (ESOM). Firstly, the output layer of the SOM is represented by a so-called neighborhood graph, where nodes are neurons' weights and edges are the neighborhood relationships of SOM. Then two basic differentiation operations, node differentiation and edge differentiation, are proposed for network differentiation. As in nature's evolution, each generation of ESOM includes several species of neural nets and the survivors of competition will differentiate to the next generation. This kind of evolution is implemented as two new modules of ESOM, in addition to Kohonen's SOM toolbox in Matlab. A cross pattern with 1000 data points is taken as example. The results show that there are a large quantity of unnecessary neurons in Kohonen's SOMs; whereas the resultant ESOM has much smaller size and better fitness to training input.