# Difference-Based Mutation Operation for Neuroevolution of Augmented Topologies +
## 3 Results  
To estimate the efficiency of the proposed approach, two sets of experiments have been performed. First, the classification problems have been considered: in particular, the set of databases from the KEEL repository [25] was used, with the characteristics shown in Table 2. The used datasets are taken from different areas, have a large number of instances or classes, and some of them are imbalanced. Figure 3: Visualization of DBM example from Figure 2.  
First, the baseline version of the implemented NEAT algorithm was tested to compare with the modified version with difference-based mutation. The categorical cross-entropy was used as a criterion to be optimized for classification problems. i.e., for an \(k\)-class classification problem there were \(k\) output nodes, and the softmax layer, used in neural networks [26], was applied. The population size was set to 100 individuals, and the number of generations was set to 500. The maximum number of connections was set to 150, and if this number was exceeded after mutation or crossover, the offspring was eliminated from the next generation. The 10-fold cross-validation was applied to estimate the efficiency of the classifier, which was the accuracy measure, i.e., the number of correctly classified instances relative to total sample size, averaged over 10 folds. The NEAT-DBM was tested with different settings of scaling factor \(F\) sampling. In particular, the sampling of \(F\) was tested with 5 different mean values used in the normal distribution: \(normrand(0.1,0.1)\), \(normrand(0.3,0.1)\), \(normrand(0.5,0.1)\), \(normrand(0.7,0.1)\), \(normrand(0.9,0.1)\), i.e., from 0.1 to 0.9 with 0.2 step. This sensitivity analysis was performed to estimate the required \(F\) values range for the NEAT algorithm. Figure 4 shows the general scheme of algorithm testing. Tables 3 and 4 contain the comparison of NEAT to NEAT-DBM average accuracy with different \(F\) sampling on training set. The comparison of results in Tables 3 and 4 shows that applying DBM to NEAT results in improvements for several datasets, for example, Segment dataset on the training sample and Australian credit, Segment, Phoneme on the test set. The best mean values for \(F\) sampling are 0.5, 0.7 and 0.9 depending on the problem at hand. In several cases, the \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Dataset** & **Number of Instances** & **Number of Features** & **Number of Classes** \\ \hline Australian credit & 690 & 14 & 2 \\ German credit & 1000 & 24 & 2 \\ Segment & 2310 & 19 & 7 \\ Phoneme & 5404 & 5 & 2 \\ Page-blocks & 5472 & 10 & 5 \\ Twonorm & 7400 & 20 & 2 \\ Ring & 7400 & 20 & 2 \\ Magic & 19,020 & 10 & 2 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Datasets used in the experiments. Figure 4: The block scheme of NEAT and NEAT-DBM testing. value for \(p=0.05\) significance level. Nevertheless, for most datasets and scaling factor sampling parameters the \(Z\) values are positive, indicating that the NEAT-DBM is, in general, better than standard NEAT. The \(NEAT-DBM_{0.5}\) was also compared with alternative approaches, namely the Neural Network, Decision tree [27] and Random forest [28], as well as the K Nearest Neighbors (K-NN) and Support Vector Machines (SVM) and the previously developed Hybrid Evolutionary Fuzzy Classification Algorithm (HEFCA), presented in [29; 30]. The Keras library [31] was used to implement a two-layered neural network. The sigmoid is used as an activation function, and the softmax layer was applied at the end. The loss function was implemented as a cross-entropy function, and the adaptive momentum (ADAM) optimizer was applied for weight training. The training of the network on test datasets used the following parameters: the learning rate was set to 0.003, \(\beta_{1}\) (exponential decay rate for the first-moment estimates), \(\beta_{2}\) (exponential decay rate for the second-moment estimates) were equal to 0.95 and 0.999 respectively, and the learning rate decay was set to 0.005.