# Semi-Supervised Ensemble Classifier with Improved Sparrow Search Algorithm and Its Application in Pulmonary Nodule Detection

Authors: Jiangnan Zhang; Kewen Xia; Ziping He; Zhixian Yin; Sijie Wang
Journal: Mathematical Problems in Engineering
 (2021)

---

## Abstract

The Adaptive Boosting (AdaBoost) classifier is a widely used ensemble learning framework, and it can get good classification results on general datasets. However, it is challenging to apply the AdaBoost classifier directly to pulmonary nodule detection of labeled and unlabeled lung CT images since there are still some drawbacks to ensemble learning method. Therefore, to solve the labeled and unlabeled data classification problem, the semi-supervised AdaBoost classifier using an improved sparrow search algorithm (AdaBoost-ISSA-S4VM) was established. Firstly, AdaBoost classifier is used to construct a strong semi-supervised classifier using several weak classifiers S4VM (AdaBoost-S4VM). Next, in order to solve the accuracy problem of AdaBoost-S4VM, sparrow search algorithm (SSA) is introduced in the AdaBoost classifier and S4VM. Then, sine cosine algorithm and new labor cooperation structure are adopted to increase the global optimal solution and convergence performance of sparrow search algorithm, respectively. Furthermore, based on the improved sparrow search algorithm and adaptive boosting classifier, the AdaBoost-S4VM classifier is improved. Finally, the effective improved AdaBoost-ISSA-S4VM classification model was developed for actual pulmonary nodule detection based on the publicly available LIDC-IDRI database. The experimental results have proved that the established AdaBoost-ISSA-S4VM classification model has good performance on labeled and unlabeled lung CT images.


---

## Body

## 1. Introduction

Pulmonary nodule detection belongs to the category of classification. The pulmonary nodule detection based on lung CT images is the key to diagnose lung cancer for doctors. In the field of actual lung CT image recognition, classification accuracy and acquisition of lung CT image labels are crucial issues. To solve the classification accuracy problem, ensemble learning is introduced. After 30 years of development, ensemble learning has been applied in many fields of machine learning [1, 2] and is considered to be one of the effective ways to improve classification accuracy problem. In 1996, Breiman proposed the Bagging algorithm [3] which is similar to the Boosting algorithm [4]. This algorithm is one of the many algorithm families in the field of ensemble learning. But, the Boosting algorithm is difficult to apply in practical problems, because that it must know the generalization lower bound of the “weak” learning algorithm. To solve this problem, Freund and Schapire proposed the famous adaptive boosting (AdaBoost) algorithm in 1997 [5]. Compared with the Boosting algorithm, this algorithm has stronger robustness and applicability and further promotes the development of ensemble learning. In many researches, the combination of AdaBoost classifier is optimized by the method of “weak” classifier, such as support vector machine (SVM) method [6] and long short-term memory (LSTM) network [7].Although AdaBoost classifier has been successfully applied in many fields with its competitive accuracy, the AdaBoost classifier in classification problem of missing part of lung CT image labels show the main weakness: when dealing with labeled and unlabeled lung CT images, the classification cannot be classified well alone. To solve this problem, a hybrid ensemble learning approach is proposed for pulmonary nodule detection combining AdaBoost algorithm and safe semi-supervised support vector machine (S4VM) [8]. In addition, its performance is also mainly affected by the key parameters in the model. The corresponding weight of each weak classifier β needs to be optimized in AdaBoost-S4VM. And the S4VM optimization involves two main hyper-parameters: regularization trading off the complexity parameter C1 and the empirical error on label and unlabeled data parameter C2. The parameter of S4VM is usually optimized by the 10-fold cross-validation method that cannot adapt to the data automatically and set the parameter range difficultly. And, it is easy to fall into the local optimum. In order to overcome the above shortcomings, many researches have proposed the use of intelligent optimization algorithms to optimize the key parameters of the S4VM model. These algorithms include quasi-Newton algorithms [9], cuckoo search algorithm (CS) [10], and beetle antennae search (BAS) [11]. For the advantages of sparrow search algorithm (SSA) [12], such as simple principle, strong mining capacity, and few adjustable parameters, the improved SSA that improves the classification performance of AdaBoost-S4VM is used to optimize the key parameters of AdaBoost-S4VM and S4VM in this research. As well as, hybrid strategy which is one of the main research directions to improve the performance of swarm intelligence algorithms has become a research hotspot in machine learning. Rasoulizadeh et al. [13] modified local RBF-generated finite difference method (RBF-FD) based on local stencil nodes which has a sparsity system to overcame the dense and ill-condition. Rashidinia et al. [14] also has proposed the two meshless collocation methods based on radial basis function-generated finite difference (RBF-FD) and global RBF(GRBF) methods, and the simulation results have shown that the proposed approach was viable and effective. Can et al. [15] modified the idea of the interpolation by radial basis function, and the obtained results show that the proposed method is able to provide valid and accurate results and outperform other counterparts.In this study, in view of the shortcomings of the AdaBoost algorithm, the S4VM weak classifier is introduced. Then, SSA is used to optimize the parameters of AdaBoost-S4VM. But, it has disadvantages such as easy to fall into local optimum and poor performance in solving complex optimization problems. After that, because the sine cosine algorithm (SCA) [16] has the characteristics of achieving high search and avoiding local optimization, we first introduced the SCA algorithm to improve the global search capability of the SSA algorithm. Additionally, in order to enhance the convergence ability of the SSA algorithm, the labor cooperation structure of the sparrow in the SSA algorithm is redefined. Finally, based on the new labor cooperation structure and SCA algorithm, the improved cooperative sparrow search algorithm based on sine cosine algorithm (SCA-CSSA) is proposed. The SCA-CSSA algorithm is used to optimize the weight of AdaBoost-S4VM and the key parameters of S4VM to improve the accuracy of the AdaBoost-S4VM model for semi-supervised lung CT classification. And, the improved semi-supervised AdaBoost classification model using an improved sparrow search algorithm (AdaBoost-ISSA-S4VM) was established. In order to verify the effectiveness of the proposed AdaBoost-ISSA-S4VM model, first it compared with several hybrid algorithms and popular algorithms on CEC2017 functions and 12 benchmark functions, including unimodal and multimodal functions. In addition, in order to evaluate the effectiveness of the AdaBoost-ISSA-S4VM model, it is also compared with the supervised classifiers and semi-supervised classifiers. Experimental results show that the improved machine learning model proposed has better stability and higher prediction accuracy.


## 2. The Basic Method

### 2.1. Adaptive Boosting (AdaBoost)

The AdaBoost classifier algorithm is implemented by changing the data distribution. It determines the weight of each sample based on whether the classification of each sample in each training dataset is correct and the accuracy of the last overall classification accuracy. It sends the new dataset with modified weights to the lower classifier for training, and so on. Finally, according to the calculated corresponding weights, we will get the final desired “strong classifier” named AdaBoost-S4VM by stacking a series of “weak classifiers.” The strong learning algorithm is defined as follows:(1)Gx=sign∑m=1Mβmgmx,where gmx is the basic weak classifier, βmm=1,…,M is the corresponding weight of each weak classifier, and M is the total number of basic weak classifiers.The calculation method of the weight coefficientβmm=1,…,M of gmx is(2)βm=12log1−emem,where em is the error rate of calculating gm on the training set, that is, em=PGmxi≠yi=∑i=1NwmiIGmxi≠yi.Since we explore the discrimination of features by training weak classifiers and organize the AdaBoost classifiers in a cascade way, we ask for simple weak classifiers, with which the target of the cascade-AdaBoost classifier can be easily controlled. Thus, simple threshold classifiers are chosen as weak classifiers as follows:(3)gmx=1,Tlower≤x≤Tupper,0,otherwise,where Tlower and Tupper are thresholds for the weak classifier gm, which can be obtained by using a semi-exhaustive search technique.


### 2.2. Safe Semi-Supervised Support Vector Machines (S4VM)

The core design idea of S4VM is that it optimizes the classification of unlabeled sample data when there are many different situations that meet the larger “interval” dividing line. So that the performance improvement relative to the support vector machine that only uses labeled samples is maximized in the worst case. And, the objective functionhf,y^ that S4VM needs to optimize is as follows:(4)hf,y^=fH2+C1∑i=1llyi,fxi+C2∑j=1ulyj^,fxj^.Its goal is to find multiple large-margin low-density separatorsftt=1T and the corresponding label assignments yt^t=1T such that the following functional is minimized:(5)minft,yt^∈Bt=1T∑t=1Thft,yt^+MΩyt^t=1T,where T is the number of separators, Ω is a quantity of penalty about the diversity of separators, and M is a large constant enforcing large diversity.And,Ωyt^t=1T is as sum of pairwise terms. Here it is defined as Ωyt^t=1T=∑1≤t≠t˜≤TIy^t′y^t˜/u≥1−ε, where I is the identity function and ε∈0,1 is a constant, but note that other penalty quantities are also applicable. Without loss of generality, suppose that f is a linear model, and it is defined as f(x) = w′ϕ(x) + b Where ϕx is a feature mapping induced by the kernel k. Then, the optimization problem to be solved can be expressed as follows:(6)minwt,bt,yt^∈Bt=1T∑t=1T12wt2+C1∑i=1lξi+C2∑j=1uξj^+M∑1≤t≠t˜≤TIy^t′y^t˜u≥1−ε,s.tyiwt′ϕxi+bt≥1−ξi,ξi>0,y^t,jwt′ϕxj^+bt≥1−ξj^,ξj^>0,∀i=1,…,l,∀j=1,…,u,∀t=1,…,T,where y^t,j refers to the jth entry of y^t. Formula (6) is nonconvex, and in the following, we will present two solutions. It is evident that this can also be implemented by other solutions, especially those based on efficient S3VMs.


### 2.3. Sparrow Search Algorithm (SSA)

Sparrow search algorithm (SSA) was originally proposed by Xue et al. The algorithm imitates the unique predation method of sparrows in nature to solve the optimization problem. In SSA, the position of the sparrow in the population is the candidate solution for a given optimization problem. According to the mathematical model of SSA, the behavior of the sparrows is mainly divided into three divisions of labor: producers, scroungers and sparrows at the edge of the group.According to the rules of producers and once the sparrow detects the predator, the producers can search for food in a broad range of the places than that of the scroungers. The location of the producer is updated as follows:(7)Xi,jt+1=Xi,jt⋅exp−iα⋅itermax,R2<ST,Xi,jt+Q⋅L,R2≥ST,where t indicates the current iteration, j=1,2,…,d.Xi,jt+1 represents the value of the jth dimension of the ith sparrow at iteration t. itermax is a constant with the largest number of iterations, α∈0,1 is a random number, R2R2∈0,1 and STST∈0.5,1.0 represent the alarm value and the safety threshold, respectively. Q is a random number which obeys normal distribution, and L shows a matrix of 1×d for which each element inside is 1.According to rules of producers and the scroungers, the position update formula for the scrounger is described as follows:(8)Xi,jt+1=Q⋅expXworstt−Xi,jti2,i≥n2,XPt+1+Xi,jt−XPt+1⋅A+⋅L,otherwise,where XP is the optimal position occupied by the producer, Xworst denotes the current global worst location, A represents a matrix of 1×d for which each element inside is randomly assigned 1or−1, and A+=ATAAT−1. When i>n/2, it suggests that the ith scrounger with the worse fitness value is most likely to be starving.According to rule of the sparrows at the edge of the group, the mathematical model of the sparrows at the edge of the group can be expressed as follows:(9)Xi,jt+1=Xbestt+β⋅Xi,jt−Xbestt,fi>fg,Xi,jt+K⋅Xi,jt−Xworsttfi−fw+ε,fi=fg,where Xbest is the current global optimal location. β, as the step size control parameter, is a normal distribution of random numbers with a mean value of 0 and a variance of 1, and K∈0,1 is a random number. Here, fi is the fitness value of the present sparrow, fg and fw are the current global best and worst fitness values, respectively, and ε is the smallest constant so as to avoid zero-division-error.


## 2.1. Adaptive Boosting (AdaBoost)

The AdaBoost classifier algorithm is implemented by changing the data distribution. It determines the weight of each sample based on whether the classification of each sample in each training dataset is correct and the accuracy of the last overall classification accuracy. It sends the new dataset with modified weights to the lower classifier for training, and so on. Finally, according to the calculated corresponding weights, we will get the final desired “strong classifier” named AdaBoost-S4VM by stacking a series of “weak classifiers.” The strong learning algorithm is defined as follows:(1)Gx=sign∑m=1Mβmgmx,where gmx is the basic weak classifier, βmm=1,…,M is the corresponding weight of each weak classifier, and M is the total number of basic weak classifiers.The calculation method of the weight coefficientβmm=1,…,M of gmx is(2)βm=12log1−emem,where em is the error rate of calculating gm on the training set, that is, em=PGmxi≠yi=∑i=1NwmiIGmxi≠yi.Since we explore the discrimination of features by training weak classifiers and organize the AdaBoost classifiers in a cascade way, we ask for simple weak classifiers, with which the target of the cascade-AdaBoost classifier can be easily controlled. Thus, simple threshold classifiers are chosen as weak classifiers as follows:(3)gmx=1,Tlower≤x≤Tupper,0,otherwise,where Tlower and Tupper are thresholds for the weak classifier gm, which can be obtained by using a semi-exhaustive search technique.


## 2.2. Safe Semi-Supervised Support Vector Machines (S4VM)

The core design idea of S4VM is that it optimizes the classification of unlabeled sample data when there are many different situations that meet the larger “interval” dividing line. So that the performance improvement relative to the support vector machine that only uses labeled samples is maximized in the worst case. And, the objective functionhf,y^ that S4VM needs to optimize is as follows:(4)hf,y^=fH2+C1∑i=1llyi,fxi+C2∑j=1ulyj^,fxj^.Its goal is to find multiple large-margin low-density separatorsftt=1T and the corresponding label assignments yt^t=1T such that the following functional is minimized:(5)minft,yt^∈Bt=1T∑t=1Thft,yt^+MΩyt^t=1T,where T is the number of separators, Ω is a quantity of penalty about the diversity of separators, and M is a large constant enforcing large diversity.And,Ωyt^t=1T is as sum of pairwise terms. Here it is defined as Ωyt^t=1T=∑1≤t≠t˜≤TIy^t′y^t˜/u≥1−ε, where I is the identity function and ε∈0,1 is a constant, but note that other penalty quantities are also applicable. Without loss of generality, suppose that f is a linear model, and it is defined as f(x) = w′ϕ(x) + b Where ϕx is a feature mapping induced by the kernel k. Then, the optimization problem to be solved can be expressed as follows:(6)minwt,bt,yt^∈Bt=1T∑t=1T12wt2+C1∑i=1lξi+C2∑j=1uξj^+M∑1≤t≠t˜≤TIy^t′y^t˜u≥1−ε,s.tyiwt′ϕxi+bt≥1−ξi,ξi>0,y^t,jwt′ϕxj^+bt≥1−ξj^,ξj^>0,∀i=1,…,l,∀j=1,…,u,∀t=1,…,T,where y^t,j refers to the jth entry of y^t. Formula (6) is nonconvex, and in the following, we will present two solutions. It is evident that this can also be implemented by other solutions, especially those based on efficient S3VMs.


## 2.3. Sparrow Search Algorithm (SSA)

Sparrow search algorithm (SSA) was originally proposed by Xue et al. The algorithm imitates the unique predation method of sparrows in nature to solve the optimization problem. In SSA, the position of the sparrow in the population is the candidate solution for a given optimization problem. According to the mathematical model of SSA, the behavior of the sparrows is mainly divided into three divisions of labor: producers, scroungers and sparrows at the edge of the group.According to the rules of producers and once the sparrow detects the predator, the producers can search for food in a broad range of the places than that of the scroungers. The location of the producer is updated as follows:(7)Xi,jt+1=Xi,jt⋅exp−iα⋅itermax,R2<ST,Xi,jt+Q⋅L,R2≥ST,where t indicates the current iteration, j=1,2,…,d.Xi,jt+1 represents the value of the jth dimension of the ith sparrow at iteration t. itermax is a constant with the largest number of iterations, α∈0,1 is a random number, R2R2∈0,1 and STST∈0.5,1.0 represent the alarm value and the safety threshold, respectively. Q is a random number which obeys normal distribution, and L shows a matrix of 1×d for which each element inside is 1.According to rules of producers and the scroungers, the position update formula for the scrounger is described as follows:(8)Xi,jt+1=Q⋅expXworstt−Xi,jti2,i≥n2,XPt+1+Xi,jt−XPt+1⋅A+⋅L,otherwise,where XP is the optimal position occupied by the producer, Xworst denotes the current global worst location, A represents a matrix of 1×d for which each element inside is randomly assigned 1or−1, and A+=ATAAT−1. When i>n/2, it suggests that the ith scrounger with the worse fitness value is most likely to be starving.According to rule of the sparrows at the edge of the group, the mathematical model of the sparrows at the edge of the group can be expressed as follows:(9)Xi,jt+1=Xbestt+β⋅Xi,jt−Xbestt,fi>fg,Xi,jt+K⋅Xi,jt−Xworsttfi−fw+ε,fi=fg,where Xbest is the current global optimal location. β, as the step size control parameter, is a normal distribution of random numbers with a mean value of 0 and a variance of 1, and K∈0,1 is a random number. Here, fi is the fitness value of the present sparrow, fg and fw are the current global best and worst fitness values, respectively, and ε is the smallest constant so as to avoid zero-division-error.


## 3. The Proposed Method

The sparrow search algorithm and the principle of AdaBoost classifier have been clarified, and the basic S4VM has also been discussed. However, the pulmonary nodule detection classifying process based on lung CT images is complex and challenging.Although the AdaBoost classifier is novel and superior, there are still some shortcomings when utilized to the pulmonary nodule detection classifying problem based on lung CT images. Thus, two improving strategies called “S4VM algorithm” and “parameters optimization” or “weight optimization” are introduced to the original AdaBoost classifier and AdaBoost-S4VM, respectively, to help them jump out of local optima.There are also some shortcomings in SSA to optimize them, so a sine cosine algorithm is used as hybrid algorithm to help it jump out of local optima. And, a new division of labor structure is introduced to the original SSA to help it converge to the global optimal solution faster and more stably. In this section, the proposed SCA-CSSA algorithm, AdaBoost-S4VM algorithm, and AdaBoost-ISSA-S4VM algorithm will be discussed in detail.


### 3.1. The Proposed AdaBoost-S4VM Model (AdaBoost-S4VM)

The AdaBoost classifier algorithm is implemented by changing the data distribution. It determines the weight of each sample based on whether the classification of each sample in each training dataset is correct and the accuracy of the last overall classification accuracy. It sends the new dataset with modified weights to the lower classifier for training and so on. Finally, according to the calculated corresponding weights, we will get the final desired “strong classifier” named AdaBoost-S4VM by stacking a series of “weak classifiers.” The strong learning algorithm is defined as follows:(10)Gx=sign∑m=1Mβmgmx,where gmx is the basic weak classifier, βmm=1,…,M is the corresponding weight of each weak classifier and it is defined as ∑m=1Mβm=1,0≤βm≤1, and M is the total number of basic weak classifiers.According to the characteristic of formulas (6) and (10), we can get the improved AdaBoost-S4VM formula combined with “weak” classifier S4VM as follows:(11)Gx=∑m=1Mβmminwt,bt,yt^∈Bt=1T∑t=1T12wt2+C1∑i=1lξi+C2∑j=1uξj^+M∑1≤t≠t˜≤TIy^t′y^t˜u≥1−ε,where βmm=1,…,M is the corresponding weight of each S4VM classifier and it is defined as ∑m=1Mβm=1,0≤βm≤1 and M is the total number of basic S4VM classifiers.


### 3.2. The Proposed Sparrow Search Algorithm (SCA-CSSA)

