# A Feature Selection Method of the Island Algorithm Based on Gaussian Mutation

Authors: Li Han; Hongsheng Xu; Jiming Ma; Zechen Jia
Journal: Wireless Communications and Mobile Computing
 (2022)

---

## Abstract

With the development of the Internet, the data we are dealing with is becoming more and more complex, which brings about various difficulties and problems when we process and use data. Feature selection methods are able to filter and remove redundant features, which is necessary to reduce the dimension of complex data. In this paper, the island algorithm is used to find the optimal feature subset in the set of feature subsets, but as the number of iterations increasing, the island algorithm tends to local optimization. To address this problem, a Gaussian mutation strategy is introduced to improve the island algorithm and proposed an island algorithm based on Gaussian mutation (IAGM). The main idea of the IAGM algorithm is to set a warning sign which aims to record the global optimum value generated by each iteration and judge whether the changes are less than a threshold value in the optimum value for three consecutive iterations. If it is less than the global optimum, the Gaussian mutation is applied to the current globally optimal plant location and then evaluates the new location and exchanges them when it is better than the global optimum. Otherwise, discard this plant and add a Gaussian mutation to the formula of the next new plant towards the global optimum, which is used to diversify the populations. Meanwhile, combining the IAGM algorithm with a support vector machine classifier, a feature selection method of the island algorithm based on Gaussian mutation (IAGMFS) is proposed. The UCI dataset is selected for simulation experiments and applied to classify images, which represents the advantages of the feature selection in IAGMFS proposed in this paper.


---

## Body

## 1. Introduction

In recent years, with the rapid development of technology, a lot of high-dimensional data has emerged in various fields, and there are many irrelevant, redundant, and noisy features in this high-dimensional data [1, 2]; the presence of these features creates significant problems for us when processing and using the data, increasing the cost of computation. Many scholars have begun to research solutions to this problem, and some studies have shown that feature selection can be an effective solution, making feature selection an important step in machine learning and data mining [3]. Feature selection is the removal of redundant, irrelevant, and noisy features from the original features, while retaining the important features in the original features, thus reducing the cost of processing the data [4, 5].The division of feature selection methods is mainly based on the evaluation method. Feature selection can be broadly divided into two types: the encapsulation method and the filtering method. The filtering method focuses on judging the goodness of a feature subset by the characteristics within that feature subset. The encapsulation method is essentially a classifier, which is used to classify the selected feature subset, and the classification accuracy is used to judge the merit of the feature subset [6, 7]. Feature selection requires us to select the optimal subset of features from a large number of feature subsets [8, 9], which requires global search techniques to achieve our goal.With the development of group intelligence algorithms in recent years, there are more and more swarm intelligence algorithms proposed. For example, island algorithm (IA) [10], particle swarm optimization (PSO) [11], genetic algorithm (GA) [12], grey wolf optimizer (GWO) [13], and fruit fly optimization algorithm (FOA) [14]. The superiority-seeking capability of the population intelligence algorithm can be used exactly to find the optimal subset of features in the set of feature subsets. According to this feature, it makes group intelligence algorithms in the field of feature selection more and more attention from scholars, and scholars who study these have applied various group intelligence optimization algorithms to the feature selection problem [15, 16]. Peng et al. [17] proposed a neighbourhood rough set attribute approximation method based on reverse learning synergy and binary firefly swarm optimization algorithm. Lin et al. [18] combined the improved monarch butterfly optimization algorithm with the K-nearest neighbour classifier and proposed a feature selection method based on the improved monarch butterfly optimization algorithm. Mafarja and Mirjalili [19] combine incremental hill climbing techniques with the binary Antlion algorithm and propose a hybrid binary Antlion optimizer for feature selection using rough sets and approximate entropy approximation.The island algorithm is a new population intelligence optimization algorithm based on the phenomenon that the growing positions of plants on islands become increasingly concentrated at the highest points as sea level rises and the size of the island shrinks. Its structure is simple, and convergence is fast. However, as the number of iterations increases, the range of the island decreases and the algorithm tends to fall into a local optimum, which reduces the performance of the algorithm. To address this problem, this paper proposes the island algorithm based on Gaussian mutation (IAGM) on the basis of the island algorithm. If the change in the global optimum is small for three consecutive iterations, the algorithm is considered to have fallen into a local optimum and a Gaussian mutation is applied to the current globally optimal plant position; then, the fitness value is calculated and exchanged if it is better than the global optimum; otherwise, the Gaussian mutation strategy is introduced in the next iteration to move the new plant to the global optimum in the formula for moving to the global optimum. This not only facilitates the plant to jump out of the local optimum solution but also increases the diversity of the population. Combining the IAGM algorithm with a support vector machine classifier, and make use of the better search ability of IAGM, a feature selection method of IA based on Gaussian mutation (IAGMFS) is proposed.


## 2. Basic Island Algorithm

The island algorithm is a new metaheuristic algorithm based on the laws of plant growth on islands. The sea island algorithm is divided into three phases: a phase of elimination, a phase of sea level rise, and a phase of equilibrium.


### 2.1. Elimination Phase

The main role of the elimination phase is to generate the number of plants to be eliminated for this iteration based on the amount of change in the island’s range, which is done by the elimination function. The independent variable of the elimination function is the amount of change in the extent of the island, and the value of the function is the number of plants eliminated. The range of the island is defined by a maximum and a minimum value, so the maximum number of eliminations in an iteration is the total number of plants minus two. In order to improve the performance of the algorithm, the following two issues are taken into consideration. First, if the range change amount is large, the algorithm tends to fall into a local optimum, and the range change amount in the next iteration should be reduced by reducing the number of eliminations. Second, when the range change amount is small, the algorithm converges too slowly and the range change amount for the next iteration should be increased by increasing the number of eliminations. In general, the elimination function should satisfy the following two requirements.(1)
When the amount of range change is 0, the maximum number of eliminations(2)
The elimination function is a decreasing functionThe negative exponential function satisfies both of the above requirements, and therefore, the elimination function has chosen the negative exponential function.(1)fouth=Am−A1·e−h+A1,where h is the amount of range change, Am is the maximum number of eliminations, and A1 is the minimum number of eliminations.


### 2.2. Sea Level Rise Phase

This stage is based on the number of eliminations produced in the previous stage to raise the sea level, i.e., the reduction in the extent of the island. This phase generates a new island range, and the range changes the amount. The new range is determined by the range in which the plants that have not been eliminated grow. The new range is represented by the maximum valueXmax and the minimum value Xmin for each dimension. In order to improve the performance of the algorithm, the maximum value and minimum value of the range need to be extended according to the following equations:
(2)Xmax=Xmax+rand·Xmaxold−Xmax,(3)Xmin=Xmin+rand·Xminold−Xmin.The amount of change in the extent of the island is represented by the following equation:(4)h=normXmaxold−Xminold−Xmax−Xmin,where Xmax and Xmin denote the maximum and minimum values of each dimension in the current iteration, Xmaxold and Xminold represent the maximum and minimum values of each dimension in the last iteration, respectively, and norm is a function that finds the vector 2 norm.


### 2.3. Balance Phase

The balance stage is to keep the total number of plants, and the main task is to produce and eliminate an equal number of new plants, replacing the worst plants in the species with new ones. To speed up the search and improve its accuracy, the resulting new plants are moved towards the global optimum by Equation (5), and the locations of these new plants are then evaluated.
(5)xj,:=xj,:+2×rand1,D·x1,:−xj,:,where xj,: is the position of the jth new plant in the new range, x1,: is the global optimal position, D is the dimension, and 2 is the parameter.


## 2.1. Elimination Phase

The main role of the elimination phase is to generate the number of plants to be eliminated for this iteration based on the amount of change in the island’s range, which is done by the elimination function. The independent variable of the elimination function is the amount of change in the extent of the island, and the value of the function is the number of plants eliminated. The range of the island is defined by a maximum and a minimum value, so the maximum number of eliminations in an iteration is the total number of plants minus two. In order to improve the performance of the algorithm, the following two issues are taken into consideration. First, if the range change amount is large, the algorithm tends to fall into a local optimum, and the range change amount in the next iteration should be reduced by reducing the number of eliminations. Second, when the range change amount is small, the algorithm converges too slowly and the range change amount for the next iteration should be increased by increasing the number of eliminations. In general, the elimination function should satisfy the following two requirements.(1)
When the amount of range change is 0, the maximum number of eliminations(2)
The elimination function is a decreasing functionThe negative exponential function satisfies both of the above requirements, and therefore, the elimination function has chosen the negative exponential function.(1)fouth=Am−A1·e−h+A1,where h is the amount of range change, Am is the maximum number of eliminations, and A1 is the minimum number of eliminations.


## 2.2. Sea Level Rise Phase

This stage is based on the number of eliminations produced in the previous stage to raise the sea level, i.e., the reduction in the extent of the island. This phase generates a new island range, and the range changes the amount. The new range is determined by the range in which the plants that have not been eliminated grow. The new range is represented by the maximum valueXmax and the minimum value Xmin for each dimension. In order to improve the performance of the algorithm, the maximum value and minimum value of the range need to be extended according to the following equations:
(2)Xmax=Xmax+rand·Xmaxold−Xmax,(3)Xmin=Xmin+rand·Xminold−Xmin.The amount of change in the extent of the island is represented by the following equation:(4)h=normXmaxold−Xminold−Xmax−Xmin,where Xmax and Xmin denote the maximum and minimum values of each dimension in the current iteration, Xmaxold and Xminold represent the maximum and minimum values of each dimension in the last iteration, respectively, and norm is a function that finds the vector 2 norm.


