# A Holistic Performance Comparison for Lung Cancer Classification Using Swarm Intelligence Techniques

Authors: Sunil Kumar Prabhakar; Harikumar Rajaguru; Dong-Ok Won
Journal: Journal of Healthcare Engineering
 (2021)

---

## Abstract

In the field of bioinformatics, feature selection in classification of cancer is a primary area of research and utilized to select the most informative genes from thousands of genes in the microarray. Microarray data is generally noisy, is highly redundant, and has an extremely asymmetric dimensionality, as the majority of the genes present here are believed to be uninformative. The paper adopts a methodology of classification of high dimensional lung cancer microarray data utilizing feature selection and optimization techniques. The methodology is divided into two stages; firstly, the ranking of each gene is done based on the standard gene selection techniques like Information Gain, Relief–F test, Chi-square statistic, andT-statistic test. As a result, the gathering of top scored genes is assimilated, and a new feature subset is obtained. In the second stage, the new feature subset is further optimized by using swarm intelligence techniques like Grasshopper Optimization (GO), Moth Flame Optimization (MFO), Bacterial Foraging Optimization (BFO), Krill Herd Optimization (KHO), and Artificial Fish Swarm Optimization (AFSO), and finally, an optimized subset is utilized. The selected genes are used for classification, and the classifiers used here are Naïve Bayesian Classifier (NBC), Decision Trees (DT), Support Vector Machines (SVM), and K-Nearest Neighbour (KNN). The best results are shown when Relief-F test is computed with AFSO and classified with Decision Trees classifier for hundred genes, and the highest classification accuracy of 99.10% is obtained.


---

## Body

## 1. Introduction

The number of patients who are diagnosed with cancer is steadily increasing in a rapid manner [1]. With the help of biopsies, image processing techniques, and blood analysis, the diagnosis of cancer is done presently. When damaged cells are excessively accumulated in human body, it leads to cancer [2]. For every patient, the behavior of cancer differs, and by examining deeply into the origin of it, it can be well understood. The cancer originates in the cells and to every individual, the structure of the cell is quite unique. Therefore, to cure cancer permanently, there is not a single specific vaccine available [3]. Understanding the relation between the gene and its products is a contribution to the genetic approach to cancer diagnosis, so that the identification of biomarker genes for targeting drug therapies can be understood well [4]. With this approach, the effects of genes on some cell signaling pathways can be well understood [5]. The information about active levels of a gene is provided by the gene expression. For gene expression, one of the widely used measurement technique is microarray [6]. In the cancer diagnosis and cancer classification types, the gene expression values obtained by microarrays can be utilized. In many studies, the microarray datasets are employed for these purposes. For the selection of biomarker gene subsets, various feature selection algorithms are employed [7]. To this microarray dataset, statistic machine learning techniques are implemented with or without feature selection [8]. Biomarker genes are to classify cancer types, with a highest classification accuracy being identified by the biomarker genes.In recent years, a new dimension to cancer research has been encompassed by the advent of microarray technology. For the classification, analysis, diagnosis, and treatment of cancer, a proficient method has been emerged by the microarray-based gene expression data [9]. Thousands of features termed as genes are found in the microarray gene expression dataset. Such data has records or instances from a few patients only and due to this limited availability of samples in comparison to larger number of genes, it is termed as curse of dimensionality problem [10]. Due to this, (a) the training time during the classification process is increased, and (b) there is a reduction in classification accuracy [11]. Therefore, the extraction of useful information from the dataset is hindered due to these challenging issues. So, the number of genes has to be reduced, and then, the highly informative genes should be selected, so that classification accuracy is increased, and it is a significant step in the microarray data analysis [12]. Feature selection/gene selection in the microarray data classification aim is to select a small subset of features from the original huge feature space [13]. By removing redundant and irrelevant features, feature selection can be done, so that the classification accuracy is increased, and the classification time is reduced. The feature selection technique proposed in the literature includes hybrid method, embedded technique, filter, and wrapper methods [14]. In this study, the primary aim is to classify and select the optimal gene subsets for lung cancer. Then, feature selection is implemented along with optimization techniques and finally classified.Some of the prominent works in the lung cancer classification using microarray gene analysis are explained as follows. For the molecular classification of lung cancer, a cross study comparison of gene expression study was done by Parmigiani et al. [15]. Using the significance analysis of Microarray-Gene set reduction algorithm, the classification of non-small cell lung cancer was performed by Zhang et al. [16]. For multiclass classification of lung cancer, an adaptive multinomial regression with overlapping groups is performed by Li et al. [17]. The lung cancer prediction from microarray data by gene expression programming was done by Azzawi et al. [18]. A support vector machine-based classification method for lung cancer gene expression data base analysis was done by Guan et al. [19]. Some progresses in the techniques and integrated analysis related to the image processing techniques and the development of advanced devices for tissue engineering approach as a potential solution to treat lung diseases too have been discussed in the literature [20, 21].As far as the microarray gene selection techniques using optimization and classification are concerned, self-organizing maps [22], ensemble classification techniques [23], Taguchi chaotic binary Particle Swarm Optimization (PSO) [24], adaptive wrapper approach combined with SVM [25], kernel based methods [26], pattern classification methods [27], Convolution Neural Networks (CNN) [28], fuzzy approaches [29], Analysis of Variance (ANOVA), and K-Nearest Neighbour (KNN) [30] were proposed in the literature. Using ant colony optimization, a hybrid gene selection approach was proposed by Sharbaf et al. [31]. For the cancer classification data on gene expression data, PSO and DT classifiers were implemented by Chen et al. [32]. For gene selections, the various techniques reported in literature are utilizing multiobjective algorithms [33], a hybrid binary Imperialist Competition Algorithm (ICA), and tabu search approach [34], a binary differential evolution algorithm [35], a simplified swarm optimization using a Social Spider Optimization (SSO) algorithm [36], Artificial Bee Colony (ABC) [37], Binary PSO [38], novel rule-based algorithm [39], and Shuffled Leap Frog Algorithm (SLFA) [40], and it has been well explored. However, in this paper, other suitable swarm intelligence techniques have been explored and analyzed comprehensively. The organization of the paper is as follows. In Section 2, the materials and methods followed by the gene selection techniques are explained. In Section 3, the optimization techniques for gene selection are explained, and in Section 4, the classification techniques are explained followed by the results and discussion in Section 5 and conclusion in Section 6.


## 2. Materials and Methods

For the lung cancer classification, a lung Harvard 2 dataset was utilized, which is publicly available online [41]. The dataset has 181 samples with 150 Adenocarcinoma (ADCA) and 31 Malignant Pleural Mesothelioma (MPM). The dataset is tabulated in Table 1.Table 1
Dataset details.
DatasetNumber of genesClass 1 (ADCA)Class 2 (MPM)Total samplesLung Harvard 21253315031181The pictorial representation of the work is shown in Figure1.Figure 1
Pictorial representation of the work.


### 2.1. Gene Selection Techniques

The gene selection techniques utilized in this paper are Information Gain, Relief-F, Chi-square statistic, and T-statistic. The discretization of the attribute values is done before using chi-square, information gain, and other feature selection methods. The main intention of utilizing the gene selection techniques is to select the most important genes from 12,533 genes. Here, in our work, we have selected 1000 important genes after the gene selection process through the following techniques.


#### 2.1.1. Information Gain

It is used generally as an attribute selection criteria while dealing with decision trees; hence, it is used as a gene selection technique too [7]. Assume the class set S=Sx, where x=1,2,…,l. For every feature Yj, the Information Gain is expressed as(1)InfoGainYj=HS−HSYj,where HS=−∑s∈Spslog2ps and(2)HSYj=−∑y∈Yjpy∑s∈Spsylog2psy.Only for discrete features, Information Gain is used widely, and therefore prior to computing Information Gain, the discretization of numeric features should be done. Depending on the large values of information gain, the selection of features are done.


#### 2.1.2. Relief–F

For dealing with multiclass, noisy, and incomplete datasets, Relief-F is introduced, and it is an extension of Relief algorithm [7]. To each feature, a relevance weight is assigned. The selection of a random sample instance I is done from n sample instances. Based on the basic differences between the selected instance I and its neighboring instance represented as Q and termed as hit and different class termed as nearest miss represented by NS, the updating of the relevance features is done. The features that discriminate the instance from various neighbors of the surrounding classes are given more weight. By analyzing the average contribution of neighboring nearest misses NS, the updating of the weights is done. The prior probability of each class is considered by the average contribution. The updating of the weight of jth feature Yj is as follows:(3)wj=wj−ΨYj,I,Qn+∑S=SIPS∗ΨYj,I,Nsn,where the distance between sample instances I and the nearest hit Q or nearest miss NS is calculated by the function ΨYj,I,Q.