It can be seen fromSection 3.1 that, in order to obtain the optimal classification effect and efficiency, parameters C1, C2, and weight βmm=1,…,M need to be optimized. But, due to the disadvantages of being easy to fall into the local optimum and slow convergence speed of the original SSA, it is difficult to guarantee the quality of the obtained solution. In response to these problems, SCA algorithm and a new labor cooperation structure is used to improve the global and local search capability of SSA algorithm.The sine cosine algorithm (SCA) position can be written mathematically as follows:(12)Xit+1=Xit+r1⋅sinr2⋅r3Pit−Xit,r4<0.5,Xit+r1⋅cosr2⋅r3Pit−Xit,r4≥0.5,where Xit is the position of the current solution in i-th dimension at t-th iteration, r2/r3 are random numbers, Pi is position of the destination point in i-th dimension,  indicates the absolute value, and r4 is a random number in 0,1.In order to balance exploration and exploitation, the range of sine and cosine in formula (12) is changed adaptively using the following equation:(13)r1=a−taT,where t is the current iteration, T is the maximum number of iterations, and a is a constant.To increase the search speed and jump out of local optimization, the SCA algorithm is introduced in SSA. Because SCA has the characteristics of increasing the search speed and jumping out of local optimization, it can well avoid the problem of premature sparrows. The following formula is the update SSA formula that combines the SCA algorithm:(14)Xi,jSSA=Xi,jt+1⊕SCAα,(15)Xit+1=Xit,fitnessXiSSA>fitnessXit,XiSSA,fitnessXiSSA≤fitnessXit.Then, in the improved SSA algorithm, a new labor cooperation structure is first used to converge to the global optimal solution faster and more stably. In the new labor cooperation structure, three divisions of sparrows are also defined: producer, scrounger, and sparrows at the edge of the group. Since the producer and scrounger determine the location range and convergence performance of the group, they share their locations to achieve cooperation. Then, cooperation could make both producer and scrounger great, thereby achieving the effect of improving convergence. The location of the producer is remarked as follows:(16)X1=Xi,jt+1=Xi,jt⋅exp−iα⋅itermax,R2<ST,Xi,jt+Q⋅L,R2≥ST.The position remarked formula for the scrounger is described as follows:(17)X2=Xi,jt+1=Q⋅expXworstt−Xi,jti2,i≥n2,XPt+1+Xi,jt−XPt+1⋅A+⋅L,otherwise,This process can be expressed by the following formula:(18)Xi,jcooperative=w1X1+w2X22,(19)w1,w2=w1=2,w2=0,fitnessX1=minbest,w1=0,w2=2,fitnessX2=minbest,w1=1,w2=1,fitnessX1≠minbest&fitnessX2≠minbest,where minbest refers to the global optimal minimum solution.(20)Xit=Xicooperative,fitnessXicooperative>fitnessXit,Xit,fitnessXicooperative≤fitnessXit.The pseudocode of the whole SCA-CSSA is given below in Algorithm1.Algorithm 1:The framework of the SCA-CSSA.
Input: the maximum iterations: iter_max; the number of producers: P_Num; the number of sparrows who perceive the danger: SD_Num; the number of sparrows: pop; dynamic parameter: a;Output: global optimal position: Xbest; fitness of global optimal position: fg;Begin:(1)
Initialize a population of sparrowspop and define its relevant parameters.(2)
whilet<iter_max(3)
Rank the fitness values and find the current best individual and the current worst individual.(4)
R2=rand1(5)
fori=1:pop(6)
Using formula (16), update the sparrow’s location;(7)
end for(8)
fori=1:pop(9)
Using formula (17), update the sparrow’s location;(10)
end for/∗ the new division of labor structure scheme ∗/(11)
Using formulas (18) and (19), update the producer and scrounger’s cooperative location;(12)
If the new location is better than before, update it use formula (20);(13)
forl=1:SD_Num(14)
Using formula (9) update the sparrow’s location;(15)
end for(16)
Get the current new location;(17)
If the new location is better than before, update it;/∗ sine cosine algorithm scheme ∗/(18)
Using formula (14), update the SCA sparrow’s location;(19)
If the new location is better than before, update it use formula (15);(20)
t=t+1(21)
end while(22)
returnXbest, fg.


### 3.3. The Proposed AdaBoost-S4VM Model Improved by the Improved Sparrow Search Algorithm (AdaBoost-ISSA-S4VM)

After getting the improved SCA-CSSA, it can be seen fromSection 3.1 that, in order to obtain the optimal classification effect and efficiency, parameters C1 and C2 and weight βmm=1,…,M need to be optimized.Finally, the AdaBoost-S4VM parameter is optimized using SCA-CSSA. And, the pseudocode of AdaBoost-ISSA-S4VM is shown in Algorithm2.Algorithm 2:AdaBoost-ISSA-S4VM classification model algorithm.
Input: weak classifier type: S4VM; train data set, train label set, test data set, test label set; the maximum iterations: M; kernel: RBF; parameters of S4VM: weight for the hinge loss of labeled instance C1, weight for the hinge loss of unlabeled instance C2, and the sampling times for each trial sampleTime.Output: prediction label of test data set(1)
set the weights of the training data setD1=w11,…,w1i,…,w1N, w1i=1/N;(2)
form=1:M(3)
If there are misclassification points/∗ Parameter selection based on SCA-CSSA ∗/(4)
According to SCA-CSSA, find the optimal hyper-parametersC1,C2 of weak classifier S4VM;/∗Weight of AdaBoost selection based on SCA-CSSA ∗/(5)
According to SCA-CSSA, find the optimal weightβmm=1,…,M of weak classifier S4VM;(6)
Using the weight distributionβm, calculate the mth weak classifier Gm;(7)
Update the weight distribution of the training setwm+1,i;(8)
m=m+1;(9)
else(10)
jump out of the loop;(11)
end(12)
end for(13)
According to formula (11), m groups of weak classifiers are linearly combined, and the final classifier is output;(14)
Use the final classifier to predict the training set classification.


## 3.1. The Proposed AdaBoost-S4VM Model (AdaBoost-S4VM)

The AdaBoost classifier algorithm is implemented by changing the data distribution. It determines the weight of each sample based on whether the classification of each sample in each training dataset is correct and the accuracy of the last overall classification accuracy. It sends the new dataset with modified weights to the lower classifier for training and so on. Finally, according to the calculated corresponding weights, we will get the final desired “strong classifier” named AdaBoost-S4VM by stacking a series of “weak classifiers.” The strong learning algorithm is defined as follows:(10)Gx=sign∑m=1Mβmgmx,where gmx is the basic weak classifier, βmm=1,…,M is the corresponding weight of each weak classifier and it is defined as ∑m=1Mβm=1,0≤βm≤1, and M is the total number of basic weak classifiers.According to the characteristic of formulas (6) and (10), we can get the improved AdaBoost-S4VM formula combined with “weak” classifier S4VM as follows:(11)Gx=∑m=1Mβmminwt,bt,yt^∈Bt=1T∑t=1T12wt2+C1∑i=1lξi+C2∑j=1uξj^+M∑1≤t≠t˜≤TIy^t′y^t˜u≥1−ε,where βmm=1,…,M is the corresponding weight of each S4VM classifier and it is defined as ∑m=1Mβm=1,0≤βm≤1 and M is the total number of basic S4VM classifiers.


## 3.2. The Proposed Sparrow Search Algorithm (SCA-CSSA)

It can be seen fromSection 3.1 that, in order to obtain the optimal classification effect and efficiency, parameters C1, C2, and weight βmm=1,…,M need to be optimized. But, due to the disadvantages of being easy to fall into the local optimum and slow convergence speed of the original SSA, it is difficult to guarantee the quality of the obtained solution. In response to these problems, SCA algorithm and a new labor cooperation structure is used to improve the global and local search capability of SSA algorithm.The sine cosine algorithm (SCA) position can be written mathematically as follows:(12)Xit+1=Xit+r1⋅sinr2⋅r3Pit−Xit,r4<0.5,Xit+r1⋅cosr2⋅r3Pit−Xit,r4≥0.5,where Xit is the position of the current solution in i-th dimension at t-th iteration, r2/r3 are random numbers, Pi is position of the destination point in i-th dimension,  indicates the absolute value, and r4 is a random number in 0,1.In order to balance exploration and exploitation, the range of sine and cosine in formula (12) is changed adaptively using the following equation:(13)r1=a−taT,where t is the current iteration, T is the maximum number of iterations, and a is a constant.To increase the search speed and jump out of local optimization, the SCA algorithm is introduced in SSA. Because SCA has the characteristics of increasing the search speed and jumping out of local optimization, it can well avoid the problem of premature sparrows. The following formula is the update SSA formula that combines the SCA algorithm:(14)Xi,jSSA=Xi,jt+1⊕SCAα,(15)Xit+1=Xit,fitnessXiSSA>fitnessXit,XiSSA,fitnessXiSSA≤fitnessXit.Then, in the improved SSA algorithm, a new labor cooperation structure is first used to converge to the global optimal solution faster and more stably. In the new labor cooperation structure, three divisions of sparrows are also defined: producer, scrounger, and sparrows at the edge of the group. Since the producer and scrounger determine the location range and convergence performance of the group, they share their locations to achieve cooperation. Then, cooperation could make both producer and scrounger great, thereby achieving the effect of improving convergence. The location of the producer is remarked as follows:(16)X1=Xi,jt+1=Xi,jt⋅exp−iα⋅itermax,R2<ST,Xi,jt+Q⋅L,R2≥ST.The position remarked formula for the scrounger is described as follows:(17)X2=Xi,jt+1=Q⋅expXworstt−Xi,jti2,i≥n2,XPt+1+Xi,jt−XPt+1⋅A+⋅L,otherwise,This process can be expressed by the following formula:(18)Xi,jcooperative=w1X1+w2X22,(19)w1,w2=w1=2,w2=0,fitnessX1=minbest,w1=0,w2=2,fitnessX2=minbest,w1=1,w2=1,fitnessX1≠minbest&fitnessX2≠minbest,where minbest refers to the global optimal minimum solution.(20)Xit=Xicooperative,fitnessXicooperative>fitnessXit,Xit,fitnessXicooperative≤fitnessXit.The pseudocode of the whole SCA-CSSA is given below in Algorithm1.Algorithm 1:The framework of the SCA-CSSA.
Input: the maximum iterations: iter_max; the number of producers: P_Num; the number of sparrows who perceive the danger: SD_Num; the number of sparrows: pop; dynamic parameter: a;Output: global optimal position: Xbest; fitness of global optimal position: fg;Begin:(1)
Initialize a population of sparrowspop and define its relevant parameters.(2)
whilet<iter_max(3)
Rank the fitness values and find the current best individual and the current worst individual.(4)
R2=rand1(5)
fori=1:pop(6)
Using formula (16), update the sparrow’s location;(7)
end for(8)
fori=1:pop(9)
Using formula (17), update the sparrow’s location;(10)
end for/∗ the new division of labor structure scheme ∗/(11)
Using formulas (18) and (19), update the producer and scrounger’s cooperative location;(12)
If the new location is better than before, update it use formula (20);(13)
forl=1:SD_Num(14)
Using formula (9) update the sparrow’s location;(15)
end for(16)
Get the current new location;(17)
If the new location is better than before, update it;/∗ sine cosine algorithm scheme ∗/(18)
Using formula (14), update the SCA sparrow’s location;(19)
If the new location is better than before, update it use formula (15);(20)
t=t+1(21)
end while(22)
returnXbest, fg.


## 3.3. The Proposed AdaBoost-S4VM Model Improved by the Improved Sparrow Search Algorithm (AdaBoost-ISSA-S4VM)

After getting the improved SCA-CSSA, it can be seen fromSection 3.1 that, in order to obtain the optimal classification effect and efficiency, parameters C1 and C2 and weight βmm=1,…,M need to be optimized.Finally, the AdaBoost-S4VM parameter is optimized using SCA-CSSA. And, the pseudocode of AdaBoost-ISSA-S4VM is shown in Algorithm2.Algorithm 2:AdaBoost-ISSA-S4VM classification model algorithm.
Input: weak classifier type: S4VM; train data set, train label set, test data set, test label set; the maximum iterations: M; kernel: RBF; parameters of S4VM: weight for the hinge loss of labeled instance C1, weight for the hinge loss of unlabeled instance C2, and the sampling times for each trial sampleTime.Output: prediction label of test data set(1)
set the weights of the training data setD1=w11,…,w1i,…,w1N, w1i=1/N;(2)
form=1:M(3)
If there are misclassification points/∗ Parameter selection based on SCA-CSSA ∗/(4)
According to SCA-CSSA, find the optimal hyper-parametersC1,C2 of weak classifier S4VM;/∗Weight of AdaBoost selection based on SCA-CSSA ∗/(5)
According to SCA-CSSA, find the optimal weightβmm=1,…,M of weak classifier S4VM;(6)
Using the weight distributionβm, calculate the mth weak classifier Gm;(7)
Update the weight distribution of the training setwm+1,i;(8)
m=m+1;(9)
else(10)
jump out of the loop;(11)
end(12)
end for(13)
According to formula (11), m groups of weak classifiers are linearly combined, and the final classifier is output;(14)
Use the final classifier to predict the training set classification.


## 4. Experimental Studies

In this section, in order to evaluate the performance of the proposed SCA-CSSA and AdaBoost-ISSA-S4VM model, a series of experiments on test functions and CT images are used in this paper. All experiments in this paper are implemented using the following: MATLAB R2014b; Win 10 (64 bit); Inter (R) Core (TM) i5-10210M CPU @1.60 GHz 2.11 GHz.


### 4.1. Function Optimization Experiment

This section presents the evaluation of SCA-CSSA using a series of experiments on benchmark functions [17] and CEC2017 test functions [18]. To obtain fair results, all the experiments were conducted under the same conditions. The number of the population size is set as 30 in these algorithms. And, each algorithm runs 30 times independently for each function.


#### 4.1.1. Benchmark Functions and CEC 2017 Test Functions

When investigating the effective and universal performance of SCA-CSSA compared with several hybrid algorithms and popular algorithms, 12 benchmark functions and CEC2017 test functions are applied. In order to test the effectiveness of the proposed SCA-CSSA, 12 benchmark functions are adopted, all of which have an optimal value of 0. The benchmark functions and their searching ranges are shown in Table1. In this test suite, f1−f7 are unimodal functions. These unimodal functions are usually used to test and investigate whether the proposed algorithm has a good convergence performance. Then, f8−f12 are multimodal functions. These multimodal functions are used to test the global search capability of the proposed algorithm. The smaller the fitness value of functions, the better the algorithm performs. Furthermore, in order to better verify the comprehensive performance of SCA-CSSA in a more comprehensively manner, another 30 complex CEC2017 test functions are used. The CEC2017 test functions are simply described in Table 2.Table 1
18 benchmark functions.
NameTest functionRangeSpheref1x=∑i=1Dxi2−100,100DSchwefel P2.22f2x=∑i=1Dxi+∏i=1Dxi−10,10DSchwefel P1.2f3x=∑i=1D∑jixj2−100,100DSchwefel 2.21f4x=maxixi,1≤i≤30−100,100DGeneralized Rosenbrockf5x=∑i=1D−1100xi2−xi+12+xi−12−10,10DStepf6x=∑i=1Dxi+0.52−100,100DNoisef7x=∑i=1Dixi4+rand0,1−1.28,1.28DGeneralized Rastriginf8x=∑i=1Dxi2−10cos2πxi+10−5.12,5.12DAckleyf9=20+e−20exp−0.21/D∑i=1Dxi2−exp1/D∑i=1Dcos2πxi−32,32DGeneralized Griewankf10x=∑i=1Dxi2/4000−∏i=1Dcosxi/i+1−600,600DGeneralized Penalized 1f11x=π/D10sin2πy1+∑i=1D−1yi−121+10sin2πyi+1+yD−12+∑i=1Duxi,10,100,4uxi,a,k,m=kxi−am,xi>a,0,−a≤xi≤a,k−xi−am,xi<−a,yi=1+1/4xi−50,50DGeneralized Penalized 2f12x=1/1010sin23πx1+∑i=1D−1xi−121+sin23πxi+1+xD−121+sin22πxD+∑i=1Duxi,5,100,4uxi,a,k,m=kxi−am,xi>a,0,−a≤xi≤a,k−xi−am,xi<−a.−50,50DTable 2
Summary of the CEC’17 test functions.
TypeNo.FunctionsFi∗=Fix∗Unimodal functionsF1Shifted and Rotated Bent Cigar function100F2Shifted and Rotated sum of different Power function∗200F3Shifted and Rotated Zakharov function300Simple multimodal functionsF4Shifted and Rotated Rosenbrock’s function400F5Shifted and Rotated Rastrigin’s function500F6Shifted and Rotated Expanded Scaffer’sF6 function600F7Shifted and Rotated Lunacek Bi_Rastrigin function700F8Shifted and Rotated noncontinuous Rastrigin’s function800F9Shifted and Rotated Levy function900F10Shifted and Rotated Schwefel’s function1000Hybrid functionsF11Hybrid function 1 (N = 3)1100F12Hybrid function 2 (N = 3)1200F13Hybrid function 3 (N = 3)1300F14Hybrid function 4 (N = 4)1400F15Hybrid function 5 (N = 4)1500F16Hybrid function 6 (N = 4)1600F17Hybrid function 6 (N = 5)1700F18Hybrid function 6 (N = 5)1800F19Hybrid function 6 (N = 5)1900F20Hybrid function 6 (N = 6)2000Composition functionsF21Composition function 1 (N = 3)2100F22Composition function 2 (N = 3)2200F23Composition function 3 (N = 4)2300F24Composition function 4 (N = 4)2400F25Composition function 5 (N = 5)2500F26Composition function 6 (N = 5)2600F27Composition function 7 (N = 6)2700F28Composition function 8 (N = 6)2800F29Composition function 9 (N = 3)2900F30Composition function 10 (N = 3)3000Search range−100,100D


#### 4.1.2. Parameter Settings

In order to verify the effectiveness and generalization of the proposed SCA-CSSA, the improved SCA-CSSA is compared with several hybrid algorithms and popular algorithms. These algorithms are SSA, SCA, SCA_SSA, and SCA_CSSA. Another 4 popular intelligence algorithms, such as particle swarm optimization (PSO) [19], bird swarm algorithm (BSA) [20], crow search algorithm (CSA) [21], whale optimization algorithm (WOA) [22], grasshopper optimization algorithm (GOA) [23], are used to compare with SCA-CSSA. These algorithms represented state-of-the-art can be used to better verify the performance of SCA-CSSA, in a more comprehensively manner. For fair comparison, the number of populations of all algorithms is set to 30, respectively, and other parameters of all algorithms are set according to their original papers. The initial controlling parameters of all algorithms are shown in Table 3.Table 3
Initial values for the controlling parameters of algorithms.
AlgorithmParameterValuePSOCognitive and social constants:c1,c22, 2Inertial weight:wLinearly decreases from 0.9 to 0.2BSAFlight interval:FQ10Cognitive accelerated and social accelerated coefficients:C,S1.5,1.5Direct effect:a1,a2Single point (probability = 1)CSAAwareness probability:AP0.1WOAProbability switch (p)0.4GOADecreasing coefficient:cLinearly decreases from 1 to 0.00004SCAMovement direction between the solution and destination:r1Decreases from 2 to 0Movement direction towards or outwards the destination:r20,2πA random weight for the destination:r3[0, 2]Switch between the sine and cosine components:r4[0, 1]SSAProducers account for percent of the total population size:P_percent0.2SSA-SCAMovement direction between the solution and destination:r1Decreases from 2 to 0Movement direction towards or outwards the destination:r20,2πA random weight for the destination:r3[0, 2]Switch between the sine and cosine components:r4[0, 1]SCA-CSSAMovement direction between the solution and destination:r1Decreases from 2 to 0Movement direction towards or outwards the destination:r20,2πA random weight for the destination:r3[0, 2]Switch between the sine and cosine components:r4[0, 1]


#### 4.1.3. Comparison on Benchmark Functions with Hybrid Algorithms and Popular Algorithms