## 2.3. Balance Phase

The balance stage is to keep the total number of plants, and the main task is to produce and eliminate an equal number of new plants, replacing the worst plants in the species with new ones. To speed up the search and improve its accuracy, the resulting new plants are moved towards the global optimum by Equation (5), and the locations of these new plants are then evaluated.
(5)xj,:=xj,:+2×rand1,D·x1,:−xj,:,where xj,: is the position of the jth new plant in the new range, x1,: is the global optimal position, D is the dimension, and 2 is the parameter.


## 3. Improved Island Algorithm

### 3.1. Gaussian Mutation

The theoretical basis of Gaussian mutation is the Gaussian distribution function. Replace the original value with a random number from a normal distribution with meanμ and variance σ when performing the mutation [20]. It is clear from the properties of the normal distribution that the Gaussian variant is focused on searching local areas near individuals, strengthening the local search capability of the algorithm, and stepping outside the confines of the local optimum. Xiang et al. [21] use Gaussian mutation to increase the search space and improve the global search capability of particle swarms. Yunshui et al. [22] performed Gaussian variation on globally optimal individuals as a way to enhance the ability of individuals to jump out of local extremes. Gaussian mutation is the addition of a random perturbation term that obeys a Gaussian distribution to the original individual, as shown in the following equation:
(6)Yw′=Yw+Yw×N0,1,where N0,1 in the formula is the standard Gaussian distribution.


### 3.2. Island Algorithm-Based Gaussian Mutation (IAGM)

During iterations of the sea island algorithm, the new plants themselves do not have a mechanism for mutation. If they are influenced by the local optimal solution, it is difficult for them to jump out by themselves, and in subsequent iterations, the new plant individuals keep approaching the local optimal solution, which thus affect the performance of the algorithm and will reduce the diversity of the population. The introduction of a mutation strategy is not only effective in avoiding the algorithm falling into a local optimum but also in increasing the diversity of the population. For the above problem that the island algorithm easily falls into local optimum, a Gaussian mutation strategy is introduced and used to jump out of the constraints of the local optimization. The main idea is to set up a warning sign in the algorithm to record the global optimum and the corresponding position for each iteration. If the global optimum is the same three times in a row or changes very little (∣amountofchange∣<R), the algorithm is considered to fall into in a local optimum. At this time, Gaussian mutation is performed on the position corresponding to the current global optimal value, and a new individual is generated using the following equation:
(7)x1,:=x1,:x+normrnd0,1,1,d,where x1,: is the global optimal position of the current iteration and normrnd0,1,1,d is to generate a random number that follows a Gaussian distribution with 1 row and d columns. The fitness value of the new individual is then calculated and compared to the fitness value of the original globally optimal individual. If it is better than the global best individual, then the location information of both is exchanged, and set the flag equal to 1. Otherwise, discard the new individual and set the flag equal to 0. Also, to enhance the local search and increase the diversity of the population, a Gaussian mutation is applied to the new plants produced in the next iteration and Equation (8) is used to move the plants towards the global optimum.
(8)xj,:=xj,:+normrnd0,1,1,d+2×rand1,D·x1,:−xj,:,where xj,: is the position of the jth new plant in the new range, x1,: is the global optimal position, and d is the dimension. normrnd0,1,1,d is to generate a random number that follows a Gaussian distribution with 1 row and d columns.


### 3.3. Algorithm Steps

The steps of the island algorithm based on Gaussian mutation are as follows.(1)
Step 1: Initialize the island algorithm with a random set of solutions, population sizeN, dimension D, maximum number of iterations T, maximum number of evaluations E, maximum number of eliminations Am, minimum number of eliminations A1, island range h, warning token F that stores the optimal fitness value at the end of each iteration, and amount of change R, flag to record whether Gaussian mutation is used(2)
Step 2: Calculate the corresponding fitness values for each plant and rank them. Select the globally optimal fitness value and its corresponding position for this time and record the globally optimal fitness value intoF(3)
Step 3: Enter the iterative process. Elimination phase: generates the number of eliminations according to Equation (1). Sea level rise phase: sea level rise generates a new range and extends the new range with Equations (2) and (3), which then generate the amount of range change according to Equation (4). Equilibrium phase: produces and eliminates the same number of new plants in the new range, replacing the worst plants in the population with new plants, moving according to Equation (5) if flag equals 1, otherwise moving according to Equation (8). The fitness value of the new plant is calculated, and if it is better than the optimal plant, exchange the location information of both. Finally, all plants are ranked and the global optimum is recorded in the warning sign F(4)
Step 4: If the change in the fitness value of the globally optimal plant for three consecutive times is less than the amount of changeR, then step 5 is executed; otherwise, step 6 is executed(5)
Step 5: A new plant is generated by applying a Gaussian mutation to the position of the current global optimum using Equation (7) and calculating its fitness value. If it is better than the current global optimum, it is exchanged; otherwise, the new plant is discarded and the flag is set equal to 0(6)
Step 6: Determine whether the algorithm has reached the termination condition. If the termination condition is reached, output the result and end the algorithm. Otherwise, step 3 is executed and the algorithm proceeds to the next iteration


## 3.1. Gaussian Mutation

The theoretical basis of Gaussian mutation is the Gaussian distribution function. Replace the original value with a random number from a normal distribution with meanμ and variance σ when performing the mutation [20]. It is clear from the properties of the normal distribution that the Gaussian variant is focused on searching local areas near individuals, strengthening the local search capability of the algorithm, and stepping outside the confines of the local optimum. Xiang et al. [21] use Gaussian mutation to increase the search space and improve the global search capability of particle swarms. Yunshui et al. [22] performed Gaussian variation on globally optimal individuals as a way to enhance the ability of individuals to jump out of local extremes. Gaussian mutation is the addition of a random perturbation term that obeys a Gaussian distribution to the original individual, as shown in the following equation:
(6)Yw′=Yw+Yw×N0,1,where N0,1 in the formula is the standard Gaussian distribution.


## 3.2. Island Algorithm-Based Gaussian Mutation (IAGM)

During iterations of the sea island algorithm, the new plants themselves do not have a mechanism for mutation. If they are influenced by the local optimal solution, it is difficult for them to jump out by themselves, and in subsequent iterations, the new plant individuals keep approaching the local optimal solution, which thus affect the performance of the algorithm and will reduce the diversity of the population. The introduction of a mutation strategy is not only effective in avoiding the algorithm falling into a local optimum but also in increasing the diversity of the population. For the above problem that the island algorithm easily falls into local optimum, a Gaussian mutation strategy is introduced and used to jump out of the constraints of the local optimization. The main idea is to set up a warning sign in the algorithm to record the global optimum and the corresponding position for each iteration. If the global optimum is the same three times in a row or changes very little (∣amountofchange∣<R), the algorithm is considered to fall into in a local optimum. At this time, Gaussian mutation is performed on the position corresponding to the current global optimal value, and a new individual is generated using the following equation:
(7)x1,:=x1,:x+normrnd0,1,1,d,where x1,: is the global optimal position of the current iteration and normrnd0,1,1,d is to generate a random number that follows a Gaussian distribution with 1 row and d columns. The fitness value of the new individual is then calculated and compared to the fitness value of the original globally optimal individual. If it is better than the global best individual, then the location information of both is exchanged, and set the flag equal to 1. Otherwise, discard the new individual and set the flag equal to 0. Also, to enhance the local search and increase the diversity of the population, a Gaussian mutation is applied to the new plants produced in the next iteration and Equation (8) is used to move the plants towards the global optimum.
(8)xj,:=xj,:+normrnd0,1,1,d+2×rand1,D·x1,:−xj,:,where xj,: is the position of the jth new plant in the new range, x1,: is the global optimal position, and d is the dimension. normrnd0,1,1,d is to generate a random number that follows a Gaussian distribution with 1 row and d columns.


## 3.3. Algorithm Steps

The steps of the island algorithm based on Gaussian mutation are as follows.(1)
Step 1: Initialize the island algorithm with a random set of solutions, population sizeN, dimension D, maximum number of iterations T, maximum number of evaluations E, maximum number of eliminations Am, minimum number of eliminations A1, island range h, warning token F that stores the optimal fitness value at the end of each iteration, and amount of change R, flag to record whether Gaussian mutation is used(2)
Step 2: Calculate the corresponding fitness values for each plant and rank them. Select the globally optimal fitness value and its corresponding position for this time and record the globally optimal fitness value intoF(3)
Step 3: Enter the iterative process. Elimination phase: generates the number of eliminations according to Equation (1). Sea level rise phase: sea level rise generates a new range and extends the new range with Equations (2) and (3), which then generate the amount of range change according to Equation (4). Equilibrium phase: produces and eliminates the same number of new plants in the new range, replacing the worst plants in the population with new plants, moving according to Equation (5) if flag equals 1, otherwise moving according to Equation (8). The fitness value of the new plant is calculated, and if it is better than the optimal plant, exchange the location information of both. Finally, all plants are ranked and the global optimum is recorded in the warning sign F(4)
Step 4: If the change in the fitness value of the globally optimal plant for three consecutive times is less than the amount of changeR, then step 5 is executed; otherwise, step 6 is executed(5)
Step 5: A new plant is generated by applying a Gaussian mutation to the position of the current global optimum using Equation (7) and calculating its fitness value. If it is better than the current global optimum, it is exchanged; otherwise, the new plant is discarded and the flag is set equal to 0(6)
Step 6: Determine whether the algorithm has reached the termination condition. If the termination condition is reached, output the result and end the algorithm. Otherwise, step 3 is executed and the algorithm proceeds to the next iteration


