SOMO-m Optimization Algorithm with Multiple Winners

Self-organizing map SOM neural networks have been widely applied in information sciences. In particular, Su and Zhao proposes in 2009 an SOM-based optimization SOMO algorithm in order to find a wining neuron, through a competitive learning process, that stands for the minimum of an objective function. In this paper, we generalize the SOM-based optimization SOMO algorithm to so-called SOMO-m algorithm with m winning neurons. Numerical experiments show that, for m > 1, SOMO-m algorithm converges faster than SOM-based optimization SOMO algorithm when used for finding the minimum of functions. More importantly, SOMO-m algorithm with m ≥ 2 can be used to find two or more minimums simultaneously in a single learning iteration process, while the original SOM-based optimization SOMO algorithm has to fulfil the same task much less efficiently by restarting the learning iteration process twice or more times.


Introduction
Self-organizing map SOM neural networks have been widely applied in information sciences 1-7 .In particular, an SOM-based optimization SOMO algorithm is proposed in 8, 9 to find a winning neuron, through a competitive learning process, that stands for the minimum of an objective function.They compared the SOM-based optimization SOMO algorithm with genetic algorithms 10, 11 and particle swarm optimization algorithm 12-17 , and they showed that the SOM-based optimization SOMO algorithm can locate the minimum much faster than the genetic algorithm and the particle swarm optimization algorithm.The aim of this paper is to generalize SOMO algorithm to so called SOMO-m algorithm to find m winning neurons in a single learning process.A separation technique is introduced in the learning process to prevent the accumulation of the m-wining neurons.Numerical experiments show that, for m ≥ 2, SOMO-m algorithm converges faster than SOMO algorithm when they are used for finding the minimum of functions.A more important merit of SOMOm algorithm with m ≥ 2 is that it can find two or more minimums simultaneously in a single learning iteration process, while the original SOMO algorithm has to fulfil the same task much less efficiently by restarting the learning iteration process twice or more times.
This paper is organized as follows.In Section 2, a brief introduction of SOMO algorithm is given.Our SOMO-m algorithm is proposed in Section 3. Section 4 is devoted to some supporting numerical simulations.

Original SOM-Based Optimization (SOMO) Algorithm
Self-organizing map SOM is an unsupervised learning algorithm proposed by  The principal goal of the SOM algorithm is to map an incoming pattern in a higher dimensional space into a lower usually one or two dimensional space, and perform this transforation adaptively in a topological ordered fashion.The applications of SOM range widely from simulations used for the purpose of understanding and modeling of computational maps in the brain to subsystems for engineering applications such as speech recognition, vector quantization and cluster analysis 18-26 .
Different from the usual SOM algorithm, an SOM-Based optimization SOMO algorithm is introduced in Su and Zhao 8 for continuous optimization.In the following, let us describe SOMO algorithm 8 used for finding the minimum point x * of a function f x , x ∈ R n .The SOMO network contains M × N neurons arranged as a two dimensional array.For each neuron i, j , its weight W i,j is a vector in R n , where 1 ≤ i ≤ M and 1 ≤ j ≤ N for some positive integers M and N.For a special input x x 1 , . . ., x n 1, 1, . . ., 1 ∈ R n , the winner out of all the neurons is defined as min f W i,j .

2.1
The idea of SOM training is applied to the network such that the weight W i * ,j * of the winner will get closer and closer to the minimum point x * during the iterative training process.The detail of the training process is as follows: Step 1. Initialization.
Substep 1 Initialization of the neurons on the four corners .The weight vectors of the neurons on the corners are initialized as follows:

2.2
Here, the two points l 1 , l 2 , . . ., l n T and h 1 , h 2 , . . ., h n T are randomly chosen and far enough from each other.
Substep 2 Initialization of the neurons on the four edges .The initialization of the weights of the neurons on the four edges is as follows: where i 2, . . ., M − 1 and j 2, . . ., N − 1.
Substep 3 Initialization of the remaining neurons .
Substep 4 Random noise .A small amount of random noise is added for each weight so as to keep the weight vectors from being linearly dependent as follows: for 1 ≤ i ≤ M and 1 ≤ j ≤ N, where t denotes a small random noise.
Step 3. Weights updating.The weights of the winner and its neighbors are adjusted by the following formula:

2.7
where the parameters η and λ are real-valued constants which can be either constants predefined by the user or time-varying parameters which decrease gradually when time t increases.d i * , j * , i, j is the lateral distance between winning neuron i * , j * and neuron i, j ; the randomly chosen vector p is called the perturbation vector, and Step 4. Go to step 2 until a prespecified number of generations is achieved, or some kind of termination criterion is satisfied.

SOMO-m Algorithm
In this section, let us present our SOMO-m algorithm.We divide the section into two subsections, dealing with the training algorithms for finding one minimum and two minima of a function, respectively.