According to theSection 2.2, the basic SSA method has been improved by two strategies. To investigate the effectiveness of SCA_CSSA, it has been compared with several popular algorithms and hybrid algorithms, such as PSO, BSA, CSA, WOA, GOA, SSA, SCA, and SCA-SSA, on 12 benchmark functions. Compared with SCA-CSSA, new labor cooperation structure is not used in SCA-SSA. In this experiment, the dimension’s size of these functions is 10. Dim = 10 is the typical dimensions for the benchmark functions. The number of function evaluations (FEs) is 1000. We selected two different function evaluations (FEs), such as FEs = 1000 and FEs = 10,000.The fitness value curves of a run of several algorithms on about eight different functions when FEs = 10,000 are shown in Figures1 and 2, where the horizontal axis represents the number of iterations and the vertical axis represents the fitness value. We can obviously see that the convergence speeds of several different algorithms. The maximum value (Max), the minimum value (Min), the mean value (Mean), and the variance (Var) obtained by several benchmark algorithms are shown in Tables 4 and 5, where the best results are marked in bold. Table 4 shows the performance of the several algorithms on unimodal functions when FEs = 1000, and Table 5 shows the performance of the several algorithms on multimodal functions when FEs = 1000.Figure 1
Fitness value curves of 9 algorithms on (a)f1; (b) f3; (c) f5 (FEs = 10,000).
(a)(b)(c)Figure 2
Fitness value curves of 9 algorithms on (a)f8; (b) f9; (c) f10 (FEs = 10,000).
(a)(b)(c)Table 4
Comparison on 7 unimodal functions (FEs = 1000).
Fun.TermPSOBSACSAWOAGOASCASSASCA-SSASCA-CSSAf1Max1.56E + 047.19E + 031.57E + 041.55E + 047.02E + 031.38E + 042.466.16E − 013.43E − 01Min2.44E − 4301.56E + 042.00E − 1564.03E − 071.30E − 304.04E − 1274.51E − 1130Mean9.95E + 012.83E + 011.56E + 047.63E + 012.92E + 026.15E + 021.43E − 031.14E − 033.83E − 04Std1.00E + 033.41E + 026.09E + 018.22E + 024.76E + 022.12E + 035.49E − 022.47E − 021.10E − 02f2Max1.43E + 032.24E + 011.37E + 032.77E + 039.84E + 011.91E + 022.043.123.81Min7.63E − 232.66E − 2178.352.08E − 1082.52E − 047.42E − 229.86E − 719.92E − 660Mean3.001.24E − 011.07E + 023.127.031.202.63E − 036.45E − 035.03E − 03Std5.28E + 011.312.73E + 028.84E + 011.21E + 018.606.05E − 021.14E − 011.26E − 01f3Max2.02E + 047.30E + 032.03E + 041.58E + 047.94E + 031.81E + 044.48E + 013.65E + 011.93E + 01Min1.88E − 1202.02E + 042.06E + 016.16E − 017.40E − 104.46E − 594.52E − 500Mean1.50E + 022.86E + 012.03E + 041.75E + 034.67E + 021.76E + 031.45E − 024.81E − 024.56E − 02Std1.39E + 033.49E + 029.352.78E + 036.95E + 024.12E + 031.421.214.55E − 01f4Max6.96E + 014.79E + 016.78E + 016.29E + 014.30E + 017.08E + 013.05E − 013.14E − 013.29E − 01Min6.79E − 101.61E − 2196.62E + 011.561.74E − 014.48E − 104.04E − 471.85E − 550Mean1.012.72E − 016.76E + 016.926.868.084.06E − 047.89E − 046.08E − 04Std5.552.904.82E − 011.07E + 016.221.78E + 018.80E − 031.25E − 021.19E − 02f5Max4.81E + 051.29E + 054.58E + 054.70E + 057.32E + 045.88E + 052.58E + 012.29E + 017.73Min4.498.977.11E + 035.926.027.044.00E − 077.63E − 077.80E − 08Mean1.05E + 032.57E + 026.40E + 041.36E + 039.72E + 021.94E + 042.56E − 026.11E − 021.45E − 02Std1.57E + 044.53E + 031.15E + 052.12E + 043.08E + 038.55E + 046.04E − 019.25E − 012.84E − 01f6Max1.52E + 046.85E + 031.67E + 041.54E + 046.89E + 031.51E + 041.992.303.44Min3.08E − 331.821.62E + 049.85E − 055.73E − 072.34E − 011.54E − 336.16E − 348.63E − 33Mean9.82E + 012.89E + 011.64E + 047.14E + 013.02E + +025.30E + 021.35E − 033.84E − 033.73E − 03Std1.01E + 033.22E + 021.44E + 028.20E + 024.90E + 021.79E + 034.49E − 028.17E − 021.11E − 01f7Max4.761.947.137.641.055.911.248.73E − 011.28Min3.80E − 031.11E − 045.08E − 019.47E − 043.00E − 031.64E − 033.91E − 044.64E − 049.87E − 05Mean3.59E − 016.41E − 036.47E − 014.59E − 021.16E − 022.37E − 012.06E − 032.41E − 031.93E − 03Std6.53E − 018.07E − 025.89E − 014.07E − 014.77E − 027.68E − 014.16E − 022.93E − 021.96E − 02Table 5
Comparison on 6 multimodal functions (FEs = 1000).
Fun.TermPSOBSACSAWOAGOASCASSASCA-SSASCA-CSSAf8Max1.23E + 021.05E + 021.18E + 021.12E + 021.11E + 021.12E + 023.34E + 015.18E + +013.85E + 01Min3.3603.15E + 0105.87E + 016.42E − 11000Mean2.36E + 017.33E − 014.20E + 015.867.39E + 011.72E + 014.73E − 027.62E − 024.12E − 02Std2.36E + 015.56E + 001.76E + 011.41E + 011.57E + 012.82E + 011.211.741.10f9Max1.99E + 011.79E + 011.91E + 011.96E + 011.77E + 012.00E + 012.742.591.07Min4.88E − 158.88E − 161.79E + 011.60E − 155.78E − 018.73E − 148.88E − 168.88E − 168.88E − 16Mean1.211.27E − 011.84E + 012.95E − 015.604.073.01E − 036.38E − 031.17E − 03Std2.161.334.25E − 011.814.096.828.74E − 021.06E − 012.94E − 02f10Max1.56E + 026.94E + 011.57E + 021.45E + 025.48E + 011.30E + 023.20E − 014.10E − 012.10E − 01Min1.21E − 0101.57E + 024.85E − 022.95E − 013.04E − 02000Mean5.782.99E − 011.57E + 027.52E − 013.427.123.52E − 047.56E − 041.91E − 04Std2.32E + 013.372.46E − 127.263.742.07E + 011.03E − 021.58E − 025.36E − 03f11Max9.94E + 071.39E + 075.90E + 078.76E + 071.02E + 076.01E + 071.271.447.33E − 01Min4.80E − 324.69E − 014.78E + 076.21E − 034.35E − 058.11E − 024.75E − 324.76E − 324.73E − 32Mean1.71E + 051.96E + 044.78E + 071.90E + 051.54E + 045.44E + 061.32E − 032.03E − 033.13E − 04Std3.54E + 064.59E + 054.49E + 063.29E + 063.64E + 051.42E + 074.03E − 024.90E − 021.47E − 02f12Max1.64E + 081.37E + 072.63E + 081.23E + 083.17E + 071.30E + 082.95E − 011.49E − 013.58E − 01Min3.72E − 329.57E − 012.63E + 082.71E − 041.06E − 023.06E − 011.57E − 321.35E − 321.35E − 32Mean3.58E + 052.19E + 042.63E + 083.88E + 055.97E + 045.15E + 064.25E − 045.95E − 043.39E − 04Std6.47E + 064.64E + 052.55E − 065.51E + 061.12E + 062.30E + 071.02E − 027.52E − 038.64E − 03(1) Unimodal Functions. The evolution curves of these algorithms on 3 unimodal functions f1, f3, and f5 are given in Figure 1. It can be detected from the figure that the curve of SCA-CSSA descends fastest in the number of iterations that are far less than 10,000 times. For f1 and f3 case, SCA-CSSA has the fastest convergence speed compared with other algorithms. But, on functions f1 and f3, the original CSA and GOA got the worst solution because it is trapped in the local optimum prematurely. For function f5, these algorithms did not find the value 0. However, SCA-CSSA continues to decline and the convergence speed of it is significantly faster than other algorithms in the early stage; the solution eventually found is the best. Overall, owing to enhance the diversity of population, SCA-CSSA has a relatively excellent convergence speed when FEs = 10,000.From the numerical testing results on 7 unimodal functions in Table4, we can see that SCA-CSSA can find the minimum value on f1, f2, f3, f4,f5, and f7. And, SCA-CSSA can find the optimal solution for all unimodal functions and get the minimum value of 0 on f1, f2, f3, and f4. It illustrates that the SCA-CSSA has best performance on unimodal functions compared to the other algorithms when FEs = 1000. Moreover, SCA-CSSA has the best maximum value (Max), the minimum value (Min), the mean value (Mean), and the standard deviation (Std) on f1, f3, f5, and f7. Obviously, the SCA-CSSA has a relatively good convergence speed. In summary, compared with these popular algorithms and hybrid algorithms, SCA-CSSA is a competitive algorithm for solving several functions and has the best performance on the most test benchmark functions.(2) Multimodal Functions. The evolution curves of these algorithms on 3 multimodal functions f8, f9, and f10 when FEs = 10,000 are depicted in Figure 2. We can see that SCA-CSSA can find the optimal solution in the same iteration. For f8 and f10 cases, SCA-CSSA continues to decline and got the best value 0. But, the original PSO and GOA get parallel straight lines because of their poor global convergence ability on these 3 functions. For function f9, although SCA-CSSA is also trapped the local optimum, it finds the minimum value compared to other algorithms. Obviously, the convergence speed of the SCA-CSSA is significantly faster than other algorithms in the early stage, and the solution eventually found is the best. In general, owing to enhance the diversity of population, SCA-CSSA has a relatively balanced global search capability when FEs = 10,000.From the numerical testing results on 5 multimodal functions in Table5, we can see that SCA-CSSA can find the optimal solution for all multimodal functions and get the minimum value of 0 on f8 and f10. The SCA-CSSA has relatively well performance on multimodal functions compared to the other algorithms. Moreover, SCA-CSSA has the best maximum value (Max), the minimum value (Min), the mean value (Mean), and the standard deviation (Std) on f9, f10, f11, and f12. Obviously, the SCA-CSSA has a relatively well global search capability. The main reason is that SCA-CSSA has a stronger global exploration capability based on the SCA method. In summary, the SCA-CSSA has a superior global search capability on most multimodal functions when FEs = 1000.


#### 4.1.4. Comparison on CEC2017 Test Functions with Hybrid Algorithms and Popular Algorithms

In order to further verify the universality of the proposed SCA_CSSA algorithm, it has been compared with PSO, BSA, WOA, GOA, SSA, SCA, and SCA_SSA on the latest CEC2017 test functions. In this experiment, the dimension’s size (Dim) is set to 10. The number of function evaluations (FEs) is 10,000. Experimental comparisons included the maximum value (Max), the minimum value (Min), the mean value (Mean), and the standard deviation (Std) and are given in Tables6 and 7, where the best results are marked in bold.Table 6
Comparison of numerical testing results on CEC2017 test sets (F1–F15, FEs = 10,000).
FunTermPSOBSAWOAGOASCASSASCA-SSASCA-CSSAF1Max1.92E + 101.44E + 102.70E + 101.26E + 101.95E + 102.18E + 102.00E + 101.38E + 10Min4.65E + 021.74E + 093.78E + 043.69E + 034.27E + 084.56E + 037.30E + 082.09E + 03Mean1.87E + 072.31E + 093.05E + 071.76E + 081.22E + 098.64E + 062.24E + 093.61E + 06Std4.71E + 089.39E + 085.99E + 083.16E + 081.10E + 093.14E + 082.46E + 091.67E + 08F3Max1.35E + 067.41E + 041.96E + 076.27E + 041.95E + 058.72E + 046.65E + 044.30E + 04Min3.00E + 028.88E + 033.60E + 023.00E + 027.16E + 023.00E + 025.85E + 033.00E + 02Mean6.09E + 021.09E + 042.79E + 038.61E + 023.98E + 033.89E + 021.03E + 043.50E + 02Std1.68E + 042.30E + 031.98E + 051.91E + 037.16E + 031.44E + 034.55E + 037.74E + 02F4Max3.58E + 032.32E + 033.47E + 031.69E + 033.76E + 031.87E + 032.51E + 031.19E + 03Min4.01E + 026.05E + 024.21E + 024.05E + 024.24E + 024.00E + 024.82E + 024.00E + 02Mean4.04E + 026.37E + 024.26E + 024.16E + 024.63E + 024.02E + 026.70E + 024.02E + 02Std6.72E + 016.56E + 015.12E + 012.33E + 019.46E + 012.42E + 012.13E + 021.20E + 01F5Max6.56E + 026.37E + 026.73E + 026.23E + 026.62E + 026.51E + 026.42E + 026.23E + 02Min5.39E + 025.63E + 025.49E + 025.20E + 025.38E + 025.30E + 025.42E + 025.28E + 02Mean5.40E + 025.66E + 025.51E + 025.31E + 025.53E + 025.31E + 025.51E + 025.28E + 02Std3.663.335.301.07E + 011.43E + 013.431.26E + 013.16F6Max6.98E + 026.71E + 027.16E + 026.72E + 027.02E + 026.95E + 026.87E + 026.61E + 02Min6.07E + 026.42E + 026.29E + 026.07E + 026.14E + 026.08E + 026.21E + 026.02E + 02Mean6.08E + 026.42E + 026.31E + 026.18E + 026.24E + 026.09E + 026.30E + 026.02E + 02Std3.571.264.211.13E + 011.17E + 012.471.08E + 011.72F7Max1.21E + 031.00E + 031.19E + 031.02E + 031.21E + 039.05E + 028.97E + 029.02E + 02Min7.20E + 027.90E + 027.74E + 027.30E + 027.64E + 027.67E + 027.86E + 027.42E + 02Mean7.26E + 027.93E + 027.75E + 027.51E + 027.89E + 027.71E + 028.07E + 027.44E + 02Std1.43E + 015.438.821.87E + 013.72E + 018.582.39E + 015.10F8Max9.56E + 029.10E + 029.51E + 029.29E + 029.45E + 029.29E + 029.24E + 028.99E + 02Min8.19E + 028.46E + 028.55E + 028.18E + 028.32E + 028.31E + 028.50E + 028.21E + 02Mean8.20E + 028.47E + 028.56E + 028.31E + 028.48E + 028.31E + 028.59E + 028.22E + 02Std3.852.193.731.31E + 011.84E + 012.371.13E + 011.74F9Max5.51E + 034.09E + 036.41E + 033.10E + 035.50E + 033.61E + 033.37E + 032.78E + 03Min9.00E + 021.51E + 031.36E + 039.00E + 029.56E + 021.39E + 031.28E + 039.33E + 02Mean9.07E + 021.54E + 031.44E + 039.44E + 021.18E + 031.41E + 031.50E + 039.43E + 02Std1.01E + 025.76E + 011.80E + 027.16E + 014.02E + 026.87E + 012.96E + 024.25E + 01F10Max3.92E + 033.52E + 033.67E + 033.64E + 033.68E + 033.61E + 033.66E + 033.52E + 03Min1.94E + 032.29E + 031.65E + 031.84E + 032.02E + 031.92E + 032.14E + 031.61E + 03Mean1.97E + 032.31E + 031.70E + 032.11E + 032.14E + 031.98E + 032.29E + 031.67E + 03Std1.04E + 024.89E + 011.55E + 021.80E + 021.56E + 029.65E + 012.20E + 021.09E + 02F11Max6.40E + 048.54E + 034.26E + 041.42E + 042.10E + 041.05E + 041.61E + 045.46E + 03Min1.14E + 031.46E + 031.16E + 031.12E + 031.15E + 031.19E + 031.37E + 031.12E + 03Mean1.18E + 031.54E + 031.19E + 031.17E + 031.33E + 031.19E + 031.75E + 031.12E + 03Std1.27E + 032.19E + 025.79E + 022.21E + 024.96E + 021.48E + 027.15E + 025.63E + 01F12Max3.57E + 092.19E + 093.71E + 092.62E + 091.99E + 091.22E + 091.83E + 095.84E + 08Min1.06E + 048.94E + 065.78E + 051.39E + 054.13E + 068.20E + 031.54E + 071.02E + 04Mean2.36E + 061.39E + 072.02E + 066.15E + 063.05E + 073.57E + 056.33E + 071.14E + 05Std7.49E + 074.66E + 074.27E + 073.18E + 076.96E + 071.56E + 071.22E + 086.35E + 06F13Max3.85E + 081.29E + 084.56E + 081.07E + 083.85E + 081.46E + 082.27E + 084.59E + 07Min7.89E + 033.19E + 032.03E + 043.28E + 031.58E + 043.59E + 032.42E + 042.03E + 03Mean1.30E + 052.06E + 041.32E + 053.21E + 042.30E + 052.71E + 045.00E + 051.03E + 04Std5.79E + 061.33E + 065.77E + 061.12E + 065.38E + 061.56E + 065.50E + 064.71E + 05F14Max1.98E + 076.27E + 051.21E + 078.62E + 055.10E + 061.01E + 067.43E + 063.07E + 05Min1.45E + 031.69E + 031.51E + 031.44E + 031.52E + 031.46E + 031.53E + 031.45E + 03Mean5.16E + 031.88E + 033.18E + 031.86E + 033.35E + 031.65E + 033.52E + 031.54E + 03Std2.40E + 057.24E + 031.31E + 058.97E + 037.50E + 041.11E + 047.81E + 043.44E + 03F15Max4.34E + 073.44E + 067.65E + 077.29E + 051.34E + 071.25E + 078.62E + 067.62E + 05Min1.53E + 034.84E + 032.33E + 031.60E + 031.76E + 031.59E + 031.98E + 031.53E + 03Mean1.24E + 047.19E + 031.12E + 043.00E + 036.23E + 033.35E + 038.97E + 031.71E + 03Std5.97E + 053.73E + 047.66E + 051.62E + 041.50E + 051.29E + 059.35E + 048.23E + 03Table 7
Comparison of numerical testing results on CEC2017 test sets (F16–F30, FEs = 10,000).
FunTermPSOBSAWOAGOASCASSASCA-SSASCA-CSSAF16Max2.81E + 032.62E + 032.88E + 032.50E + 032.77E + 032.73E + 032.68E + 032.58E + 03Min1.82E + 031.93E + 031.76E + 031.99E + 031.65E + 031.84E + 031.72E + 031.73E + 03Mean1.82E + 032.00E + 031.78E + 032.01E + 031.75E + 031.84E + 031.83E + 031.78E + 03Std2.81E + 014.95E + 014.40E + 015.57E + 011.00E + 022.38E + 011.28E + 025.95E + 01F17Max2.56E + 032.21E + 032.48E + 032.45E + 032.42E + 032.33E + 032.37E + 032.20E + 03Min1.77E + 031.86E + 031.77E + 031.88E + 031.76E + 031.78E + 031.77E + 031.75E + 03Mean1.78E + 031.86E + 031.77E + 031.90E + 031.79E + 031.78E + 031.80E + 031.75E + 03Std1.87E + 018.122.14E + 013.85E + 014.73E + 011.32E + 015.46E + 019.96F18Max1.56E + 092.95E + 087.81E + 081.68E + 082.77E + 084.24E + 083.51E + 085.92E + 07Min6.65E + 033.59E + 031.53E + 046.77E + 033.02E + 041.92E + 035.25E + 041.85E + 03Mean9.05E + 051.37E + 051.29E + 058.75E + 044.10E + 057.57E + 041.40E + 071.17E + 04Std3.20E + 074.34E + 068.45E + 062.00E + 065.17E + 064.73E + 061.86E + 076.34E + 05F19Max8.24E + 077.44E + 068.09E + 074.07E + 073.12E + 072.34E + 072.51E + 071.72E + 07Min1.91E + 032.54E + 031.30E + 041.96E + 032.11E + 031.94E + 033.14E + 031.92E + 03Mean3.09E + 046.41E + 034.19E + 049.89E + 032.42E + 047.92E + 033.52E + 044.13E + 03Std1.40E + 068.05E + 041.06E + 064.52E + 056.37E + 053.20E + 053.77E + 051.77E + 05F20Max2.57E + 032.41E + 032.64E + 032.66E + 032.50E + 032.58E + 032.51E + 032.46E + 03Min2.10E + 032.16E + 032.11E + 032.16E + 032.07E + 032.09E + 032.08E + 032.03E + 03Mean2.11E + 032.17E + 032.12E + 032.19E + 032.10E + 032.09E + 032.14E + 032.04E + 03Std1.44E + 018.342.26E + 013.93E + 015.07E + 011.14E + 015.83E + 012.46E + 01F21Max2.44E + 032.41E + 032.44E + 032.41E + 032.44E + 032.42E + 032.43E + 032.41E + 03Min2.32E + 032.33E + 032.28E + 032.32E + 032.21E + 032.32E + 032.31E + 032.29E + 03Mean2.32E + 032.34E + 032.28E + 032.33E + 032.23E + 032.32E + 032.33E + 032.30E + 03Std3.88E + 001.15E + 011.55E + 012.46E + 014.73E + 013.09E + 003.02E + 011.73E + 01F22Max4.04E + 033.48E + 034.12E + 034.85E + 034.20E + 034.16E + 034.27E + 033.14E + 03Min2.30E + 032.57E + 032.31E + 032.30E + 032.32E + 032.30E + 032.44E + 032.30E + 03Mean2.31E + 032.60E + 032.32E + 032.33E + 032.40E + 032.30E + 032.55E + 032.30E + 03Std4.53E + 012.72E + 014.79E + 015.02E + 011.23E + 022.97E + 011.97E + 021.06E + 01F23Max2.91E + 032.84E + 032.93E + 032.83E + 032.81E + 032.79E + 032.81E + 032.76E + 03Min2.70E + 032.74E + 032.64E + 032.61E + 032.64E + 032.63E + 032.65E + 032.61E + 03Mean2.70E + 032.75E + 032.65E + 032.62E + 032.65E + 032.63E + 032.66E + 032.62E + 03Std8.246.671.03E + 012.92E + 012.83E + 013.352.07E + 012.19F24Max3.04E + 033.00E + 033.05E + 032.93E + 032.94E + 032.91E + 032.97E + 032.92E + 03Min2.82E + 032.86E + 032.77E + 032.74E + 032.73E + 032.77E + 032.78E + 032.72E + 03Mean2.82E + 032.87E + 032.77E + 032.76E + 032.76E + 032.77E + 032.79E + 032.74E + 03Std8.28E + 007.49E + 007.41E + 002.96E + 014.61E + 014.22E + 001.68E + 011.64E + 01F25Max4.98E + 033.96E + 034.80E + 033.65E + 034.61E + 034.30E + 034.52E + 033.57E + 03Min2.92E + 033.09E + 032.94E + 032.95E + 032.94E + 032.93E + 032.95E + 032.89E + 03Mean2.92E + 033.10E + 032.95E + 032.96E + 032.99E + 032.93E + 033.07E + 032.90E + 03Std4.65E + 012.22E + 014.20E + 013.31E + 016.75E + 012.01E + 012.23E + 021.13E + 01F26Max4.67E + 034.65E + 035.17E + 034.06E + 034.90E + 035.29E + 035.03E + 034.46E + 03Min3.14E + 033.73E + 032.99E + 032.90E + 033.05E + 033.43E + 033.24E + 033.10E + 03Mean3.16E + 033.76E + 033.04E + 032.95E + 033.10E + 033.43E + 033.56E + 033.14E + 03Std7.01E + 013.82E + 011.43E + 026.14E + 011.14E + 023.62E + 013.55E + 026.78E + 01F27Max3.49E + 033.29E + 033.50E + 033.18E + 033.33E + 033.34E + 033.31E + 033.27E + 03Min3.12E + 033.18E + 033.13E + 033.10E + 033.10E + 033.10E + 033.10E + 033.09E + 03Mean3.12E + 033.18E + 033.13E + 033.10E + 033.10E + 033.10E + 033.12E + 033.09E + 03Std1.19E + 013.401.13E + 013.11E + 013.14E + 013.342.11E + 016.92F28Max4.14E + 033.94E + 034.42E + 034.23E + 034.03E + 034.05E + 033.44E + 033.49E + 03Min3.17E + 033.47E + 033.43E + 033.38E + 033.22E + 033.33E + 033.29E + 033.21E + 03Mean3.18E + 033.54E + 033.43E + 033.39E + 033.25E + 033.33E + 033.29E + 033.24E + 03Std3.97E + 015.20E + 012.38E + 013.67E + 016.14E + 011.33E + 016.271.77E + 01F29Max4.25E + 033.78E + 034.01E + 033.58E + 033.90E + 033.77E + 033.89E + 033.80E + 03Min3.21E + 033.36E + 033.28E + 033.28E + 033.20E + 033.26E + 033.26E + 033.20E + 03Mean3.21E + 033.36E + 033.29E + 033.30E + 033.24E + 033.26E + 033.31E + 033.23E + 03Std2.61E + 011.12E + 012.32E + 014.00E + 015.83E + 011.26E + 017.90E + 012.47E + 01F30Max2.96E + 086.29E + 072.70E + 081.54E + 078.63E + 077.88E + 077.97E + 073.54E + 07Min5.44E + 032.53E + 064.05E + 059.20E + 033.95E + 052.13E + 051.05E + 045.19E + 03Mean2.58E + 052.95E + 067.44E + 059.12E + 047.63E + 052.52E + 058.56E + 051.82E + 05Std6.56E + 061.58E + 063.18E + 066.69E + 051.64E + 061.22E + 063.10E + 067.56E + 05SCA-CSSA gets the minimum value onF3, F4, F6, F10, F11, F12, F13, and F14 in Table 6 and on F16, F17, F18, F19, F20, F22, F23, F24, F25, F27, F28, F29, and F30 in Table 7. According to the results, we can observe that SCA-CSSA does well on 21 CEC2017 test functions. Further, SCA-CSSA has the best maximum value (Max), the minimum value (Min), the mean value (Mean), and the standard deviation (Std) on F3, F4, F6, F10, F11, F12, F13, F14, and F15 in Table 6 and on F17, F18, F20, F22, F23, F24, and F25 in Table 7. Therefore, SCA-CSSA can not only find the optimal solution but also has stability on 16 CEC2017 test functions. In summary, it can be observed that SCA-CSSA obtains optimal value. It can be concluded that SCA-CSSA has better global search ability and better robustness on these test suites.