## 4. Feature Selection Method Based on IAGM Algorithm

### 4.1. Plant Codes

As the sea island algorithm acts on continuous space and the features of the data are discrete, certain transformations are needed to allow the IAGM algorithm to perform discrete feature selection. In this paper, thesigmoid function is used to binary code the plant locations. The range of individual position is limited to −6,6 in the algorithm, so the plant position is composed of random numbers between −6,6. Each dimension of data in plant location X is then mapped in between 0,1 by the sigmoid function; that is, X=x1,x2,x3,x4,⋯,xn,xn∈0,1,n=1,2,3,4,⋯,. At this time, each dimension of data in X represents a feature. Then, define a threshold of 0.5 and divide the data in X into two categories. When xn≥0.5, set xn=1 to indicate that the feature is selected; otherwise, let xn=0, which means that the feature is not selected. In this way, each plant position X is represented by a set of binary.


### 4.2. Multiclassification Method of Support Vector Machine (SVM)

Due to the support vector machine, classifier itself can only be used for binary classification that largely limits the scope of use of the algorithm. The main idea behind the implementation of the SVM multiclassification function in this paper is as follows: Get the number of categorym in the dataset and train a classifier for each of the two classes in the m class. Then, there are a total of mm−1/2 binary classifiers. For each unclassified data, it needs to be predicted by all the binary classifiers and finally a voting method is used to decide which class it belongs to.


### 4.3. Adaptability Function

In the island algorithm, each individual plant can be viewed as a solution. If the solution has fewer features, the higher the classification accuracy, the better the solution. In this paper, the support vector machine classifier is used to obtain the classification accuracy of the solution and the number of features in the solution to construct the fitness function and also to balance the number of features selected with the importance of classification accuracy. The following fitness function has been chosen for this paper:(9)Fitness=αγR+βRC,where γR is the classification error rate obtained for a given classifier, ∣R∣ is the number of features selected by the current solution, ∣C∣ is the total number of features of the current solution, and α and β are the parameters, where α is the importance of the classification error rate of the classifier and β is the importance of the number of features selected. α+β=1.


### 4.4. Feature Selection Algorithm

In this paper, we search for the optimal subset of features using the island algorithm with Gaussian mutation. Binary encoding of plant locations uses asigmoid function, where 1 means this feature is selected and 0 means this feature is not selected. The SVM classifier is used to construct the fitness function and evaluate the merit of a subset of features. The main steps of the algorithm are as follows.
(1)
Step 1: Initialization: population sizeN, dimensionality D, maximum number of iterations T, maximum number of assessments E, maximum number of eliminations Am, minimum number of eliminations A1, amount of change R, flag, amount of range change h, and random initialization of a set of solutions: α, β(2)
Step 2: Read the data and divide the dataset into a training set and a test set(3)
Step 3: Asigmoid function is used to binary code each solution, and the number of features selected for this solution is also calculated(4)
Step 4: The features selected for each solution can be obtained according to step 3. The selected features are used to select the corresponding data in the original dataset and brought into the classifier for prediction while calculating the classification error rate(5)
Step 5: The number of selected features obtained by step 3 and the classification error rate obtained by step 4 are brought into the fitness function. The fitness value of each solution is calculated and ranked, and the fitness value of the globally optimal solution is put into the warning signF(6)
Step 6: Finding the most characteristic subset with the IAGMFS algorithm(7)
Step 7: Whether the algorithm satisfies the termination condition, the optimal solution, i.e., the optimal subset of features, is output; otherwise, the iteration continues


## 4.1. Plant Codes

As the sea island algorithm acts on continuous space and the features of the data are discrete, certain transformations are needed to allow the IAGM algorithm to perform discrete feature selection. In this paper, thesigmoid function is used to binary code the plant locations. The range of individual position is limited to −6,6 in the algorithm, so the plant position is composed of random numbers between −6,6. Each dimension of data in plant location X is then mapped in between 0,1 by the sigmoid function; that is, X=x1,x2,x3,x4,⋯,xn,xn∈0,1,n=1,2,3,4,⋯,. At this time, each dimension of data in X represents a feature. Then, define a threshold of 0.5 and divide the data in X into two categories. When xn≥0.5, set xn=1 to indicate that the feature is selected; otherwise, let xn=0, which means that the feature is not selected. In this way, each plant position X is represented by a set of binary.


## 4.2. Multiclassification Method of Support Vector Machine (SVM)

Due to the support vector machine, classifier itself can only be used for binary classification that largely limits the scope of use of the algorithm. The main idea behind the implementation of the SVM multiclassification function in this paper is as follows: Get the number of categorym in the dataset and train a classifier for each of the two classes in the m class. Then, there are a total of mm−1/2 binary classifiers. For each unclassified data, it needs to be predicted by all the binary classifiers and finally a voting method is used to decide which class it belongs to.


## 4.3. Adaptability Function

In the island algorithm, each individual plant can be viewed as a solution. If the solution has fewer features, the higher the classification accuracy, the better the solution. In this paper, the support vector machine classifier is used to obtain the classification accuracy of the solution and the number of features in the solution to construct the fitness function and also to balance the number of features selected with the importance of classification accuracy. The following fitness function has been chosen for this paper:(9)Fitness=αγR+βRC,where γR is the classification error rate obtained for a given classifier, ∣R∣ is the number of features selected by the current solution, ∣C∣ is the total number of features of the current solution, and α and β are the parameters, where α is the importance of the classification error rate of the classifier and β is the importance of the number of features selected. α+β=1.


## 4.4. Feature Selection Algorithm

In this paper, we search for the optimal subset of features using the island algorithm with Gaussian mutation. Binary encoding of plant locations uses asigmoid function, where 1 means this feature is selected and 0 means this feature is not selected. The SVM classifier is used to construct the fitness function and evaluate the merit of a subset of features. The main steps of the algorithm are as follows.
(1)
Step 1: Initialization: population sizeN, dimensionality D, maximum number of iterations T, maximum number of assessments E, maximum number of eliminations Am, minimum number of eliminations A1, amount of change R, flag, amount of range change h, and random initialization of a set of solutions: α, β(2)
Step 2: Read the data and divide the dataset into a training set and a test set(3)
Step 3: Asigmoid function is used to binary code each solution, and the number of features selected for this solution is also calculated(4)
Step 4: The features selected for each solution can be obtained according to step 3. The selected features are used to select the corresponding data in the original dataset and brought into the classifier for prediction while calculating the classification error rate(5)
Step 5: The number of selected features obtained by step 3 and the classification error rate obtained by step 4 are brought into the fitness function. The fitness value of each solution is calculated and ranked, and the fitness value of the globally optimal solution is put into the warning signF(6)
Step 6: Finding the most characteristic subset with the IAGMFS algorithm(7)
Step 7: Whether the algorithm satisfies the termination condition, the optimal solution, i.e., the optimal subset of features, is output; otherwise, the iteration continues


## 5. Experiments and Analysis of Experimental Results

### 5.1. Experimentation and Analysis of the IAGM Algorithm

#### 5.1.1. Experimental Design for the Performance of the IAGM Algorithm

In order to verify the performance of the improved island algorithm, seven typical benchmark test functions were selected to test the performance of the algorithm in the experiments. The specific information of the function is shown in Table1. f1 is a single-peaked function: the main purpose of this function is to test the optimization of the algorithm. f2 is a multimodal function: the main role is to test the global search capability of the algorithm. f3 and f7 are single-peaked functions: their main purpose is to test the convergence ability of the algorithm. f4 and f5 have many local extremes: their main purpose is to test the ability of a function to jump out of a local. f6 is a discontinuous step function. The particle swarm optimization (PSO) algorithm and the original island algorithm (IA) were selected for comparison with the island algorithm based on Gaussian mutation (IAGM). The three algorithms were run 30 times independently on 30 and 50 dimensions, respectively. The best error value, the worst error value, the mean value, and the standard deviation of the 30 times obtained are used as a measure of the algorithm’s merit, where boldface indicates optimal. All three algorithm parameters are set as follows: population size 100 and number of iterations 200. The algorithms are all in Matlab R2016a software for Windows 10 with an i7-7700HQ 2.8 GHz CPU and 16 GB of RAM.Table 1
Specific information on the 7 benchmark functions.
Function nameFormula scopef1: Spheref1x=∑i=1dxi2−5.12,5.12Df2: Dixonf2x=x1−12+∑i=2di2xi2−xi−12−10,10Df3: Ackleyf3x=−20exp−151d∑i=1dxi2−exp1d∑i=1dcos2πxi+20+e−15,30Df4: Griewankf4x=∑i=1dxi24000−∏i=1dcosxii+1−600,600Df5: Salomonf5x=−cos2π∑i=1dxi2+0.1∑i=1dxi2+1−10,10Df6: Stepf6x=∑i−1dxi+0.52−100,100Df7: Schwefel’s problemf7x=∑i=1dxi+∏i=1d∣xi∣−10,10D