#### 2.1.3. Chi-Square Statistic

With respect to the classes, for each feature, the value ofχ2 statistic is computed [7]. Before computing χ2 statistic, the discretization of the numeric attributes is done. For every feature, Yj, χ2 statistic is computed as(4)χ2=∑y∈Yj∑s∈Sny∈Yj&s∈S−ey∈Yj&s∈S2ey∈Yj&s∈S,where ny∈Yj&s∈S represent the number of samples in Yj for class s whose value is y. The definition of expected frequency is expressed as(5)ey∈Yj&s∈S=ny∈Yj×ns∈Sn,where the number of samples in Yj with value y is denoted by ny∈Yj; ns∈S indicates the number of samples of class s. The total number of samples is expressed by n. Based on the sorted value of χ2 statistic, the selection of features is done.


#### 2.1.4.T-Statistic

This is a famous gene selection technique and quite popular in two-class problems [7]. Every sample can be classified into either class S1 or class S2. For every feature Yj, the computation of t-statistic is expressed as(6)tYj=μj1−μ2σj12/n1+σj22/n2,where μjk indicates the mean of the jth feature for class Sk. The “k” indicates the class index, i.e., k=1 or k=2.Once the t-statistic value for each feature is computed, then it is sorted out in a descending order, so that the important features can be selected.


## 2.1. Gene Selection Techniques

The gene selection techniques utilized in this paper are Information Gain, Relief-F, Chi-square statistic, and T-statistic. The discretization of the attribute values is done before using chi-square, information gain, and other feature selection methods. The main intention of utilizing the gene selection techniques is to select the most important genes from 12,533 genes. Here, in our work, we have selected 1000 important genes after the gene selection process through the following techniques.


### 2.1.1. Information Gain

It is used generally as an attribute selection criteria while dealing with decision trees; hence, it is used as a gene selection technique too [7]. Assume the class set S=Sx, where x=1,2,…,l. For every feature Yj, the Information Gain is expressed as(1)InfoGainYj=HS−HSYj,where HS=−∑s∈Spslog2ps and(2)HSYj=−∑y∈Yjpy∑s∈Spsylog2psy.Only for discrete features, Information Gain is used widely, and therefore prior to computing Information Gain, the discretization of numeric features should be done. Depending on the large values of information gain, the selection of features are done.


### 2.1.2. Relief–F

For dealing with multiclass, noisy, and incomplete datasets, Relief-F is introduced, and it is an extension of Relief algorithm [7]. To each feature, a relevance weight is assigned. The selection of a random sample instance I is done from n sample instances. Based on the basic differences between the selected instance I and its neighboring instance represented as Q and termed as hit and different class termed as nearest miss represented by NS, the updating of the relevance features is done. The features that discriminate the instance from various neighbors of the surrounding classes are given more weight. By analyzing the average contribution of neighboring nearest misses NS, the updating of the weights is done. The prior probability of each class is considered by the average contribution. The updating of the weight of jth feature Yj is as follows:(3)wj=wj−ΨYj,I,Qn+∑S=SIPS∗ΨYj,I,Nsn,where the distance between sample instances I and the nearest hit Q or nearest miss NS is calculated by the function ΨYj,I,Q.


### 2.1.3. Chi-Square Statistic

With respect to the classes, for each feature, the value ofχ2 statistic is computed [7]. Before computing χ2 statistic, the discretization of the numeric attributes is done. For every feature, Yj, χ2 statistic is computed as(4)χ2=∑y∈Yj∑s∈Sny∈Yj&s∈S−ey∈Yj&s∈S2ey∈Yj&s∈S,where ny∈Yj&s∈S represent the number of samples in Yj for class s whose value is y. The definition of expected frequency is expressed as(5)ey∈Yj&s∈S=ny∈Yj×ns∈Sn,where the number of samples in Yj with value y is denoted by ny∈Yj; ns∈S indicates the number of samples of class s. The total number of samples is expressed by n. Based on the sorted value of χ2 statistic, the selection of features is done.


### 2.1.4.T-Statistic

This is a famous gene selection technique and quite popular in two-class problems [7]. Every sample can be classified into either class S1 or class S2. For every feature Yj, the computation of t-statistic is expressed as(6)tYj=μj1−μ2σj12/n1+σj22/n2,where μjk indicates the mean of the jth feature for class Sk. The “k” indicates the class index, i.e., k=1 or k=2.Once the t-statistic value for each feature is computed, then it is sorted out in a descending order, so that the important features can be selected.


## 2.1.1. Information Gain

It is used generally as an attribute selection criteria while dealing with decision trees; hence, it is used as a gene selection technique too [7]. Assume the class set S=Sx, where x=1,2,…,l. For every feature Yj, the Information Gain is expressed as(1)InfoGainYj=HS−HSYj,where HS=−∑s∈Spslog2ps and(2)HSYj=−∑y∈Yjpy∑s∈Spsylog2psy.Only for discrete features, Information Gain is used widely, and therefore prior to computing Information Gain, the discretization of numeric features should be done. Depending on the large values of information gain, the selection of features are done.


## 2.1.2. Relief–F

For dealing with multiclass, noisy, and incomplete datasets, Relief-F is introduced, and it is an extension of Relief algorithm [7]. To each feature, a relevance weight is assigned. The selection of a random sample instance I is done from n sample instances. Based on the basic differences between the selected instance I and its neighboring instance represented as Q and termed as hit and different class termed as nearest miss represented by NS, the updating of the relevance features is done. The features that discriminate the instance from various neighbors of the surrounding classes are given more weight. By analyzing the average contribution of neighboring nearest misses NS, the updating of the weights is done. The prior probability of each class is considered by the average contribution. The updating of the weight of jth feature Yj is as follows:(3)wj=wj−ΨYj,I,Qn+∑S=SIPS∗ΨYj,I,Nsn,where the distance between sample instances I and the nearest hit Q or nearest miss NS is calculated by the function ΨYj,I,Q.


## 2.1.3. Chi-Square Statistic

With respect to the classes, for each feature, the value ofχ2 statistic is computed [7]. Before computing χ2 statistic, the discretization of the numeric attributes is done. For every feature, Yj, χ2 statistic is computed as(4)χ2=∑y∈Yj∑s∈Sny∈Yj&s∈S−ey∈Yj&s∈S2ey∈Yj&s∈S,where ny∈Yj&s∈S represent the number of samples in Yj for class s whose value is y. The definition of expected frequency is expressed as(5)ey∈Yj&s∈S=ny∈Yj×ns∈Sn,where the number of samples in Yj with value y is denoted by ny∈Yj; ns∈S indicates the number of samples of class s. The total number of samples is expressed by n. Based on the sorted value of χ2 statistic, the selection of features is done.


## 2.1.4.T-Statistic

This is a famous gene selection technique and quite popular in two-class problems [7]. Every sample can be classified into either class S1 or class S2. For every feature Yj, the computation of t-statistic is expressed as(6)tYj=μj1−μ2σj12/n1+σj22/n2,where μjk indicates the mean of the jth feature for class Sk. The “k” indicates the class index, i.e., k=1 or k=2.Once the t-statistic value for each feature is computed, then it is sorted out in a descending order, so that the important features can be selected.


## 3. Optimization Techniques

The shortlisted 1000 genes will undergo again a secondary feature selection methodology to select the best 50 genes, 100 genes, and 200 genes by means of utilization of optimization techniques. The second level feature selection is done using the five optimization algorithms as follows.


### 3.1. Grasshopper Optimization Algorithm