### 4.2. Application to Practical Pulmonary Nodule Detection Classification Problem Based on Lung CT Images

In this section, in order to evaluate the performance of SCA-CSSA in optimizing real-world optimization problem, the proposed AdaBoost-ISSA-S4VM model is used for Pulmonary Nodule Detection Classification. The CT images from LIDC/IDRI database were used for the AdaBoost-ISSA-S4VM classification. In order to obtain fair results, all the implementations, such as SVM [24], S4VM, AdaBoost-SVM, and AdaBoost-S4VM, are conducted under the same conditions. The experimental environment for all experiments in this section is the same as in Section 4.1. And, each algorithm runs 30 times independently for each classification model. Population size and maximum generation are set to 30 and 100, respectively.


#### 4.2.1. Design of Pulmonary Nodule Detection Classification System

In order to identify and classify the lung nodules and non-nodules, the processing module includes the preprocessing of DICOM image, the extraction of the lung parenchyma and lung nodule, the interception of the ROI (region of interest) image, the acquisition of ROI feature vectors, and the dimensionality reduction and classification of the vectors. Block diagram of the pulmonary nodule detection classification system based on the improved AdaBoost-ISSA-S4VM is shown in Figure3.Figure 3
Block diagram of the oil layer classification system based on AdaBoost-ISSA-S4VM.The pulmonary nodule detection classification can be simplified by the four steps (Figure4):Step 1 (Image Selection). The selection of the CT images of lung is solitary lung nodule. At the same time, the datasets should be closely related to lung cancer sample analysis. The dataset should be relatively independent. The dataset is randomly divided into two parts of training and testing samples.Step 2 (Picture Preprocessing). Read the CT images of lung first, as shown in Figure 4(a), and then use RPCA method which is improved by weighted nonconvex regularization for image denoising [25]. After enhancing the contrast ratio of the images through binarization processing, this study uses optimal threshold segmentation (OTSU) method to sharpen the image, as shown in Figure 4(b).Step 3 (Lung Parenchyma Extraction). In order to narrow the range of the lung parenchyma and reduce the difficulty of detection, thus improving the accuracy of detection, we fill the lung parenchyma, as shown in Figure 4(c). Then, do XOR to the figure; the area of lung parenchyma is obtained as shown in Figure 4(d). After deleting external and small area in lung parenchyma, the morphological method is used to repair the edge of the image, as shown in Figure 4(e). Finally, the lung parenchyma template and the image after pretreatment are multiplied to obtain the required lung parenchyma, as shown in Figure 4(f).Step 4 (ROI Region Extraction). The optimal threshold segmentation method is used again in order to extract the pathological part. After eliminating the linear structures, the small area is removed by removing smaller connected components, as shown in Figure 4(g). Finally, we can remove the false positives by the dot filter method which can remove the linear structure effectively and get the ROI regions as shown in Figure 4(h). The ROI regions include lung nodules and non-nodules as shown in Figures 4(i) and 4(j).Step 5 (Feature Vector Extraction). In order to avoid the influence of the particularity, heterogeneity, texture, and complexity of lung nodules on the selection of feature vectors, we introduce the Curvelet transform with rigorous mathematical theory based on the conventional feature extraction methods [24] to supplement the feature vectors.Step 6 (Classifier Training and Feature Classification). In the AdaBoost-ISSA-S4VM classifier, input the actual feature vector of lung node dataset after feature vector extraction, use AdaBoost-ISSA-S4VM classification algorithm to train, and finally get the AdaBoost-ISSA-S4VM classification model. The train dataset is identified by the trained AdaBoost-ISSA-S4VM classification model and the classification results are obtained as output.Figure 4
Some steps in the extraction process of lung nodules.
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)


#### 4.2.2. Practical Application

InSection 2.3, the performance of the proposed ISSA is simulated and analyzed on benchmark functions. In order to test the application effect of the improved AdaBoost-ISSA-S4VM classification model, the CT images of lung from LIDC/IDRI database is selected for experiments. According to the description of the XML annotation file of the case nodule information in the database, the solid solitary lung nodule was analyzed. ROI region extraction on the DICOM image is performed before feature vector extraction, as shown in Figure 4. Figure 4 shows some partial steps of lung nodule extraction, where the (a) is the original CT image, the (f) is a lung parenchyma after being processed, and the (i) and (j) are the suspected lesion areas. Finally, 200 RIO regions were extracted in this experiment, including 80 lung nodules and 195 non-nodules. After group them randomly, 125 of them are as the training set and 200 are as the test set for supervised learning model. And, 125 of them are as the labeled set and 200 are as the unlabeled set for semi-supervised learning model. Figure 5 shows some lung nodules and non-nodules gained from the experiment.Figure 5
Some of lung nodules and non-nodules obtained in the experiment. (a) Non-nodules; (b) lung nodules.
(a)(b)Feature vector extraction on the ROI regions datasets is performed before the training of AdaBoost-ISSA-S4VM classification model on the training dataset, as shown in Table8. 715 feature vector parameters are extracted, including 12 morphological feature parameters, 10 gray-scale feature parameters, 7 texture feature parameters, and 686 Curvelet transform coefficients. Then, these feature vectors are normalized to prevent features with large dynamic range from affecting the characteristic of features with small one, as shown in Table 9.Table 8
Feature vector extraction results of ROI regions.
Sample12345…71371471514.5925E + 021.00717.9167E − 014.5332E − 015.4959…1.3085E − 051.3085E − 051.3085E − 0527.4675E + 025.3339E − 018.7500E − 011.6086E − 024.2682…2.6276E − 052.6276E − 052.6276E − 0535.2038E + 025.9813E − 019.6667E − 012.9988E − 013.6474…1.1133E − 061.1133E − 061.1133E − 0643.8388E + 028.3633E − 016.2963E − 015.6769E − 011.7350…1.5003E − 061.5003E − 061.5003E − 0656.8213E + 026.7671E − 017.7778E − 012.8724E − 012.1450…1.1633E − 051.1633E − 051.1633E − 0566.0013E + 024.5361E − 015.5102E − 011.0952E − 021.9821…1.6688E − 051.6688E − 051.6688E − 0576.8838E + 028.6916E − 016.1111E − 011.3839E − 012.6320…2.2705E − 052.2705E − 052.2705E − 05…………………………1232.2238E + 037.5330E − 015.6944E − 013.5254E − 011.2325…1.1612E − 041.1612E − 041.1612E − 041248.4838E + 025.8792E − 019.4872E − 011.2225E − 015.1242…2.1470E − 052.1470E − 052.1470E − 051251.8721E + 036.4757E − 018.3051E − 015.4866E − 023.6554…1.7342E − 041.7342E − 041.7342E − 04Table 9
The normalized feature vector extraction results of Nodule.
Sample12345…71371471510.03910.71290.62270.17875.4959…0.00930.00930.009320.07970.36850.77360.00494.2682…0.01870.01870.018730.04770.41550.93960.11773.6474…0.00080.00080.000840.02850.58870.32930.22421.7350…0.00110.00110.001150.07060.47270.59760.11272.1450…0.00830.00830.008360.05900.31050.18700.00291.9821…0.01190.01190.011970.07140.61260.29580.05352.6320…0.01620.01620.0162…………………………1230.28810.52830.22030.13871.2325…0.08270.08270.08271240.09400.40810.90710.04715.1242…0.01530.01530.01531250.23840.45150.69310.02033.6554…0.12350.12350.1235The CT image after preprocessing, extracting lung parenchyma and lung nodes, and extracting the feature of the lung nodes is used to train the pulmonary nodule detection classification model. In order to measure the performance of the AdaBoost-ISSA-S4VM classification model, we compare the improved classification model with several popular pulmonary nodule detection classification models. These classification models are the SVM model [26], standard S4VM model, AdaBoost-SVM model, AdaBoost-S4VM model, and AdaBoost-ISSA-S4VM model. In order to evaluate the performance of the recognition model, the following performance indicators are selected in this paper. The formula for evaluating the classification indexes is shown in Table 10.Table 10
The calculation formulas of accuracy, sensitivity and specificity.
Evaluation indexCalculation formulasAccuracy (ACC)TP+TN/TP+FP+TN+FNSensitivity (SEN)TP/TP+FNSpecificity (SPE)TN/FP+TNFalse positive rate (FPR)FP/FP+TNFalse negative rate (FNR)FN/TP+FNwhere TP stands for true positive, TN for true negative, FP for false positive, and FN for false negative.ACC is used to evaluate the accuracy of each classification model. SEN and SPE are used to refer the ability to detect the true positive and true negative, respectively. FPR and FNR are, respectively, the misdiagnosis rate and missed diagnosis rate. Table11 records the performance indicator data of each classification model, and the best results are marked in bold. The larger the SEN and SPE are, the better the classification model performs. On the contrary, the smaller the FPR and FNR are, the better the classification model performs.Table 11
Performance of various classification model.
Classification modelACC (%)SENSPEFPRFNRSVM77.390.98330.45570.54430.0167S4VM68.640.54830.89620.10380.4517AdaBoost-SVM75.280.98830.39490.60510.0117AdaBoost-S4VM81.570.76950.88610.11390.2305AdaBoost-ISSA-S4VM94.220.98550.87660.12340.0146From the performance indicators data of each classification model in Table11, we can see that the classification accuracy of AdaBoost-ISSA-S4VM classification model can be comparable to or even better than supervised classifiers such as SVM. First of all, it can be seen that the classification accuracy of the S4VM classifier is quite poor and far lower than the SVM. The reason is that the SVM is a supervised classifier whose input dataset is labeled, while S4VM is a semi-supervised classifier whose input dataset contains unlabeled dataset, which will reduce the accuracy of the classifier. Secondly, the S4VM classifier optimized by ensemble learning is better than SVM combined with ensemble learning. Then, the classification accuracy of the established AdaBoost-ISSA-S4VM, which is the S4VM classifier optimized by ensemble learning and SCA-CSSA and can get 94.22% on labeled and unlabeled lung CT images which is much higher than the original supervised classifier on labeled samples. At the same time, the false positive rate and false negative rate of the established AdaBoost-ISSA-S4VM can get 0.1234 and 0.0146 on these lung nodule images. The false positive rate and false negative rate of AdaBoost-ISSA-S4VM also performs well. Based on above results of data, the proposed classification model is better than the traditional supervised classifiers such as SVM model on lung nodule classification.


## 4.1. Function Optimization Experiment

This section presents the evaluation of SCA-CSSA using a series of experiments on benchmark functions [17] and CEC2017 test functions [18]. To obtain fair results, all the experiments were conducted under the same conditions. The number of the population size is set as 30 in these algorithms. And, each algorithm runs 30 times independently for each function.


### 4.1.1. Benchmark Functions and CEC 2017 Test Functions

When investigating the effective and universal performance of SCA-CSSA compared with several hybrid algorithms and popular algorithms, 12 benchmark functions and CEC2017 test functions are applied. In order to test the effectiveness of the proposed SCA-CSSA, 12 benchmark functions are adopted, all of which have an optimal value of 0. The benchmark functions and their searching ranges are shown in Table1. In this test suite, f1−f7 are unimodal functions. These unimodal functions are usually used to test and investigate whether the proposed algorithm has a good convergence performance. Then, f8−f12 are multimodal functions. These multimodal functions are used to test the global search capability of the proposed algorithm. The smaller the fitness value of functions, the better the algorithm performs. Furthermore, in order to better verify the comprehensive performance of SCA-CSSA in a more comprehensively manner, another 30 complex CEC2017 test functions are used. The CEC2017 test functions are simply described in Table 2.Table 1
18 benchmark functions.
NameTest functionRangeSpheref1x=∑i=1Dxi2−100,100DSchwefel P2.22f2x=∑i=1Dxi+∏i=1Dxi−10,10DSchwefel P1.2f3x=∑i=1D∑jixj2−100,100DSchwefel 2.21f4x=maxixi,1≤i≤30−100,100DGeneralized Rosenbrockf5x=∑i=1D−1100xi2−xi+12+xi−12−10,10DStepf6x=∑i=1Dxi+0.52−100,100DNoisef7x=∑i=1Dixi4+rand0,1−1.28,1.28DGeneralized Rastriginf8x=∑i=1Dxi2−10cos2πxi+10−5.12,5.12DAckleyf9=20+e−20exp−0.21/D∑i=1Dxi2−exp1/D∑i=1Dcos2πxi−32,32DGeneralized Griewankf10x=∑i=1Dxi2/4000−∏i=1Dcosxi/i+1−600,600DGeneralized Penalized 1f11x=π/D10sin2πy1+∑i=1D−1yi−121+10sin2πyi+1+yD−12+∑i=1Duxi,10,100,4uxi,a,k,m=kxi−am,xi>a,0,−a≤xi≤a,k−xi−am,xi<−a,yi=1+1/4xi−50,50DGeneralized Penalized 2f12x=1/1010sin23πx1+∑i=1D−1xi−121+sin23πxi+1+xD−121+sin22πxD+∑i=1Duxi,5,100,4uxi,a,k,m=kxi−am,xi>a,0,−a≤xi≤a,k−xi−am,xi<−a.−50,50DTable 2
Summary of the CEC’17 test functions.
TypeNo.FunctionsFi∗=Fix∗Unimodal functionsF1Shifted and Rotated Bent Cigar function100F2Shifted and Rotated sum of different Power function∗200F3Shifted and Rotated Zakharov function300Simple multimodal functionsF4Shifted and Rotated Rosenbrock’s function400F5Shifted and Rotated Rastrigin’s function500F6Shifted and Rotated Expanded Scaffer’sF6 function600F7Shifted and Rotated Lunacek Bi_Rastrigin function700F8Shifted and Rotated noncontinuous Rastrigin’s function800F9Shifted and Rotated Levy function900F10Shifted and Rotated Schwefel’s function1000Hybrid functionsF11Hybrid function 1 (N = 3)1100F12Hybrid function 2 (N = 3)1200F13Hybrid function 3 (N = 3)1300F14Hybrid function 4 (N = 4)1400F15Hybrid function 5 (N = 4)1500F16Hybrid function 6 (N = 4)1600F17Hybrid function 6 (N = 5)1700F18Hybrid function 6 (N = 5)1800F19Hybrid function 6 (N = 5)1900F20Hybrid function 6 (N = 6)2000Composition functionsF21Composition function 1 (N = 3)2100F22Composition function 2 (N = 3)2200F23Composition function 3 (N = 4)2300F24Composition function 4 (N = 4)2400F25Composition function 5 (N = 5)2500F26Composition function 6 (N = 5)2600F27Composition function 7 (N = 6)2700F28Composition function 8 (N = 6)2800F29Composition function 9 (N = 3)2900F30Composition function 10 (N = 3)3000Search range−100,100D


### 4.1.2. Parameter Settings

In order to verify the effectiveness and generalization of the proposed SCA-CSSA, the improved SCA-CSSA is compared with several hybrid algorithms and popular algorithms. These algorithms are SSA, SCA, SCA_SSA, and SCA_CSSA. Another 4 popular intelligence algorithms, such as particle swarm optimization (PSO) [19], bird swarm algorithm (BSA) [20], crow search algorithm (CSA) [21], whale optimization algorithm (WOA) [22], grasshopper optimization algorithm (GOA) [23], are used to compare with SCA-CSSA. These algorithms represented state-of-the-art can be used to better verify the performance of SCA-CSSA, in a more comprehensively manner. For fair comparison, the number of populations of all algorithms is set to 30, respectively, and other parameters of all algorithms are set according to their original papers. The initial controlling parameters of all algorithms are shown in Table 3.Table 3
Initial values for the controlling parameters of algorithms.
AlgorithmParameterValuePSOCognitive and social constants:c1,c22, 2Inertial weight:wLinearly decreases from 0.9 to 0.2BSAFlight interval:FQ10Cognitive accelerated and social accelerated coefficients:C,S1.5,1.5Direct effect:a1,a2Single point (probability = 1)CSAAwareness probability:AP0.1WOAProbability switch (p)0.4GOADecreasing coefficient:cLinearly decreases from 1 to 0.00004SCAMovement direction between the solution and destination:r1Decreases from 2 to 0Movement direction towards or outwards the destination:r20,2πA random weight for the destination:r3[0, 2]Switch between the sine and cosine components:r4[0, 1]SSAProducers account for percent of the total population size:P_percent0.2SSA-SCAMovement direction between the solution and destination:r1Decreases from 2 to 0Movement direction towards or outwards the destination:r20,2πA random weight for the destination:r3[0, 2]Switch between the sine and cosine components:r4[0, 1]SCA-CSSAMovement direction between the solution and destination:r1Decreases from 2 to 0Movement direction towards or outwards the destination:r20,2πA random weight for the destination:r3[0, 2]Switch between the sine and cosine components:r4[0, 1]