#### 5.1.2. Experimental Results and Analysis

The three algorithms were run 30 times independently on search dimensions 30 and 50, respectively. The results of the 30 and 50 dimensional runs are shown in Tables2 and 3.Table 2
Results of 7 benchmarking functions in 30 dimensions.
FunctionsAlgorithmsOptimum valueWorst valueAverageStandard deviationf1PSO1.5127e−037.5379e−022.1332e−025.3078e−03IA9.7066e−111.2714e−018.3637e−035.9494e−04IAGM3.5206e−143.0984e−012.5219e−022.9739e−04f2PSO1.0774e+009.0688e+004.0248e+003.8392e+00IA7.1205e−013.0418e+001.3173e+002.5008e−01IAGM6.7784e−012.9003e+001.1515e+002.1675e−01f3PSO7.6786e−015.0055e+002.1839e+007.5518e−01IA6.7114e−033.4184e−011.0007e−019.2675e−03IAGM3.1266e−063.8544e−018.2427e−029.7348e−03f4PSO1.1240e−036.9872e−022.7594e−024.8989e−03IA6.9188e−123.9322e−016.8712e−021.2684e−02IAGM03.1918e−012.1167e−023.3113e−04f5PSO1.4144e−012.2366e−011.6835e−016.9282e−04IA9.9994e−021.7328e−011.1755e−015.5260e−04IAGM9.9994e−021.4172e−011.1050e−012.8330e−04f6PSO4.0475e−034.6049e−022.2101e−022.0782e−04IA2.9517e−106.7567e+004.1022e−011.8736e+00IAGM1.3051e−192.2809e−011.4511e−022.7167e−03f7PSO1.2178e+002.7915e+015.5626e+002.6385e+01IA5.8265e−011.4017e+014.9020e+001.0122e+01IAGM5.4738e−019.1941e+001.8945e+003.7400e+00Table 3
Results of 7 benchmarking functions in 50 dimensions.
FunctionsAlgorithmsOptimum valueWorst valueAverageStandard deviationf1PSO5.3061e−023.3739e−011.3566e−013.9963e−03IA2.9155e−031.1247e+002.8392e−018.7177e−02IAGM2.7620e−031.0969e+002.3244e−015.0106e−02f2PSO2.2789e+011.3873e+024.7691e+015.0698e+02IA2.4372e+006.1547e+012.0413e+011.7968e+02IAGM4.6516e+006.0176e+011.9302e+011.4291e+02f3PSO1.3866e+005.0858e+002.8175e+006.4618e−01IA1.9257e−019.8579e−015.3737e−016.3636e−02IAGM3.0334e−021.0692e+004.9367e−016.8138e−02f4PSO1.6078e−014.6166e+001.1511e+008.9720e−01IA2.7342e−011.3499e+009.0664e−017.8055e−02IAGM1.4978e−019.5144e−016.0090e−014.4944e−02f5PSO2.0004e−013.3430e−013.1630e−018.1438e−04IA1.4144e−012.4543e−011.5566e−015.1529e−04IAGM1.2630e−012.2369e−011.5513e−014.2054e−04f6PSO1.8021e−064.7653e−041.3814e−041.8271e−08IA4.1245e−252.7270e−109.3158e−122.4761e−21IAGM6.7720e−258.6021e−193.1137e−202.4701e−38f7PSO6.2010e−021.2374e+003.0639e−015.7236e−02IA4.9004e−044.4130e−013.9981e−027.9256e−03IAGM1.3250e−049.6140e−021.8006e−027.3937e−04As can be seen from the data in Table2, in the function f1, the worst value of PSO algorithm is the best. The average value of the IA algorithm is the best, but the optimal value and standard deviation of the IAGM algorithm are the best. In the three functions f2, f5, and f7, the best value, worst value, mean, and standard deviation of the IAGM algorithm are all optimal. In the function f3, the IA algorithm is optimal in terms of its minimum value and standard deviation; however, the optimal and average values of the IAGM algorithm are the best. In the function f6, the PSO algorithm is optimal in terms of the worst value and standard deviation, but the IAGM algorithm leads in terms of both the best value and the mean. In the function f4, the PSO algorithm has the best worst value, but the IAGM algorithm achieves the function theoretical optimum at the optimal value, and the mean and standard deviation are also optimal for the IAGM algorithm. The analysis and summary of the results of the seven benchmark test functions run on 30 dimensions show that the IAGM algorithm has a good advantage over the PSO and IA algorithms.It can be concluded from the data in Table3 that the results for the 50 dimensions are very similar to those for the 30 dimensions. In the function f1, the worst value, average value and standard deviation of PSO algorithm are the best. In IAGM algorithm, only the optimal value is the best. The best value of the IA algorithm in the f2 function is the best, the IAGM algorithm has the best worst value, mean, and standard deviation. In the function f3, the IA algorithm’s worst case and standard deviation are the best. The optimal and average values of the IAGM algorithm are the best. In the three functions f4, f5, and f7, the IAGM algorithm has the best value, the worst value, the mean, and the standard deviation ahead of the other two algorithms across the board. In the function f6, the IA algorithm has the best optimal value, while the IAGM algorithm is ahead of the other two algorithms in terms of the worst value, the mean, and the standard deviation. Although the IAGM algorithm is inferior to the PSO algorithm in the f1 function, it has a certain lead in other functions. The experimental results in Tables 2 and 3 show that overall the IAGM algorithm has a good advantage over the IA and PSO algorithms. This also validates the optimization-seeking capability of the IAGM algorithm and shows that improvements to the IA algorithm are effective and feasible.


### 5.2. Experimentation and Analysis of IAGMFS

#### 5.2.1. Introduction to the Dataset

A set of UCI datasets containing six datasets is used in this section to test the performance of the IAGMFS algorithm [23]. The specific information (name of the dataset, number of samples, and number of features) for these six datasets is shown in Table 4.Table 4
Specific information on the 6 UCI datasets.
Dataset nameNumber of samplesNumber of featuresBreast cancer2869Spectfheart26744Vehicle84618Tic-tac-toe9589Wine17813Zoo10116The classification algorithms used in this paper also use tenfold cross-validation [24] to determine the classification accuracy. Tenfold cross-validation is the random division of each dataset into 10, each copy has an equal number of data samples, and in turn, one of the subsets of data is taken out as the test set and the other nine as the training set, so that each subset of data is cycled through 10 times and each subset of data is taken as the test set. Parameter settings in the experiment are as follows: N=50, T=100, α=0.3, and β=0.7.


#### 5.2.2. Experimental Design of the IAGMFS Algorithm

The value of the fitness function is the key to evaluating the goodness of the plant location, and a suitable fitness function is important for the feature selection algorithm itself. The fitness function constructed in this paper relies on the classification accuracy of each solution obtained by the classifier and the number of features selected in the solution. In constructing the fitness function, the following experiment is designed in order to select the appropriate classifier. Three different classifiers, KNN classifier, plain Bayesian classifier, and support vector machine classifier, were used as classifiers for constructing the fitness function. Construct the feature selection algorithm based on KNN classifier (KIAGM), the feature selection algorithm based on naive Bayes classifier (NIAGM), and the feature selection algorithm proposed in this paper (IAGMFS). The three algorithms were run 10 times independently on each of the above datasets, and the average fitness value, average classification accuracy, and average number of features were used as evaluation criteria. In the table, — indicates that this item is not available (the NIAGM algorithm was unable to pick the results on the zoo dataset). The experimental results are shown in Table5.Table 5
Experimental results of each algorithm on 6 UCI datasets.
DatasetsAverage classification accuracyAverage fitness valueAverage number of featuresKIAGMIAGMFSNIAGMKIAGMIAGMFSNIAGMKIAGMIAGMFSNIAGMBreast cancer0.79250.80330.77430.17990.17350.1743434Spectfheart0.80540.80740.72200.28700.12760.2880161111Vehicle0.71760.76710.56300.27000.22560.35151078Tic-tac-toe0.91720.93880.73490.25990.21960.2104434Wine0.91000.92000.87000.13320.12620.1785533Zoo0.95660.8740——0.19460.1564——64——As can be seen from Table5, on the breast cancer and vehicle datasets, the IAGMFS algorithm was ahead of the other two algorithms in terms of average classification accuracy, average fitness value, and average number of features. On the spectfheart and wine datasets, the IAGMFS algorithm and the NIAGM algorithm have the same and better average number of features than the KIAGM algorithm, but the IAGMFS algorithm significantly outperforms the NIAGM algorithm in terms of average classification accuracy and average fitness value. On the tic-tac-toe dataset, the NIAGM algorithm outperformed the other two algorithms in terms of average fitness values, while the IAGMFS algorithm led in both average classification accuracy and average number of features. On the zoo dataset, the KIAGM algorithm was ahead of the IAGMFS algorithm in terms of average classification accuracy, but the average fitness value and average number of features were not as good as the IAGMFS algorithm. Overall, the IAGMFS algorithm outperformed the other two in terms of classification accuracy and the number of features selected and also validated that the support vector machine classifier is more suitable as a classifier in the constructor.To verify the feasibility of the IAGMFS algorithm, design the following experiment: the algorithm was run independently on each of the above six datasets, the number of iterations and the corresponding fitness values were recorded, and the fitness convergence curves were plotted. The results of the experiment are shown in Figure1.Figure 1
Fitness value change curve.This can be seen in Figure1. On the vehicle dataset, the algorithm starts to converge around 60 iterations. On the spectfheart dataset, the algorithm started to converge in about 40 iterations. On the breast cancer dataset, the algorithm started to converge in about 20 iterations. On the tic-tac-toe dataset, the algorithm starts to converge in about 20 iterations. On the wine dataset, the algorithm starts to converge in about 75 iterations. On the zoo dataset, the algorithm starts to converge in about 65 iterations. Overall, the algorithm decreases in fitness values with the number of iterations and converges after a certain number of iterations on all six datasets. This verifies that the IAGMFS algorithm is valid and feasible.