In many engineering optimization problems, this algorithm is widely used. Based on the biggest swarms of all creatures, one of the recently proposed naturally inspired algorithms is GO [42]. Severe damage to the crops is caused by the herbivores grasshopper. The grasshopper has a swarming behavior, and it depends on both adults and nymphs. Soft plants and succulents are fed by the nymph, which rolls on the ground continuously. In search of food, the adult grasshopper can jump to a very high extent, and so, it will have a very large area to explore. The observation of both types of movement such as slow movement and abrupt movement has been achieved, which indicates that exploitation and exploration are possible. For the grasshopper, the swarming behavior is represented mathematically as(7)Qj=Aj+Fj+Bj,where Qj represents the position of the jth grasshopper, Aj represents the social interaction, Fj represents the gravity force in the jth grasshopper, and Bj represents the wind advection. The representation of social interaction Aj is given as(8)Aj=∑k=1,k≠jNadjkd^jk,where djk=qk−qj represents the distance between the jth and kth grasshopper and d^jk=qk−qj/djk represents a unit vector from the jth grasshopper to the kth grasshopper. The social forces are expressed by the function “a” and are expressed as(9)as=ge−s/l−e−s,where the intensity of the attraction is represented as g and the attractive length scale is expressed by l. In terms of social interaction, three types of regions are created by the grasshoppers in search of food, that is, attraction zone, comfort zone, and repulsion region. Strong forces cannot be applied by the function “a” when the distance is large between grasshoppers. To resolve this, the F component in (7) is expressed as(10)Fj=−fe^f,where the f represents the gravitational constant and e^f indicates a unity vector progressing towards the Earth center. The computation of B component is as follows:(11)Bj=ve^u,where v represents the constant drift and e^u represents a unity vector in the wind direction. If the values of a,F and B are substituted in (7), then(12)Qj=∑K=1,K≠jNaqk−qjqk−qjdjk−fe^f+ve^u,where as is given by (9) and the number of grasshoppers is represented by N. To solve optimization problems, a revised version of this formula is used as(13)Qjd=c∑k=1k≠jNcvbd−lbd2aqkd−qjdqk−qjdjk+T^d,where vbd represents the upper bound and lbd represents the lower bound in the Dth dimension. In the target, the value of the Dth dimension is represented by T^d. To shrink the three worms, the decreasing coefficient is “c.” Only towards a target the wind direction is progressed always. While the food is a searched form, adults start jumping in the air, and nymphs move on rolling in the ground creating both cases of exploration and exploitation. By reducing the parameter c in the below equation, one can balance both these two in proportion to the total number of iterations. Its computation is done as(14)c=cmax−icmax−cminI,where the maximum value is represented as cmax, minimum value is represented as cmin, i denotes the current iteration, and I represents the maximum number of iterations.


### 3.2. Moth Flame Optimization Algorithm

Based on the simulation of moth behavior for this special movement method during nighttime, Moth flame optimization algorithm was developed [43]. For the purpose of navigation or movement, a mechanism termed as transverse orientation is utilized. By maintaining a standard angle with reference to the moon, moth flies, which is a very effective methodology for travelling by distances in a straight path, as the distance between the moon and the moth is very far away. This kind of methodology is adopted, so that moth flies along a very straight path at nighttime. It is a general observation that the moths fly around the lights in a spiral manner. The artificial lights can easily trick the moths to exhibit such behavior. As the light lies with close proximity to the moon, a spiral fly of moths is caused due to the maintenance of a similar angle to the light source. In this algorithm, the representation of the set of moths is done as a matrix A. For the storage of all the corresponding fitness values, there is an array OA for all the moths. In this algorithm, the second key component is the flames. Now, again, a matrix B similar to the moth matrix is considered. For the storage of all the corresponding fitness values, there is an array OB for all the flames. The global optimal of the optimization problem is approximated by the MFO algorithm by a three-tuple process as follows:(15)MFO=C,D,K.A random population of moths with its corresponding fitness value is denoted by a functionC. In this function, the methodical model is expressed as(16)C:ϕ⟶A,OA.The movement of the moths around the search space is determined by the functionD which is the primary function. The matrix of A is received by this function and eventually returns the updated one as(17)D:A⟶A.TheK function remains true if termination criterion is satisfied and false if the termination criterion is not satisfied.(18)K:A⟶true,false,With C,D, and K, the general framework of the MFO is expressed as follows:A=C;whileKA is equal to falseA=DA;endUntil theK function returns true, the D function is run iteratively after the initialization. To simulate the moth behavior mathematically, the updating of the position of every moth is updated with respect to a flame using the following equation:(19)Ac=FAc,Bg,where Ac indicates the cth moth, Bg specifies the gth flame, and F represents the spiral function.Subject to the following conditions, the utilization of any type of spiral can be done using the three conditions as follows:(1)
The initial point of the spiral should begin from the moth(2)
The final point of the spiral should be the flame position(3)
The range of spiral fluctuation should not exceed the search spaceFor the MFO algorithm, the logarithmic spiral is defined as(20)FAc,Bg=Jc⋅ehk⋅cos2πk+Bg,where Jc specifies the distance of the cth moth for the gth flame, h denotes a constant for defining the shape of a logarithmic spiral, and k is a random number in [−1, 1].The computation ofJ is done as follows:(21)Jc=Bg−Ac,where Ac indicates the cth moth, Bg specifies the gth flame, and Jc specifies the distance of the cth moth for the gth flame.The spiral flying path of the moth is expressed by (20). From this equation, with respect to a flame, the next position of a moth is explained. In the spiral equation, the k parameters defer the next position of the moth with reference to its proximity or closeness to the flame. While the position is updated, it only regains a moth to progress towards a flame; thereby, it may be trapped in local optima fastly. Each moth is obliged to update its position using only one of the flames to prevent such situations. The position updating of moths with respect to “n” various locations in the search space may sometimes denote the exploitation of most promising solutions.(22)flame number=roundN−I∗N−1K,where I denotes the current number of iterations, N denotes the maximum number of flames, and K specifies the maximum number of iterations. To balance the exploration and exploitation of the search space, there is a gradual decrease in the number of flames. The general steps of the D function are described in Algorithm 1.Algorithm 1:D function execution and termination.
Initialize the position of mothsWhile (Iterations ≤ Max_Iterations)Update flame number using (22)OA = Fitness function A;if iteration = = 1B = sort AOB = sortOA;elseB = sort Ak−1,AkOB = sort Ak−1,Ak;endforc=1:nforg=1:jUpdater and kCalculateJ using (21) with respect to the corresponding mothUpdateAc,g using (19) and (20) with respect to the corresponding mothendendAs projected in the algorithm, unless theK function returns true, the D function is executed. Once the D function is terminated, the best moth returns, as it is shown as the best attained optimum approximation value.


### 3.3. Bacterial Foraging Optimization Algorithm

The three main mechanisms are present in the classical BFO, that is, chemotaxis process, reproduction process, and elimination-dispersal process [44].


#### 3.3.1. Chemotaxis Process

Here, a tumble indicates a unit walk with random direction, and a run indicates a unit walk with the similar direction in the last step. Assumingθab,c,d indicates the bacterium at bth chemotactic, cth reproductive, and dth elimination-dispersal method. Ra is considered as the run-length unit parameter is the chemotactic step size during every tumble or run. The movement of the ath bacterium in every computational chemotactic step is expressed as(23)θab+1,c,d=θab,c,d+RaΔaΔTaΔa,where Δa represents the direction vector of the bth chemotactic step. Δa is the same as the final chemotactic step if the bacterial movement is run; or else Δa becomes a random vector, where specific elements lie in the range of [−1, 1]. A step fitness indicated as Ba,b,c,d is evaluated with the activity of both run or tumble assumed and considered at each step during the chemotaxis process.


#### 3.3.2. Reproduction Process

During its lifetime, the sum of the step fitness is calculated as the health status of each bacterium as∑b=1NrBa,b,c,d, where Nr represents the maximum step in a chemotaxis process. Based on the health status, the sorting of the bacteria is done in a reverse order. Only the first half of population lives/survives in the reproductive step. The living bacterium divides into two identical ones, and they are kept in the same places, and so the population of bacteria keeps constant.


#### 3.3.3. Elimination and Dispersal Process

