## 3 Methodology
### Differential Evolution for Optimization  
Differential evolution (DE) is a population-based optimization algorithm, widely used for complex optimization tasks due to its simplicity and efficiency [45]. The DE algorithm was selected for this study because it is particularly well-suited to non-convex optimization problems such as neural network training, where traditional gradient-based methods often struggle with local optima [46]. DE's mutation, crossover, and selection mechanisms enable it to explore a wide solution space effectively, making it more likely to find global optima.  
In our neural network architecture, DE is used to initialize the weights and biases before training begins. This initialization ensures that the network starts with parameters that are already close to an optimal configuration, thereby reducing the number of iterations required for convergence during backpropagation [41]. As a result, the combination of DE for initialization and fractional-order gradients for training leads to a more efficient and effective learning process; see Figure 2.  
Figure 2: The flowchart of the proposed DE-FOCNN algorithm.  
The optimization process in DE consists of three key steps: mutation, crossover, and selection, which iteratively improve the solutions within a population [24]. Each individual in the population represents a potential solution to the optimization problem, with the fitness function measuring the network's performance. Below, we explain the mathematical formulation behind each step.  
1. Mutation Step  
In the mutation step, new candidate solutions (mutant vectors) are generated by perturbing existing solutions. The basic formula for generating a mutant vector is given by  
\[V_{i}^{(S+1)}=X_{r1}^{(S)}+F\cdot\left(X_{r2}^{(S)}-X_{r3}^{(S)}\right) \tag{6}\]  
where  
* \(V_{i}^{(S+1)}\) is the mutant vector for the \(i\)-th individual at generation \(g+1\).
* \(X_{r1}^{(S)}\), \(X_{r2}^{(S)}\), \(X_{r3}^{(S)}\) are randomly selected individuals from the population.
* \(F\) is a scaling factor controlling the amplification of the differential variation.  
The purpose of this step is to explore the solution space more effectively by introducing diversity into the population. By using differences between randomly selected solutions, DE ensures that the exploration is adaptive and capable of escaping local optima.  
2. Crossover Step  
The crossover step combines the mutated vector with the current individual to generate a trial vector. This is governed by the following equation:  
\[U_{i,j}^{(S+1)}=\{\begin{array}{ll}V_{i,j}^{(S+1)}&\text{ if }\text{rand}_{j}(0,1)\leq CR \text{ or }j=j_{\text{rand}}\\ X_{i,j}^{(S)}&\text{ otherwise}\end{array} \tag{7}\]  
where  
* \(U_{i,j}^{(S+1)}\) is the trial vector, for the \(i\)-th individual at the \(j\)-th dimension.
* \(CR\) is the crossover probability, determining how often components from the mutant vector are used.
* \(j_{\text{rand}}\) is a randomly chosen index to ensure that at least one component from the mutant vector is inherited.  
The crossover step balances exploration and exploitation by mixing information from both the mutant vector and the current individual.  
3. Selection Step  
In the selection step, the algorithm evaluates the fitness of the trial vector against the current individual. The individual with the better fitness value is retained for the next generation.  
\[X_{i}^{(g+1)}=\{\begin{array}{ll}U_{i}^{(S+1)}&\text{ if }f\left(U_{i}^{(S+1)} \right)\leq f\left(X_{i}^{(S)}\right)\\ X_{i}^{(S)}&\text{ otherwise}\end{array} \tag{8}\]  
where \(f(\cdot)\) represents the fitness function, which measures the network's performance. This step ensures that only improved solutions are carried over to the next generation, gradually guiding the population toward an optimal or near-optimal solution.