#### 5.2.3. IAGMFS Algorithm Compared to Other Feature Selection Algorithms

Based on the dataset in Table3, experiments were conducted using the PSORSFS [25] algorithm, the FSARSR [26] algorithm, the FSRSWOA algorithm, and the IAGMFS algorithm proposed in this paper. The population size in the experiment was 30, and the number of iterations was 100. The four algorithms were run 10 times independently on each of the above datasets, and the average and optimal values of the 10 results were used as evaluation metrics. The results of the experiment are shown in Table 6. The experimental results for the comparison algorithm are taken from the literature [23].Table 6
Experimental results of four algorithms on six UCI datasets.
DatasetsAverage classification accuracyOptimum valueFSARSRPSORSFSFSRSWOAIAGMFSFSARSRPSORSFSFSRSWOAIAGMFSBreast cancer0.70230.70220.70410.80330.71560.71340.71630.8077Spectfheart0.79410.79400.79440.80740.79530.79770.80230.8174Vehicle0.60790.61690.63620.76710.65500.68440.69720.7731Tic-tac-toe0.77760.76280.80380.93880.82990.83100.82980.9572Wine0.89240.89830.91210.92000.97750.97160.97780.9315Zoo0.87290.87330.87420.87400.91270.91180.91180.9044This can be derived from Table6. In the four datasets of breast cancer, spectfheart, vehicle, and tic-tac-toe, the IAGMFS algorithm outperformed the other three algorithms in terms of both the average classification accuracy and the optimal value. On the wine dataset, FSRSWOA has the best value ahead of the other three algorithms, but is not as good as the IAGMFS algorithm in terms of average classification accuracy. On the zoo dataset, FSRSWOA had the best average classification accuracy and FSARSR had the best optimal value. Although the IAGMFS algorithm is slightly inferior to the FSRSWOA and FSARSR algorithms in terms of average classification accuracy and optimal values on the zoo dataset, it is ahead of the other algorithms in terms of average classification accuracy on all other datasets. Overall, the IAGMFS algorithm is ahead of the other three algorithms in terms of classification accuracy, indicating that the IAGMFS algorithm has a good advantage in feature selection.


## 5.1. Experimentation and Analysis of the IAGM Algorithm

### 5.1.1. Experimental Design for the Performance of the IAGM Algorithm

In order to verify the performance of the improved island algorithm, seven typical benchmark test functions were selected to test the performance of the algorithm in the experiments. The specific information of the function is shown in Table1. f1 is a single-peaked function: the main purpose of this function is to test the optimization of the algorithm. f2 is a multimodal function: the main role is to test the global search capability of the algorithm. f3 and f7 are single-peaked functions: their main purpose is to test the convergence ability of the algorithm. f4 and f5 have many local extremes: their main purpose is to test the ability of a function to jump out of a local. f6 is a discontinuous step function. The particle swarm optimization (PSO) algorithm and the original island algorithm (IA) were selected for comparison with the island algorithm based on Gaussian mutation (IAGM). The three algorithms were run 30 times independently on 30 and 50 dimensions, respectively. The best error value, the worst error value, the mean value, and the standard deviation of the 30 times obtained are used as a measure of the algorithm’s merit, where boldface indicates optimal. All three algorithm parameters are set as follows: population size 100 and number of iterations 200. The algorithms are all in Matlab R2016a software for Windows 10 with an i7-7700HQ 2.8 GHz CPU and 16 GB of RAM.Table 1
Specific information on the 7 benchmark functions.
Function nameFormula scopef1: Spheref1x=∑i=1dxi2−5.12,5.12Df2: Dixonf2x=x1−12+∑i=2di2xi2−xi−12−10,10Df3: Ackleyf3x=−20exp−151d∑i=1dxi2−exp1d∑i=1dcos2πxi+20+e−15,30Df4: Griewankf4x=∑i=1dxi24000−∏i=1dcosxii+1−600,600Df5: Salomonf5x=−cos2π∑i=1dxi2+0.1∑i=1dxi2+1−10,10Df6: Stepf6x=∑i−1dxi+0.52−100,100Df7: Schwefel’s problemf7x=∑i=1dxi+∏i=1d∣xi∣−10,10D


### 5.1.2. Experimental Results and Analysis

The three algorithms were run 30 times independently on search dimensions 30 and 50, respectively. The results of the 30 and 50 dimensional runs are shown in Tables2 and 3.Table 2
Results of 7 benchmarking functions in 30 dimensions.
FunctionsAlgorithmsOptimum valueWorst valueAverageStandard deviationf1PSO1.5127e−037.5379e−022.1332e−025.3078e−03IA9.7066e−111.2714e−018.3637e−035.9494e−04IAGM3.5206e−143.0984e−012.5219e−022.9739e−04f2PSO1.0774e+009.0688e+004.0248e+003.8392e+00IA7.1205e−013.0418e+001.3173e+002.5008e−01IAGM6.7784e−012.9003e+001.1515e+002.1675e−01f3PSO7.6786e−015.0055e+002.1839e+007.5518e−01IA6.7114e−033.4184e−011.0007e−019.2675e−03IAGM3.1266e−063.8544e−018.2427e−029.7348e−03f4PSO1.1240e−036.9872e−022.7594e−024.8989e−03IA6.9188e−123.9322e−016.8712e−021.2684e−02IAGM03.1918e−012.1167e−023.3113e−04f5PSO1.4144e−012.2366e−011.6835e−016.9282e−04IA9.9994e−021.7328e−011.1755e−015.5260e−04IAGM9.9994e−021.4172e−011.1050e−012.8330e−04f6PSO4.0475e−034.6049e−022.2101e−022.0782e−04IA2.9517e−106.7567e+004.1022e−011.8736e+00IAGM1.3051e−192.2809e−011.4511e−022.7167e−03f7PSO1.2178e+002.7915e+015.5626e+002.6385e+01IA5.8265e−011.4017e+014.9020e+001.0122e+01IAGM5.4738e−019.1941e+001.8945e+003.7400e+00Table 3
Results of 7 benchmarking functions in 50 dimensions.
FunctionsAlgorithmsOptimum valueWorst valueAverageStandard deviationf1PSO5.3061e−023.3739e−011.3566e−013.9963e−03IA2.9155e−031.1247e+002.8392e−018.7177e−02IAGM2.7620e−031.0969e+002.3244e−015.0106e−02f2PSO2.2789e+011.3873e+024.7691e+015.0698e+02IA2.4372e+006.1547e+012.0413e+011.7968e+02IAGM4.6516e+006.0176e+011.9302e+011.4291e+02f3PSO1.3866e+005.0858e+002.8175e+006.4618e−01IA1.9257e−019.8579e−015.3737e−016.3636e−02IAGM3.0334e−021.0692e+004.9367e−016.8138e−02f4PSO1.6078e−014.6166e+001.1511e+008.9720e−01IA2.7342e−011.3499e+009.0664e−017.8055e−02IAGM1.4978e−019.5144e−016.0090e−014.4944e−02f5PSO2.0004e−013.3430e−013.1630e−018.1438e−04IA1.4144e−012.4543e−011.5566e−015.1529e−04IAGM1.2630e−012.2369e−011.5513e−014.2054e−04f6PSO1.8021e−064.7653e−041.3814e−041.8271e−08IA4.1245e−252.7270e−109.3158e−122.4761e−21IAGM6.7720e−258.6021e−193.1137e−202.4701e−38f7PSO6.2010e−021.2374e+003.0639e−015.7236e−02IA4.9004e−044.4130e−013.9981e−027.9256e−03IAGM1.3250e−049.6140e−021.8006e−027.3937e−04As can be seen from the data in Table2, in the function f1, the worst value of PSO algorithm is the best. The average value of the IA algorithm is the best, but the optimal value and standard deviation of the IAGM algorithm are the best. In the three functions f2, f5, and f7, the best value, worst value, mean, and standard deviation of the IAGM algorithm are all optimal. In the function f3, the IA algorithm is optimal in terms of its minimum value and standard deviation; however, the optimal and average values of the IAGM algorithm are the best. In the function f6, the PSO algorithm is optimal in terms of the worst value and standard deviation, but the IAGM algorithm leads in terms of both the best value and the mean. In the function f4, the PSO algorithm has the best worst value, but the IAGM algorithm achieves the function theoretical optimum at the optimal value, and the mean and standard deviation are also optimal for the IAGM algorithm. The analysis and summary of the results of the seven benchmark test functions run on 30 dimensions show that the IAGM algorithm has a good advantage over the PSO and IA algorithms.It can be concluded from the data in Table3 that the results for the 50 dimensions are very similar to those for the 30 dimensions. In the function f1, the worst value, average value and standard deviation of PSO algorithm are the best. In IAGM algorithm, only the optimal value is the best. The best value of the IA algorithm in the f2 function is the best, the IAGM algorithm has the best worst value, mean, and standard deviation. In the function f3, the IA algorithm’s worst case and standard deviation are the best. The optimal and average values of the IAGM algorithm are the best. In the three functions f4, f5, and f7, the IAGM algorithm has the best value, the worst value, the mean, and the standard deviation ahead of the other two algorithms across the board. In the function f6, the IA algorithm has the best optimal value, while the IAGM algorithm is ahead of the other two algorithms in terms of the worst value, the mean, and the standard deviation. Although the IAGM algorithm is inferior to the PSO algorithm in the f1 function, it has a certain lead in other functions. The experimental results in Tables 2 and 3 show that overall the IAGM algorithm has a good advantage over the IA and PSO algorithms. This also validates the optimization-seeking capability of the IAGM algorithm and shows that improvements to the IA algorithm are effective and feasible.