A basis for local search is provided by the chemotaxis, and the convergence is sped up by the reproduction process. Using the classical BFO, this situation has been simulated to a large extent. For searching of global optima, only chemotaxis and reproduction are not enough. Around the local optima, the bacteria may get stuck and to eliminate the accidents of being trapped into local optima easily and gradually, the diversity of the BFO changes. Only after a certain number of reproductive processes, the dispersion event happens. Then, based on a probabilityPpr, some bacteria are chosen to be killed and shifted to another position within a particular environment. The step by step procedure is explained in Algorithm 2.Algorithm 2:BFO.
Step 1: Parameter Initializations: dimension of the search spaceN: number of bacteriaSr: chemotactic stepsSn: swim stepsSre: reproductive stepsSpr: elimination and dispersal stepsPpr: probability of eliminationRa: run-length unitStep 2: The elimination-dispersal loop is expressed asd=d+1Step 3: Reproducing loop:c=c+1Step 4: Chemotaxis loop:b=b+1(a) Fora=1,2,…,N, a chemostatic step for bacteria “a” is considered.(b) Fitness function computation,Fa,b,c,d(c) AssumeFlast=Fa,b,c,d to save this value so that a better value is found out via run process(d) A random vectorΔa∈Rs is generated in the tumble process. Here each element is represented as Δma, m=1,2,…,N with a random number −1,1(e) For bacteria “a”, in the direction of the tumble, the movement is progressed so that it results in a step of size Ra(f) CalculateFa,b+1,c,d with θab+1,c,d(g) Swim phase:(i) Letq=0 (swim length counter)(ii) Whileq<Sn;(a) Assumeq=q+1(b) IfFa,b+1,c,d<Flast, let Flast=Fa,b+1,c,d. Another step of size Ra in this similar direction is considered and then the newly generated θab+1,c,d is utilized to compute the new Fa,b+1,c,d(c) Else letq=Sn(h) Proceed to next bacteriuma+1: if a≠N, go to (b) to process the next bacteriaStep 5: Ifb<Sr, proceed to step 3. In such a case, the chemotaxis is continued as the bacteria life is not over.Step 6: Reproduction(a) For the given “c” and “d” and for every a=1,2,…,N assume Bhealtha=∑b=1Sr+1Fa,b,c,d be bacteria health. In an ascending order, the bacterium is sorted out Bhealth(b) TheNz bacteria with the highest Bhealth values expire and the other Nz bacteria comprising of best values split.Step 7: Ifc<Sre, go to step 2. The next generation in the chemotactic loop is initiated as the number of specified reproduction steps is not reached.Step 8: Elimination dispersal: Fora=1,2,…,N, with a probability Ppr, the bacteria are eliminated and dispersed which results in keeping the total number of bacteria in the entire population as a constant. On the optimization domain, simply disperse it to a random location, so that the bacterium is eliminated. If d<Spr, then proceed to step 2 of this procedure or else end the procedure.


### 3.4. Krill Herd Optimization Algorithm

Based on the simulation of the herding of krill swarms, a famous metaheuristic algorithm for solving optimal problems is KH optimization algorithm [45]. The herding of the skill swarms is usually in response to a certain environmental and biological process. In a 2D space, the time-dependent position of an individual krill is decided by 3 primary actions, that is,(i)
Movement which influences or influenced by other krill individuals.(ii)
Foraging actions(iii)
Random diffusionIn a d-dimensional decision space, the following Lagrangian model is adopted by the KH algorithm as(24)dZjdt=Mj+Gj+Dj,where Mj is the motion led by other krill individuals, Gj is the foraging motion, and Dj is the physical diffusion of the jth krill individual.The krill individuals affecting the other movement are represented by the direction of motionαj and it is computed by the target swarm density, a local swarm density, and a repulsive swarm density. The movement for a krill individual is defined as follows:(25)Mjnew=Mmaxαj+vmMjold.The maximum induced speed is represented byMmax, the inertia weight of the motion induced in [0, 1] is represented as vm and the latest motion induced is represented by Mjold.With the help of two main components, the estimation of foraging motion is done. The first one is the food location, and the second one is the basic knowledge about the food location. The motion is approximately formulated for thejth krill individual as follows:(26)Gj=Wgβj+vgGjold,where(27)βj=βjfood+βjbest,where the foraging speed is represented by Wg. The inertia weight of the foraging motion between 0 and 1 is represented as vg and Gjold is the last foraging action.A random process is modelled to the random diffusion of the krill individuals. In terms of both a random directional vector and maximum diffusion speed, the description of the motion can be done. It is represented as follows:(28)Dj=Dmaxδ,where the maximum diffusion speed is Dmax, the random directional vector is δ and its arrays are random values in the range of [−1, 1]. Utilizing various motion parameters during the time and based on the above-mentioned movements, using the following equation, the position vector of a krill individual from the time interval t to t+Δt is given as(29)Zjt+Δt=Zjt+ΔtdZjdt,Δt is regarded as the most important term and based on the specific type of optimization, the parameters can be fine-tuned. The scalar factor of the speed vector is assumed because of Δt parameter.


### 3.5. Artificial Fish Swarm Optimization Algorithm

It is a famous Swarm Intelligence technique, which is helping to solve the optimization problem by utilizing the behavior of artificial fishes like imitating swarming process, chasing process, and preying behaviors [46]. Assume Ap is the current position of one artificial fish and Aw is the viewpoint of artificial fish at one specific moment. The visual scope of every individual is expressed as Vis; therefore, within Vis of Ap be the fishes Ay and Az. The largest step of artificial fish is assumed as step and the congestion factor of the fish swarm is expressed as δ. The food concentration factor is highly proportional to the fitness function fA. In the fish swarm, the behavior patterns are expressed as follows:


#### 3.5.1. Swarming Behavior

IffAs>fAp, then As is the central point inside the Vis of the point Ap and so the execution of swarming behavior is done easily. Assume As as Aw and so, the fish at Ap will progress towards the point As.


#### 3.5.2. Chasing Behavior

The point (expressed byAmax), which has the best objective function value, is present inside the visual satisfying the criterion fAmax>fAp and if there is less crowd in the visual of Ap , then the execution of chasing behavior is done. Consider Amax as Aw and so, the fish at Apwill progress towards the point Amax.


#### 3.5.3. Preying Behavior

Under the following situations, preying behavior is tried.(a)
fAq>fAp,fAmax<fAp and there is less or no crowd in the Vis(b)
Alternatively, if the visual is crowded, then the random selection of a pointAq inside the visual of Ap is done.The preying behavior is executed iffAq>fAp. Assume Aq as Aw and so, the fish at Ap will progress towards the point Aq. Otherwise, with its visual limit, it will move a step in a random fashion.In each iteration, the best solution obtained is termed as “board.” The search process can be terminated after the specified iterations, and the result present on the board is considered as the final solution. The position updating for the artificial preying fishes is formulated as(30)Anext=Ap+rand⋅step×Aq−ApnormAq−Ap,where the next position of artificial fish is termed as Anext. The current position of the artificial fish is expressed as Ap and the position having a better objective function value is Aq. The random number is expressed as rand and it is in the range of [−1, 1]. Between the two position vectors, the distance is expressed as normAq−Ap. The position updating for the artificial swarm fishes can be done as(31)Anext=Ap+rand⋅step×As−ApnormAs−Ap.The position updating for the artificial chasing fishes is formulated as(32)Anext=Ap+rand⋅step×Amax−ApnormAmax−Ap.


## 3.1. Grasshopper Optimization Algorithm

In many engineering optimization problems, this algorithm is widely used. Based on the biggest swarms of all creatures, one of the recently proposed naturally inspired algorithms is GO [42]. Severe damage to the crops is caused by the herbivores grasshopper. The grasshopper has a swarming behavior, and it depends on both adults and nymphs. Soft plants and succulents are fed by the nymph, which rolls on the ground continuously. In search of food, the adult grasshopper can jump to a very high extent, and so, it will have a very large area to explore. The observation of both types of movement such as slow movement and abrupt movement has been achieved, which indicates that exploitation and exploration are possible. For the grasshopper, the swarming behavior is represented mathematically as(7)Qj=Aj+Fj+Bj,where Qj represents the position of the jth grasshopper, Aj represents the social interaction, Fj represents the gravity force in the jth grasshopper, and Bj represents the wind advection. The representation of social interaction Aj is given as(8)Aj=∑k=1,k≠jNadjkd^jk,where djk=qk−qj represents the distance between the jth and kth grasshopper and d^jk=qk−qj/djk represents a unit vector from the jth grasshopper to the kth grasshopper. The social forces are expressed by the function “a” and are expressed as(9)as=ge−s/l−e−s,where the intensity of the attraction is represented as g and the attractive length scale is expressed by l. In terms of social interaction, three types of regions are created by the grasshoppers in search of food, that is, attraction zone, comfort zone, and repulsion region. Strong forces cannot be applied by the function “a” when the distance is large between grasshoppers. To resolve this, the F component in (7) is expressed as(10)Fj=−fe^f,where the f represents the gravitational constant and e^f indicates a unity vector progressing towards the Earth center. The computation of B component is as follows:(11)Bj=ve^u,where v represents the constant drift and e^u represents a unity vector in the wind direction. If the values of a,F and B are substituted in (7), then(12)Qj=∑K=1,K≠jNaqk−qjqk−qjdjk−fe^f+ve^u,where as is given by (9) and the number of grasshoppers is represented by N. To solve optimization problems, a revised version of this formula is used as(13)Qjd=c∑k=1k≠jNcvbd−lbd2aqkd−qjdqk−qjdjk+T^d,where vbd represents the upper bound and lbd represents the lower bound in the Dth dimension. In the target, the value of the Dth dimension is represented by T^d. To shrink the three worms, the decreasing coefficient is “c.” Only towards a target the wind direction is progressed always. While the food is a searched form, adults start jumping in the air, and nymphs move on rolling in the ground creating both cases of exploration and exploitation. By reducing the parameter c in the below equation, one can balance both these two in proportion to the total number of iterations. Its computation is done as(14)c=cmax−icmax−cminI,where the maximum value is represented as cmax, minimum value is represented as cmin, i denotes the current iteration, and I represents the maximum number of iterations.