### 4.1.3. Comparison on Benchmark Functions with Hybrid Algorithms and Popular Algorithms

According to theSection 2.2, the basic SSA method has been improved by two strategies. To investigate the effectiveness of SCA_CSSA, it has been compared with several popular algorithms and hybrid algorithms, such as PSO, BSA, CSA, WOA, GOA, SSA, SCA, and SCA-SSA, on 12 benchmark functions. Compared with SCA-CSSA, new labor cooperation structure is not used in SCA-SSA. In this experiment, the dimension’s size of these functions is 10. Dim = 10 is the typical dimensions for the benchmark functions. The number of function evaluations (FEs) is 1000. We selected two different function evaluations (FEs), such as FEs = 1000 and FEs = 10,000.The fitness value curves of a run of several algorithms on about eight different functions when FEs = 10,000 are shown in Figures1 and 2, where the horizontal axis represents the number of iterations and the vertical axis represents the fitness value. We can obviously see that the convergence speeds of several different algorithms. The maximum value (Max), the minimum value (Min), the mean value (Mean), and the variance (Var) obtained by several benchmark algorithms are shown in Tables 4 and 5, where the best results are marked in bold. Table 4 shows the performance of the several algorithms on unimodal functions when FEs = 1000, and Table 5 shows the performance of the several algorithms on multimodal functions when FEs = 1000.Figure 1
Fitness value curves of 9 algorithms on (a)f1; (b) f3; (c) f5 (FEs = 10,000).
(a)(b)(c)Figure 2
Fitness value curves of 9 algorithms on (a)f8; (b) f9; (c) f10 (FEs = 10,000).
(a)(b)(c)Table 4
Comparison on 7 unimodal functions (FEs = 1000).
Fun.TermPSOBSACSAWOAGOASCASSASCA-SSASCA-CSSAf1Max1.56E + 047.19E + 031.57E + 041.55E + 047.02E + 031.38E + 042.466.16E − 013.43E − 01Min2.44E − 4301.56E + 042.00E − 1564.03E − 071.30E − 304.04E − 1274.51E − 1130Mean9.95E + 012.83E + 011.56E + 047.63E + 012.92E + 026.15E + 021.43E − 031.14E − 033.83E − 04Std1.00E + 033.41E + 026.09E + 018.22E + 024.76E + 022.12E + 035.49E − 022.47E − 021.10E − 02f2Max1.43E + 032.24E + 011.37E + 032.77E + 039.84E + 011.91E + 022.043.123.81Min7.63E − 232.66E − 2178.352.08E − 1082.52E − 047.42E − 229.86E − 719.92E − 660Mean3.001.24E − 011.07E + 023.127.031.202.63E − 036.45E − 035.03E − 03Std5.28E + 011.312.73E + 028.84E + 011.21E + 018.606.05E − 021.14E − 011.26E − 01f3Max2.02E + 047.30E + 032.03E + 041.58E + 047.94E + 031.81E + 044.48E + 013.65E + 011.93E + 01Min1.88E − 1202.02E + 042.06E + 016.16E − 017.40E − 104.46E − 594.52E − 500Mean1.50E + 022.86E + 012.03E + 041.75E + 034.67E + 021.76E + 031.45E − 024.81E − 024.56E − 02Std1.39E + 033.49E + 029.352.78E + 036.95E + 024.12E + 031.421.214.55E − 01f4Max6.96E + 014.79E + 016.78E + 016.29E + 014.30E + 017.08E + 013.05E − 013.14E − 013.29E − 01Min6.79E − 101.61E − 2196.62E + 011.561.74E − 014.48E − 104.04E − 471.85E − 550Mean1.012.72E − 016.76E + 016.926.868.084.06E − 047.89E − 046.08E − 04Std5.552.904.82E − 011.07E + 016.221.78E + 018.80E − 031.25E − 021.19E − 02f5Max4.81E + 051.29E + 054.58E + 054.70E + 057.32E + 045.88E + 052.58E + 012.29E + 017.73Min4.498.977.11E + 035.926.027.044.00E − 077.63E − 077.80E − 08Mean1.05E + 032.57E + 026.40E + 041.36E + 039.72E + 021.94E + 042.56E − 026.11E − 021.45E − 02Std1.57E + 044.53E + 031.15E + 052.12E + 043.08E + 038.55E + 046.04E − 019.25E − 012.84E − 01f6Max1.52E + 046.85E + 031.67E + 041.54E + 046.89E + 031.51E + 041.992.303.44Min3.08E − 331.821.62E + 049.85E − 055.73E − 072.34E − 011.54E − 336.16E − 348.63E − 33Mean9.82E + 012.89E + 011.64E + 047.14E + 013.02E + +025.30E + 021.35E − 033.84E − 033.73E − 03Std1.01E + 033.22E + 021.44E + 028.20E + 024.90E + 021.79E + 034.49E − 028.17E − 021.11E − 01f7Max4.761.947.137.641.055.911.248.73E − 011.28Min3.80E − 031.11E − 045.08E − 019.47E − 043.00E − 031.64E − 033.91E − 044.64E − 049.87E − 05Mean3.59E − 016.41E − 036.47E − 014.59E − 021.16E − 022.37E − 012.06E − 032.41E − 031.93E − 03Std6.53E − 018.07E − 025.89E − 014.07E − 014.77E − 027.68E − 014.16E − 022.93E − 021.96E − 02Table 5
Comparison on 6 multimodal functions (FEs = 1000).
Fun.TermPSOBSACSAWOAGOASCASSASCA-SSASCA-CSSAf8Max1.23E + 021.05E + 021.18E + 021.12E + 021.11E + 021.12E + 023.34E + 015.18E + +013.85E + 01Min3.3603.15E + 0105.87E + 016.42E − 11000Mean2.36E + 017.33E − 014.20E + 015.867.39E + 011.72E + 014.73E − 027.62E − 024.12E − 02Std2.36E + 015.56E + 001.76E + 011.41E + 011.57E + 012.82E + 011.211.741.10f9Max1.99E + 011.79E + 011.91E + 011.96E + 011.77E + 012.00E + 012.742.591.07Min4.88E − 158.88E − 161.79E + 011.60E − 155.78E − 018.73E − 148.88E − 168.88E − 168.88E − 16Mean1.211.27E − 011.84E + 012.95E − 015.604.073.01E − 036.38E − 031.17E − 03Std2.161.334.25E − 011.814.096.828.74E − 021.06E − 012.94E − 02f10Max1.56E + 026.94E + 011.57E + 021.45E + 025.48E + 011.30E + 023.20E − 014.10E − 012.10E − 01Min1.21E − 0101.57E + 024.85E − 022.95E − 013.04E − 02000Mean5.782.99E − 011.57E + 027.52E − 013.427.123.52E − 047.56E − 041.91E − 04Std2.32E + 013.372.46E − 127.263.742.07E + 011.03E − 021.58E − 025.36E − 03f11Max9.94E + 071.39E + 075.90E + 078.76E + 071.02E + 076.01E + 071.271.447.33E − 01Min4.80E − 324.69E − 014.78E + 076.21E − 034.35E − 058.11E − 024.75E − 324.76E − 324.73E − 32Mean1.71E + 051.96E + 044.78E + 071.90E + 051.54E + 045.44E + 061.32E − 032.03E − 033.13E − 04Std3.54E + 064.59E + 054.49E + 063.29E + 063.64E + 051.42E + 074.03E − 024.90E − 021.47E − 02f12Max1.64E + 081.37E + 072.63E + 081.23E + 083.17E + 071.30E + 082.95E − 011.49E − 013.58E − 01Min3.72E − 329.57E − 012.63E + 082.71E − 041.06E − 023.06E − 011.57E − 321.35E − 321.35E − 32Mean3.58E + 052.19E + 042.63E + 083.88E + 055.97E + 045.15E + 064.25E − 045.95E − 043.39E − 04Std6.47E + 064.64E + 052.55E − 065.51E + 061.12E + 062.30E + 071.02E − 027.52E − 038.64E − 03(1) Unimodal Functions. The evolution curves of these algorithms on 3 unimodal functions f1, f3, and f5 are given in Figure 1. It can be detected from the figure that the curve of SCA-CSSA descends fastest in the number of iterations that are far less than 10,000 times. For f1 and f3 case, SCA-CSSA has the fastest convergence speed compared with other algorithms. But, on functions f1 and f3, the original CSA and GOA got the worst solution because it is trapped in the local optimum prematurely. For function f5, these algorithms did not find the value 0. However, SCA-CSSA continues to decline and the convergence speed of it is significantly faster than other algorithms in the early stage; the solution eventually found is the best. Overall, owing to enhance the diversity of population, SCA-CSSA has a relatively excellent convergence speed when FEs = 10,000.From the numerical testing results on 7 unimodal functions in Table4, we can see that SCA-CSSA can find the minimum value on f1, f2, f3, f4,f5, and f7. And, SCA-CSSA can find the optimal solution for all unimodal functions and get the minimum value of 0 on f1, f2, f3, and f4. It illustrates that the SCA-CSSA has best performance on unimodal functions compared to the other algorithms when FEs = 1000. Moreover, SCA-CSSA has the best maximum value (Max), the minimum value (Min), the mean value (Mean), and the standard deviation (Std) on f1, f3, f5, and f7. Obviously, the SCA-CSSA has a relatively good convergence speed. In summary, compared with these popular algorithms and hybrid algorithms, SCA-CSSA is a competitive algorithm for solving several functions and has the best performance on the most test benchmark functions.(2) Multimodal Functions. The evolution curves of these algorithms on 3 multimodal functions f8, f9, and f10 when FEs = 10,000 are depicted in Figure 2. We can see that SCA-CSSA can find the optimal solution in the same iteration. For f8 and f10 cases, SCA-CSSA continues to decline and got the best value 0. But, the original PSO and GOA get parallel straight lines because of their poor global convergence ability on these 3 functions. For function f9, although SCA-CSSA is also trapped the local optimum, it finds the minimum value compared to other algorithms. Obviously, the convergence speed of the SCA-CSSA is significantly faster than other algorithms in the early stage, and the solution eventually found is the best. In general, owing to enhance the diversity of population, SCA-CSSA has a relatively balanced global search capability when FEs = 10,000.From the numerical testing results on 5 multimodal functions in Table5, we can see that SCA-CSSA can find the optimal solution for all multimodal functions and get the minimum value of 0 on f8 and f10. The SCA-CSSA has relatively well performance on multimodal functions compared to the other algorithms. Moreover, SCA-CSSA has the best maximum value (Max), the minimum value (Min), the mean value (Mean), and the standard deviation (Std) on f9, f10, f11, and f12. Obviously, the SCA-CSSA has a relatively well global search capability. The main reason is that SCA-CSSA has a stronger global exploration capability based on the SCA method. In summary, the SCA-CSSA has a superior global search capability on most multimodal functions when FEs = 1000.


### 4.1.4. Comparison on CEC2017 Test Functions with Hybrid Algorithms and Popular Algorithms

In order to further verify the universality of the proposed SCA_CSSA algorithm, it has been compared with PSO, BSA, WOA, GOA, SSA, SCA, and SCA_SSA on the latest CEC2017 test functions. In this experiment, the dimension’s size (Dim) is set to 10. The number of function evaluations (FEs) is 10,000. Experimental comparisons included the maximum value (Max), the minimum value (Min), the mean value (Mean), and the standard deviation (Std) and are given in Tables6 and 7, where the best results are marked in bold.Table 6
Comparison of numerical testing results on CEC2017 test sets (F1–F15, FEs = 10,000).
FunTermPSOBSAWOAGOASCASSASCA-SSASCA-CSSAF1Max1.92E + 101.44E + 102.70E + 101.26E + 101.95E + 102.18E + 102.00E + 101.38E + 10Min4.65E + 021.74E + 093.78E + 043.69E + 034.27E + 084.56E + 037.30E + 082.09E + 03Mean1.87E + 072.31E + 093.05E + 071.76E + 081.22E + 098.64E + 062.24E + 093.61E + 06Std4.71E + 089.39E + 085.99E + 083.16E + 081.10E + 093.14E + 082.46E + 091.67E + 08F3Max1.35E + 067.41E + 041.96E + 076.27E + 041.95E + 058.72E + 046.65E + 044.30E + 04Min3.00E + 028.88E + 033.60E + 023.00E + 027.16E + 023.00E + 025.85E + 033.00E + 02Mean6.09E + 021.09E + 042.79E + 038.61E + 023.98E + 033.89E + 021.03E + 043.50E + 02Std1.68E + 042.30E + 031.98E + 051.91E + 037.16E + 031.44E + 034.55E + 037.74E + 02F4Max3.58E + 032.32E + 033.47E + 031.69E + 033.76E + 031.87E + 032.51E + 031.19E + 03Min4.01E + 026.05E + 024.21E + 024.05E + 024.24E + 024.00E + 024.82E + 024.00E + 02Mean4.04E + 026.37E + 024.26E + 024.16E + 024.63E + 024.02E + 026.70E + 024.02E + 02Std6.72E + 016.56E + 015.12E + 012.33E + 019.46E + 012.42E + 012.13E + 021.20E + 01F5Max6.56E + 026.37E + 026.73E + 026.23E + 026.62E + 026.51E + 026.42E + 026.23E + 02Min5.39E + 025.63E + 025.49E + 025.20E + 025.38E + 025.30E + 025.42E + 025.28E + 02Mean5.40E + 025.66E + 025.51E + 025.31E + 025.53E + 025.31E + 025.51E + 025.28E + 02Std3.663.335.301.07E + 011.43E + 013.431.26E + 013.16F6Max6.98E + 026.71E + 027.16E + 026.72E + 027.02E + 026.95E + 026.87E + 026.61E + 02Min6.07E + 026.42E + 026.29E + 026.07E + 026.14E + 026.08E + 026.21E + 026.02E + 02Mean6.08E + 026.42E + 026.31E + 026.18E + 026.24E + 026.09E + 026.30E + 026.02E + 02Std3.571.264.211.13E + 011.17E + 012.471.08E + 011.72F7Max1.21E + 031.00E + 031.19E + 031.02E + 031.21E + 039.05E + 028.97E + 029.02E + 02Min7.20E + 027.90E + 027.74E + 027.30E + 027.64E + 027.67E + 027.86E + 027.42E + 02Mean7.26E + 027.93E + 027.75E + 027.51E + 027.89E + 027.71E + 028.07E + 027.44E + 02Std1.43E + 015.438.821.87E + 013.72E + 018.582.39E + 015.10F8Max9.56E + 029.10E + 029.51E + 029.29E + 029.45E + 029.29E + 029.24E + 028.99E + 02Min8.19E + 028.46E + 028.55E + 028.18E + 028.32E + 028.31E + 028.50E + 028.21E + 02Mean8.20E + 028.47E + 028.56E + 028.31E + 028.48E + 028.31E + 028.59E + 028.22E + 02Std3.852.193.731.31E + 011.84E + 012.371.13E + 011.74F9Max5.51E + 034.09E + 036.41E + 033.10E + 035.50E + 033.61E + 033.37E + 032.78E + 03Min9.00E + 021.51E + 031.36E + 039.00E + 029.56E + 021.39E + 031.28E + 039.33E + 02Mean9.07E + 021.54E + 031.44E + 039.44E + 021.18E + 031.41E + 031.50E + 039.43E + 02Std1.01E + 025.76E + 011.80E + 027.16E + 014.02E + 026.87E + 012.96E + 024.25E + 01F10Max3.92E + 033.52E + 033.67E + 033.64E + 033.68E + 033.61E + 033.66E + 033.52E + 03Min1.94E + 032.29E + 031.65E + 031.84E + 032.02E + 031.92E + 032.14E + 031.61E + 03Mean1.97E + 032.31E + 031.70E + 032.11E + 032.14E + 031.98E + 032.29E + 031.67E + 03Std1.04E + 024.89E + 011.55E + 021.80E + 021.56E + 029.65E + 012.20E + 021.09E + 02F11Max6.40E + 048.54E + 034.26E + 041.42E + 042.10E + 041.05E + 041.61E + 045.46E + 03Min1.14E + 031.46E + 031.16E + 031.12E + 031.15E + 031.19E + 031.37E + 031.12E + 03Mean1.18E + 031.54E + 031.19E + 031.17E + 031.33E + 031.19E + 031.75E + 031.12E + 03Std1.27E + 032.19E + 025.79E + 022.21E + 024.96E + 021.48E + 027.15E + 025.63E + 01F12Max3.57E + 092.19E + 093.71E + 092.62E + 091.99E + 091.22E + 091.83E + 095.84E + 08Min1.06E + 048.94E + 065.78E + 051.39E + 054.13E + 068.20E + 031.54E + 071.02E + 04Mean2.36E + 061.39E + 072.02E + 066.15E + 063.05E + 073.57E + 056.33E + 071.14E + 05Std7.49E + 074.66E + 074.27E + 073.18E + 076.96E + 071.56E + 071.22E + 086.35E + 06F13Max3.85E + 081.29E + 084.56E + 081.07E + 083.85E + 081.46E + 082.27E + 084.59E + 07Min7.89E + 033.19E + 032.03E + 043.28E + 031.58E + 043.59E + 032.42E + 042.03E + 03Mean1.30E + 052.06E + 041.32E + 053.21E + 042.30E + 052.71E + 045.00E + 051.03E + 04Std5.79E + 061.33E + 065.77E + 061.12E + 065.38E + 061.56E + 065.50E + 064.71E + 05F14Max1.98E + 076.27E + 051.21E + 078.62E + 055.10E + 061.01E + 067.43E + 063.07E + 05Min1.45E + 031.69E + 031.51E + 031.44E + 031.52E + 031.46E + 031.53E + 031.45E + 03Mean5.16E + 031.88E + 033.18E + 031.86E + 033.35E + 031.65E + 033.52E + 031.54E + 03Std2.40E + 057.24E + 031.31E + 058.97E + 037.50E + 041.11E + 047.81E + 043.44E + 03F15Max4.34E + 073.44E + 067.65E + 077.29E + 051.34E + 071.25E + 078.62E + 067.62E + 05Min1.53E + 034.84E + 032.33E + 031.60E + 031.76E + 031.59E + 031.98E + 031.53E + 03Mean1.24E + 047.19E + 031.12E + 043.00E + 036.23E + 033.35E + 038.97E + 031.71E + 03Std5.97E + 053.73E + 047.66E + 051.62E + 041.50E + 051.29E + 059.35E + 048.23E + 03Table 7
Comparison of numerical testing results on CEC2017 test sets (F16–F30, FEs = 10,000).
FunTermPSOBSAWOAGOASCASSASCA-SSASCA-CSSAF16Max2.81E + 032.62E + 032.88E + 032.50E + 032.77E + 032.73E + 032.68E + 032.58E + 03Min1.82E + 031.93E + 031.76E + 031.99E + 031.65E + 031.84E + 031.72E + 031.73E + 03Mean1.82E + 032.00E + 031.78E + 032.01E + 031.75E + 031.84E + 031.83E + 031.78E + 03Std2.81E + 014.95E + 014.40E + 015.57E + 011.00E + 022.38E + 011.28E + 025.95E + 01F17Max2.56E + 032.21E + 032.48E + 032.45E + 032.42E + 032.33E + 032.37E + 032.20E + 03Min1.77E + 031.86E + 031.77E + 031.88E + 031.76E + 031.78E + 031.77E + 031.75E + 03Mean1.78E + 031.86E + 031.77E + 031.90E + 031.79E + 031.78E + 031.80E + 031.75E + 03Std1.87E + 018.122.14E + 013.85E + 014.73E + 011.32E + 015.46E + 019.96F18Max1.56E + 092.95E + 087.81E + 081.68E + 082.77E + 084.24E + 083.51E + 085.92E + 07Min6.65E + 033.59E + 031.53E + 046.77E + 033.02E + 041.92E + 035.25E + 041.85E + 03Mean9.05E + 051.37E + 051.29E + 058.75E + 044.10E + 057.57E + 041.40E + 071.17E + 04Std3.20E + 074.34E + 068.45E + 062.00E + 065.17E + 064.73E + 061.86E + 076.34E + 05F19Max8.24E + 077.44E + 068.09E + 074.07E + 073.12E + 072.34E + 072.51E + 071.72E + 07Min1.91E + 032.54E + 031.30E + 041.96E + 032.11E + 031.94E + 033.14E + 031.92E + 03Mean3.09E + 046.41E + 034.19E + 049.89E + 032.42E + 047.92E + 033.52E + 044.13E + 03Std1.40E + 068.05E + 041.06E + 064.52E + 056.37E + 053.20E + 053.77E + 051.77E + 05F20Max2.57E + 032.41E + 032.64E + 032.66E + 032.50E + 032.58E + 032.51E + 032.46E + 03Min2.10E + 032.16E + 032.11E + 032.16E + 032.07E + 032.09E + 032.08E + 032.03E + 03Mean2.11E + 032.17E + 032.12E + 032.19E + 032.10E + 032.09E + 032.14E + 032.04E + 03Std1.44E + 018.342.26E + 013.93E + 015.07E + 011.14E + 015.83E + 012.46E + 01F21Max2.44E + 032.41E + 032.44E + 032.41E + 032.44E + 032.42E + 032.43E + 032.41E + 03Min2.32E + 032.33E + 032.28E + 032.32E + 032.21E + 032.32E + 032.31E + 032.29E + 03Mean2.32E + 032.34E + 032.28E + 032.33E + 032.23E + 032.32E + 032.33E + 032.30E + 03Std3.88E + 001.15E + 011.55E + 012.46E + 014.73E + 013.09E + 003.02E + 011.73E + 01F22Max4.04E + 033.48E + 034.12E + 034.85E + 034.20E + 034.16E + 034.27E + 033.14E + 03Min2.30E + 032.57E + 032.31E + 032.30E + 032.32E + 032.30E + 032.44E + 032.30E + 03Mean2.31E + 032.60E + 032.32E + 032.33E + 032.40E + 032.30E + 032.55E + 032.30E + 03Std4.53E + 012.72E + 014.79E + 015.02E + 011.23E + 022.97E + 011.97E + 021.06E + 01F23Max2.91E + 032.84E + 032.93E + 032.83E + 032.81E + 032.79E + 032.81E + 032.76E + 03Min2.70E + 032.74E + 032.64E + 032.61E + 032.64E + 032.63E + 032.65E + 032.61E + 03Mean2.70E + 032.75E + 032.65E + 032.62E + 032.65E + 032.63E + 032.66E + 032.62E + 03Std8.246.671.03E + 012.92E + 012.83E + 013.352.07E + 012.19F24Max3.04E + 033.00E + 033.05E + 032.93E + 032.94E + 032.91E + 032.97E + 032.92E + 03Min2.82E + 032.86E + 032.77E + 032.74E + 032.73E + 032.77E + 032.78E + 032.72E + 03Mean2.82E + 032.87E + 032.77E + 032.76E + 032.76E + 032.77E + 032.79E + 032.74E + 03Std8.28E + 007.49E + 007.41E + 002.96E + 014.61E + 014.22E + 001.68E + 011.64E + 01F25Max4.98E + 033.96E + 034.80E + 033.65E + 034.61E + 034.30E + 034.52E + 033.57E + 03Min2.92E + 033.09E + 032.94E + 032.95E + 032.94E + 032.93E + 032.95E + 032.89E + 03Mean2.92E + 033.10E + 032.95E + 032.96E + 032.99E + 032.93E + 033.07E + 032.90E + 03Std4.65E + 012.22E + 014.20E + 013.31E + 016.75E + 012.01E + 012.23E + 021.13E + 01F26Max4.67E + 034.65E + 035.17E + 034.06E + 034.90E + 035.29E + 035.03E + 034.46E + 03Min3.14E + 033.73E + 032.99E + 032.90E + 033.05E + 033.43E + 033.24E + 033.10E + 03Mean3.16E + 033.76E + 033.04E + 032.95E + 033.10E + 033.43E + 033.56E + 033.14E + 03Std7.01E + 013.82E + 011.43E + 026.14E + 011.14E + 023.62E + 013.55E + 026.78E + 01F27Max3.49E + 033.29E + 033.50E + 033.18E + 033.33E + 033.34E + 033.31E + 033.27E + 03Min3.12E + 033.18E + 033.13E + 033.10E + 033.10E + 033.10E + 033.10E + 033.09E + 03Mean3.12E + 033.18E + 033.13E + 033.10E + 033.10E + 033.10E + 033.12E + 033.09E + 03Std1.19E + 013.401.13E + 013.11E + 013.14E + 013.342.11E + 016.92F28Max4.14E + 033.94E + 034.42E + 034.23E + 034.03E + 034.05E + 033.44E + 033.49E + 03Min3.17E + 033.47E + 033.43E + 033.38E + 033.22E + 033.33E + 033.29E + 033.21E + 03Mean3.18E + 033.54E + 033.43E + 033.39E + 033.25E + 033.33E + 033.29E + 033.24E + 03Std3.97E + 015.20E + 012.38E + 013.67E + 016.14E + 011.33E + 016.271.77E + 01F29Max4.25E + 033.78E + 034.01E + 033.58E + 033.90E + 033.77E + 033.89E + 033.80E + 03Min3.21E + 033.36E + 033.28E + 033.28E + 033.20E + 033.26E + 033.26E + 033.20E + 03Mean3.21E + 033.36E + 033.29E + 033.30E + 033.24E + 033.26E + 033.31E + 033.23E + 03Std2.61E + 011.12E + 012.32E + 014.00E + 015.83E + 011.26E + 017.90E + 012.47E + 01F30Max2.96E + 086.29E + 072.70E + 081.54E + 078.63E + 077.88E + 077.97E + 073.54E + 07Min5.44E + 032.53E + 064.05E + 059.20E + 033.95E + 052.13E + 051.05E + 045.19E + 03Mean2.58E + 052.95E + 067.44E + 059.12E + 047.63E + 052.52E + 058.56E + 051.82E + 05Std6.56E + 061.58E + 063.18E + 066.69E + 051.64E + 061.22E + 063.10E + 067.56E + 05SCA-CSSA gets the minimum value onF3, F4, F6, F10, F11, F12, F13, and F14 in Table 6 and on F16, F17, F18, F19, F20, F22, F23, F24, F25, F27, F28, F29, and F30 in Table 7. According to the results, we can observe that SCA-CSSA does well on 21 CEC2017 test functions. Further, SCA-CSSA has the best maximum value (Max), the minimum value (Min), the mean value (Mean), and the standard deviation (Std) on F3, F4, F6, F10, F11, F12, F13, F14, and F15 in Table 6 and on F17, F18, F20, F22, F23, F24, and F25 in Table 7. Therefore, SCA-CSSA can not only find the optimal solution but also has stability on 16 CEC2017 test functions. In summary, it can be observed that SCA-CSSA obtains optimal value. It can be concluded that SCA-CSSA has better global search ability and better robustness on these test suites.