## 5.1.1. Experimental Design for the Performance of the IAGM Algorithm

In order to verify the performance of the improved island algorithm, seven typical benchmark test functions were selected to test the performance of the algorithm in the experiments. The specific information of the function is shown in Table1. f1 is a single-peaked function: the main purpose of this function is to test the optimization of the algorithm. f2 is a multimodal function: the main role is to test the global search capability of the algorithm. f3 and f7 are single-peaked functions: their main purpose is to test the convergence ability of the algorithm. f4 and f5 have many local extremes: their main purpose is to test the ability of a function to jump out of a local. f6 is a discontinuous step function. The particle swarm optimization (PSO) algorithm and the original island algorithm (IA) were selected for comparison with the island algorithm based on Gaussian mutation (IAGM). The three algorithms were run 30 times independently on 30 and 50 dimensions, respectively. The best error value, the worst error value, the mean value, and the standard deviation of the 30 times obtained are used as a measure of the algorithm’s merit, where boldface indicates optimal. All three algorithm parameters are set as follows: population size 100 and number of iterations 200. The algorithms are all in Matlab R2016a software for Windows 10 with an i7-7700HQ 2.8 GHz CPU and 16 GB of RAM.Table 1
Specific information on the 7 benchmark functions.
Function nameFormula scopef1: Spheref1x=∑i=1dxi2−5.12,5.12Df2: Dixonf2x=x1−12+∑i=2di2xi2−xi−12−10,10Df3: Ackleyf3x=−20exp−151d∑i=1dxi2−exp1d∑i=1dcos2πxi+20+e−15,30Df4: Griewankf4x=∑i=1dxi24000−∏i=1dcosxii+1−600,600Df5: Salomonf5x=−cos2π∑i=1dxi2+0.1∑i=1dxi2+1−10,10Df6: Stepf6x=∑i−1dxi+0.52−100,100Df7: Schwefel’s problemf7x=∑i=1dxi+∏i=1d∣xi∣−10,10D


## 5.1.2. Experimental Results and Analysis

The three algorithms were run 30 times independently on search dimensions 30 and 50, respectively. The results of the 30 and 50 dimensional runs are shown in Tables2 and 3.Table 2
Results of 7 benchmarking functions in 30 dimensions.
FunctionsAlgorithmsOptimum valueWorst valueAverageStandard deviationf1PSO1.5127e−037.5379e−022.1332e−025.3078e−03IA9.7066e−111.2714e−018.3637e−035.9494e−04IAGM3.5206e−143.0984e−012.5219e−022.9739e−04f2PSO1.0774e+009.0688e+004.0248e+003.8392e+00IA7.1205e−013.0418e+001.3173e+002.5008e−01IAGM6.7784e−012.9003e+001.1515e+002.1675e−01f3PSO7.6786e−015.0055e+002.1839e+007.5518e−01IA6.7114e−033.4184e−011.0007e−019.2675e−03IAGM3.1266e−063.8544e−018.2427e−029.7348e−03f4PSO1.1240e−036.9872e−022.7594e−024.8989e−03IA6.9188e−123.9322e−016.8712e−021.2684e−02IAGM03.1918e−012.1167e−023.3113e−04f5PSO1.4144e−012.2366e−011.6835e−016.9282e−04IA9.9994e−021.7328e−011.1755e−015.5260e−04IAGM9.9994e−021.4172e−011.1050e−012.8330e−04f6PSO4.0475e−034.6049e−022.2101e−022.0782e−04IA2.9517e−106.7567e+004.1022e−011.8736e+00IAGM1.3051e−192.2809e−011.4511e−022.7167e−03f7PSO1.2178e+002.7915e+015.5626e+002.6385e+01IA5.8265e−011.4017e+014.9020e+001.0122e+01IAGM5.4738e−019.1941e+001.8945e+003.7400e+00Table 3
Results of 7 benchmarking functions in 50 dimensions.
FunctionsAlgorithmsOptimum valueWorst valueAverageStandard deviationf1PSO5.3061e−023.3739e−011.3566e−013.9963e−03IA2.9155e−031.1247e+002.8392e−018.7177e−02IAGM2.7620e−031.0969e+002.3244e−015.0106e−02f2PSO2.2789e+011.3873e+024.7691e+015.0698e+02IA2.4372e+006.1547e+012.0413e+011.7968e+02IAGM4.6516e+006.0176e+011.9302e+011.4291e+02f3PSO1.3866e+005.0858e+002.8175e+006.4618e−01IA1.9257e−019.8579e−015.3737e−016.3636e−02IAGM3.0334e−021.0692e+004.9367e−016.8138e−02f4PSO1.6078e−014.6166e+001.1511e+008.9720e−01IA2.7342e−011.3499e+009.0664e−017.8055e−02IAGM1.4978e−019.5144e−016.0090e−014.4944e−02f5PSO2.0004e−013.3430e−013.1630e−018.1438e−04IA1.4144e−012.4543e−011.5566e−015.1529e−04IAGM1.2630e−012.2369e−011.5513e−014.2054e−04f6PSO1.8021e−064.7653e−041.3814e−041.8271e−08IA4.1245e−252.7270e−109.3158e−122.4761e−21IAGM6.7720e−258.6021e−193.1137e−202.4701e−38f7PSO6.2010e−021.2374e+003.0639e−015.7236e−02IA4.9004e−044.4130e−013.9981e−027.9256e−03IAGM1.3250e−049.6140e−021.8006e−027.3937e−04As can be seen from the data in Table2, in the function f1, the worst value of PSO algorithm is the best. The average value of the IA algorithm is the best, but the optimal value and standard deviation of the IAGM algorithm are the best. In the three functions f2, f5, and f7, the best value, worst value, mean, and standard deviation of the IAGM algorithm are all optimal. In the function f3, the IA algorithm is optimal in terms of its minimum value and standard deviation; however, the optimal and average values of the IAGM algorithm are the best. In the function f6, the PSO algorithm is optimal in terms of the worst value and standard deviation, but the IAGM algorithm leads in terms of both the best value and the mean. In the function f4, the PSO algorithm has the best worst value, but the IAGM algorithm achieves the function theoretical optimum at the optimal value, and the mean and standard deviation are also optimal for the IAGM algorithm. The analysis and summary of the results of the seven benchmark test functions run on 30 dimensions show that the IAGM algorithm has a good advantage over the PSO and IA algorithms.It can be concluded from the data in Table3 that the results for the 50 dimensions are very similar to those for the 30 dimensions. In the function f1, the worst value, average value and standard deviation of PSO algorithm are the best. In IAGM algorithm, only the optimal value is the best. The best value of the IA algorithm in the f2 function is the best, the IAGM algorithm has the best worst value, mean, and standard deviation. In the function f3, the IA algorithm’s worst case and standard deviation are the best. The optimal and average values of the IAGM algorithm are the best. In the three functions f4, f5, and f7, the IAGM algorithm has the best value, the worst value, the mean, and the standard deviation ahead of the other two algorithms across the board. In the function f6, the IA algorithm has the best optimal value, while the IAGM algorithm is ahead of the other two algorithms in terms of the worst value, the mean, and the standard deviation. Although the IAGM algorithm is inferior to the PSO algorithm in the f1 function, it has a certain lead in other functions. The experimental results in Tables 2 and 3 show that overall the IAGM algorithm has a good advantage over the IA and PSO algorithms. This also validates the optimization-seeking capability of the IAGM algorithm and shows that improvements to the IA algorithm are effective and feasible.


## 5.2. Experimentation and Analysis of IAGMFS

### 5.2.1. Introduction to the Dataset

A set of UCI datasets containing six datasets is used in this section to test the performance of the IAGMFS algorithm [23]. The specific information (name of the dataset, number of samples, and number of features) for these six datasets is shown in Table 4.Table 4
Specific information on the 6 UCI datasets.
Dataset nameNumber of samplesNumber of featuresBreast cancer2869Spectfheart26744Vehicle84618Tic-tac-toe9589Wine17813Zoo10116The classification algorithms used in this paper also use tenfold cross-validation [24] to determine the classification accuracy. Tenfold cross-validation is the random division of each dataset into 10, each copy has an equal number of data samples, and in turn, one of the subsets of data is taken out as the test set and the other nine as the training set, so that each subset of data is cycled through 10 times and each subset of data is taken as the test set. Parameter settings in the experiment are as follows: N=50, T=100, α=0.3, and β=0.7.