## 3.2. Moth Flame Optimization Algorithm

Based on the simulation of moth behavior for this special movement method during nighttime, Moth flame optimization algorithm was developed [43]. For the purpose of navigation or movement, a mechanism termed as transverse orientation is utilized. By maintaining a standard angle with reference to the moon, moth flies, which is a very effective methodology for travelling by distances in a straight path, as the distance between the moon and the moth is very far away. This kind of methodology is adopted, so that moth flies along a very straight path at nighttime. It is a general observation that the moths fly around the lights in a spiral manner. The artificial lights can easily trick the moths to exhibit such behavior. As the light lies with close proximity to the moon, a spiral fly of moths is caused due to the maintenance of a similar angle to the light source. In this algorithm, the representation of the set of moths is done as a matrix A. For the storage of all the corresponding fitness values, there is an array OA for all the moths. In this algorithm, the second key component is the flames. Now, again, a matrix B similar to the moth matrix is considered. For the storage of all the corresponding fitness values, there is an array OB for all the flames. The global optimal of the optimization problem is approximated by the MFO algorithm by a three-tuple process as follows:(15)MFO=C,D,K.A random population of moths with its corresponding fitness value is denoted by a functionC. In this function, the methodical model is expressed as(16)C:ϕ⟶A,OA.The movement of the moths around the search space is determined by the functionD which is the primary function. The matrix of A is received by this function and eventually returns the updated one as(17)D:A⟶A.TheK function remains true if termination criterion is satisfied and false if the termination criterion is not satisfied.(18)K:A⟶true,false,With C,D, and K, the general framework of the MFO is expressed as follows:A=C;whileKA is equal to falseA=DA;endUntil theK function returns true, the D function is run iteratively after the initialization. To simulate the moth behavior mathematically, the updating of the position of every moth is updated with respect to a flame using the following equation:(19)Ac=FAc,Bg,where Ac indicates the cth moth, Bg specifies the gth flame, and F represents the spiral function.Subject to the following conditions, the utilization of any type of spiral can be done using the three conditions as follows:(1)
The initial point of the spiral should begin from the moth(2)
The final point of the spiral should be the flame position(3)
The range of spiral fluctuation should not exceed the search spaceFor the MFO algorithm, the logarithmic spiral is defined as(20)FAc,Bg=Jc⋅ehk⋅cos2πk+Bg,where Jc specifies the distance of the cth moth for the gth flame, h denotes a constant for defining the shape of a logarithmic spiral, and k is a random number in [−1, 1].The computation ofJ is done as follows:(21)Jc=Bg−Ac,where Ac indicates the cth moth, Bg specifies the gth flame, and Jc specifies the distance of the cth moth for the gth flame.The spiral flying path of the moth is expressed by (20). From this equation, with respect to a flame, the next position of a moth is explained. In the spiral equation, the k parameters defer the next position of the moth with reference to its proximity or closeness to the flame. While the position is updated, it only regains a moth to progress towards a flame; thereby, it may be trapped in local optima fastly. Each moth is obliged to update its position using only one of the flames to prevent such situations. The position updating of moths with respect to “n” various locations in the search space may sometimes denote the exploitation of most promising solutions.(22)flame number=roundN−I∗N−1K,where I denotes the current number of iterations, N denotes the maximum number of flames, and K specifies the maximum number of iterations. To balance the exploration and exploitation of the search space, there is a gradual decrease in the number of flames. The general steps of the D function are described in Algorithm 1.Algorithm 1:D function execution and termination.
Initialize the position of mothsWhile (Iterations ≤ Max_Iterations)Update flame number using (22)OA = Fitness function A;if iteration = = 1B = sort AOB = sortOA;elseB = sort Ak−1,AkOB = sort Ak−1,Ak;endforc=1:nforg=1:jUpdater and kCalculateJ using (21) with respect to the corresponding mothUpdateAc,g using (19) and (20) with respect to the corresponding mothendendAs projected in the algorithm, unless theK function returns true, the D function is executed. Once the D function is terminated, the best moth returns, as it is shown as the best attained optimum approximation value.


## 3.3. Bacterial Foraging Optimization Algorithm

The three main mechanisms are present in the classical BFO, that is, chemotaxis process, reproduction process, and elimination-dispersal process [44].


### 3.3.1. Chemotaxis Process

Here, a tumble indicates a unit walk with random direction, and a run indicates a unit walk with the similar direction in the last step. Assumingθab,c,d indicates the bacterium at bth chemotactic, cth reproductive, and dth elimination-dispersal method. Ra is considered as the run-length unit parameter is the chemotactic step size during every tumble or run. The movement of the ath bacterium in every computational chemotactic step is expressed as(23)θab+1,c,d=θab,c,d+RaΔaΔTaΔa,where Δa represents the direction vector of the bth chemotactic step. Δa is the same as the final chemotactic step if the bacterial movement is run; or else Δa becomes a random vector, where specific elements lie in the range of [−1, 1]. A step fitness indicated as Ba,b,c,d is evaluated with the activity of both run or tumble assumed and considered at each step during the chemotaxis process.


### 3.3.2. Reproduction Process

During its lifetime, the sum of the step fitness is calculated as the health status of each bacterium as∑b=1NrBa,b,c,d, where Nr represents the maximum step in a chemotaxis process. Based on the health status, the sorting of the bacteria is done in a reverse order. Only the first half of population lives/survives in the reproductive step. The living bacterium divides into two identical ones, and they are kept in the same places, and so the population of bacteria keeps constant.


### 3.3.3. Elimination and Dispersal Process

A basis for local search is provided by the chemotaxis, and the convergence is sped up by the reproduction process. Using the classical BFO, this situation has been simulated to a large extent. For searching of global optima, only chemotaxis and reproduction are not enough. Around the local optima, the bacteria may get stuck and to eliminate the accidents of being trapped into local optima easily and gradually, the diversity of the BFO changes. Only after a certain number of reproductive processes, the dispersion event happens. Then, based on a probabilityPpr, some bacteria are chosen to be killed and shifted to another position within a particular environment. The step by step procedure is explained in Algorithm 2.Algorithm 2:BFO.
Step 1: Parameter Initializations: dimension of the search spaceN: number of bacteriaSr: chemotactic stepsSn: swim stepsSre: reproductive stepsSpr: elimination and dispersal stepsPpr: probability of eliminationRa: run-length unitStep 2: The elimination-dispersal loop is expressed asd=d+1Step 3: Reproducing loop:c=c+1Step 4: Chemotaxis loop:b=b+1(a) Fora=1,2,…,N, a chemostatic step for bacteria “a” is considered.(b) Fitness function computation,Fa,b,c,d(c) AssumeFlast=Fa,b,c,d to save this value so that a better value is found out via run process(d) A random vectorΔa∈Rs is generated in the tumble process. Here each element is represented as Δma, m=1,2,…,N with a random number −1,1(e) For bacteria “a”, in the direction of the tumble, the movement is progressed so that it results in a step of size Ra(f) CalculateFa,b+1,c,d with θab+1,c,d(g) Swim phase:(i) Letq=0 (swim length counter)(ii) Whileq<Sn;(a) Assumeq=q+1(b) IfFa,b+1,c,d<Flast, let Flast=Fa,b+1,c,d. Another step of size Ra in this similar direction is considered and then the newly generated θab+1,c,d is utilized to compute the new Fa,b+1,c,d(c) Else letq=Sn(h) Proceed to next bacteriuma+1: if a≠N, go to (b) to process the next bacteriaStep 5: Ifb<Sr, proceed to step 3. In such a case, the chemotaxis is continued as the bacteria life is not over.Step 6: Reproduction(a) For the given “c” and “d” and for every a=1,2,…,N assume Bhealtha=∑b=1Sr+1Fa,b,c,d be bacteria health. In an ascending order, the bacterium is sorted out Bhealth(b) TheNz bacteria with the highest Bhealth values expire and the other Nz bacteria comprising of best values split.Step 7: Ifc<Sre, go to step 2. The next generation in the chemotactic loop is initiated as the number of specified reproduction steps is not reached.Step 8: Elimination dispersal: Fora=1,2,…,N, with a probability Ppr, the bacteria are eliminated and dispersed which results in keeping the total number of bacteria in the entire population as a constant. On the optimization domain, simply disperse it to a random location, so that the bacterium is eliminated. If d<Spr, then proceed to step 2 of this procedure or else end the procedure.