## 4.1.1. Benchmark Functions and CEC 2017 Test Functions

When investigating the effective and universal performance of SCA-CSSA compared with several hybrid algorithms and popular algorithms, 12 benchmark functions and CEC2017 test functions are applied. In order to test the effectiveness of the proposed SCA-CSSA, 12 benchmark functions are adopted, all of which have an optimal value of 0. The benchmark functions and their searching ranges are shown in Table1. In this test suite, f1−f7 are unimodal functions. These unimodal functions are usually used to test and investigate whether the proposed algorithm has a good convergence performance. Then, f8−f12 are multimodal functions. These multimodal functions are used to test the global search capability of the proposed algorithm. The smaller the fitness value of functions, the better the algorithm performs. Furthermore, in order to better verify the comprehensive performance of SCA-CSSA in a more comprehensively manner, another 30 complex CEC2017 test functions are used. The CEC2017 test functions are simply described in Table 2.Table 1
18 benchmark functions.
NameTest functionRangeSpheref1x=∑i=1Dxi2−100,100DSchwefel P2.22f2x=∑i=1Dxi+∏i=1Dxi−10,10DSchwefel P1.2f3x=∑i=1D∑jixj2−100,100DSchwefel 2.21f4x=maxixi,1≤i≤30−100,100DGeneralized Rosenbrockf5x=∑i=1D−1100xi2−xi+12+xi−12−10,10DStepf6x=∑i=1Dxi+0.52−100,100DNoisef7x=∑i=1Dixi4+rand0,1−1.28,1.28DGeneralized Rastriginf8x=∑i=1Dxi2−10cos2πxi+10−5.12,5.12DAckleyf9=20+e−20exp−0.21/D∑i=1Dxi2−exp1/D∑i=1Dcos2πxi−32,32DGeneralized Griewankf10x=∑i=1Dxi2/4000−∏i=1Dcosxi/i+1−600,600DGeneralized Penalized 1f11x=π/D10sin2πy1+∑i=1D−1yi−121+10sin2πyi+1+yD−12+∑i=1Duxi,10,100,4uxi,a,k,m=kxi−am,xi>a,0,−a≤xi≤a,k−xi−am,xi<−a,yi=1+1/4xi−50,50DGeneralized Penalized 2f12x=1/1010sin23πx1+∑i=1D−1xi−121+sin23πxi+1+xD−121+sin22πxD+∑i=1Duxi,5,100,4uxi,a,k,m=kxi−am,xi>a,0,−a≤xi≤a,k−xi−am,xi<−a.−50,50DTable 2
Summary of the CEC’17 test functions.
TypeNo.FunctionsFi∗=Fix∗Unimodal functionsF1Shifted and Rotated Bent Cigar function100F2Shifted and Rotated sum of different Power function∗200F3Shifted and Rotated Zakharov function300Simple multimodal functionsF4Shifted and Rotated Rosenbrock’s function400F5Shifted and Rotated Rastrigin’s function500F6Shifted and Rotated Expanded Scaffer’sF6 function600F7Shifted and Rotated Lunacek Bi_Rastrigin function700F8Shifted and Rotated noncontinuous Rastrigin’s function800F9Shifted and Rotated Levy function900F10Shifted and Rotated Schwefel’s function1000Hybrid functionsF11Hybrid function 1 (N = 3)1100F12Hybrid function 2 (N = 3)1200F13Hybrid function 3 (N = 3)1300F14Hybrid function 4 (N = 4)1400F15Hybrid function 5 (N = 4)1500F16Hybrid function 6 (N = 4)1600F17Hybrid function 6 (N = 5)1700F18Hybrid function 6 (N = 5)1800F19Hybrid function 6 (N = 5)1900F20Hybrid function 6 (N = 6)2000Composition functionsF21Composition function 1 (N = 3)2100F22Composition function 2 (N = 3)2200F23Composition function 3 (N = 4)2300F24Composition function 4 (N = 4)2400F25Composition function 5 (N = 5)2500F26Composition function 6 (N = 5)2600F27Composition function 7 (N = 6)2700F28Composition function 8 (N = 6)2800F29Composition function 9 (N = 3)2900F30Composition function 10 (N = 3)3000Search range−100,100D


## 4.1.2. Parameter Settings

In order to verify the effectiveness and generalization of the proposed SCA-CSSA, the improved SCA-CSSA is compared with several hybrid algorithms and popular algorithms. These algorithms are SSA, SCA, SCA_SSA, and SCA_CSSA. Another 4 popular intelligence algorithms, such as particle swarm optimization (PSO) [19], bird swarm algorithm (BSA) [20], crow search algorithm (CSA) [21], whale optimization algorithm (WOA) [22], grasshopper optimization algorithm (GOA) [23], are used to compare with SCA-CSSA. These algorithms represented state-of-the-art can be used to better verify the performance of SCA-CSSA, in a more comprehensively manner. For fair comparison, the number of populations of all algorithms is set to 30, respectively, and other parameters of all algorithms are set according to their original papers. The initial controlling parameters of all algorithms are shown in Table 3.Table 3
Initial values for the controlling parameters of algorithms.
AlgorithmParameterValuePSOCognitive and social constants:c1,c22, 2Inertial weight:wLinearly decreases from 0.9 to 0.2BSAFlight interval:FQ10Cognitive accelerated and social accelerated coefficients:C,S1.5,1.5Direct effect:a1,a2Single point (probability = 1)CSAAwareness probability:AP0.1WOAProbability switch (p)0.4GOADecreasing coefficient:cLinearly decreases from 1 to 0.00004SCAMovement direction between the solution and destination:r1Decreases from 2 to 0Movement direction towards or outwards the destination:r20,2πA random weight for the destination:r3[0, 2]Switch between the sine and cosine components:r4[0, 1]SSAProducers account for percent of the total population size:P_percent0.2SSA-SCAMovement direction between the solution and destination:r1Decreases from 2 to 0Movement direction towards or outwards the destination:r20,2πA random weight for the destination:r3[0, 2]Switch between the sine and cosine components:r4[0, 1]SCA-CSSAMovement direction between the solution and destination:r1Decreases from 2 to 0Movement direction towards or outwards the destination:r20,2πA random weight for the destination:r3[0, 2]Switch between the sine and cosine components:r4[0, 1]


## 4.1.3. Comparison on Benchmark Functions with Hybrid Algorithms and Popular Algorithms

According to theSection 2.2, the basic SSA method has been improved by two strategies. To investigate the effectiveness of SCA_CSSA, it has been compared with several popular algorithms and hybrid algorithms, such as PSO, BSA, CSA, WOA, GOA, SSA, SCA, and SCA-SSA, on 12 benchmark functions. Compared with SCA-CSSA, new labor cooperation structure is not used in SCA-SSA. In this experiment, the dimension’s size of these functions is 10. Dim = 10 is the typical dimensions for the benchmark functions. The number of function evaluations (FEs) is 1000. We selected two different function evaluations (FEs), such as FEs = 1000 and FEs = 10,000.The fitness value curves of a run of several algorithms on about eight different functions when FEs = 10,000 are shown in Figures1 and 2, where the horizontal axis represents the number of iterations and the vertical axis represents the fitness value. We can obviously see that the convergence speeds of several different algorithms. The maximum value (Max), the minimum value (Min), the mean value (Mean), and the variance (Var) obtained by several benchmark algorithms are shown in Tables 4 and 5, where the best results are marked in bold. Table 4 shows the performance of the several algorithms on unimodal functions when FEs = 1000, and Table 5 shows the performance of the several algorithms on multimodal functions when FEs = 1000.Figure 1
Fitness value curves of 9 algorithms on (a)f1; (b) f3; (c) f5 (FEs = 10,000).
(a)(b)(c)Figure 2
Fitness value curves of 9 algorithms on (a)f8; (b) f9; (c) f10 (FEs = 10,000).
(a)(b)(c)Table 4
Comparison on 7 unimodal functions (FEs = 1000).
Fun.TermPSOBSACSAWOAGOASCASSASCA-SSASCA-CSSAf1Max1.56E + 047.19E + 031.57E + 041.55E + 047.02E + 031.38E + 042.466.16E − 013.43E − 01Min2.44E − 4301.56E + 042.00E − 1564.03E − 071.30E − 304.04E − 1274.51E − 1130Mean9.95E + 012.83E + 011.56E + 047.63E + 012.92E + 026.15E + 021.43E − 031.14E − 033.83E − 04Std1.00E + 033.41E + 026.09E + 018.22E + 024.76E + 022.12E + 035.49E − 022.47E − 021.10E − 02f2Max1.43E + 032.24E + 011.37E + 032.77E + 039.84E + 011.91E + 022.043.123.81Min7.63E − 232.66E − 2178.352.08E − 1082.52E − 047.42E − 229.86E − 719.92E − 660Mean3.001.24E − 011.07E + 023.127.031.202.63E − 036.45E − 035.03E − 03Std5.28E + 011.312.73E + 028.84E + 011.21E + 018.606.05E − 021.14E − 011.26E − 01f3Max2.02E + 047.30E + 032.03E + 041.58E + 047.94E + 031.81E + 044.48E + 013.65E + 011.93E + 01Min1.88E − 1202.02E + 042.06E + 016.16E − 017.40E − 104.46E − 594.52E − 500Mean1.50E + 022.86E + 012.03E + 041.75E + 034.67E + 021.76E + 031.45E − 024.81E − 024.56E − 02Std1.39E + 033.49E + 029.352.78E + 036.95E + 024.12E + 031.421.214.55E − 01f4Max6.96E + 014.79E + 016.78E + 016.29E + 014.30E + 017.08E + 013.05E − 013.14E − 013.29E − 01Min6.79E − 101.61E − 2196.62E + 011.561.74E − 014.48E − 104.04E − 471.85E − 550Mean1.012.72E − 016.76E + 016.926.868.084.06E − 047.89E − 046.08E − 04Std5.552.904.82E − 011.07E + 016.221.78E + 018.80E − 031.25E − 021.19E − 02f5Max4.81E + 051.29E + 054.58E + 054.70E + 057.32E + 045.88E + 052.58E + 012.29E + 017.73Min4.498.977.11E + 035.926.027.044.00E − 077.63E − 077.80E − 08Mean1.05E + 032.57E + 026.40E + 041.36E + 039.72E + 021.94E + 042.56E − 026.11E − 021.45E − 02Std1.57E + 044.53E + 031.15E + 052.12E + 043.08E + 038.55E + 046.04E − 019.25E − 012.84E − 01f6Max1.52E + 046.85E + 031.67E + 041.54E + 046.89E + 031.51E + 041.992.303.44Min3.08E − 331.821.62E + 049.85E − 055.73E − 072.34E − 011.54E − 336.16E − 348.63E − 33Mean9.82E + 012.89E + 011.64E + 047.14E + 013.02E + +025.30E + 021.35E − 033.84E − 033.73E − 03Std1.01E + 033.22E + 021.44E + 028.20E + 024.90E + 021.79E + 034.49E − 028.17E − 021.11E − 01f7Max4.761.947.137.641.055.911.248.73E − 011.28Min3.80E − 031.11E − 045.08E − 019.47E − 043.00E − 031.64E − 033.91E − 044.64E − 049.87E − 05Mean3.59E − 016.41E − 036.47E − 014.59E − 021.16E − 022.37E − 012.06E − 032.41E − 031.93E − 03Std6.53E − 018.07E − 025.89E − 014.07E − 014.77E − 027.68E − 014.16E − 022.93E − 021.96E − 02Table 5
Comparison on 6 multimodal functions (FEs = 1000).
Fun.TermPSOBSACSAWOAGOASCASSASCA-SSASCA-CSSAf8Max1.23E + 021.05E + 021.18E + 021.12E + 021.11E + 021.12E + 023.34E + 015.18E + +013.85E + 01Min3.3603.15E + 0105.87E + 016.42E − 11000Mean2.36E + 017.33E − 014.20E + 015.867.39E + 011.72E + 014.73E − 027.62E − 024.12E − 02Std2.36E + 015.56E + 001.76E + 011.41E + 011.57E + 012.82E + 011.211.741.10f9Max1.99E + 011.79E + 011.91E + 011.96E + 011.77E + 012.00E + 012.742.591.07Min4.88E − 158.88E − 161.79E + 011.60E − 155.78E − 018.73E − 148.88E − 168.88E − 168.88E − 16Mean1.211.27E − 011.84E + 012.95E − 015.604.073.01E − 036.38E − 031.17E − 03Std2.161.334.25E − 011.814.096.828.74E − 021.06E − 012.94E − 02f10Max1.56E + 026.94E + 011.57E + 021.45E + 025.48E + 011.30E + 023.20E − 014.10E − 012.10E − 01Min1.21E − 0101.57E + 024.85E − 022.95E − 013.04E − 02000Mean5.782.99E − 011.57E + 027.52E − 013.427.123.52E − 047.56E − 041.91E − 04Std2.32E + 013.372.46E − 127.263.742.07E + 011.03E − 021.58E − 025.36E − 03f11Max9.94E + 071.39E + 075.90E + 078.76E + 071.02E + 076.01E + 071.271.447.33E − 01Min4.80E − 324.69E − 014.78E + 076.21E − 034.35E − 058.11E − 024.75E − 324.76E − 324.73E − 32Mean1.71E + 051.96E + 044.78E + 071.90E + 051.54E + 045.44E + 061.32E − 032.03E − 033.13E − 04Std3.54E + 064.59E + 054.49E + 063.29E + 063.64E + 051.42E + 074.03E − 024.90E − 021.47E − 02f12Max1.64E + 081.37E + 072.63E + 081.23E + 083.17E + 071.30E + 082.95E − 011.49E − 013.58E − 01Min3.72E − 329.57E − 012.63E + 082.71E − 041.06E − 023.06E − 011.57E − 321.35E − 321.35E − 32Mean3.58E + 052.19E + 042.63E + 083.88E + 055.97E + 045.15E + 064.25E − 045.95E − 043.39E − 04Std6.47E + 064.64E + 052.55E − 065.51E + 061.12E + 062.30E + 071.02E − 027.52E − 038.64E − 03(1) Unimodal Functions. The evolution curves of these algorithms on 3 unimodal functions f1, f3, and f5 are given in Figure 1. It can be detected from the figure that the curve of SCA-CSSA descends fastest in the number of iterations that are far less than 10,000 times. For f1 and f3 case, SCA-CSSA has the fastest convergence speed compared with other algorithms. But, on functions f1 and f3, the original CSA and GOA got the worst solution because it is trapped in the local optimum prematurely. For function f5, these algorithms did not find the value 0. However, SCA-CSSA continues to decline and the convergence speed of it is significantly faster than other algorithms in the early stage; the solution eventually found is the best. Overall, owing to enhance the diversity of population, SCA-CSSA has a relatively excellent convergence speed when FEs = 10,000.From the numerical testing results on 7 unimodal functions in Table4, we can see that SCA-CSSA can find the minimum value on f1, f2, f3, f4,f5, and f7. And, SCA-CSSA can find the optimal solution for all unimodal functions and get the minimum value of 0 on f1, f2, f3, and f4. It illustrates that the SCA-CSSA has best performance on unimodal functions compared to the other algorithms when FEs = 1000. Moreover, SCA-CSSA has the best maximum value (Max), the minimum value (Min), the mean value (Mean), and the standard deviation (Std) on f1, f3, f5, and f7. Obviously, the SCA-CSSA has a relatively good convergence speed. In summary, compared with these popular algorithms and hybrid algorithms, SCA-CSSA is a competitive algorithm for solving several functions and has the best performance on the most test benchmark functions.(2) Multimodal Functions. The evolution curves of these algorithms on 3 multimodal functions f8, f9, and f10 when FEs = 10,000 are depicted in Figure 2. We can see that SCA-CSSA can find the optimal solution in the same iteration. For f8 and f10 cases, SCA-CSSA continues to decline and got the best value 0. But, the original PSO and GOA get parallel straight lines because of their poor global convergence ability on these 3 functions. For function f9, although SCA-CSSA is also trapped the local optimum, it finds the minimum value compared to other algorithms. Obviously, the convergence speed of the SCA-CSSA is significantly faster than other algorithms in the early stage, and the solution eventually found is the best. In general, owing to enhance the diversity of population, SCA-CSSA has a relatively balanced global search capability when FEs = 10,000.From the numerical testing results on 5 multimodal functions in Table5, we can see that SCA-CSSA can find the optimal solution for all multimodal functions and get the minimum value of 0 on f8 and f10. The SCA-CSSA has relatively well performance on multimodal functions compared to the other algorithms. Moreover, SCA-CSSA has the best maximum value (Max), the minimum value (Min), the mean value (Mean), and the standard deviation (Std) on f9, f10, f11, and f12. Obviously, the SCA-CSSA has a relatively well global search capability. The main reason is that SCA-CSSA has a stronger global exploration capability based on the SCA method. In summary, the SCA-CSSA has a superior global search capability on most multimodal functions when FEs = 1000.