### 5.2.2. Experimental Design of the IAGMFS Algorithm

The value of the fitness function is the key to evaluating the goodness of the plant location, and a suitable fitness function is important for the feature selection algorithm itself. The fitness function constructed in this paper relies on the classification accuracy of each solution obtained by the classifier and the number of features selected in the solution. In constructing the fitness function, the following experiment is designed in order to select the appropriate classifier. Three different classifiers, KNN classifier, plain Bayesian classifier, and support vector machine classifier, were used as classifiers for constructing the fitness function. Construct the feature selection algorithm based on KNN classifier (KIAGM), the feature selection algorithm based on naive Bayes classifier (NIAGM), and the feature selection algorithm proposed in this paper (IAGMFS). The three algorithms were run 10 times independently on each of the above datasets, and the average fitness value, average classification accuracy, and average number of features were used as evaluation criteria. In the table, — indicates that this item is not available (the NIAGM algorithm was unable to pick the results on the zoo dataset). The experimental results are shown in Table5.Table 5
Experimental results of each algorithm on 6 UCI datasets.
DatasetsAverage classification accuracyAverage fitness valueAverage number of featuresKIAGMIAGMFSNIAGMKIAGMIAGMFSNIAGMKIAGMIAGMFSNIAGMBreast cancer0.79250.80330.77430.17990.17350.1743434Spectfheart0.80540.80740.72200.28700.12760.2880161111Vehicle0.71760.76710.56300.27000.22560.35151078Tic-tac-toe0.91720.93880.73490.25990.21960.2104434Wine0.91000.92000.87000.13320.12620.1785533Zoo0.95660.8740——0.19460.1564——64——As can be seen from Table5, on the breast cancer and vehicle datasets, the IAGMFS algorithm was ahead of the other two algorithms in terms of average classification accuracy, average fitness value, and average number of features. On the spectfheart and wine datasets, the IAGMFS algorithm and the NIAGM algorithm have the same and better average number of features than the KIAGM algorithm, but the IAGMFS algorithm significantly outperforms the NIAGM algorithm in terms of average classification accuracy and average fitness value. On the tic-tac-toe dataset, the NIAGM algorithm outperformed the other two algorithms in terms of average fitness values, while the IAGMFS algorithm led in both average classification accuracy and average number of features. On the zoo dataset, the KIAGM algorithm was ahead of the IAGMFS algorithm in terms of average classification accuracy, but the average fitness value and average number of features were not as good as the IAGMFS algorithm. Overall, the IAGMFS algorithm outperformed the other two in terms of classification accuracy and the number of features selected and also validated that the support vector machine classifier is more suitable as a classifier in the constructor.To verify the feasibility of the IAGMFS algorithm, design the following experiment: the algorithm was run independently on each of the above six datasets, the number of iterations and the corresponding fitness values were recorded, and the fitness convergence curves were plotted. The results of the experiment are shown in Figure1.Figure 1
Fitness value change curve.This can be seen in Figure1. On the vehicle dataset, the algorithm starts to converge around 60 iterations. On the spectfheart dataset, the algorithm started to converge in about 40 iterations. On the breast cancer dataset, the algorithm started to converge in about 20 iterations. On the tic-tac-toe dataset, the algorithm starts to converge in about 20 iterations. On the wine dataset, the algorithm starts to converge in about 75 iterations. On the zoo dataset, the algorithm starts to converge in about 65 iterations. Overall, the algorithm decreases in fitness values with the number of iterations and converges after a certain number of iterations on all six datasets. This verifies that the IAGMFS algorithm is valid and feasible.


### 5.2.3. IAGMFS Algorithm Compared to Other Feature Selection Algorithms

Based on the dataset in Table3, experiments were conducted using the PSORSFS [25] algorithm, the FSARSR [26] algorithm, the FSRSWOA algorithm, and the IAGMFS algorithm proposed in this paper. The population size in the experiment was 30, and the number of iterations was 100. The four algorithms were run 10 times independently on each of the above datasets, and the average and optimal values of the 10 results were used as evaluation metrics. The results of the experiment are shown in Table 6. The experimental results for the comparison algorithm are taken from the literature [23].Table 6
Experimental results of four algorithms on six UCI datasets.
DatasetsAverage classification accuracyOptimum valueFSARSRPSORSFSFSRSWOAIAGMFSFSARSRPSORSFSFSRSWOAIAGMFSBreast cancer0.70230.70220.70410.80330.71560.71340.71630.8077Spectfheart0.79410.79400.79440.80740.79530.79770.80230.8174Vehicle0.60790.61690.63620.76710.65500.68440.69720.7731Tic-tac-toe0.77760.76280.80380.93880.82990.83100.82980.9572Wine0.89240.89830.91210.92000.97750.97160.97780.9315Zoo0.87290.87330.87420.87400.91270.91180.91180.9044This can be derived from Table6. In the four datasets of breast cancer, spectfheart, vehicle, and tic-tac-toe, the IAGMFS algorithm outperformed the other three algorithms in terms of both the average classification accuracy and the optimal value. On the wine dataset, FSRSWOA has the best value ahead of the other three algorithms, but is not as good as the IAGMFS algorithm in terms of average classification accuracy. On the zoo dataset, FSRSWOA had the best average classification accuracy and FSARSR had the best optimal value. Although the IAGMFS algorithm is slightly inferior to the FSRSWOA and FSARSR algorithms in terms of average classification accuracy and optimal values on the zoo dataset, it is ahead of the other algorithms in terms of average classification accuracy on all other datasets. Overall, the IAGMFS algorithm is ahead of the other three algorithms in terms of classification accuracy, indicating that the IAGMFS algorithm has a good advantage in feature selection.


## 5.2.1. Introduction to the Dataset

A set of UCI datasets containing six datasets is used in this section to test the performance of the IAGMFS algorithm [23]. The specific information (name of the dataset, number of samples, and number of features) for these six datasets is shown in Table 4.Table 4
Specific information on the 6 UCI datasets.
Dataset nameNumber of samplesNumber of featuresBreast cancer2869Spectfheart26744Vehicle84618Tic-tac-toe9589Wine17813Zoo10116The classification algorithms used in this paper also use tenfold cross-validation [24] to determine the classification accuracy. Tenfold cross-validation is the random division of each dataset into 10, each copy has an equal number of data samples, and in turn, one of the subsets of data is taken out as the test set and the other nine as the training set, so that each subset of data is cycled through 10 times and each subset of data is taken as the test set. Parameter settings in the experiment are as follows: N=50, T=100, α=0.3, and β=0.7.


## 5.2.2. Experimental Design of the IAGMFS Algorithm

The value of the fitness function is the key to evaluating the goodness of the plant location, and a suitable fitness function is important for the feature selection algorithm itself. The fitness function constructed in this paper relies on the classification accuracy of each solution obtained by the classifier and the number of features selected in the solution. In constructing the fitness function, the following experiment is designed in order to select the appropriate classifier. Three different classifiers, KNN classifier, plain Bayesian classifier, and support vector machine classifier, were used as classifiers for constructing the fitness function. Construct the feature selection algorithm based on KNN classifier (KIAGM), the feature selection algorithm based on naive Bayes classifier (NIAGM), and the feature selection algorithm proposed in this paper (IAGMFS). The three algorithms were run 10 times independently on each of the above datasets, and the average fitness value, average classification accuracy, and average number of features were used as evaluation criteria. In the table, — indicates that this item is not available (the NIAGM algorithm was unable to pick the results on the zoo dataset). The experimental results are shown in Table5.Table 5
Experimental results of each algorithm on 6 UCI datasets.
DatasetsAverage classification accuracyAverage fitness valueAverage number of featuresKIAGMIAGMFSNIAGMKIAGMIAGMFSNIAGMKIAGMIAGMFSNIAGMBreast cancer0.79250.80330.77430.17990.17350.1743434Spectfheart0.80540.80740.72200.28700.12760.2880161111Vehicle0.71760.76710.56300.27000.22560.35151078Tic-tac-toe0.91720.93880.73490.25990.21960.2104434Wine0.91000.92000.87000.13320.12620.1785533Zoo0.95660.8740——0.19460.1564——64——As can be seen from Table5, on the breast cancer and vehicle datasets, the IAGMFS algorithm was ahead of the other two algorithms in terms of average classification accuracy, average fitness value, and average number of features. On the spectfheart and wine datasets, the IAGMFS algorithm and the NIAGM algorithm have the same and better average number of features than the KIAGM algorithm, but the IAGMFS algorithm significantly outperforms the NIAGM algorithm in terms of average classification accuracy and average fitness value. On the tic-tac-toe dataset, the NIAGM algorithm outperformed the other two algorithms in terms of average fitness values, while the IAGMFS algorithm led in both average classification accuracy and average number of features. On the zoo dataset, the KIAGM algorithm was ahead of the IAGMFS algorithm in terms of average classification accuracy, but the average fitness value and average number of features were not as good as the IAGMFS algorithm. Overall, the IAGMFS algorithm outperformed the other two in terms of classification accuracy and the number of features selected and also validated that the support vector machine classifier is more suitable as a classifier in the constructor.To verify the feasibility of the IAGMFS algorithm, design the following experiment: the algorithm was run independently on each of the above six datasets, the number of iterations and the corresponding fitness values were recorded, and the fitness convergence curves were plotted. The results of the experiment are shown in Figure1.Figure 1
Fitness value change curve.This can be seen in Figure1. On the vehicle dataset, the algorithm starts to converge around 60 iterations. On the spectfheart dataset, the algorithm started to converge in about 40 iterations. On the breast cancer dataset, the algorithm started to converge in about 20 iterations. On the tic-tac-toe dataset, the algorithm starts to converge in about 20 iterations. On the wine dataset, the algorithm starts to converge in about 75 iterations. On the zoo dataset, the algorithm starts to converge in about 65 iterations. Overall, the algorithm decreases in fitness values with the number of iterations and converges after a certain number of iterations on all six datasets. This verifies that the IAGMFS algorithm is valid and feasible.