## 3.3.1. Chemotaxis Process

Here, a tumble indicates a unit walk with random direction, and a run indicates a unit walk with the similar direction in the last step. Assumingθab,c,d indicates the bacterium at bth chemotactic, cth reproductive, and dth elimination-dispersal method. Ra is considered as the run-length unit parameter is the chemotactic step size during every tumble or run. The movement of the ath bacterium in every computational chemotactic step is expressed as(23)θab+1,c,d=θab,c,d+RaΔaΔTaΔa,where Δa represents the direction vector of the bth chemotactic step. Δa is the same as the final chemotactic step if the bacterial movement is run; or else Δa becomes a random vector, where specific elements lie in the range of [−1, 1]. A step fitness indicated as Ba,b,c,d is evaluated with the activity of both run or tumble assumed and considered at each step during the chemotaxis process.


## 3.3.2. Reproduction Process

During its lifetime, the sum of the step fitness is calculated as the health status of each bacterium as∑b=1NrBa,b,c,d, where Nr represents the maximum step in a chemotaxis process. Based on the health status, the sorting of the bacteria is done in a reverse order. Only the first half of population lives/survives in the reproductive step. The living bacterium divides into two identical ones, and they are kept in the same places, and so the population of bacteria keeps constant.


## 3.3.3. Elimination and Dispersal Process

A basis for local search is provided by the chemotaxis, and the convergence is sped up by the reproduction process. Using the classical BFO, this situation has been simulated to a large extent. For searching of global optima, only chemotaxis and reproduction are not enough. Around the local optima, the bacteria may get stuck and to eliminate the accidents of being trapped into local optima easily and gradually, the diversity of the BFO changes. Only after a certain number of reproductive processes, the dispersion event happens. Then, based on a probabilityPpr, some bacteria are chosen to be killed and shifted to another position within a particular environment. The step by step procedure is explained in Algorithm 2.Algorithm 2:BFO.
Step 1: Parameter Initializations: dimension of the search spaceN: number of bacteriaSr: chemotactic stepsSn: swim stepsSre: reproductive stepsSpr: elimination and dispersal stepsPpr: probability of eliminationRa: run-length unitStep 2: The elimination-dispersal loop is expressed asd=d+1Step 3: Reproducing loop:c=c+1Step 4: Chemotaxis loop:b=b+1(a) Fora=1,2,…,N, a chemostatic step for bacteria “a” is considered.(b) Fitness function computation,Fa,b,c,d(c) AssumeFlast=Fa,b,c,d to save this value so that a better value is found out via run process(d) A random vectorΔa∈Rs is generated in the tumble process. Here each element is represented as Δma, m=1,2,…,N with a random number −1,1(e) For bacteria “a”, in the direction of the tumble, the movement is progressed so that it results in a step of size Ra(f) CalculateFa,b+1,c,d with θab+1,c,d(g) Swim phase:(i) Letq=0 (swim length counter)(ii) Whileq<Sn;(a) Assumeq=q+1(b) IfFa,b+1,c,d<Flast, let Flast=Fa,b+1,c,d. Another step of size Ra in this similar direction is considered and then the newly generated θab+1,c,d is utilized to compute the new Fa,b+1,c,d(c) Else letq=Sn(h) Proceed to next bacteriuma+1: if a≠N, go to (b) to process the next bacteriaStep 5: Ifb<Sr, proceed to step 3. In such a case, the chemotaxis is continued as the bacteria life is not over.Step 6: Reproduction(a) For the given “c” and “d” and for every a=1,2,…,N assume Bhealtha=∑b=1Sr+1Fa,b,c,d be bacteria health. In an ascending order, the bacterium is sorted out Bhealth(b) TheNz bacteria with the highest Bhealth values expire and the other Nz bacteria comprising of best values split.Step 7: Ifc<Sre, go to step 2. The next generation in the chemotactic loop is initiated as the number of specified reproduction steps is not reached.Step 8: Elimination dispersal: Fora=1,2,…,N, with a probability Ppr, the bacteria are eliminated and dispersed which results in keeping the total number of bacteria in the entire population as a constant. On the optimization domain, simply disperse it to a random location, so that the bacterium is eliminated. If d<Spr, then proceed to step 2 of this procedure or else end the procedure.


## 3.4. Krill Herd Optimization Algorithm

Based on the simulation of the herding of krill swarms, a famous metaheuristic algorithm for solving optimal problems is KH optimization algorithm [45]. The herding of the skill swarms is usually in response to a certain environmental and biological process. In a 2D space, the time-dependent position of an individual krill is decided by 3 primary actions, that is,(i)
Movement which influences or influenced by other krill individuals.(ii)
Foraging actions(iii)
Random diffusionIn a d-dimensional decision space, the following Lagrangian model is adopted by the KH algorithm as(24)dZjdt=Mj+Gj+Dj,where Mj is the motion led by other krill individuals, Gj is the foraging motion, and Dj is the physical diffusion of the jth krill individual.The krill individuals affecting the other movement are represented by the direction of motionαj and it is computed by the target swarm density, a local swarm density, and a repulsive swarm density. The movement for a krill individual is defined as follows:(25)Mjnew=Mmaxαj+vmMjold.The maximum induced speed is represented byMmax, the inertia weight of the motion induced in [0, 1] is represented as vm and the latest motion induced is represented by Mjold.With the help of two main components, the estimation of foraging motion is done. The first one is the food location, and the second one is the basic knowledge about the food location. The motion is approximately formulated for thejth krill individual as follows:(26)Gj=Wgβj+vgGjold,where(27)βj=βjfood+βjbest,where the foraging speed is represented by Wg. The inertia weight of the foraging motion between 0 and 1 is represented as vg and Gjold is the last foraging action.A random process is modelled to the random diffusion of the krill individuals. In terms of both a random directional vector and maximum diffusion speed, the description of the motion can be done. It is represented as follows:(28)Dj=Dmaxδ,where the maximum diffusion speed is Dmax, the random directional vector is δ and its arrays are random values in the range of [−1, 1]. Utilizing various motion parameters during the time and based on the above-mentioned movements, using the following equation, the position vector of a krill individual from the time interval t to t+Δt is given as(29)Zjt+Δt=Zjt+ΔtdZjdt,Δt is regarded as the most important term and based on the specific type of optimization, the parameters can be fine-tuned. The scalar factor of the speed vector is assumed because of Δt parameter.


## 3.5. Artificial Fish Swarm Optimization Algorithm

It is a famous Swarm Intelligence technique, which is helping to solve the optimization problem by utilizing the behavior of artificial fishes like imitating swarming process, chasing process, and preying behaviors [46]. Assume Ap is the current position of one artificial fish and Aw is the viewpoint of artificial fish at one specific moment. The visual scope of every individual is expressed as Vis; therefore, within Vis of Ap be the fishes Ay and Az. The largest step of artificial fish is assumed as step and the congestion factor of the fish swarm is expressed as δ. The food concentration factor is highly proportional to the fitness function fA. In the fish swarm, the behavior patterns are expressed as follows:


### 3.5.1. Swarming Behavior

IffAs>fAp, then As is the central point inside the Vis of the point Ap and so the execution of swarming behavior is done easily. Assume As as Aw and so, the fish at Ap will progress towards the point As.


### 3.5.2. Chasing Behavior