## 4.1.4. Comparison on CEC2017 Test Functions with Hybrid Algorithms and Popular Algorithms

In order to further verify the universality of the proposed SCA_CSSA algorithm, it has been compared with PSO, BSA, WOA, GOA, SSA, SCA, and SCA_SSA on the latest CEC2017 test functions. In this experiment, the dimension’s size (Dim) is set to 10. The number of function evaluations (FEs) is 10,000. Experimental comparisons included the maximum value (Max), the minimum value (Min), the mean value (Mean), and the standard deviation (Std) and are given in Tables6 and 7, where the best results are marked in bold.Table 6
Comparison of numerical testing results on CEC2017 test sets (F1–F15, FEs = 10,000).
FunTermPSOBSAWOAGOASCASSASCA-SSASCA-CSSAF1Max1.92E + 101.44E + 102.70E + 101.26E + 101.95E + 102.18E + 102.00E + 101.38E + 10Min4.65E + 021.74E + 093.78E + 043.69E + 034.27E + 084.56E + 037.30E + 082.09E + 03Mean1.87E + 072.31E + 093.05E + 071.76E + 081.22E + 098.64E + 062.24E + 093.61E + 06Std4.71E + 089.39E + 085.99E + 083.16E + 081.10E + 093.14E + 082.46E + 091.67E + 08F3Max1.35E + 067.41E + 041.96E + 076.27E + 041.95E + 058.72E + 046.65E + 044.30E + 04Min3.00E + 028.88E + 033.60E + 023.00E + 027.16E + 023.00E + 025.85E + 033.00E + 02Mean6.09E + 021.09E + 042.79E + 038.61E + 023.98E + 033.89E + 021.03E + 043.50E + 02Std1.68E + 042.30E + 031.98E + 051.91E + 037.16E + 031.44E + 034.55E + 037.74E + 02F4Max3.58E + 032.32E + 033.47E + 031.69E + 033.76E + 031.87E + 032.51E + 031.19E + 03Min4.01E + 026.05E + 024.21E + 024.05E + 024.24E + 024.00E + 024.82E + 024.00E + 02Mean4.04E + 026.37E + 024.26E + 024.16E + 024.63E + 024.02E + 026.70E + 024.02E + 02Std6.72E + 016.56E + 015.12E + 012.33E + 019.46E + 012.42E + 012.13E + 021.20E + 01F5Max6.56E + 026.37E + 026.73E + 026.23E + 026.62E + 026.51E + 026.42E + 026.23E + 02Min5.39E + 025.63E + 025.49E + 025.20E + 025.38E + 025.30E + 025.42E + 025.28E + 02Mean5.40E + 025.66E + 025.51E + 025.31E + 025.53E + 025.31E + 025.51E + 025.28E + 02Std3.663.335.301.07E + 011.43E + 013.431.26E + 013.16F6Max6.98E + 026.71E + 027.16E + 026.72E + 027.02E + 026.95E + 026.87E + 026.61E + 02Min6.07E + 026.42E + 026.29E + 026.07E + 026.14E + 026.08E + 026.21E + 026.02E + 02Mean6.08E + 026.42E + 026.31E + 026.18E + 026.24E + 026.09E + 026.30E + 026.02E + 02Std3.571.264.211.13E + 011.17E + 012.471.08E + 011.72F7Max1.21E + 031.00E + 031.19E + 031.02E + 031.21E + 039.05E + 028.97E + 029.02E + 02Min7.20E + 027.90E + 027.74E + 027.30E + 027.64E + 027.67E + 027.86E + 027.42E + 02Mean7.26E + 027.93E + 027.75E + 027.51E + 027.89E + 027.71E + 028.07E + 027.44E + 02Std1.43E + 015.438.821.87E + 013.72E + 018.582.39E + 015.10F8Max9.56E + 029.10E + 029.51E + 029.29E + 029.45E + 029.29E + 029.24E + 028.99E + 02Min8.19E + 028.46E + 028.55E + 028.18E + 028.32E + 028.31E + 028.50E + 028.21E + 02Mean8.20E + 028.47E + 028.56E + 028.31E + 028.48E + 028.31E + 028.59E + 028.22E + 02Std3.852.193.731.31E + 011.84E + 012.371.13E + 011.74F9Max5.51E + 034.09E + 036.41E + 033.10E + 035.50E + 033.61E + 033.37E + 032.78E + 03Min9.00E + 021.51E + 031.36E + 039.00E + 029.56E + 021.39E + 031.28E + 039.33E + 02Mean9.07E + 021.54E + 031.44E + 039.44E + 021.18E + 031.41E + 031.50E + 039.43E + 02Std1.01E + 025.76E + 011.80E + 027.16E + 014.02E + 026.87E + 012.96E + 024.25E + 01F10Max3.92E + 033.52E + 033.67E + 033.64E + 033.68E + 033.61E + 033.66E + 033.52E + 03Min1.94E + 032.29E + 031.65E + 031.84E + 032.02E + 031.92E + 032.14E + 031.61E + 03Mean1.97E + 032.31E + 031.70E + 032.11E + 032.14E + 031.98E + 032.29E + 031.67E + 03Std1.04E + 024.89E + 011.55E + 021.80E + 021.56E + 029.65E + 012.20E + 021.09E + 02F11Max6.40E + 048.54E + 034.26E + 041.42E + 042.10E + 041.05E + 041.61E + 045.46E + 03Min1.14E + 031.46E + 031.16E + 031.12E + 031.15E + 031.19E + 031.37E + 031.12E + 03Mean1.18E + 031.54E + 031.19E + 031.17E + 031.33E + 031.19E + 031.75E + 031.12E + 03Std1.27E + 032.19E + 025.79E + 022.21E + 024.96E + 021.48E + 027.15E + 025.63E + 01F12Max3.57E + 092.19E + 093.71E + 092.62E + 091.99E + 091.22E + 091.83E + 095.84E + 08Min1.06E + 048.94E + 065.78E + 051.39E + 054.13E + 068.20E + 031.54E + 071.02E + 04Mean2.36E + 061.39E + 072.02E + 066.15E + 063.05E + 073.57E + 056.33E + 071.14E + 05Std7.49E + 074.66E + 074.27E + 073.18E + 076.96E + 071.56E + 071.22E + 086.35E + 06F13Max3.85E + 081.29E + 084.56E + 081.07E + 083.85E + 081.46E + 082.27E + 084.59E + 07Min7.89E + 033.19E + 032.03E + 043.28E + 031.58E + 043.59E + 032.42E + 042.03E + 03Mean1.30E + 052.06E + 041.32E + 053.21E + 042.30E + 052.71E + 045.00E + 051.03E + 04Std5.79E + 061.33E + 065.77E + 061.12E + 065.38E + 061.56E + 065.50E + 064.71E + 05F14Max1.98E + 076.27E + 051.21E + 078.62E + 055.10E + 061.01E + 067.43E + 063.07E + 05Min1.45E + 031.69E + 031.51E + 031.44E + 031.52E + 031.46E + 031.53E + 031.45E + 03Mean5.16E + 031.88E + 033.18E + 031.86E + 033.35E + 031.65E + 033.52E + 031.54E + 03Std2.40E + 057.24E + 031.31E + 058.97E + 037.50E + 041.11E + 047.81E + 043.44E + 03F15Max4.34E + 073.44E + 067.65E + 077.29E + 051.34E + 071.25E + 078.62E + 067.62E + 05Min1.53E + 034.84E + 032.33E + 031.60E + 031.76E + 031.59E + 031.98E + 031.53E + 03Mean1.24E + 047.19E + 031.12E + 043.00E + 036.23E + 033.35E + 038.97E + 031.71E + 03Std5.97E + 053.73E + 047.66E + 051.62E + 041.50E + 051.29E + 059.35E + 048.23E + 03Table 7
Comparison of numerical testing results on CEC2017 test sets (F16–F30, FEs = 10,000).
FunTermPSOBSAWOAGOASCASSASCA-SSASCA-CSSAF16Max2.81E + 032.62E + 032.88E + 032.50E + 032.77E + 032.73E + 032.68E + 032.58E + 03Min1.82E + 031.93E + 031.76E + 031.99E + 031.65E + 031.84E + 031.72E + 031.73E + 03Mean1.82E + 032.00E + 031.78E + 032.01E + 031.75E + 031.84E + 031.83E + 031.78E + 03Std2.81E + 014.95E + 014.40E + 015.57E + 011.00E + 022.38E + 011.28E + 025.95E + 01F17Max2.56E + 032.21E + 032.48E + 032.45E + 032.42E + 032.33E + 032.37E + 032.20E + 03Min1.77E + 031.86E + 031.77E + 031.88E + 031.76E + 031.78E + 031.77E + 031.75E + 03Mean1.78E + 031.86E + 031.77E + 031.90E + 031.79E + 031.78E + 031.80E + 031.75E + 03Std1.87E + 018.122.14E + 013.85E + 014.73E + 011.32E + 015.46E + 019.96F18Max1.56E + 092.95E + 087.81E + 081.68E + 082.77E + 084.24E + 083.51E + 085.92E + 07Min6.65E + 033.59E + 031.53E + 046.77E + 033.02E + 041.92E + 035.25E + 041.85E + 03Mean9.05E + 051.37E + 051.29E + 058.75E + 044.10E + 057.57E + 041.40E + 071.17E + 04Std3.20E + 074.34E + 068.45E + 062.00E + 065.17E + 064.73E + 061.86E + 076.34E + 05F19Max8.24E + 077.44E + 068.09E + 074.07E + 073.12E + 072.34E + 072.51E + 071.72E + 07Min1.91E + 032.54E + 031.30E + 041.96E + 032.11E + 031.94E + 033.14E + 031.92E + 03Mean3.09E + 046.41E + 034.19E + 049.89E + 032.42E + 047.92E + 033.52E + 044.13E + 03Std1.40E + 068.05E + 041.06E + 064.52E + 056.37E + 053.20E + 053.77E + 051.77E + 05F20Max2.57E + 032.41E + 032.64E + 032.66E + 032.50E + 032.58E + 032.51E + 032.46E + 03Min2.10E + 032.16E + 032.11E + 032.16E + 032.07E + 032.09E + 032.08E + 032.03E + 03Mean2.11E + 032.17E + 032.12E + 032.19E + 032.10E + 032.09E + 032.14E + 032.04E + 03Std1.44E + 018.342.26E + 013.93E + 015.07E + 011.14E + 015.83E + 012.46E + 01F21Max2.44E + 032.41E + 032.44E + 032.41E + 032.44E + 032.42E + 032.43E + 032.41E + 03Min2.32E + 032.33E + 032.28E + 032.32E + 032.21E + 032.32E + 032.31E + 032.29E + 03Mean2.32E + 032.34E + 032.28E + 032.33E + 032.23E + 032.32E + 032.33E + 032.30E + 03Std3.88E + 001.15E + 011.55E + 012.46E + 014.73E + 013.09E + 003.02E + 011.73E + 01F22Max4.04E + 033.48E + 034.12E + 034.85E + 034.20E + 034.16E + 034.27E + 033.14E + 03Min2.30E + 032.57E + 032.31E + 032.30E + 032.32E + 032.30E + 032.44E + 032.30E + 03Mean2.31E + 032.60E + 032.32E + 032.33E + 032.40E + 032.30E + 032.55E + 032.30E + 03Std4.53E + 012.72E + 014.79E + 015.02E + 011.23E + 022.97E + 011.97E + 021.06E + 01F23Max2.91E + 032.84E + 032.93E + 032.83E + 032.81E + 032.79E + 032.81E + 032.76E + 03Min2.70E + 032.74E + 032.64E + 032.61E + 032.64E + 032.63E + 032.65E + 032.61E + 03Mean2.70E + 032.75E + 032.65E + 032.62E + 032.65E + 032.63E + 032.66E + 032.62E + 03Std8.246.671.03E + 012.92E + 012.83E + 013.352.07E + 012.19F24Max3.04E + 033.00E + 033.05E + 032.93E + 032.94E + 032.91E + 032.97E + 032.92E + 03Min2.82E + 032.86E + 032.77E + 032.74E + 032.73E + 032.77E + 032.78E + 032.72E + 03Mean2.82E + 032.87E + 032.77E + 032.76E + 032.76E + 032.77E + 032.79E + 032.74E + 03Std8.28E + 007.49E + 007.41E + 002.96E + 014.61E + 014.22E + 001.68E + 011.64E + 01F25Max4.98E + 033.96E + 034.80E + 033.65E + 034.61E + 034.30E + 034.52E + 033.57E + 03Min2.92E + 033.09E + 032.94E + 032.95E + 032.94E + 032.93E + 032.95E + 032.89E + 03Mean2.92E + 033.10E + 032.95E + 032.96E + 032.99E + 032.93E + 033.07E + 032.90E + 03Std4.65E + 012.22E + 014.20E + 013.31E + 016.75E + 012.01E + 012.23E + 021.13E + 01F26Max4.67E + 034.65E + 035.17E + 034.06E + 034.90E + 035.29E + 035.03E + 034.46E + 03Min3.14E + 033.73E + 032.99E + 032.90E + 033.05E + 033.43E + 033.24E + 033.10E + 03Mean3.16E + 033.76E + 033.04E + 032.95E + 033.10E + 033.43E + 033.56E + 033.14E + 03Std7.01E + 013.82E + 011.43E + 026.14E + 011.14E + 023.62E + 013.55E + 026.78E + 01F27Max3.49E + 033.29E + 033.50E + 033.18E + 033.33E + 033.34E + 033.31E + 033.27E + 03Min3.12E + 033.18E + 033.13E + 033.10E + 033.10E + 033.10E + 033.10E + 033.09E + 03Mean3.12E + 033.18E + 033.13E + 033.10E + 033.10E + 033.10E + 033.12E + 033.09E + 03Std1.19E + 013.401.13E + 013.11E + 013.14E + 013.342.11E + 016.92F28Max4.14E + 033.94E + 034.42E + 034.23E + 034.03E + 034.05E + 033.44E + 033.49E + 03Min3.17E + 033.47E + 033.43E + 033.38E + 033.22E + 033.33E + 033.29E + 033.21E + 03Mean3.18E + 033.54E + 033.43E + 033.39E + 033.25E + 033.33E + 033.29E + 033.24E + 03Std3.97E + 015.20E + 012.38E + 013.67E + 016.14E + 011.33E + 016.271.77E + 01F29Max4.25E + 033.78E + 034.01E + 033.58E + 033.90E + 033.77E + 033.89E + 033.80E + 03Min3.21E + 033.36E + 033.28E + 033.28E + 033.20E + 033.26E + 033.26E + 033.20E + 03Mean3.21E + 033.36E + 033.29E + 033.30E + 033.24E + 033.26E + 033.31E + 033.23E + 03Std2.61E + 011.12E + 012.32E + 014.00E + 015.83E + 011.26E + 017.90E + 012.47E + 01F30Max2.96E + 086.29E + 072.70E + 081.54E + 078.63E + 077.88E + 077.97E + 073.54E + 07Min5.44E + 032.53E + 064.05E + 059.20E + 033.95E + 052.13E + 051.05E + 045.19E + 03Mean2.58E + 052.95E + 067.44E + 059.12E + 047.63E + 052.52E + 058.56E + 051.82E + 05Std6.56E + 061.58E + 063.18E + 066.69E + 051.64E + 061.22E + 063.10E + 067.56E + 05SCA-CSSA gets the minimum value onF3, F4, F6, F10, F11, F12, F13, and F14 in Table 6 and on F16, F17, F18, F19, F20, F22, F23, F24, F25, F27, F28, F29, and F30 in Table 7. According to the results, we can observe that SCA-CSSA does well on 21 CEC2017 test functions. Further, SCA-CSSA has the best maximum value (Max), the minimum value (Min), the mean value (Mean), and the standard deviation (Std) on F3, F4, F6, F10, F11, F12, F13, F14, and F15 in Table 6 and on F17, F18, F20, F22, F23, F24, and F25 in Table 7. Therefore, SCA-CSSA can not only find the optimal solution but also has stability on 16 CEC2017 test functions. In summary, it can be observed that SCA-CSSA obtains optimal value. It can be concluded that SCA-CSSA has better global search ability and better robustness on these test suites.


## 4.2. Application to Practical Pulmonary Nodule Detection Classification Problem Based on Lung CT Images

In this section, in order to evaluate the performance of SCA-CSSA in optimizing real-world optimization problem, the proposed AdaBoost-ISSA-S4VM model is used for Pulmonary Nodule Detection Classification. The CT images from LIDC/IDRI database were used for the AdaBoost-ISSA-S4VM classification. In order to obtain fair results, all the implementations, such as SVM [24], S4VM, AdaBoost-SVM, and AdaBoost-S4VM, are conducted under the same conditions. The experimental environment for all experiments in this section is the same as in Section 4.1. And, each algorithm runs 30 times independently for each classification model. Population size and maximum generation are set to 30 and 100, respectively.


### 4.2.1. Design of Pulmonary Nodule Detection Classification System