## 5.2.3. IAGMFS Algorithm Compared to Other Feature Selection Algorithms

Based on the dataset in Table3, experiments were conducted using the PSORSFS [25] algorithm, the FSARSR [26] algorithm, the FSRSWOA algorithm, and the IAGMFS algorithm proposed in this paper. The population size in the experiment was 30, and the number of iterations was 100. The four algorithms were run 10 times independently on each of the above datasets, and the average and optimal values of the 10 results were used as evaluation metrics. The results of the experiment are shown in Table 6. The experimental results for the comparison algorithm are taken from the literature [23].Table 6
Experimental results of four algorithms on six UCI datasets.
DatasetsAverage classification accuracyOptimum valueFSARSRPSORSFSFSRSWOAIAGMFSFSARSRPSORSFSFSRSWOAIAGMFSBreast cancer0.70230.70220.70410.80330.71560.71340.71630.8077Spectfheart0.79410.79400.79440.80740.79530.79770.80230.8174Vehicle0.60790.61690.63620.76710.65500.68440.69720.7731Tic-tac-toe0.77760.76280.80380.93880.82990.83100.82980.9572Wine0.89240.89830.91210.92000.97750.97160.97780.9315Zoo0.87290.87330.87420.87400.91270.91180.91180.9044This can be derived from Table6. In the four datasets of breast cancer, spectfheart, vehicle, and tic-tac-toe, the IAGMFS algorithm outperformed the other three algorithms in terms of both the average classification accuracy and the optimal value. On the wine dataset, FSRSWOA has the best value ahead of the other three algorithms, but is not as good as the IAGMFS algorithm in terms of average classification accuracy. On the zoo dataset, FSRSWOA had the best average classification accuracy and FSARSR had the best optimal value. Although the IAGMFS algorithm is slightly inferior to the FSRSWOA and FSARSR algorithms in terms of average classification accuracy and optimal values on the zoo dataset, it is ahead of the other algorithms in terms of average classification accuracy on all other datasets. Overall, the IAGMFS algorithm is ahead of the other three algorithms in terms of classification accuracy, indicating that the IAGMFS algorithm has a good advantage in feature selection.


## 6. Applications in Image Classification

### 6.1. Image Classification

Through the analysis and conclusion of the above experimental results, it can be concluded that the IAGMFS algorithm proposed in this paper has good advantages in feature selection. Image classification focuses on feature extraction, feature selection, and classification. The extraction of features is divided into extraction of image texture features, extraction of colour features, and extraction of shape features [27]. Feature selection can effectively remove those redundant features, reducing the computational complexity while improving the classification accuracy. However, feature selection generates a large collection of feature subsets, from which we need to find the optimal feature subset. The population intelligence optimization algorithm has a better global search capability, so the population intelligence optimization algorithm is widely used in image classification. The particle swarm optimization (PSO) algorithm, a classical intelligent optimization algorithm, has been widely applied to image classification. In this paper, the IAGMFS algorithm is applied to image classification. Features are first extracted from the image, and then, the IAGMFS algorithm is used to filter the extracted features, eliminate the redundant features, and finally perform the classification.


### 6.2. Experiments and Analysis of Experimental Results

In order to verify the superiority of the IAGMFS algorithm in image classification, the particle swarm optimization algorithm, which is widely used in image classification, is used as a comparison in this paper. The LBP algorithm was used to extract the texture features of the images. The three were compared using the N-BPSO [28] algorithm, the IAGMFS algorithm, and all features. The three methods were run 10 times independently, and the classification accuracy and the number of features selected were recorded for each time. The images used for the experiments are from Caltech101 and are all flat stills. This is shown in Table 7. Experiments were carried out on Windows 10 with Matlab R2016a software, a CPU of i7-7700HQ 2.8 GHz, and 16 GB of RAM. The results of the experiment are shown in Table 8.Table 7
Picture-specific information.
CategoryNumber of samplesNumber of training samplesNumber of testsDogs673433Aircraft1045252Bonsai1286464Bird422121Bottle824141Table 8
Experimental results of classification accuracy on different categories.
CategoryAverage classification accuracyAverage number of featuresN-BPSOIAMFSAll featuresN-BPSOIAMFSAll featuresAircraft0.60580.77580.5640189162256Dogs0.70580.78420.5435171174256Bird0.71630.78640.5547180167256Bottle0.66420.76790.5942183170256Bonsai0.64400.70600.6138187172256As can be seen from the data in Table8, in each category, the IAGMFS algorithm was ahead of the other two in terms of average classification accuracy. In the category of dogs, the average classification accuracy of the IAGMFS algorithm is higher than that of the N-BPSO algorithm, although the average number of features is not as high as that of the N-BPSO algorithm. Overall, the IAGMFS algorithm improves classification accuracy while eliminating redundant features. This shows that the IAGMFS algorithm has some advantages in image classification.


## 6.1. Image Classification

Through the analysis and conclusion of the above experimental results, it can be concluded that the IAGMFS algorithm proposed in this paper has good advantages in feature selection. Image classification focuses on feature extraction, feature selection, and classification. The extraction of features is divided into extraction of image texture features, extraction of colour features, and extraction of shape features [27]. Feature selection can effectively remove those redundant features, reducing the computational complexity while improving the classification accuracy. However, feature selection generates a large collection of feature subsets, from which we need to find the optimal feature subset. The population intelligence optimization algorithm has a better global search capability, so the population intelligence optimization algorithm is widely used in image classification. The particle swarm optimization (PSO) algorithm, a classical intelligent optimization algorithm, has been widely applied to image classification. In this paper, the IAGMFS algorithm is applied to image classification. Features are first extracted from the image, and then, the IAGMFS algorithm is used to filter the extracted features, eliminate the redundant features, and finally perform the classification.


## 6.2. Experiments and Analysis of Experimental Results

In order to verify the superiority of the IAGMFS algorithm in image classification, the particle swarm optimization algorithm, which is widely used in image classification, is used as a comparison in this paper. The LBP algorithm was used to extract the texture features of the images. The three were compared using the N-BPSO [28] algorithm, the IAGMFS algorithm, and all features. The three methods were run 10 times independently, and the classification accuracy and the number of features selected were recorded for each time. The images used for the experiments are from Caltech101 and are all flat stills. This is shown in Table 7. Experiments were carried out on Windows 10 with Matlab R2016a software, a CPU of i7-7700HQ 2.8 GHz, and 16 GB of RAM. The results of the experiment are shown in Table 8.Table 7
Picture-specific information.
CategoryNumber of samplesNumber of training samplesNumber of testsDogs673433Aircraft1045252Bonsai1286464Bird422121Bottle824141Table 8
Experimental results of classification accuracy on different categories.
CategoryAverage classification accuracyAverage number of featuresN-BPSOIAMFSAll featuresN-BPSOIAMFSAll featuresAircraft0.60580.77580.5640189162256Dogs0.70580.78420.5435171174256Bird0.71630.78640.5547180167256Bottle0.66420.76790.5942183170256Bonsai0.64400.70600.6138187172256As can be seen from the data in Table8, in each category, the IAGMFS algorithm was ahead of the other two in terms of average classification accuracy. In the category of dogs, the average classification accuracy of the IAGMFS algorithm is higher than that of the N-BPSO algorithm, although the average number of features is not as high as that of the N-BPSO algorithm. Overall, the IAGMFS algorithm improves classification accuracy while eliminating redundant features. This shows that the IAGMFS algorithm has some advantages in image classification.


## 7. Conclusion

In order to enhance the performance of the island algorithm for finding the best, this paper introduces a Gaussian mutation strategy into the island algorithm. A warning sign is set up to record the global optimum after each iteration, and when the global optimum changes by a small amount in three consecutive iterations, a Gaussian mutation is applied to the current optimum position as a way to avoid the algorithm falling into a local optimum. Also, new plants that meet certain conditions undergo Gaussian mutation to increase the diversity of the population. The improved island algorithm is combined with a support vector machine classifier to propose a feature selection algorithm based on the Gaussian variational island algorithm. The algorithm uses the classification accuracy of each solution obtained by the support vector machine classifier and the number of features selected in the solution to evaluate the goodness of the plant location, finding the most characteristic subset with the improved island algorithm. The performance of the algorithm is verified by a two-part experiment. The experimental results show that the IAGMFS algorithm can find a subset of features with high classification accuracy for a small number of features. In order to adapt to the needs of big data, the next step is to consider introducing the idea of parallelization to improve the computation speed.



---

*Source: 1438999-2022-03-12.xml*