The point (expressed byAmax), which has the best objective function value, is present inside the visual satisfying the criterion fAmax>fAp and if there is less crowd in the visual of Ap , then the execution of chasing behavior is done. Consider Amax as Aw and so, the fish at Apwill progress towards the point Amax.


### 3.5.3. Preying Behavior

Under the following situations, preying behavior is tried.(a)
fAq>fAp,fAmax<fAp and there is less or no crowd in the Vis(b)
Alternatively, if the visual is crowded, then the random selection of a pointAq inside the visual of Ap is done.The preying behavior is executed iffAq>fAp. Assume Aq as Aw and so, the fish at Ap will progress towards the point Aq. Otherwise, with its visual limit, it will move a step in a random fashion.In each iteration, the best solution obtained is termed as “board.” The search process can be terminated after the specified iterations, and the result present on the board is considered as the final solution. The position updating for the artificial preying fishes is formulated as(30)Anext=Ap+rand⋅step×Aq−ApnormAq−Ap,where the next position of artificial fish is termed as Anext. The current position of the artificial fish is expressed as Ap and the position having a better objective function value is Aq. The random number is expressed as rand and it is in the range of [−1, 1]. Between the two position vectors, the distance is expressed as normAq−Ap. The position updating for the artificial swarm fishes can be done as(31)Anext=Ap+rand⋅step×As−ApnormAs−Ap.The position updating for the artificial chasing fishes is formulated as(32)Anext=Ap+rand⋅step×Amax−ApnormAmax−Ap.


## 3.5.1. Swarming Behavior

IffAs>fAp, then As is the central point inside the Vis of the point Ap and so the execution of swarming behavior is done easily. Assume As as Aw and so, the fish at Ap will progress towards the point As.


## 3.5.2. Chasing Behavior

The point (expressed byAmax), which has the best objective function value, is present inside the visual satisfying the criterion fAmax>fAp and if there is less crowd in the visual of Ap , then the execution of chasing behavior is done. Consider Amax as Aw and so, the fish at Apwill progress towards the point Amax.


## 3.5.3. Preying Behavior

Under the following situations, preying behavior is tried.(a)
fAq>fAp,fAmax<fAp and there is less or no crowd in the Vis(b)
Alternatively, if the visual is crowded, then the random selection of a pointAq inside the visual of Ap is done.The preying behavior is executed iffAq>fAp. Assume Aq as Aw and so, the fish at Ap will progress towards the point Aq. Otherwise, with its visual limit, it will move a step in a random fashion.In each iteration, the best solution obtained is termed as “board.” The search process can be terminated after the specified iterations, and the result present on the board is considered as the final solution. The position updating for the artificial preying fishes is formulated as(30)Anext=Ap+rand⋅step×Aq−ApnormAq−Ap,where the next position of artificial fish is termed as Anext. The current position of the artificial fish is expressed as Ap and the position having a better objective function value is Aq. The random number is expressed as rand and it is in the range of [−1, 1]. Between the two position vectors, the distance is expressed as normAq−Ap. The position updating for the artificial swarm fishes can be done as(31)Anext=Ap+rand⋅step×As−ApnormAs−Ap.The position updating for the artificial chasing fishes is formulated as(32)Anext=Ap+rand⋅step×Amax−ApnormAmax−Ap.


## 4. Classification Procedures

The optimized values or the best gene values obtained after the second level optimization techniques are classified using NBC, Decision trees, SVM, and KNN algorithms. The Performance Analysis of Classifiers in terms of Classification accuracies with GO, MHO, BFO, KHO, and AFSO for different gene selection techniques using 50–200 selected genes is done here.


### 4.1. Naïve Bayesian Classifier

It is a famous probabilistic algorithm, where, given the class, the feature values based on Bayes rule are conditionally independent [47]. If a new sample observation is given, the assignment of the classifier to the class having the maximum conditional probability estimate is done.


### 4.2. Decision Tree

A famous rule-based classifier is DT, where leaf nodes represent classification outcomes and non-leaf nodes represent selected attributes [48]. A classification rule is reflected by the path from the root to a leaf node. The J4.8 algorithm is used here.


### 4.3. Support Vector Machine

The SVM analyzes the input data as two unique sets of vector in a p-dimensional space initially [49]. Then, in that space, a separate hyperplane is constructed, so that the margin is maximized between the two data sets. The SVM is utilized with SVM Polynomial kernels for training purposes.


### 4.4. KNN Algorithm

One of the famous instance-based classifiers is KNN [50]. The class label of a new testing sample is decided by the classifier. It is done by considering the majority of classes of its K closest neighbors dependent on their Euclidean distance. Here, the value of K is assigned to be 4.


## 4.1. Naïve Bayesian Classifier

It is a famous probabilistic algorithm, where, given the class, the feature values based on Bayes rule are conditionally independent [47]. If a new sample observation is given, the assignment of the classifier to the class having the maximum conditional probability estimate is done.


## 4.2. Decision Tree

A famous rule-based classifier is DT, where leaf nodes represent classification outcomes and non-leaf nodes represent selected attributes [48]. A classification rule is reflected by the path from the root to a leaf node. The J4.8 algorithm is used here.


## 4.3. Support Vector Machine

The SVM analyzes the input data as two unique sets of vector in a p-dimensional space initially [49]. Then, in that space, a separate hyperplane is constructed, so that the margin is maximized between the two data sets. The SVM is utilized with SVM Polynomial kernels for training purposes.


## 4.4. KNN Algorithm

One of the famous instance-based classifiers is KNN [50]. The class label of a new testing sample is decided by the classifier. It is done by considering the majority of classes of its K closest neighbors dependent on their Euclidean distance. Here, the value of K is assigned to be 4.


## 5. Results and Discussion

