## 2 Materials and Methods
### Classification Phase
#### 2.2.1 Modified Salp Swarm Algorithm  
[PERSON] et al. presented the salp swarm algorithm (SSA) in 2017 as a heuristic algorithm based on mimicking the group behaviour of salps in nature. SSA developed a salp chain model for solving optimization issues and separated salp groups into the leader and follower categories. The leader is the individual at the front of the chain, while the remaining individuals follow each other directly or indirectly as followers. SSA employs the approach of survival of the fittest. SSA continues to approach the food source position by calculating all individuals' adaptive values and comparing the current iterations' adaptive  
Figure 1: The proposed PSO-SVM-RFE method for feature selection. values to the previous optimal ones. Thus, it is possible to model the foraging behaviour of salps to address the optimization problem [37; 38; 39]. Similar to other meta-heuristic algorithms, the original SSA had flaws, such as a sluggish convergence rate and a tendency to reach a local optimum during the optimization procedure quickly. This study offers a salp swarm method employing the [PERSON] flight strategy for the conditional update as a response. [PERSON], a French mathematician, proposed the [PERSON] flight [40; 41]. It is a distinct random walk approach. In the walking process, [PERSON] flight is accompanied by frequent short trips and occasional big distances, successfully balancing local development and global exploration capacity. The random step size of [PERSON]'s flight obeys [PERSON]'s distribution, and its simplified form is:  
\[\text{[PERSON]}(s)=|s|^{-1-\beta},0<\beta<2 \tag{9}\]  
where \(s\) is the random step size. Since [PERSON] flight is very complex, this paper adopts the algorithm proposed by [PERSON] to calculate [42], and its equation is as follows:  
\[s=\frac{u}{|v|^{1/\beta}} \tag{10}\]  
where \(u\) and \(v\) is a random number that is normally distributed, \(u\sim N\big{(}0,\sigma_{u}^{2}\big{)}\), \(vs.\sim N\big{(}0,\sigma_{v}^{2}\big{)}\). \(\sigma_{u}\) and \(\sigma_{v}\) can be obtained from Equation (11):  
\[\left\{ \begin{array}{l}\sigma_{u}=\left\{\frac{\Gamma(1+\beta)\cdot\sin( \pi\beta/2)}{\Gamma[(1+\beta)/2]\cdot\beta\cdot 2^{(\beta-1)/2}}\right\}^{1/\beta} \\ \sigma_{v}=1\end{array} \right. \tag{11}\]  
where \(\Gamma\) is the integral operation and \(\beta\) usually takes the value of 1.5. The mathematical algorithm of MSSA is described in detail below. * **Step 1:** Initialization phase At this stage, MSSA generates scattered initial random locations based on the size of the input dataset. The target environment is defined as an \(N\times D\) dimensional space, where \(N\) represents the number of populations and \(D\) represents the dimension of the space. The location of each salp is defined as \(X_{i}=[X_{i1},X_{i2},X_{i3},\cdots,X_{iD}]\), \(i=1,2,3\cdots,N\), and the target location is defined as \(F=[F_{1},F_{2},F_{3},\cdots,F_{D}]\). The upper bound of the search range of each dimension is \(Ub=[ub_{1},ub_{2},ub_{3},\cdots,ub_{D}]\), and the lower bound is \(Lb=[lb_{1},lb_{2},lb_{3},\cdots,lb_{D}]\). Finally, the initial population position is randomly obtained according to Equation (12): \[X_{N_{X}D}=\text{rand}(N,D)\times(Ub-Lb)+Lb\] (12)  
In the population, the value of each dimension of the leader is defined as \(X_{d}^{1}\), and the value of each dimension of the follower is defined as \(X_{d}^{n}\), where \(n=2,3,4,\ldots,N\), \(d\) represents the dimension. * **Step 2:** Improve update strategy for leader positions [PERSON]'s random flight step was used to improve the position update of the leader. [PERSON] flight strategy enables the algorithm to change randomly between long and short distances, and a small number of long hops are used to avoid the algorithm falling into local optimization to enhance the global search ability. Leaders update positions according to Equation (13): \[X_{d}^{1}=\left\{