## 2 Materials and Methods
### Classification Using the SaDE-WNN Method  
In the context of WNN, initial parameter tuning, and parameter setting is an important task, and the performance of WNN depends highly on the values of these parameters. For example, if the learning rate parameter is not set properly, the network can either lead to vibrations or be stuck in an indefinite training time. The momentum rate is used to accelerate the error convergence rate [24]. WNN uses gradient descent learning for training which suffers from some underlying problems such as long convergence-time, entry into local minima, and the need for differentiation of objective function. Furthermore, the determination of the optimal number of neurons in hidden layers is another important task. With no or few hidden neurons, the network may not be able to classify the complex set of problems. By contrast, with too many hidden neurons/hidden layers, the network becomes too complex and the training of the network becomes highly time come consuming. There have been wide uses of Wavelet Neural Networks (WNN) for classification problems [33]. Among all, the Particle Swarm Optimized WNN (PSOWNN) [41], and Differential Evolution optimized WNN (DEWNN) [34] are the most popular ones as they handle the problems that remained in WNN regarding the initial parameter tuning, parameter setting such as the momentum rate, and determining the optimal number of hidden neurons/hidden layer [42]. In the current work, we adopt the self-adaptation technique [36] for parameter control using two parameters of standard DE, i.e., the mutation scale factor(F) and the cross-over rate (CR). The output is the function of \(w_{ih}\) (weight-vector between input and hidden-layer), \(w_{ho}\) (weight vector from hidden layer to the output layer), \(a\) (dilation parameter), \(b\) (translation parameter), and \(u\) (input sample). During the training phase, these parameters \(T=[w_{ih}w_{ho},b,a]\) are predicted and modified by minimizing the Normalized Root Mean Square Error (NRMSE). An initial random population (P) consists of such vectors: \(P=[T_{1},\ldots,T_{NP}]\) is generated within the boundaries:  
\[T_{i}=T_{min}^{i}+rand(j)\times\left(T_{max}^{i}-T_{min}^{i}\right) \tag{13}\]  
where \(rand(j)\) represents uniformly distribution of number in the range of \([0,\,1]\)\(for\)\(j=1,2,3\ldots\) which generates a fresh value for every decision parameter. The factor 'F' controls the evolving rate of the population. The CR varies in the range of \([0,\,1]\) and indicates the probability with which a trial individual inherits the actual individual's gene. A relatively small CR increases the probability of stagnation and decelerates the search-process [24]. By contrast, if F is relatively high, the population diversity increases and may result in premature convergence [43]. Therefore, these parameters are modified to control these parameters, self-adaptation of two parameters (F and CR) are modified as follows:  
\[F_{i,G+1}=\left\{\begin{array}{cc}F_{\ell}+rand1\times F_{u}&\quad if\,\, rand2<p_{1}\\ F_{i,G}&\quad otherwise\end{array}\right. \tag{14}\]  
\[CR_{i,G+1}=\left\{\begin{array}{cc}rand3&\quad if\,\,rand4<p_{2}\\ CR_{i,G}&\quad otherwise\end{array}\right. \tag{15}\]  
where \(i=1,2,\ldots,NP\) and \(NP\) denotes the number of members in the population. \(p_{1}\) and \(p_{2}\) are the probability to adjust the control parameter F and CR. We set \(p_{1}=p_{2}=F_{\ell}=0.1\), and \(F_{u}=0.9\)[43].  
Using this method to determine F and CR, a self-adaptive algorithm has been developed. Both tests are vector generation strategy and their corresponding parameter values progressively self-adapted by learning from past events of generating likely solutions. The new parent vector F and CR randomly selects the value from \([0,\,1]\). Moreover, \(F_{i,G+1}\) and \(CR_{i,G+1}\) are accomplished before mutation.