It is classified with a 10-fold cross-validation method, and its performance is shown in the tables. The mathematical formulae for computing the Performance Index (PI), Sensitivity, Specificity, and Accuracy are mentioned in literature and using the same, the values are computed and exhibited. PC is Perfect Classification; MC is Missed Classification; and FA is False Alarm in the following expressions.The sensitivity is expressed as(33)Sensitivity=PCPC+FA×100.Specificity is expressed as(34)Specificity=PCPC+MC×100.Accuracy is expressed as(35)Accuracy=Sensitivity+Specificity2.Performance Index (PI) is expressed as(36)PI=PC−MC−FAPC×100.Table2 shows the performance analysis of classifiers for classification accuracy parameter with GO method for different gene selection techniques. As indicated in Table 2 that SVM classifier with 100 selected genes in Relief F test method and NBC with information gain method for 100 genes attained higher accuracy of 98.96%. The lower accuracy of 76% is thrown out by KNN classifier in all three statistical methods.Table 2
Performance analysis of classifiers in terms of classification accuracies (%) with Grasshopper optimization for different gene selection techniques using 50–200 selected genes.
MethodNBCDTSVMKNNGenes selected50100200501002005010020050100200Information gain82.2998.967678.1283.5983.597683.5977.08767677.08Relief–F test85.9391.6783.5983.5978.1289.678.1298.9695.8387.578.1277.08Chi-square test97.9177.0883.5995.8393.7577.0882.2983.5991.677677.0883.59T statistic test77.0882.2982.2997.9195.8378.1283.5993.7595.8377.087685.93Table3 indicates the performance analysis of classifiers for classification accuracy with MFO method for different gene selection techniques. As shown in Table 3, DT classifier with 50 selected genes in Relief F test method reached higher accuracy of 98.012%. The lower accuracy of 78.125% is depicted by SVM classifier with 100 genes selected in relief F test method. The lower accuracy of SVM is due to the presence of outlier in the gene samples.Table 3
Performance analysis of classifiers in terms of classification accuracies (%) with Moth flame optimization for different gene selection techniques using 50–200 selected genes.
MethodNBCDTSVMKNNGenes selected50100200501002005010020050100200Information gain96.3489.693.7585.9383.5993.2691.6797.9189.689.683.5995.83Relief–F test93.7582.2991.6798.0197.9186.1985.9378.1295.8382.2997.9189.6Chi-square test93.7593.7590.7491.6785.9384.1097.9186.4085.9385.9397.9191.67T statistic test85.9391.6795.8385.9393.7584.7596.1585.9391.6785.9385.9397.91Table4 demonstrates the performance analysis of classifiers for classification accuracy with BFO method for different gene selection techniques. From Table 4, it is identified that DT classifier with 50 selected genes in Chi-square test method reached higher accuracy of 98.56%. The lower accuracy of 82.24% is shown by SVM classifier with 100 genes selected in information gain method. Across the gene samples, all the classifiers performed well in this BFO method.Table 4
Performance analysis of classifiers in terms of classification accuracies (%) with Bacterial foraging optimization for different gene selection techniques using 50–200 selected genes.
MethodNBCDTSVMKNNGenes selected50100200501002005010020050100200Information gain97.9196.8591.6495.8385.9385.9385.0282.2489.9285.9387.1293.75Relief–F test97.9193.7589.689.691.6783.5997.9183.8187.3095.8397.9197.91Chi-square test93.7589.691.6798.5690.5397.3397.7285.9397.9197.9195.8395.83T statistic test91.6793.7585.9384.4195.8398.0486.7197.9184.9595.8393.7589.6Table5 reveals the performance analysis of classifiers for classification accuracy with KHO method for different gene selection techniques. Table 5 shows that SVM classifier with 50 selected genes in Relief F test method reached higher accuracy of 98.38%, as the number of selected genes increased gradually and given to SVM classifiers, which reported lower accuracy of 77.47% with 200 genes selected in Relief F test method.Table 5
Performance analysis of classifiers in terms of classification accuracies (%) with Krill Herd optimization for different gene selection techniques using 50–200 selected genes.
MethodNBCDTSVMKNNGenes selected50100200501002005010020050100200Information gain97.9191.6781.5786.5889.696.7691.8993.7597.9192.0591.4096.92Relief–F test89.697.9183.5982.2985.9387.3798.3879.2177.4783.4690.9784.25Chi-square test93.7593.2781.7297.1282.5992.1288.5578.9998.6987.8878.6188.91T statistic test95.8397.9191.6795.8396.9395.8394.7285.0696.6786.7388.0398.96Table6 reports the performance analysis of classifiers for classification accuracy with AFSO method for different gene selection techniques. As indicated in Table 6, DT classifier with 100 selected genes in Relief F test method reached the highest accuracy of 99.10%. The NBC classifier is settled at the lower accuracy of 77.08% with 200 selected genes for Relief F test method.Table 6
Performance analysis of classifiers in terms of classification accuracies (%) with Artificial fish swarm optimization for different gene selection techniques using 50–200 selected genes.
MethodNBCDTSVMKNNGenes selected50100200501002005010020050100200Information gain90.2491.6789.0588.4186.8281.0394.9093.7593.7593.7589.693.75Relief–F test95.9685.9377.0889.7999.1086.4295.8397.9197.9189.678.5980.56Chi-square test82.5983.4878.1284.1095.3494.6195.8398.6393.7594.4997.9184.39T statistic test93.7589.7587.586.7892.2989.3389.697.9197.9195.8394.7997.91Table7 signifies the performance analysis of classifiers for classification PI parameter with GO method for different gene selection techniques. As shown in Table 7, SVM classifier with 100 selected genes in Relief F test method and NBC with information gain for 100 genes attained higher PI of 97.87%. The lower PI of 7.69% is indicated by KNN classifier in all three statistical methods.Table 7
Performance analysis of classifiers in terms of PI (%) with Grasshopper optimization for different gene selection techniques using 50–200 selected genes.
MethodNBCDTSVMKNNGenes selected50100200501002005010020050100200Information gain45.1697.877.6922.2251.1651.167.6951.1615.367.697.6915.36Relief–F test60.8780.0151.16351.16322.2278.9322.2297.8791.5866.6622.2215.36Chi-square test95.6515.3651.16391.5885.715.3645.1651.1680.017.6915.3651.16T statistic test15.3645.1645.1695.6591.5822.2251.1685.791.5815.367.6960.87Table8 demonstrates the performance analysis of classifiers for classification PI with MFO method for different gene selection techniques. As shown in Table 8, DT classifier with 50 selected genes in Relief F test method reached higher PI of 95.85%. The lower PI of 22.22% is indicated by SVM classifier with 100 genes selected in Relief F test method. The lower PI of SVM is due to the presence of outlier genes in the samples.Table 8
Performance analysis of classifiers in terms of PI (%) with Moth flame optimization for different gene selection techniques using 50–200 selected genes.
MethodNBCDTSVMKNNGenes selected50100200501002005010020050100200Information gain92.4578.9385.760.8751.1684.3180.0195.6578.9378.9351.1691.58Relief-F test85.745.1680.0195.8595.6561.1460.8722.2291.5845.1695.6578.93Chi-square test85.785.777.6280.0160.8753.3595.6562.5060.8760.8795.6580.01T statistic test60.8780.0191.5860.8785.756.0892.1760.8780.0160.8760.8795.65Table9 represents the performance analysis of classifiers PI with BFO method for different gene selection techniques. From Table 9, it is known that DT classifier with 50 selected genes in Chi-square test method reached higher PI of 97.009%. The lower PI of 45.09% is indicated by SVM classifier with 100 genes selected in information gain method. Across the gene samples, all the classifiers performed well in this BFO.Table 9
Performance analysis of classifiers in terms of PI (%) with Bacterial foraging optimization for different gene selection techniques using 50–200 selected genes.
MethodNBCDTSVMKNNGenes selected50100200501002005010020050100200Information gain95.6593.1779.9391.5860.8760.8757.2245.0978.3160.8764.0385.7Relief-F test95.6585.778.9378.9380.0151.1695.6552.1163.8591.5895.6595.65Chi-square test85.778.9380.0197.0077.1194.4594.9660.8795.6595.6591.5891.58T statistic test80.0185.760.8752.9891.5895.9263.7695.6556.0091.5885.778.93Table10 exposes the performance analysis of classifiers for classification PI with KHO method for different gene selection techniques. Table 10 reported that SVM classifier with 50 selected genes in Relief F test method reached higher PI of 96.68%, as the number of selected genes increased gradually and given to SVM classifiers, which reported lower PI of 17.93% with 200 genes selected in Relief-F test method.Table 10
Performance analysis of classifiers in terms of PI (%) with Krill Herd optimization for different gene selection techniques using 50–200 selected genes.
MethodNBCDTSVMKNNGenes selected50100200501002005010020050100200Information gain95.6580.0139.8762.4778.9393.4480.3685.795.6581.0779.2193.28Relief-F test78.9395.6551.1645.1660.8764.6896.6828.9417.9350.0678.0453.72Chi-square test85.784.4142.3193.6046.5681.0072.7927.5497.2868.9624.0174.91T statistic test91.5895.6580.0191.5893.2291.5888.4557.4292.6963.0862.8397.87Table11 details the performance analysis of classifiers for classification PI with AFSO method for different gene selection techniques. As indicated in Table 11, DT classifier with 100 selected genes in Relief F test method reached the highest PI of 98.16%. The NBC classifier depicts lower PI of 15.36% with 200 selected genes for the same Relief F test method.Table 11
Performance analysis of classifiers in terms of PI (%) with Artificial fish swarm optimization for different gene selection techniques using 50–200 selected genes.
MethodNBCDTSVMKNNGenes selected50100200501002005010020050100200Information gain77.6780.0175.7672.0264.1237.5988.0185.785.785.778.9385.7Relief-F test91.2660.8715.3678.5598.1662.6791.5895.6595.6578.9325.1135.42Chi-square test46.5650.6722.2253.3790.0888.0991.5897.1485.787.695.6554.61T statistic test85.778.6766.6665.9182.6577.278.9395.6595.6591.5888.6495.65


## 6. Conclusion and Future Work

One of the most prominent lethal factors for human beings nowadays is cancer. The best chances of suitable treatment can sometimes be missed due to mistaken diagnosis. The accuracy of cancer diagnosis with machine learning along with clinical tests is very helpful in the treatment of cancer. Microarray expression data is highly redundant and with respect to most number of classes, the genes present are uninformative. Therefore, it is a critical necessity to select the best feature genes for the analysis of cancer. Out of a large dataset, the techniques should be capable of identifying a subset of most informative genes in a robust manner. In this work, a comprehensive analysis of lung cancer classification with the help of feature selection and optimization techniques is done. The best results are obtained when Relief-F test is computed with AFSO and classified with Decision Trees classifier for hundred genes, and a highest classification accuracy of 99.10% is obtained. Future works aim to work with other feature selection techniques and a variety of optimization techniques classified with deep learning techniques for effective classification of lung cancer.



---

*Source: 6680424-2021-07-31.xml*