SOMO-m Algorithm for Finding One Minimum
The SOMO-m algorithm for finding one minimum of a function f x is as follows: Step 1.The initialization of SOMO-m algorithm is the same as that of SOMO algorithm.
Step 2. This step aims to find m winning neurons, denoted by i * 1 , j * 1 , i * 2 , j * 2 , . . ., i * m , j * m with the best objective function values among the neurons as follows: and R 1 , R 2 , . . ., R m are suitably chosen sizes of neighborhoods.
Step 3. The weights of the winners and its neighbors are adjusted by the following formula: where The η r and λ r are real-valued parameters which can be constants predefined by the user or time-varying parameters, which decreases gradually with increasing time t, and p is a perturbation vector.
Step 4. Go to step 2 until a prespecified number of generations is achieved or some kind of termination criteria is satisfied.
We first remark that in the above Step 2, we require the m winners to be away from each other by using the neighborhoods S m and T m , such that the winners can spread around rather than accumulate in one point.Secondly, we find in our numerical experiments that it is OK to choose λ r and η r as either small constants independent of time t or small variables decreasing with increasing time t.Thirdly, we find that it is better to choose The reason for this may be the following: A smaller constant η 1 might help for the first winner to converge to the minimum, while the larger η r for r > 1 might help for the other winners to reach a larger searching area.

SOMO-2 Algorithm for Two Minima
Here we discuss SOMO-2 algorithm for finding two minima of a function simultaneously.It is an easy matter to generalize the algorithm for finding three or more minima.SOMO-2 algorithm has the same training steps as those in the last subsection with m 2 for finding one minimum, except the step of weights updating process, which is as follows: For the neurons i, j in the neighborhood of the first winner i * 1 , j * 1 satisfying p 1 ≤ i ≤ p 2 , q 1 ≤ j ≤ q 2 , where

3.8
The weights updating rule is where

3.10
For the rest i, j neurons, where

3.12
We see that, in the training, the second winner i * 2 , j * 2 does not affect the neighboring neurons of the first winner i * 1 , j * 1 , but does affect all the other neurons.Therefore, hopefully the first winner will converges to the minimum point of the function f x , while the second winner converges to another minimum point.

Objective Functions
In this subsection, we use our SOMO-m methods to minimize the following functions.

Parameters of Simulation
In Table 1 we present the global minima, dimensions, and the upper bound of the number of generations for optimization algorithms.Figure 1 illustrates the graphs of these five functions in two dimensional space.The neurons are arranged as a 30 × 30 array, namely, M N 30.

Simulations of SOMO-m Algorithm for One Minimum
In this subsection, we investigate the performance of SOMO-m algorithm for finding one minimum.For each function, each algorithm conducted 30 runs.The stop criterion for each run is that either 100 generations are iteratively generated, or before then if the difference of two successive minima in the iteration process is less than a prescribed tolerance > 0.
The best solutions found for each function and each run were recorded and, for instance, the mean column in Table 2 presents the average of the 30 best solutions of the 30 runs, respectively.To measure and compare the performance of SOMO-3, the mean time, that is, the average of processing time over 30 runs is recorded.Table 2 tabulates the comparison of the simulation results of SOMO, SOMO-2, and SOMO-3 algorithms.The mean column and the standard deviation SD column represent the mean and the standard deviation SD of the best solutions of 30 runs.The highlighted bold entries correspond to best solutions found by SOMO-3.Figure 2 shows the performances of SOMO, SOMO-2, and SOMO-3 algorithms in typical runs.Now, we discuss the accuracy of the algorithms.We measure the errors for each algorithm over the 30 runs as follows: where x l is the approximate solution of lth run, and x * is the real minimum of the function.Table 3 tabulates the errors of SOMO, SOMO-2, and SOMO-3 algorithms, respectively.We draw the following conclusions from the simulations in this subsection for finding one minimum.
1 SOMO-3 algorithm shows the best results for all functions based on the comparisons of the means of the best objective value and the processing time.
2 As shown in Figure 2, the SOMO-3 algorithm locates the minima faster than SOMO and SOMO-2 algorithms.
3 In Table 3, the bold entries show that the error corresponding to SOMO-3 algorithm is smaller than those of SOMO and SOMO-2 algorithms.

Simulations of SOMO-2 Algorithm for Two Minima
In this subsection, we present the simulation results for the case of finding simultaneously two minima of a function.The best solutions found for each run after prespecified number of generations were recorded.Table 4 tabulates the comparison of the simulation results.The mean column and the standard deviation column represents the mean and the standard deviation of the best solutions of 30 runs.
Based on observation from Table 4, our conclusion for finding simultaneously two minima of a function is as follows: The proposed SOMO-2 algorithm can find two minima of a function simultaneously in a single learning iteration process, while the original SOM-based optimization SOMO algorithm has to fulfil the same task much less efficiently by restarting the learning iteration process twice or more times.

Figure 1 :
Figure 1: Graphs of the five objective functions.

Table 1 :
Parameters for five functions.

Table 4 :
Comparison of SOMO-2 and the original SOMO algorithms for finding two minima.