In order to identify and classify the lung nodules and non-nodules, the processing module includes the preprocessing of DICOM image, the extraction of the lung parenchyma and lung nodule, the interception of the ROI (region of interest) image, the acquisition of ROI feature vectors, and the dimensionality reduction and classification of the vectors. Block diagram of the pulmonary nodule detection classification system based on the improved AdaBoost-ISSA-S4VM is shown in Figure3.Figure 3
Block diagram of the oil layer classification system based on AdaBoost-ISSA-S4VM.The pulmonary nodule detection classification can be simplified by the four steps (Figure4):Step 1 (Image Selection). The selection of the CT images of lung is solitary lung nodule. At the same time, the datasets should be closely related to lung cancer sample analysis. The dataset should be relatively independent. The dataset is randomly divided into two parts of training and testing samples.Step 2 (Picture Preprocessing). Read the CT images of lung first, as shown in Figure 4(a), and then use RPCA method which is improved by weighted nonconvex regularization for image denoising [25]. After enhancing the contrast ratio of the images through binarization processing, this study uses optimal threshold segmentation (OTSU) method to sharpen the image, as shown in Figure 4(b).Step 3 (Lung Parenchyma Extraction). In order to narrow the range of the lung parenchyma and reduce the difficulty of detection, thus improving the accuracy of detection, we fill the lung parenchyma, as shown in Figure 4(c). Then, do XOR to the figure; the area of lung parenchyma is obtained as shown in Figure 4(d). After deleting external and small area in lung parenchyma, the morphological method is used to repair the edge of the image, as shown in Figure 4(e). Finally, the lung parenchyma template and the image after pretreatment are multiplied to obtain the required lung parenchyma, as shown in Figure 4(f).Step 4 (ROI Region Extraction). The optimal threshold segmentation method is used again in order to extract the pathological part. After eliminating the linear structures, the small area is removed by removing smaller connected components, as shown in Figure 4(g). Finally, we can remove the false positives by the dot filter method which can remove the linear structure effectively and get the ROI regions as shown in Figure 4(h). The ROI regions include lung nodules and non-nodules as shown in Figures 4(i) and 4(j).Step 5 (Feature Vector Extraction). In order to avoid the influence of the particularity, heterogeneity, texture, and complexity of lung nodules on the selection of feature vectors, we introduce the Curvelet transform with rigorous mathematical theory based on the conventional feature extraction methods [24] to supplement the feature vectors.Step 6 (Classifier Training and Feature Classification). In the AdaBoost-ISSA-S4VM classifier, input the actual feature vector of lung node dataset after feature vector extraction, use AdaBoost-ISSA-S4VM classification algorithm to train, and finally get the AdaBoost-ISSA-S4VM classification model. The train dataset is identified by the trained AdaBoost-ISSA-S4VM classification model and the classification results are obtained as output.Figure 4
Some steps in the extraction process of lung nodules.
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)


### 4.2.2. Practical Application

InSection 2.3, the performance of the proposed ISSA is simulated and analyzed on benchmark functions. In order to test the application effect of the improved AdaBoost-ISSA-S4VM classification model, the CT images of lung from LIDC/IDRI database is selected for experiments. According to the description of the XML annotation file of the case nodule information in the database, the solid solitary lung nodule was analyzed. ROI region extraction on the DICOM image is performed before feature vector extraction, as shown in Figure 4. Figure 4 shows some partial steps of lung nodule extraction, where the (a) is the original CT image, the (f) is a lung parenchyma after being processed, and the (i) and (j) are the suspected lesion areas. Finally, 200 RIO regions were extracted in this experiment, including 80 lung nodules and 195 non-nodules. After group them randomly, 125 of them are as the training set and 200 are as the test set for supervised learning model. And, 125 of them are as the labeled set and 200 are as the unlabeled set for semi-supervised learning model. Figure 5 shows some lung nodules and non-nodules gained from the experiment.Figure 5
Some of lung nodules and non-nodules obtained in the experiment. (a) Non-nodules; (b) lung nodules.
(a)(b)Feature vector extraction on the ROI regions datasets is performed before the training of AdaBoost-ISSA-S4VM classification model on the training dataset, as shown in Table8. 715 feature vector parameters are extracted, including 12 morphological feature parameters, 10 gray-scale feature parameters, 7 texture feature parameters, and 686 Curvelet transform coefficients. Then, these feature vectors are normalized to prevent features with large dynamic range from affecting the characteristic of features with small one, as shown in Table 9.Table 8
Feature vector extraction results of ROI regions.
Sample12345…71371471514.5925E + 021.00717.9167E − 014.5332E − 015.4959…1.3085E − 051.3085E − 051.3085E − 0527.4675E + 025.3339E − 018.7500E − 011.6086E − 024.2682…2.6276E − 052.6276E − 052.6276E − 0535.2038E + 025.9813E − 019.6667E − 012.9988E − 013.6474…1.1133E − 061.1133E − 061.1133E − 0643.8388E + 028.3633E − 016.2963E − 015.6769E − 011.7350…1.5003E − 061.5003E − 061.5003E − 0656.8213E + 026.7671E − 017.7778E − 012.8724E − 012.1450…1.1633E − 051.1633E − 051.1633E − 0566.0013E + 024.5361E − 015.5102E − 011.0952E − 021.9821…1.6688E − 051.6688E − 051.6688E − 0576.8838E + 028.6916E − 016.1111E − 011.3839E − 012.6320…2.2705E − 052.2705E − 052.2705E − 05…………………………1232.2238E + 037.5330E − 015.6944E − 013.5254E − 011.2325…1.1612E − 041.1612E − 041.1612E − 041248.4838E + 025.8792E − 019.4872E − 011.2225E − 015.1242…2.1470E − 052.1470E − 052.1470E − 051251.8721E + 036.4757E − 018.3051E − 015.4866E − 023.6554…1.7342E − 041.7342E − 041.7342E − 04Table 9
The normalized feature vector extraction results of Nodule.
Sample12345…71371471510.03910.71290.62270.17875.4959…0.00930.00930.009320.07970.36850.77360.00494.2682…0.01870.01870.018730.04770.41550.93960.11773.6474…0.00080.00080.000840.02850.58870.32930.22421.7350…0.00110.00110.001150.07060.47270.59760.11272.1450…0.00830.00830.008360.05900.31050.18700.00291.9821…0.01190.01190.011970.07140.61260.29580.05352.6320…0.01620.01620.0162…………………………1230.28810.52830.22030.13871.2325…0.08270.08270.08271240.09400.40810.90710.04715.1242…0.01530.01530.01531250.23840.45150.69310.02033.6554…0.12350.12350.1235The CT image after preprocessing, extracting lung parenchyma and lung nodes, and extracting the feature of the lung nodes is used to train the pulmonary nodule detection classification model. In order to measure the performance of the AdaBoost-ISSA-S4VM classification model, we compare the improved classification model with several popular pulmonary nodule detection classification models. These classification models are the SVM model [26], standard S4VM model, AdaBoost-SVM model, AdaBoost-S4VM model, and AdaBoost-ISSA-S4VM model. In order to evaluate the performance of the recognition model, the following performance indicators are selected in this paper. The formula for evaluating the classification indexes is shown in Table 10.Table 10
The calculation formulas of accuracy, sensitivity and specificity.
Evaluation indexCalculation formulasAccuracy (ACC)TP+TN/TP+FP+TN+FNSensitivity (SEN)TP/TP+FNSpecificity (SPE)TN/FP+TNFalse positive rate (FPR)FP/FP+TNFalse negative rate (FNR)FN/TP+FNwhere TP stands for true positive, TN for true negative, FP for false positive, and FN for false negative.ACC is used to evaluate the accuracy of each classification model. SEN and SPE are used to refer the ability to detect the true positive and true negative, respectively. FPR and FNR are, respectively, the misdiagnosis rate and missed diagnosis rate. Table11 records the performance indicator data of each classification model, and the best results are marked in bold. The larger the SEN and SPE are, the better the classification model performs. On the contrary, the smaller the FPR and FNR are, the better the classification model performs.Table 11
Performance of various classification model.
Classification modelACC (%)SENSPEFPRFNRSVM77.390.98330.45570.54430.0167S4VM68.640.54830.89620.10380.4517AdaBoost-SVM75.280.98830.39490.60510.0117AdaBoost-S4VM81.570.76950.88610.11390.2305AdaBoost-ISSA-S4VM94.220.98550.87660.12340.0146From the performance indicators data of each classification model in Table11, we can see that the classification accuracy of AdaBoost-ISSA-S4VM classification model can be comparable to or even better than supervised classifiers such as SVM. First of all, it can be seen that the classification accuracy of the S4VM classifier is quite poor and far lower than the SVM. The reason is that the SVM is a supervised classifier whose input dataset is labeled, while S4VM is a semi-supervised classifier whose input dataset contains unlabeled dataset, which will reduce the accuracy of the classifier. Secondly, the S4VM classifier optimized by ensemble learning is better than SVM combined with ensemble learning. Then, the classification accuracy of the established AdaBoost-ISSA-S4VM, which is the S4VM classifier optimized by ensemble learning and SCA-CSSA and can get 94.22% on labeled and unlabeled lung CT images which is much higher than the original supervised classifier on labeled samples. At the same time, the false positive rate and false negative rate of the established AdaBoost-ISSA-S4VM can get 0.1234 and 0.0146 on these lung nodule images. The false positive rate and false negative rate of AdaBoost-ISSA-S4VM also performs well. Based on above results of data, the proposed classification model is better than the traditional supervised classifiers such as SVM model on lung nodule classification.


## 4.2.1. Design of Pulmonary Nodule Detection Classification System

In order to identify and classify the lung nodules and non-nodules, the processing module includes the preprocessing of DICOM image, the extraction of the lung parenchyma and lung nodule, the interception of the ROI (region of interest) image, the acquisition of ROI feature vectors, and the dimensionality reduction and classification of the vectors. Block diagram of the pulmonary nodule detection classification system based on the improved AdaBoost-ISSA-S4VM is shown in Figure3.Figure 3
Block diagram of the oil layer classification system based on AdaBoost-ISSA-S4VM.The pulmonary nodule detection classification can be simplified by the four steps (Figure4):Step 1 (Image Selection). The selection of the CT images of lung is solitary lung nodule. At the same time, the datasets should be closely related to lung cancer sample analysis. The dataset should be relatively independent. The dataset is randomly divided into two parts of training and testing samples.Step 2 (Picture Preprocessing). Read the CT images of lung first, as shown in Figure 4(a), and then use RPCA method which is improved by weighted nonconvex regularization for image denoising [25]. After enhancing the contrast ratio of the images through binarization processing, this study uses optimal threshold segmentation (OTSU) method to sharpen the image, as shown in Figure 4(b).Step 3 (Lung Parenchyma Extraction). In order to narrow the range of the lung parenchyma and reduce the difficulty of detection, thus improving the accuracy of detection, we fill the lung parenchyma, as shown in Figure 4(c). Then, do XOR to the figure; the area of lung parenchyma is obtained as shown in Figure 4(d). After deleting external and small area in lung parenchyma, the morphological method is used to repair the edge of the image, as shown in Figure 4(e). Finally, the lung parenchyma template and the image after pretreatment are multiplied to obtain the required lung parenchyma, as shown in Figure 4(f).Step 4 (ROI Region Extraction). The optimal threshold segmentation method is used again in order to extract the pathological part. After eliminating the linear structures, the small area is removed by removing smaller connected components, as shown in Figure 4(g). Finally, we can remove the false positives by the dot filter method which can remove the linear structure effectively and get the ROI regions as shown in Figure 4(h). The ROI regions include lung nodules and non-nodules as shown in Figures 4(i) and 4(j).Step 5 (Feature Vector Extraction). In order to avoid the influence of the particularity, heterogeneity, texture, and complexity of lung nodules on the selection of feature vectors, we introduce the Curvelet transform with rigorous mathematical theory based on the conventional feature extraction methods [24] to supplement the feature vectors.Step 6 (Classifier Training and Feature Classification). In the AdaBoost-ISSA-S4VM classifier, input the actual feature vector of lung node dataset after feature vector extraction, use AdaBoost-ISSA-S4VM classification algorithm to train, and finally get the AdaBoost-ISSA-S4VM classification model. The train dataset is identified by the trained AdaBoost-ISSA-S4VM classification model and the classification results are obtained as output.Figure 4
Some steps in the extraction process of lung nodules.
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)


## 4.2.2. Practical Application

InSection 2.3, the performance of the proposed ISSA is simulated and analyzed on benchmark functions. In order to test the application effect of the improved AdaBoost-ISSA-S4VM classification model, the CT images of lung from LIDC/IDRI database is selected for experiments. According to the description of the XML annotation file of the case nodule information in the database, the solid solitary lung nodule was analyzed. ROI region extraction on the DICOM image is performed before feature vector extraction, as shown in Figure 4. Figure 4 shows some partial steps of lung nodule extraction, where the (a) is the original CT image, the (f) is a lung parenchyma after being processed, and the (i) and (j) are the suspected lesion areas. Finally, 200 RIO regions were extracted in this experiment, including 80 lung nodules and 195 non-nodules. After group them randomly, 125 of them are as the training set and 200 are as the test set for supervised learning model. And, 125 of them are as the labeled set and 200 are as the unlabeled set for semi-supervised learning model. Figure 5 shows some lung nodules and non-nodules gained from the experiment.Figure 5
Some of lung nodules and non-nodules obtained in the experiment. (a) Non-nodules; (b) lung nodules.
(a)(b)Feature vector extraction on the ROI regions datasets is performed before the training of AdaBoost-ISSA-S4VM classification model on the training dataset, as shown in Table8. 715 feature vector parameters are extracted, including 12 morphological feature parameters, 10 gray-scale feature parameters, 7 texture feature parameters, and 686 Curvelet transform coefficients. Then, these feature vectors are normalized to prevent features with large dynamic range from affecting the characteristic of features with small one, as shown in Table 9.Table 8
Feature vector extraction results of ROI regions.
Sample12345…71371471514.5925E + 021.00717.9167E − 014.5332E − 015.4959…1.3085E − 051.3085E − 051.3085E − 0527.4675E + 025.3339E − 018.7500E − 011.6086E − 024.2682…2.6276E − 052.6276E − 052.6276E − 0535.2038E + 025.9813E − 019.6667E − 012.9988E − 013.6474…1.1133E − 061.1133E − 061.1133E − 0643.8388E + 028.3633E − 016.2963E − 015.6769E − 011.7350…1.5003E − 061.5003E − 061.5003E − 0656.8213E + 026.7671E − 017.7778E − 012.8724E − 012.1450…1.1633E − 051.1633E − 051.1633E − 0566.0013E + 024.5361E − 015.5102E − 011.0952E − 021.9821…1.6688E − 051.6688E − 051.6688E − 0576.8838E + 028.6916E − 016.1111E − 011.3839E − 012.6320…2.2705E − 052.2705E − 052.2705E − 05…………………………1232.2238E + 037.5330E − 015.6944E − 013.5254E − 011.2325…1.1612E − 041.1612E − 041.1612E − 041248.4838E + 025.8792E − 019.4872E − 011.2225E − 015.1242…2.1470E − 052.1470E − 052.1470E − 051251.8721E + 036.4757E − 018.3051E − 015.4866E − 023.6554…1.7342E − 041.7342E − 041.7342E − 04Table 9
The normalized feature vector extraction results of Nodule.
Sample12345…71371471510.03910.71290.62270.17875.4959…0.00930.00930.009320.07970.36850.77360.00494.2682…0.01870.01870.018730.04770.41550.93960.11773.6474…0.00080.00080.000840.02850.58870.32930.22421.7350…0.00110.00110.001150.07060.47270.59760.11272.1450…0.00830.00830.008360.05900.31050.18700.00291.9821…0.01190.01190.011970.07140.61260.29580.05352.6320…0.01620.01620.0162…………………………1230.28810.52830.22030.13871.2325…0.08270.08270.08271240.09400.40810.90710.04715.1242…0.01530.01530.01531250.23840.45150.69310.02033.6554…0.12350.12350.1235The CT image after preprocessing, extracting lung parenchyma and lung nodes, and extracting the feature of the lung nodes is used to train the pulmonary nodule detection classification model. In order to measure the performance of the AdaBoost-ISSA-S4VM classification model, we compare the improved classification model with several popular pulmonary nodule detection classification models. These classification models are the SVM model [26], standard S4VM model, AdaBoost-SVM model, AdaBoost-S4VM model, and AdaBoost-ISSA-S4VM model. In order to evaluate the performance of the recognition model, the following performance indicators are selected in this paper. The formula for evaluating the classification indexes is shown in Table 10.Table 10
The calculation formulas of accuracy, sensitivity and specificity.
Evaluation indexCalculation formulasAccuracy (ACC)TP+TN/TP+FP+TN+FNSensitivity (SEN)TP/TP+FNSpecificity (SPE)TN/FP+TNFalse positive rate (FPR)FP/FP+TNFalse negative rate (FNR)FN/TP+FNwhere TP stands for true positive, TN for true negative, FP for false positive, and FN for false negative.ACC is used to evaluate the accuracy of each classification model. SEN and SPE are used to refer the ability to detect the true positive and true negative, respectively. FPR and FNR are, respectively, the misdiagnosis rate and missed diagnosis rate. Table11 records the performance indicator data of each classification model, and the best results are marked in bold. The larger the SEN and SPE are, the better the classification model performs. On the contrary, the smaller the FPR and FNR are, the better the classification model performs.Table 11
Performance of various classification model.
Classification modelACC (%)SENSPEFPRFNRSVM77.390.98330.45570.54430.0167S4VM68.640.54830.89620.10380.4517AdaBoost-SVM75.280.98830.39490.60510.0117AdaBoost-S4VM81.570.76950.88610.11390.2305AdaBoost-ISSA-S4VM94.220.98550.87660.12340.0146From the performance indicators data of each classification model in Table11, we can see that the classification accuracy of AdaBoost-ISSA-S4VM classification model can be comparable to or even better than supervised classifiers such as SVM. First of all, it can be seen that the classification accuracy of the S4VM classifier is quite poor and far lower than the SVM. The reason is that the SVM is a supervised classifier whose input dataset is labeled, while S4VM is a semi-supervised classifier whose input dataset contains unlabeled dataset, which will reduce the accuracy of the classifier. Secondly, the S4VM classifier optimized by ensemble learning is better than SVM combined with ensemble learning. Then, the classification accuracy of the established AdaBoost-ISSA-S4VM, which is the S4VM classifier optimized by ensemble learning and SCA-CSSA and can get 94.22% on labeled and unlabeled lung CT images which is much higher than the original supervised classifier on labeled samples. At the same time, the false positive rate and false negative rate of the established AdaBoost-ISSA-S4VM can get 0.1234 and 0.0146 on these lung nodule images. The false positive rate and false negative rate of AdaBoost-ISSA-S4VM also performs well. Based on above results of data, the proposed classification model is better than the traditional supervised classifiers such as SVM model on lung nodule classification.


## 5. Conclusion

In summary, the improved semi-supervised ensemble classifier (AdaBoost-ISSA-S4VM) is proposed by combining AdaBoost classifier, semi-supervised SVM, and improved sparrow search algorithm for semi-supervised problem. The proposed algorithm is employed in lung CT images for pulmonary nodule detection, and a detailed performance comparison and analysis are presented based on the publicly available LIDC-IDRI database. Better experimental results are obtained with the improved algorithm compared to that with the SVM, S4VM, AdaBoost-SVM, and AdaBoost-S4VM algorithms. In particular, the proposed AdaBoost-ISSA-S4VM is able to improve 21% more accuracy than standard SVM and 26% more accuracy than S4VM. This study demonstrates that the established AdaBoost-ISSA-S4VM classifier can solve the problem of pulmonary nodules detection of labeled and unlabeled lung CT images. In other words, the proposed AdaBoost-ISSA-S4VM classifier has the potential for improving the performance of the lung CT image classification by labeled and unlabeled lung CT images with a high detection probability of being cancers at its early stage.Although the proposed AdaBoost-ISSA-S4VM has been proven to be effective in solving general optimization problems, AdaBoost-ISSA-S4VM has some shortcomings that warrant further investigation. And, in AdaBoost-ISSA-S4VM, due to the improvement strategies, AdaBoost-ISSA-S4VM has needed more time than the classical S4VM and most of supervised classifiers. Therefore, deploying the proposed algorithm to increase recognition efficiency is a worthwhile direction. In the future research work, the method presented in this paper can also be extended to solving discrete optimization problems and multiobjective optimization problems. Furthermore, applying the proposed AdaBoost-ISSA-S4VM model to other fields such as financial prediction and biomedical science diagnosis is also an interesting future work.



---

*Source: 6622935-2021-02-18.xml*