# A New Support Vector Machine Based on Convolution Product

Authors: Wei-Chang Yeh; Yunzhi Jiang; Shi-Yi Tan; Chih-Yen Yeh
Journal: Complexity
 (2021)

---

## Abstract

The support vector machine (SVM) and deep learning (e.g., convolutional neural networks (CNNs)) are the two most famous algorithms in small and big data, respectively. Nonetheless, smaller datasets may be very important, costly, and not easy to obtain in a short time. This paper proposes a novel convolutional SVM (CSVM) that has the advantages of both CNN and SVM to improve the accuracy and effectiveness of mining smaller datasets. The proposed CSVM adapts the convolution product from CNN to learn new information hidden deeply in the datasets. In addition, it uses a modified simplified swarm optimization (SSO) to help train the CSVM to update classifiers, and then the traditional SVM is implemented as the fitness for the SSO to estimate the accuracy. To evaluate the performance of the proposed CSVM, experiments were conducted to test five well-known benchmark databases for the classification problem. Numerical experiments compared favorably with those obtained using SVM, 3-layer artificial NN (ANN), and 4-layer ANN. The results of these experiments verify that the proposed CSVM with the proposed SSO can effectively increase classification accuracy.


---

## Body

## 1. Introduction

Data mining is an effective method for examining and learning from extensive compound datasets of varying quality [1] and has been broadly applied to numerous practical problems in medicine [2–4], engineering [5], time series data [6], image classification [7], speech recognition [8], handwritten recognition [9], management [10], and social sciences [11], with classification being one of the most popular topics in data mining. Numerous classifiers for data mining have been established such as support vector machines (SVMs) [3, 4, 7] and deep learning algorithms [8, 9, 12].Deep learning based on artificial neural networks (ANNs) is made up of neurons that have learnable weights and biases such that the neural network, a special mathematical function, is connected or close to the data in dataset as much as possible [12, 13]. Deep learning techniques include convolution neural networks (CNNs) for the continuous space data types (e.g., image and speech recognition) [7, 8, 14], recurrent neural networks (RNNs) for the time series data types (e.g., stock markets and language modeling) [12], and generative adversarial networks (GANs) for generating new examples and classifying examples [15]. Deep learning is an adequate and straightforward data-mining method for big data [12, 13]. Moreover, since deep learning techniques need big data to learn the classification rules, that is, they only work well for large datasets, they pose an enormous challenge to many applications with respect to obtaining large enough datasets [12, 13]. Furthermore, deep learning relies on good hardware, especially the graphics processing unit (GPU), to have better performance, but such hardware is still expensive [16, 17].The SVM is another well-known and effective supervised learning model for selecting attributes and classifying data. Before the rise of deep learning, the SVM outperformed ANNs in various real-life applications in medicine [3, 4], semiconductor industry [18], online analysis [19], spectral unmixing resolution [20], imbalanced datasets [21], mining financial distress [22], data classification [23], and so forth [24–26]. In comparison with deep learning techniques that try to connect data in terms of ANNs, the SVM separates (not to connect) different classes of data based on the kernels through mathematical optimization [27, 28]. In addition, an SVM has high accuracy with less computation power and small data, which are two shortcomings of deep learning [24–26]. Therefore, besides the original SVM, various enhanced SVMs have been developed before the development of deep learning [21, 24–26]. SVMs are discussed in detail in Section 5.1.Small data are well-formatted data with small volumes that are accessible, understandable, and actionable for decision makers [29]. The value of data lies in the information content but not the volume of data [30]. For some cases such as the marketing strategies of targeting campaigns or delivering personalized experiences, big data might not be appropriate because they do not require full-on big data [31]. Conversely, small data extract an individual’s data and provide valuable information to help decision makers formulate strategies. Moreover, the occurrence of small data is rare, with the process of collecting them being expensive and strenuous [4, 21]. Hence, if the data mining of small data is improved, it will aid in making useful, cost-efficient, and timely decisions in small data applications.Deep learning techniques and SVMs belong to a broader family of machine learning algorithms. Deep learning techniques (e.g., convolution neural networks (CNNs)) based on neural networks are powerful for mining big data but less effective in smaller datasets. On the contrary, SVMs outperform all neural network types in smaller datasets but are less effective in mining big data. This paper proposes a novel convolutional SVM (CSVM) that has the advantages of both SVM and deep learning to enhance SVM by maximizing its prediction accuracy and tests for classifying two-class datasets.The proposed CSVM employs a supervised learning technique that is based on simplified swarm optimization (SSO), which is another powerful machine learning algorithm [2, 6, 32–35]. Numerical experiments and comparative research with ANNs and the traditional SVM show the accuracy and effectiveness of the proposed CSVM tested on five two-class datasets.To summarize the above, the theoretical contribution of this paper is the use of a novel convolutional SVM (CSVM) that has the advantages of both SVM and deep learning, that is, the use of SVM and the vital operation techniques of CNNs including stride and convolution, to enhance SVM and the use of one-solution, one-filter, one-variable greedy SSO update mechanism to prevent the solutions that are near optimums to be kept away from their current positions and to reduce the runtime.


## 2. Proposed and Traditional Convolution Products

The major difference between the proposed CSVM and the traditional SVM is the convolution product. Hence, the traditional and the proposed new convolution products are introduced and discussed in Section2.


### 2.1. Convolution-Related Concept

CNNs represent some of the most significant models of deep learning, and their performance has been verified in numerous recognition research areas. Among the vital operation techniques of CNNs, we introduce some that are used in this paper [12, 13].(1)
Padding: to prevent the reduction in data size generated by the convolution process in the next layer, we add zeros around the input image, with such action being called padding.(2)
Stride: a kernel that is moving a horizontal or vertical distance each time is called a stride. The greater the stride is, the more independent the neighboring values in the convolution process are.(3)
Convolution: in each operation of convolution, multiplication of the values between the input and the kernel (filter) moves through based on the given stride after padding. Then, these products are summed up and filled in the corresponding positions on the next layer.


### 2.2. Proposed Convolution Product with Repeated Attributes

Suppose thatNatt, Nsol, Nfilter, and Nvar are the numbers of attributions, solutions, filters constructed in each solution, and the variables contained in each filter, respectively. Let vr,a=vr,a,0 be the value of the ath attribute in the rth record and let vr,a,f be the value of the ath attribute in the rth record after using the fth filter, where a = 1, 2, …, Natt, s = 1, 2, …, Nsol, and f = 1, 2, …, Nfilter. For example, nine attributes are used in the breast cancer dataset of University of California Irvine (UCI) [36], and the vector representing the first normalized record is listed as follows:(1)I1=0.50,0.10,0.10,0.10,0.20,0.10,0.30,0.10,0.10=v1,1,v1,2,v1,3,v1,4,v1,5,v1,6,v1,7,v1,8,v1,9.vr,a,f is calculated using the convolution product in terms of vr,a,f−1,vr,a+1,f−1,…,vr,a+Nvar−1,f−1 and the filter Xs, f as follows:(2)vr,a,f=vr,a,f×xsf,1+…,vr,a+Nvar−1f−1×xsf,Nvar.From equation (2), there are Nvar attributes that are included in the ath attribute if a + Nvar − 1 < Natt. However, no attributes vr, Natt + 1, vr, Natt + 2, …, vr, Natt + N are included when we need to use equation (2) to update the last Nvar − 1 attributes with a + Nvar − 1 ＞ Nvar.Let filterXs, 1 = [xs, 1, 1, xs, 1, 2, xs, 1, 3] = [−1, 0, 1]. The procedures for generating the new attributes using the convolution product are listed as follows:(3)v1,1,1=v1,1×xs,1,1+v1,2×xs,1,2+v1,3×xs,1,3=0.50×−1+0.10×0+0.10×1=−0.4,(4)v1,2,1=v1,2×xs,1,1+v1,3×xs,1,2+v1,4×xs,1,3=0.10×−1+0.10×0+0.10×1=0.0,(5)v1,3,1=v1,3×xs,1,1+v1,4×xs,1,2+v1,5×xs,1,3=0.10×−1+0.10×0+0.20×1=0.1,(6)v1,4,1=v1,4×xs,1,1+v1,5×xs,1,2+v1,6×xs,1,3=0.10×−1+0.10×0+0.20×1=0.0,(7)v1,5,1=v1,5×xs,1,1+v1,6×xs,1,2+v1,7×xs,1,3=0.10×−1+0.10×0+0.20×1=0.1,(8)v1,6,1=v1,6×xs,1,1+v1,7×xs,1,2+v1,8×xs,1,3=0.10×−1+0.10×0+0.20×1=0.0,(9)v1,7,1=v1,7×xs,1,1+v1,8×xs,1,2+v1,9×xs,1,3=0.30×−1+0.10×0+0.10×1=−0.10.From the above, the first and second old attributes (i.e.,v1,1 and v1,2) are used only once as shown in equation (3) and twice as shown in equations (3) and (4) for generating v1,1,1 and v1,2,1, respectively. Similarly, the last and the second last attributes in I1 (i.e., v1,9 and v1,8) are only shown in equations (8) and (9), respectively. Moreover, there are no new attributes v1,8,1 and v1,9,1 based on equation (2).There is no padding in the proposed CSVM. However, we need to guarantee that the two following situations are satisfied to fix the above problems:(1)
Each attribute is included in the same number (i.e.,Nvar) of convolution products(2)
The lastj attributes still exist after each convolution productThe first (Nvar − 1) attributes are repeated and appended in the last attribute of the same record such that the total number of attributes is an integer multiple of Nvar; that is, vr,Natt+a,f=vr,a,f−1 for a=1,2…Nvar−1 and f = 1, 2, …, Nfilter. Hence, following the same example discussed above, we have(10)v1,8,1=v1,8×xs,1,1+v1,9×xs,1,2+v1,1×xs,1,3=0.10×−1+0.10×0+0.50×1=0.4,v1,9,1=v1,9×xs,1,1+v1,1×xs,1,2+v1,2×xs,1,3=0.10×−1+0.50×0+0.10×1=0.0.Thus, each new attribute is generated by three convolution products, and we have newI1 accordingly.(11)I1⊗Xs,1=−0.4,0.0,0.1,0.0,0.1,0.0,−0.1,0.4,0.0.LetIi, j be the updated ith record after using the jth filter, Ii = Ii, 0. The next example demonstrates updated I1 after two filters are used, with each having Nvar = 3 variables; Xs, 2 = [xs, 2, 1, xs, 2, 2, xs, 2, 3] = [1.8, −0.9, 0.7].(12)v1,1,2=v1,1,1×xs,2,1+v1,2,1×xs,2,2+v1,2,1×xs,2,3=−0.4×1.8+0.0×−0.9+0.1×0.7=−0.65,v1,2,2=v1,2,1×xs,2,1+v1,3,1×xs,2,2+v1,4,1×xs,2,3=0.0×1.8+0.1×−0.9+0.0×0.7=−0.09,v1,3,2=v1,3,1×xs,2,1+v1,4,1×xs,2,2+v1,5,1×xs,2,3=0.1×1.8+0.0×−0.9+0.1×0.7=0.25,v1,4,2=v1,4,1×xs,2,1+v1,5,1×xs,2,2+v1,6,1×xs,2,3=0.0×1.8+0.1×−0.9+0.0×0.7=−0.09,v1,5,2=v1,5,1×xs,2,1+v1,6,1×xs,2,2+v1,7,1×xs,2,3=0.1×1.8+0.0×−0.9−0.1×0.7=0.11,v1,6,2=v1,6,1×xs,2,1+v1,7,1×xs,2,2+v1,8,1×xs,2,3=0.0×1.8−0.10×−0.9+0.4×0.7=0.37,v1,7,2=v1,7,1×xs,2,1+v1,8,1×xs,2,2+v1,9,1×xs,2,3=−0.1×1.8+0.4×−0.9+0.0×0.7=−0.54,v1,8,2=v1,8,1×xs,2,1+v1,9,1×xs,2,2+v1,1,1×xs,2,3=0.4×1.8+0.0×−0.9−0.4×0.7=0.44,v1,9,2=v1,9,1×xs,2,1+v1,1,1×xs,2,2+v2,1,1×xs,2,3=0.0×1.8−0.4×−0.9+0.0×0.7=0.36.Thus, after using the two filtersXs,1 and Xs,2, we have(13)Ir∗=⊗Xs=I1⊗Xs,1⊗Xs,2=−0.65,−0.09,0.25,−0.09,0.11,0.37,−0.54,0.44,0.36.The basic idea of the proposed convolution product with repeated attributes is that the first (Nvar − 1) attributes are repeated and appended in the last attribute of each (updated) record such that the total number of attributes is an integer multiple of Nvar; that is, vr,Natt+a,f=vr,a,f−1 for a=1,2…Nvar−1. The pseudocode of the proposed convolution product with repeated attributes is listed in Algorithm 1.Algorithm 1: Proposed convolution product.
Input: The rth record Ir=vr,1,vr,2,…,vr,Natt and the sth solution Xs.Output: The Ir ⊗ Xs.STEP C0. Let f = 1 and vr,i,0=vr,j for i = 1, 2, …, Natt.STEP C1. Let a = 1, vr,i,f−1=vr,k,f−1 for i = Natt + 1, 2, …, Natt + Nvar − 1, k = i − Natt.STEP C2. Let b = 0, i = a, and j = 1.STEP C3. Let b=b+vr,i,f−1×xs,f,j.STEP C4. If j < Nvar, let i = i + 1, j = j + 1, and go to STEP C3.STEP C5. If a < Natt, let vr,a,f=b, a = a + 1, and go to STEP C2.STEP C6. If f < Nfilter, let f = f + 1 and go to STEP C1.Additionally, we obtain the following properties after employing the proposed convolution product with repeated attributes.Property 1.
Ifxs, f, 1 = α and xs, f, k = 0 for all k = 2, …, Nvar and all f = 1, …, Nfilter, then(14)vr,a,f=α⋅vi,a,f−1=αf⋅vi,a,f−1,for all a = 2, …, Natt and f = 1, …, Nfilter.


## 2.1. Convolution-Related Concept

CNNs represent some of the most significant models of deep learning, and their performance has been verified in numerous recognition research areas. Among the vital operation techniques of CNNs, we introduce some that are used in this paper [12, 13].(1)
Padding: to prevent the reduction in data size generated by the convolution process in the next layer, we add zeros around the input image, with such action being called padding.(2)
Stride: a kernel that is moving a horizontal or vertical distance each time is called a stride. The greater the stride is, the more independent the neighboring values in the convolution process are.(3)
Convolution: in each operation of convolution, multiplication of the values between the input and the kernel (filter) moves through based on the given stride after padding. Then, these products are summed up and filled in the corresponding positions on the next layer.


## 2.2. Proposed Convolution Product with Repeated Attributes

Suppose thatNatt, Nsol, Nfilter, and Nvar are the numbers of attributions, solutions, filters constructed in each solution, and the variables contained in each filter, respectively. Let vr,a=vr,a,0 be the value of the ath attribute in the rth record and let vr,a,f be the value of the ath attribute in the rth record after using the fth filter, where a = 1, 2, …, Natt, s = 1, 2, …, Nsol, and f = 1, 2, …, Nfilter. For example, nine attributes are used in the breast cancer dataset of University of California Irvine (UCI) [36], and the vector representing the first normalized record is listed as follows:(1)I1=0.50,0.10,0.10,0.10,0.20,0.10,0.30,0.10,0.10=v1,1,v1,2,v1,3,v1,4,v1,5,v1,6,v1,7,v1,8,v1,9.vr,a,f is calculated using the convolution product in terms of vr,a,f−1,vr,a+1,f−1,…,vr,a+Nvar−1,f−1 and the filter Xs, f as follows:(2)vr,a,f=vr,a,f×xsf,1+…,vr,a+Nvar−1f−1×xsf,Nvar.From equation (2), there are Nvar attributes that are included in the ath attribute if a + Nvar − 1 < Natt. However, no attributes vr, Natt + 1, vr, Natt + 2, …, vr, Natt + N are included when we need to use equation (2) to update the last Nvar − 1 attributes with a + Nvar − 1 ＞ Nvar.Let filterXs, 1 = [xs, 1, 1, xs, 1, 2, xs, 1, 3] = [−1, 0, 1]. The procedures for generating the new attributes using the convolution product are listed as follows:(3)v1,1,1=v1,1×xs,1,1+v1,2×xs,1,2+v1,3×xs,1,3=0.50×−1+0.10×0+0.10×1=−0.4,(4)v1,2,1=v1,2×xs,1,1+v1,3×xs,1,2+v1,4×xs,1,3=0.10×−1+0.10×0+0.10×1=0.0,(5)v1,3,1=v1,3×xs,1,1+v1,4×xs,1,2+v1,5×xs,1,3=0.10×−1+0.10×0+0.20×1=0.1,(6)v1,4,1=v1,4×xs,1,1+v1,5×xs,1,2+v1,6×xs,1,3=0.10×−1+0.10×0+0.20×1=0.0,(7)v1,5,1=v1,5×xs,1,1+v1,6×xs,1,2+v1,7×xs,1,3=0.10×−1+0.10×0+0.20×1=0.1,(8)v1,6,1=v1,6×xs,1,1+v1,7×xs,1,2+v1,8×xs,1,3=0.10×−1+0.10×0+0.20×1=0.0,(9)v1,7,1=v1,7×xs,1,1+v1,8×xs,1,2+v1,9×xs,1,3=0.30×−1+0.10×0+0.10×1=−0.10.From the above, the first and second old attributes (i.e.,v1,1 and v1,2) are used only once as shown in equation (3) and twice as shown in equations (3) and (4) for generating v1,1,1 and v1,2,1, respectively. Similarly, the last and the second last attributes in I1 (i.e., v1,9 and v1,8) are only shown in equations (8) and (9), respectively. Moreover, there are no new attributes v1,8,1 and v1,9,1 based on equation (2).There is no padding in the proposed CSVM. However, we need to guarantee that the two following situations are satisfied to fix the above problems:(1)
Each attribute is included in the same number (i.e.,Nvar) of convolution products(2)
The lastj attributes still exist after each convolution productThe first (Nvar − 1) attributes are repeated and appended in the last attribute of the same record such that the total number of attributes is an integer multiple of Nvar; that is, vr,Natt+a,f=vr,a,f−1 for a=1,2…Nvar−1 and f = 1, 2, …, Nfilter. Hence, following the same example discussed above, we have(10)v1,8,1=v1,8×xs,1,1+v1,9×xs,1,2+v1,1×xs,1,3=0.10×−1+0.10×0+0.50×1=0.4,v1,9,1=v1,9×xs,1,1+v1,1×xs,1,2+v1,2×xs,1,3=0.10×−1+0.50×0+0.10×1=0.0.Thus, each new attribute is generated by three convolution products, and we have newI1 accordingly.(11)I1⊗Xs,1=−0.4,0.0,0.1,0.0,0.1,0.0,−0.1,0.4,0.0.LetIi, j be the updated ith record after using the jth filter, Ii = Ii, 0. The next example demonstrates updated I1 after two filters are used, with each having Nvar = 3 variables; Xs, 2 = [xs, 2, 1, xs, 2, 2, xs, 2, 3] = [1.8, −0.9, 0.7].(12)v1,1,2=v1,1,1×xs,2,1+v1,2,1×xs,2,2+v1,2,1×xs,2,3=−0.4×1.8+0.0×−0.9+0.1×0.7=−0.65,v1,2,2=v1,2,1×xs,2,1+v1,3,1×xs,2,2+v1,4,1×xs,2,3=0.0×1.8+0.1×−0.9+0.0×0.7=−0.09,v1,3,2=v1,3,1×xs,2,1+v1,4,1×xs,2,2+v1,5,1×xs,2,3=0.1×1.8+0.0×−0.9+0.1×0.7=0.25,v1,4,2=v1,4,1×xs,2,1+v1,5,1×xs,2,2+v1,6,1×xs,2,3=0.0×1.8+0.1×−0.9+0.0×0.7=−0.09,v1,5,2=v1,5,1×xs,2,1+v1,6,1×xs,2,2+v1,7,1×xs,2,3=0.1×1.8+0.0×−0.9−0.1×0.7=0.11,v1,6,2=v1,6,1×xs,2,1+v1,7,1×xs,2,2+v1,8,1×xs,2,3=0.0×1.8−0.10×−0.9+0.4×0.7=0.37,v1,7,2=v1,7,1×xs,2,1+v1,8,1×xs,2,2+v1,9,1×xs,2,3=−0.1×1.8+0.4×−0.9+0.0×0.7=−0.54,v1,8,2=v1,8,1×xs,2,1+v1,9,1×xs,2,2+v1,1,1×xs,2,3=0.4×1.8+0.0×−0.9−0.4×0.7=0.44,v1,9,2=v1,9,1×xs,2,1+v1,1,1×xs,2,2+v2,1,1×xs,2,3=0.0×1.8−0.4×−0.9+0.0×0.7=0.36.Thus, after using the two filtersXs,1 and Xs,2, we have(13)Ir∗=⊗Xs=I1⊗Xs,1⊗Xs,2=−0.65,−0.09,0.25,−0.09,0.11,0.37,−0.54,0.44,0.36.The basic idea of the proposed convolution product with repeated attributes is that the first (Nvar − 1) attributes are repeated and appended in the last attribute of each (updated) record such that the total number of attributes is an integer multiple of Nvar; that is, vr,Natt+a,f=vr,a,f−1 for a=1,2…Nvar−1. The pseudocode of the proposed convolution product with repeated attributes is listed in Algorithm 1.Algorithm 1: Proposed convolution product.
Input: The rth record Ir=vr,1,vr,2,…,vr,Natt and the sth solution Xs.Output: The Ir ⊗ Xs.STEP C0. Let f = 1 and vr,i,0=vr,j for i = 1, 2, …, Natt.STEP C1. Let a = 1, vr,i,f−1=vr,k,f−1 for i = Natt + 1, 2, …, Natt + Nvar − 1, k = i − Natt.STEP C2. Let b = 0, i = a, and j = 1.STEP C3. Let b=b+vr,i,f−1×xs,f,j.STEP C4. If j < Nvar, let i = i + 1, j = j + 1, and go to STEP C3.STEP C5. If a < Natt, let vr,a,f=b, a = a + 1, and go to STEP C2.STEP C6. If f < Nfilter, let f = f + 1 and go to STEP C1.Additionally, we obtain the following properties after employing the proposed convolution product with repeated attributes.Property 1.
Ifxs, f, 1 = α and xs, f, k = 0 for all k = 2, …, Nvar and all f = 1, …, Nfilter, then(14)vr,a,f=α⋅vi,a,f−1=αf⋅vi,a,f−1,for all a = 2, …, Natt and f = 1, …, Nfilter.


## 3. Proposed and Traditional SSO

In the proposed CSVM, all values in filters of the proposed convolution product with repeated attributes are updated based on the proposed new SSO. The traditional SSO is introduced briefly, and the proposed SSO including the new self-adaptive solution structure withpFilter, the novel one-solution, one-filter, one-variable greedy update mechanism, and the fitness function are presented in Section 3.


### 3.1. Traditional SSO

The SSO is one of the simplest machine-learning methods [2, 6, 32–35] in terms of its update mechanism. It was first proposed by Yeh and has been tested to be a very useful and efficient algorithm for optimization problems [33, 34], including data mining [2, 6]. Owing to its simplicity and efficiency, SSO is used here to find the best values in filters of the proposed CSVM.The basic idea of SSO is that each variable, such as thejth variable in the ith solution xi, j, needs to be updated based on the following stepwise function [2, 6, 32–35]:(15)xi,j=gj,ifρ0,1∈0,Cg,pi,j,ifρ0,1∈Cg,Cp,xi,j,ifρ0,1∈Cp,Cw,x,otherwise,where the value ρ[0, 1] ∈ [0, 1] is generated randomly and the parameters Cg, Cp−Cg, Cw−Cp, and 1 – Cw are all in [0, 1] and are the probabilities of the current variable that are copied and pasted from the best of all solutions, the best ith solution, the current solution, and a random generated feasible value, respectively.There are different variants of the traditional SSO which are customized to different problems from the no free lunch theorem; for example, the four items in equation (15) are also reduced to three items to increase the efficiency; parameters Cg,Cp, and Cw are all self-adapted; special values or equations are implemented to replace gj, pi,j, xi, j, and x; or only a certain number of variables are selected to be updated, and so forth. However, the SSO update mechanism is always based on the stepwise function.


### 3.2. Fitness Function

Fitness functions help solutions learn toward optimization to attain goals in artificial intelligence, such as the proposed CSVM, the traditional SVM, and the CNN. The accuracy obtained by the SVM, based on the records transferred from the proposed convolutions, is adopted here to represent the fitness to maximize in the CSVM:(16)FXi=the total number of instances predicted correctly based onXithe total number of instances.Input: all records Ir=vr,1,vr,2,…,vr,Natt and the sth solution Xs for r = 1, 2, …, Nrec.Output: the F (Xs).STEP F0: calculate Ir∗ = Ir ⊗ Xs based on the pseudocode provided in Section 2.2 for r = 1, 2, …, Nrec.STEP F1: classifier {I∗1, I∗2, …, I∗Nrec} using the SVM and let the accuracy be F (Xs).


### 3.3. Self-Adaptive Solution Structure and pFilter

In the proposed CSVM, each variable of all filters in each solution is initialized randomly from [−2, 2]. Each filter and solution are presented byNvar × 1 and Nfilter × Nvar, respectively, since the number of filters may be more than one. For example, the sth solution Xs and the fth filter Xs, f in Xs are denoted as follows:(17)Xs=xs,1,1xs,1,2Lxs,1,Nvarxs,2,1xs,2,2Lxs,2,NvarMMMMxs,Nfilter,1xs,Nfilter,2Lxs,Nfilter,Nvar=Xs,1Xs,2MXs,Nfilter,where(18)Xs,f=xs,f,1,xs,f,2,…,xs,f,Nvar.However, overall, the number of filters is equal, that is,Nfilter for each solution and all generations. However, a greater number of filters do not always guarantee a better fitness value. Hence, we need to record the best number of filters for each solution. Let filter j be the best filter of solution s = 1, 2, …, Nsol, and define pFilter[s] = j if F[Xs, f] ≤ F[Xs, j] for all k = 1, 2, …, Nfilter. Note that Xh, i is the best solution for pFilter[h] = i among all existing solutions if F[Xs, f] ≤ F[Xh, i] for all s = 1, 2, …, Nsol and f = 1, 2, …, Nfilter.In the end, only the best solution (e.g.,Xs) and its best number of filters, namely, Xs, 1, Xs, 2, …, Xs, j, where pFilter[s] = j, are reported. In addition, the update mechanism is based on the best filter in the proposed CSVM. Hence, the solution is self-adapted by the best number of filters.


### 3.4. One-Solution, One-Filter, One-Variable Greedy SSO Update Mechanism

The proposed new one-solution, one-filter, one-variable greedy SSO update mechanism is discussed in this subsection.


#### 3.4.1. One-Solution Is Selected Randomly to be Updated in Each Generation

In the proposed CSVM, all values in filters are variables that must be determined to implement convolution products. Without the help from the GPU, it takes a long time to update variables to deepen the SVM. Hence, instead of the traditional algorithms, including SSO, the genetic algorithm (GA), and particle swarm optimization (PSO), of which all solutions need to be updated, only one solution is selected randomly for updating in each generation of the proposed new SSO update mechanism. Let solutions be selected to be updated based on the following equations:(19)s=gBest,ifp0,1∈0,Cg,1,p1,Nso1,ifp0,1∈Cg,1,Cp,1,s,ifp0,1∈Cp,1,Cw,1,0,otherwise.where ρ[0, 1] is a random floating-point number generated from interval [0, 1] and ρ[1,Nsol]∈ {1, 2, …, Nsol} is the index of the solution selected randomly, gBest is the index of the best solution found, and the 0 is a new solution generated randomly. The new updated solution Xs will be either discarded or replaced with the old Xs based on the process described next.


#### 3.4.2. One-Filter One-Variable Greedy Update Mechanism

All variables need to be updated, namely, the all-variable update mechanism, in the traditional SSO, and it has a higher probability of escaping the local trap compared to the updates with only some variables. However, the all-variable update mechanism may cause solutions that are near optimums to be kept away from their current positions. Additionally, its runtime isNsol times that of the one-variable update, which selects one variable randomly to be updated. Hence, to reduce the runtime, only one variable in one filter in the solution selected in Section 3.4.1 is updated.Lets be the solution selected to be updated. In the proposed new SSO, only one filter, for example, f, where f = 1, 2, …, pFilter[f] = j, in solution s is chosen randomly. Moreover, one variable, for example, xs, f, k, where k = 1, 2, …, Nvar, in such filter Xs, f is also selected randomly to be updated based on the following simple process:(20)MaxMinxs,f,k+0.05.p−0.01,0.04,2,−2,where ρ−0.01,0.04 is a the random number generated in the update mechanism, and subscript −0.01,0.04 is the lower bound and upper bound for the random number ρ. The interval of ρ is derived from the optimal value of multiple randomized trial and error results. 0.05 is the step size of the local search, in order to ensure that in the local search process to find a fine enough optimal solution. After resetting all variables in these filters Xs, h to a random number generated from [−2, 2] for all h > f, we have(21)xs,h,l∗=xs,h,l,ifh<forh=fandl≠k,MaxMinxs,h,l+0.05⋅ρ−0.01,0.04,2,−2,ifh=fandl=k,ρ−2,2,otherwise.Also,F[Xs, l] = F[Xs, f− 1] for all l < f.Moreover, the updated solutionsXs∗, including these new updated variables and filters, are all discarded, if their fitness values are not better than that of Xs; that is,(22)Xs=Xs,ifFXs<FXs∗,X∗,otherwise.


### 3.5. Pseudocode of the Proposed SSO

The pseudocode of the proposed SSO based on the new self-adaptive solution structure,pFilter, and the new update mechanism are listed in Algorithm 2.Algorithm 2: Proposed SSO.
Input: A random selected solution (e.g., Xs) with its pFilter.Output: The updated Xs.STEP U0. Generate a random number ρ[0,1] from [0, 1] and select a solution, say Xs where s ∈ {1, 2, …, Nsol} based on equation (19).STEP U1. Select a filter, say Xs, j where j ∈ {1, 2, …, pFilter[s]}.STEP U2. Update Xs to X∗ based on equation (21).STEP U3. Based on equation (22) to decide to let Xs = X∗ or discard X∗.STEP U4. If Xs = X∗, let pFilter[s] = f, where F (Xi∗) ≤ F (Xf∗) for all i = 1, 2, …, Nfilter. Otherwise, halt.STEP U5. If F (XgBest, pFilter[gBest]) ≤ F (Xs, pFilter[s]), let gBest = s.


## 3.1. Traditional SSO

The SSO is one of the simplest machine-learning methods [2, 6, 32–35] in terms of its update mechanism. It was first proposed by Yeh and has been tested to be a very useful and efficient algorithm for optimization problems [33, 34], including data mining [2, 6]. Owing to its simplicity and efficiency, SSO is used here to find the best values in filters of the proposed CSVM.The basic idea of SSO is that each variable, such as thejth variable in the ith solution xi, j, needs to be updated based on the following stepwise function [2, 6, 32–35]:(15)xi,j=gj,ifρ0,1∈0,Cg,pi,j,ifρ0,1∈Cg,Cp,xi,j,ifρ0,1∈Cp,Cw,x,otherwise,where the value ρ[0, 1] ∈ [0, 1] is generated randomly and the parameters Cg, Cp−Cg, Cw−Cp, and 1 – Cw are all in [0, 1] and are the probabilities of the current variable that are copied and pasted from the best of all solutions, the best ith solution, the current solution, and a random generated feasible value, respectively.There are different variants of the traditional SSO which are customized to different problems from the no free lunch theorem; for example, the four items in equation (15) are also reduced to three items to increase the efficiency; parameters Cg,Cp, and Cw are all self-adapted; special values or equations are implemented to replace gj, pi,j, xi, j, and x; or only a certain number of variables are selected to be updated, and so forth. However, the SSO update mechanism is always based on the stepwise function.


## 3.2. Fitness Function

Fitness functions help solutions learn toward optimization to attain goals in artificial intelligence, such as the proposed CSVM, the traditional SVM, and the CNN. The accuracy obtained by the SVM, based on the records transferred from the proposed convolutions, is adopted here to represent the fitness to maximize in the CSVM:(16)FXi=the total number of instances predicted correctly based onXithe total number of instances.Input: all records Ir=vr,1,vr,2,…,vr,Natt and the sth solution Xs for r = 1, 2, …, Nrec.Output: the F (Xs).STEP F0: calculate Ir∗ = Ir ⊗ Xs based on the pseudocode provided in Section 2.2 for r = 1, 2, …, Nrec.STEP F1: classifier {I∗1, I∗2, …, I∗Nrec} using the SVM and let the accuracy be F (Xs).


## 3.3. Self-Adaptive Solution Structure and pFilter

In the proposed CSVM, each variable of all filters in each solution is initialized randomly from [−2, 2]. Each filter and solution are presented byNvar × 1 and Nfilter × Nvar, respectively, since the number of filters may be more than one. For example, the sth solution Xs and the fth filter Xs, f in Xs are denoted as follows:(17)Xs=xs,1,1xs,1,2Lxs,1,Nvarxs,2,1xs,2,2Lxs,2,NvarMMMMxs,Nfilter,1xs,Nfilter,2Lxs,Nfilter,Nvar=Xs,1Xs,2MXs,Nfilter,where(18)Xs,f=xs,f,1,xs,f,2,…,xs,f,Nvar.However, overall, the number of filters is equal, that is,Nfilter for each solution and all generations. However, a greater number of filters do not always guarantee a better fitness value. Hence, we need to record the best number of filters for each solution. Let filter j be the best filter of solution s = 1, 2, …, Nsol, and define pFilter[s] = j if F[Xs, f] ≤ F[Xs, j] for all k = 1, 2, …, Nfilter. Note that Xh, i is the best solution for pFilter[h] = i among all existing solutions if F[Xs, f] ≤ F[Xh, i] for all s = 1, 2, …, Nsol and f = 1, 2, …, Nfilter.In the end, only the best solution (e.g.,Xs) and its best number of filters, namely, Xs, 1, Xs, 2, …, Xs, j, where pFilter[s] = j, are reported. In addition, the update mechanism is based on the best filter in the proposed CSVM. Hence, the solution is self-adapted by the best number of filters.


## 3.4. One-Solution, One-Filter, One-Variable Greedy SSO Update Mechanism

The proposed new one-solution, one-filter, one-variable greedy SSO update mechanism is discussed in this subsection.


### 3.4.1. One-Solution Is Selected Randomly to be Updated in Each Generation

In the proposed CSVM, all values in filters are variables that must be determined to implement convolution products. Without the help from the GPU, it takes a long time to update variables to deepen the SVM. Hence, instead of the traditional algorithms, including SSO, the genetic algorithm (GA), and particle swarm optimization (PSO), of which all solutions need to be updated, only one solution is selected randomly for updating in each generation of the proposed new SSO update mechanism. Let solutions be selected to be updated based on the following equations:(19)s=gBest,ifp0,1∈0,Cg,1,p1,Nso1,ifp0,1∈Cg,1,Cp,1,s,ifp0,1∈Cp,1,Cw,1,0,otherwise.where ρ[0, 1] is a random floating-point number generated from interval [0, 1] and ρ[1,Nsol]∈ {1, 2, …, Nsol} is the index of the solution selected randomly, gBest is the index of the best solution found, and the 0 is a new solution generated randomly. The new updated solution Xs will be either discarded or replaced with the old Xs based on the process described next.


### 3.4.2. One-Filter One-Variable Greedy Update Mechanism

All variables need to be updated, namely, the all-variable update mechanism, in the traditional SSO, and it has a higher probability of escaping the local trap compared to the updates with only some variables. However, the all-variable update mechanism may cause solutions that are near optimums to be kept away from their current positions. Additionally, its runtime isNsol times that of the one-variable update, which selects one variable randomly to be updated. Hence, to reduce the runtime, only one variable in one filter in the solution selected in Section 3.4.1 is updated.Lets be the solution selected to be updated. In the proposed new SSO, only one filter, for example, f, where f = 1, 2, …, pFilter[f] = j, in solution s is chosen randomly. Moreover, one variable, for example, xs, f, k, where k = 1, 2, …, Nvar, in such filter Xs, f is also selected randomly to be updated based on the following simple process:(20)MaxMinxs,f,k+0.05.p−0.01,0.04,2,−2,where ρ−0.01,0.04 is a the random number generated in the update mechanism, and subscript −0.01,0.04 is the lower bound and upper bound for the random number ρ. The interval of ρ is derived from the optimal value of multiple randomized trial and error results. 0.05 is the step size of the local search, in order to ensure that in the local search process to find a fine enough optimal solution. After resetting all variables in these filters Xs, h to a random number generated from [−2, 2] for all h > f, we have(21)xs,h,l∗=xs,h,l,ifh<forh=fandl≠k,MaxMinxs,h,l+0.05⋅ρ−0.01,0.04,2,−2,ifh=fandl=k,ρ−2,2,otherwise.Also,F[Xs, l] = F[Xs, f− 1] for all l < f.Moreover, the updated solutionsXs∗, including these new updated variables and filters, are all discarded, if their fitness values are not better than that of Xs; that is,(22)Xs=Xs,ifFXs<FXs∗,X∗,otherwise.


## 3.4.1. One-Solution Is Selected Randomly to be Updated in Each Generation

In the proposed CSVM, all values in filters are variables that must be determined to implement convolution products. Without the help from the GPU, it takes a long time to update variables to deepen the SVM. Hence, instead of the traditional algorithms, including SSO, the genetic algorithm (GA), and particle swarm optimization (PSO), of which all solutions need to be updated, only one solution is selected randomly for updating in each generation of the proposed new SSO update mechanism. Let solutions be selected to be updated based on the following equations:(19)s=gBest,ifp0,1∈0,Cg,1,p1,Nso1,ifp0,1∈Cg,1,Cp,1,s,ifp0,1∈Cp,1,Cw,1,0,otherwise.where ρ[0, 1] is a random floating-point number generated from interval [0, 1] and ρ[1,Nsol]∈ {1, 2, …, Nsol} is the index of the solution selected randomly, gBest is the index of the best solution found, and the 0 is a new solution generated randomly. The new updated solution Xs will be either discarded or replaced with the old Xs based on the process described next.


## 3.4.2. One-Filter One-Variable Greedy Update Mechanism

All variables need to be updated, namely, the all-variable update mechanism, in the traditional SSO, and it has a higher probability of escaping the local trap compared to the updates with only some variables. However, the all-variable update mechanism may cause solutions that are near optimums to be kept away from their current positions. Additionally, its runtime isNsol times that of the one-variable update, which selects one variable randomly to be updated. Hence, to reduce the runtime, only one variable in one filter in the solution selected in Section 3.4.1 is updated.Lets be the solution selected to be updated. In the proposed new SSO, only one filter, for example, f, where f = 1, 2, …, pFilter[f] = j, in solution s is chosen randomly. Moreover, one variable, for example, xs, f, k, where k = 1, 2, …, Nvar, in such filter Xs, f is also selected randomly to be updated based on the following simple process:(20)MaxMinxs,f,k+0.05.p−0.01,0.04,2,−2,where ρ−0.01,0.04 is a the random number generated in the update mechanism, and subscript −0.01,0.04 is the lower bound and upper bound for the random number ρ. The interval of ρ is derived from the optimal value of multiple randomized trial and error results. 0.05 is the step size of the local search, in order to ensure that in the local search process to find a fine enough optimal solution. After resetting all variables in these filters Xs, h to a random number generated from [−2, 2] for all h > f, we have(21)xs,h,l∗=xs,h,l,ifh<forh=fandl≠k,MaxMinxs,h,l+0.05⋅ρ−0.01,0.04,2,−2,ifh=fandl=k,ρ−2,2,otherwise.Also,F[Xs, l] = F[Xs, f− 1] for all l < f.Moreover, the updated solutionsXs∗, including these new updated variables and filters, are all discarded, if their fitness values are not better than that of Xs; that is,(22)Xs=Xs,ifFXs<FXs∗,X∗,otherwise.


## 3.5. Pseudocode of the Proposed SSO

The pseudocode of the proposed SSO based on the new self-adaptive solution structure,pFilter, and the new update mechanism are listed in Algorithm 2.Algorithm 2: Proposed SSO.
Input: A random selected solution (e.g., Xs) with its pFilter.Output: The updated Xs.STEP U0. Generate a random number ρ[0,1] from [0, 1] and select a solution, say Xs where s ∈ {1, 2, …, Nsol} based on equation (19).STEP U1. Select a filter, say Xs, j where j ∈ {1, 2, …, pFilter[s]}.STEP U2. Update Xs to X∗ based on equation (21).STEP U3. Based on equation (22) to decide to let Xs = X∗ or discard X∗.STEP U4. If Xs = X∗, let pFilter[s] = f, where F (Xi∗) ≤ F (Xf∗) for all i = 1, 2, …, Nfilter. Otherwise, halt.STEP U5. If F (XgBest, pFilter[gBest]) ≤ F (Xs, pFilter[s]), let gBest = s.


## 4. Proposed Small-Sample OA to Tune Parameters

It is important to select the most representative combination of parameters to find good results for all algorithms, such as the three parametersCg,Cp, and Cw in SSO. To reduce the computation burden, a novel concept called small-sample orthogonal array (OA) is proposed in terms of OA test to tune parameters in Section 4.


### 4.1. OA

The design of experiment (DOE) adopts an array design that arranges the tests and factors in rows and columns, respectively, such that rows and columns are independent of each other, and there is only one test level in each factor level [37]. The DOE is able to select better parameters from some representative predefined combinations to reduce test numbers [2, 38].The Taguchi OA test, first developed by Taguchi [37], is a DOE that is implemented to achieve the objective of this study. OA is denoted by Ln (ab), where n=a⌈logab+1⌉, a, and b are the numbers of tries, levels of each factor, and factors, respectively. For example, Table 1 represents an OA denoted by L9 (34).Table 1
An experiment of four factors with three levels using an OA.
Try IDFactor 1Factor 2Factor 3Factor 4111112122231333421235223162312731328321393321From Table1, we can see that the characteristics of the OA are orthogonal as follows:(1)
The number of different levels in each column is equal; for example, numbers 1, 2, and 3 appear three times in each column in Table1.(2)
All ordered pairs of the two factors for the same test also appear exactly once, for example, (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), and (3, 3) in columns 1 and 2, 1 and 3, 1 and 4, 2 and 3, 2 and 4, and 3 and 4, to ensure that each level is dispersed evenly in the complete combination of each level of factors.


### 4.2. Proposed Small-Sample OA

There are three major methods for tuning parameters:(1)
The try-and-error method: It implements the tests exhaustively by trying all possible cases to find the one with the better results. It is the simplest and the most inefficient one.(2)
The parameter-adapted method: It selects and tests some set of parameters from the existing parameters, which are already used in some applications. This method may have some issues with respect to identifying the characteristics of new problems.(3)
The DOE: It selects the parameters from the experiment design. Compared to the two aforementioned methods, this method is the most efficient and effective one. However, this method faces an efficiency problem in large datasets or needs to be repeated very often.Hence, to overcome these aforementioned problems, a novel method called the small-sample OA test is proposed to improve the OA method for tuning parameters. To reduce the runtime, the proposed small-sample OA test only samples few data randomly from the dataset and conducts the OA test on the subsets of such small-sample data to find the best parameters that result in the highest accuracy, the shortest runtime, and/or the largest number of solutions with the maximal number of obtained highest accuracy based on the three following rules:Rule 1. The one with the highest accuracy among all others;Rule 2. The one with the shortest runtime, with a big gap between such runtime and others if there is a tie based on Rule 1;Rule 3. The one with the largest number of solutions that have the highest accuracy if there is a tie based on Rule 2.Then, this selected parameter set is applied to the rest of the unsampled dataset. The example for this proposed test is provided in Section6.


## 4.1. OA

The design of experiment (DOE) adopts an array design that arranges the tests and factors in rows and columns, respectively, such that rows and columns are independent of each other, and there is only one test level in each factor level [37]. The DOE is able to select better parameters from some representative predefined combinations to reduce test numbers [2, 38].The Taguchi OA test, first developed by Taguchi [37], is a DOE that is implemented to achieve the objective of this study. OA is denoted by Ln (ab), where n=a⌈logab+1⌉, a, and b are the numbers of tries, levels of each factor, and factors, respectively. For example, Table 1 represents an OA denoted by L9 (34).Table 1
An experiment of four factors with three levels using an OA.
Try IDFactor 1Factor 2Factor 3Factor 4111112122231333421235223162312731328321393321From Table1, we can see that the characteristics of the OA are orthogonal as follows:(1)
The number of different levels in each column is equal; for example, numbers 1, 2, and 3 appear three times in each column in Table1.(2)
All ordered pairs of the two factors for the same test also appear exactly once, for example, (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), and (3, 3) in columns 1 and 2, 1 and 3, 1 and 4, 2 and 3, 2 and 4, and 3 and 4, to ensure that each level is dispersed evenly in the complete combination of each level of factors.


## 4.2. Proposed Small-Sample OA

There are three major methods for tuning parameters:(1)
The try-and-error method: It implements the tests exhaustively by trying all possible cases to find the one with the better results. It is the simplest and the most inefficient one.(2)
The parameter-adapted method: It selects and tests some set of parameters from the existing parameters, which are already used in some applications. This method may have some issues with respect to identifying the characteristics of new problems.(3)
The DOE: It selects the parameters from the experiment design. Compared to the two aforementioned methods, this method is the most efficient and effective one. However, this method faces an efficiency problem in large datasets or needs to be repeated very often.Hence, to overcome these aforementioned problems, a novel method called the small-sample OA test is proposed to improve the OA method for tuning parameters. To reduce the runtime, the proposed small-sample OA test only samples few data randomly from the dataset and conducts the OA test on the subsets of such small-sample data to find the best parameters that result in the highest accuracy, the shortest runtime, and/or the largest number of solutions with the maximal number of obtained highest accuracy based on the three following rules:Rule 1. The one with the highest accuracy among all others;Rule 2. The one with the shortest runtime, with a big gap between such runtime and others if there is a tie based on Rule 1;Rule 3. The one with the largest number of solutions that have the highest accuracy if there is a tie based on Rule 2.Then, this selected parameter set is applied to the rest of the unsampled dataset. The example for this proposed test is provided in Section6.


## 5. Proposed CSVM and Traditional SVM

The proposed CSVM is a convolutional SVM modified by employing a new convolution product, which is updated based on the proposed new SSO. The traditional SVM is introduced briefly, and then the proposed pseudocode of the proposed CSVM is presented.


### 5.1. Traditional SVM

SVMs are excellent machine learning tools for binary classification cases [27, 28]. The purpose of an SVM is to maximize the margin between two support hyperplanes to separate two classes of data. Let X = {z1 = (x1, y1), z2 = (x2, y2), …, zn = (xn, yn)} be a two-class dataset for training. For example, in a linear SVM, a hyperplane is a line, and we want to find the best hyperplane WTX + b = 0 to separate these two classes of data in X, where W is the weight vector and b is the bias perpendicular to such hyperplane such that ||W|| is as large as possible. The above linear SVM is a constrained optimization model and it can be written as follows [27, 28]:(23)MaxW,s.t.yiWTxi+b≥.After applying the Lagrange multiplier method to the constrained optimization model, the SVM problem is a convex quadratic programming problem that can be presented as follows [27]:(24)MinW22−∑i=1lλiyiWT⋅xi+b+∑i=1lλis.t.λi>0for alli=1,2,…,n,where λi is the Lagrange multiplier.For these high-dimensional data, it is very difficult to find a single linear line to separate two different sets. Hence, these data are mapped into a higher-dimensional space using a function that is called the kernel in SVM. Then, a hyperplane can be found to separate the mapped data. Here, we list some popular kernel functions [27, 28]:(25)Kzi,zj=ziTzj+1p,Kzi,zj=exp−zi−zj22σ2,Kzi,zj=tanhkziTzj−δ.For more details of SVM and its development, the reader is referred to [25, 26].


### 5.2. Pseudocode of the Proposed CSVM

The pseudocode of the proposed CSVM is described below together with the integration of the proposed convolution product discussed in Subsection2.2, the proposed SSO introduced in Section 3, and the proposed small-sample OA presented in Section 4.2 (Algorithm 3).Algorithm 3: Proposed CSVM.
PROCEDURE CSVM0Input: A dataset.Output: The accuracy of the classifier CSVM.STEP 0. Separate the dataset into k folds randomly, and then select one-fold (e.g., the k∗th fold of the dataset); for the small-sample OA, it has N tries.STEP 1. Implement CSVM0 (i, k∗) using the ith parameter setting on the k∗th fold of the dataset for i = 1, 2, …, N, and then let the parameter setting of the try (e.g., i∗) with the highest accuracy among all N tries.STEP 2. Implement CSVM0 (i∗, j) on the jth fold of the dataset using the parameter setting of the i∗th try for j = 1, 2, …, k.PROCEDURE CSVM0 (α, β)Input: The parameter setting in the αth try of the small-sample OA and the βth fold of the dataset.Output: The accuracy.STEP W0. Generate solutions Xs randomly, then calculate F (Xs, f) based on the proposed convolution product and the SVM. Find pFilter[s] and gBest such that F (XgBest, pFilter[gBest]) ≥ F (Xs, f), where s = 1, 2, …, Nsol and f = 1, 2, …, Nfilter.STEP W1. Let t = 1.STEP W2. Update a randomly selected solution based on the pseudocode of the new SSO provided in Subsection 3.5 and the parameter setting in the αth try of OA.STEP W3. Increase the value of t by 1, that is, let t = t + 1, and then go to STEP W2 if t < Ngen.STEP W4. Halt, F (XgBest, pFilter[gBest]) is the accuracy, and XgBest, pFilter[gBest] is the classifier.


## 5.1. Traditional SVM

SVMs are excellent machine learning tools for binary classification cases [27, 28]. The purpose of an SVM is to maximize the margin between two support hyperplanes to separate two classes of data. Let X = {z1 = (x1, y1), z2 = (x2, y2), …, zn = (xn, yn)} be a two-class dataset for training. For example, in a linear SVM, a hyperplane is a line, and we want to find the best hyperplane WTX + b = 0 to separate these two classes of data in X, where W is the weight vector and b is the bias perpendicular to such hyperplane such that ||W|| is as large as possible. The above linear SVM is a constrained optimization model and it can be written as follows [27, 28]:(23)MaxW,s.t.yiWTxi+b≥.After applying the Lagrange multiplier method to the constrained optimization model, the SVM problem is a convex quadratic programming problem that can be presented as follows [27]:(24)MinW22−∑i=1lλiyiWT⋅xi+b+∑i=1lλis.t.λi>0for alli=1,2,…,n,where λi is the Lagrange multiplier.For these high-dimensional data, it is very difficult to find a single linear line to separate two different sets. Hence, these data are mapped into a higher-dimensional space using a function that is called the kernel in SVM. Then, a hyperplane can be found to separate the mapped data. Here, we list some popular kernel functions [27, 28]:(25)Kzi,zj=ziTzj+1p,Kzi,zj=exp−zi−zj22σ2,Kzi,zj=tanhkziTzj−δ.For more details of SVM and its development, the reader is referred to [25, 26].


## 5.2. Pseudocode of the Proposed CSVM

The pseudocode of the proposed CSVM is described below together with the integration of the proposed convolution product discussed in Subsection2.2, the proposed SSO introduced in Section 3, and the proposed small-sample OA presented in Section 4.2 (Algorithm 3).Algorithm 3: Proposed CSVM.
PROCEDURE CSVM0Input: A dataset.Output: The accuracy of the classifier CSVM.STEP 0. Separate the dataset into k folds randomly, and then select one-fold (e.g., the k∗th fold of the dataset); for the small-sample OA, it has N tries.STEP 1. Implement CSVM0 (i, k∗) using the ith parameter setting on the k∗th fold of the dataset for i = 1, 2, …, N, and then let the parameter setting of the try (e.g., i∗) with the highest accuracy among all N tries.STEP 2. Implement CSVM0 (i∗, j) on the jth fold of the dataset using the parameter setting of the i∗th try for j = 1, 2, …, k.PROCEDURE CSVM0 (α, β)Input: The parameter setting in the αth try of the small-sample OA and the βth fold of the dataset.Output: The accuracy.STEP W0. Generate solutions Xs randomly, then calculate F (Xs, f) based on the proposed convolution product and the SVM. Find pFilter[s] and gBest such that F (XgBest, pFilter[gBest]) ≥ F (Xs, f), where s = 1, 2, …, Nsol and f = 1, 2, …, Nfilter.STEP W1. Let t = 1.STEP W2. Update a randomly selected solution based on the pseudocode of the new SSO provided in Subsection 3.5 and the parameter setting in the αth try of OA.STEP W3. Increase the value of t by 1, that is, let t = t + 1, and then go to STEP W2 if t < Ngen.STEP W4. Halt, F (XgBest, pFilter[gBest]) is the accuracy, and XgBest, pFilter[gBest] is the classifier.


## 6. Experimental Results and Summary

There are two experiments, Ex1 and Ex2, in this study. Ex1 is based on the proposed small-sample OA concept to find the parametersCg, Cp, Cw, Ngen, Nfilter, and Nvar in the proposed CSVM. Then, these parameters are employed in Ex2 to conduct an extension test to compare these results with those obtained from the DSCM, SVM, 3-layer ANN, and 4-layer ANN, respectively.


### 6.1. Simulation Environment

Four algorithms are developed and adapted in this study including the proposed CSVM, SVM, the 3-layer ANN, and the 4-layer ANN. The proposed CSVM is implemented using Dev C++ Version 5.11 C/C++, and the SVM part is integrated by calling the libsvm library [28] with all default setting parameters. The codes of both the 3-layer and 4-layer ANNs are modified using the source code provided in [39], which is coded in Python and run in Anaconda with epochs = 150, batch_size = 10, loss = “binary_crossentropy,” optimizer = “Adam,” activation = “ReLU” and 12 neurons in the first hidden layer, and activation = “sigmoid” in the second hidden layer of the 4-layer ANN. The test environment is Intel (R) Core (TM) i9-9900K CPU @ 3.60 GHz, 32.0 GB memory, and 64-bit Windows 10.To validate the proposed CSVM, the proposed CSVM was compared with the traditional SVM and the 3-layer and 4-layer ANNs on five well-known datasets: “Australian Credit Approval” (A), “breast-cancer” (B), “diabetes” (D), “fourclass” (F), and “Heart Disease” (H) [34] based on a tenfold cross-validation in Ex2. Summary of the five datasets is provided in Table 2. A brief introduction of the datasets is as follows:“Australian Credit Approval” (A): this file concerns credit card applications. This database exists elsewhere in the repository (Credit Screening Database) in a slightly different form. This dataset is interesting because there is a good mix of attributes-continuous, nominal with small numbers of values, and nominal with larger numbers of values. There are also a few missing values.“breast-cancer” (B): the term “breast cancer” refers to a malignant tumor that has developed from cells in the breast. It is the most common cancer among women in almost all parts of the world. The used dataset consists of 699 instances that were classified as benign and malignant. Also, the dataset has 11 integer-valued attributes.“diabetes” (D): diabetes mellitus is one of the most serious health challenges in both developing and developed countries. Diabetes dataset that we used contains 8 categories and 768 instances and records on diabetes patients (several weeks to months worth of glucose, insulin, and lifestyle data per patient and a description of the problem domain), gathered from larger databases belonging to the National Institute of Diabetes and Digestive and Kidney Diseases.“fourclass” (F): the dataset has irregular spreads over the space including disconnected regions and they are not linearly separable. A four-class nonlinearly separable dataset consists of 862 pieces of data and 2 dimensions.“Heart Disease” (H): heart attack diseases remain the main cause of death worldwide, including South Africa, and possible detection at an earlier stage will prevent the attacks. This database contains 76 attributes, but all published experiments refer to using a subset of 14 of them. In particular, the Cleveland database is the only one that has been used by ML researchers to this date.Table 2
Information and characteristics of the five datasets.
IDFull nameRecord numberAttribute numberAttribute characteristicsAAustralian Credit Approval69014Integer, realBbreast-cancer69910Integer, realDDiabetes7688Integer, realFfourclass8622Integer, realHHeart Disease27013Integer, realLetΦ, T, G, f, and N be the highest accuracy levels obtained in the end, the runtime, the earliest generation that obtained Φ, the number of filters generating Φ, and the number of solutions that have Φ, respectively. To be easily recognized, the subscripts 25, 50, 75, 100, avg, max, min, and std represent the related values obtained at the end of the 25th, 50th, 75th, and 100th generations, the average, the maximum, minimum, and the standard deviation, respectively.


### 6.2. Ex1: Small-Sample OA Test

The orthogonal array used in this study is calledL9 (34) as shown in Table 3.Table 3
L9 (34).
TryNfilterNsolNvar(Cg,Cp,Cw,Cr)111112122231333423215233262113732318331293123InL9 (34), there are nine tries and four factors: C = (Cg,Cp,Cw,Cr), Nsol, Nvar, and Nfilter; each factor has three levels as shown in Table 4. The higher the level, the larger related values with the exception of C; for example, in level 1, Nsol = 25 is smaller than that in level 2. The most distinguishable difference among all three levels in C of Table 3 is that level 2 has higher cr which is to increase the global search ability, while level 3 has the lower value of cr to enhance the local search ability.Table 4
Levels of all-factor test for selecting the parameters.
Level codeNfilterNsolNvarC = (Cg,Cp,Cw,Cr)1125⌈Natt/4⌉(0.40, 0.30, 0.20, 0.10)2350⌈2Natt/4⌉(0.35, 0.25, 0.15, 0.25)3475⌈3Natt/4⌉(0.45, 0.30, 0.20, 0.05)The results obtained from the proposed CSVM in terms of the proposed small-sample OA test are listed in Table5, in which each try is run fifteen times, where the larger Nfilter, Nsol, Nvar, and/or Ngen, the longer the runtime. However, it is not necessary to have better fitness values from Table 5. For example, the best fitness value has already been found in G25, namely, F25 = F50 = F75, in all datasets except Dataset D whose best fitness value is found in G75.Table 5
Levels of all-factor test for selecting the parameters.
IDTryT25G25f25N25100F25T50G50f50N50100F50T75G75f75N75100F75A2113.09711285.0000026.11191186.6666639.07191186.66666227.6891188.3333455.33131188.3333482.59281288.33334342.8141488.3333486.04111588.33334128.39261688.333344130.54631388.33334260.181131588.33334389.331131588.33334543.4463190.0000087.39143190.00000131.20143190.00000684.35731586.66666168.38133288.33334252.73273388.333347149.2885490.00000298.47155690.00000447.50245790.000008215.83951488.33334427.65951488.33334637.65215188.333349113.3295888.33334225.841851188.33334337.702551588.33334B2116.03611397.0588231.99611397.0588247.832611497.05882233.41511597.0588267.26511597.05882101.45511597.05882351.63611597.05882103.01611597.05882155.17611597.058824160.82031597.05882324.22031597.05882485.32031597.05882553.08231597.05882106.13231597.05882159.76231597.058826103.51031597.05882209.98031597.05882316.64031597.058827185.49051597.05882372.27175198.52941558.38175198.529418271.5195198.52941542.9395198.52941815.9695198.52941991.8855198.52941184.50175298.52941276.67175298.52941D1122.70011578.0821945.41011578.0821968.09011578.08219245.3681880.8219190.931911180.82191136.652111280.82191368.4541282.19178137.29131282.19178206.65271482.191784207.1583282.19178416.77193582.19178624.94293682.19178568.4293382.19178137.33173582.19178206.86293682.191786136.6193780.82191274.811531080.82191412.702331280.821917232.5565682.19178464.951841082.19178696.72255183.561658345.07451580.82191691.15451580.821911037.06451580.821919114.5895182.19178230.88185282.19178347.32295582.19178F3119.82011580.2325639.71011580.2325659.61011580.23256239.97011580.2325680.54011580.23256121.10011580.23256361.63911283.72093123.971911483.72093186.522211583.720934181.25011580.23256364.80011580.23256548.34011580.23256562.05631583.72093124.67631583.72093187.85631583.720936120.07011580.23256242.21011580.23256364.72011580.232567211.59251583.72093424.27251583.72093637.24251583.720938303.38011580.23256610.26011580.23256918.33011580.232569100.15011580.23256202.20011580.23256304.68011580.23256H2112.58811088.0000026.111911188.0000039.672411388.00000226.09911088.0000054.121911488.0000081.412611588.00000340.9891588.0000082.38161788.00000124.00281988.000004122.50631488.00000244.67631488.00000366.86631488.00000539.94831088.0000080.13831088.00000122.232431288.00000679.05531288.00000160.391631588.00000241.891631588.000007136.33851288.00000273.141551388.00000409.732151488.000008203.64751588.00000407.86751588.00000612.67751588.00000968.0895888.00000135.69175988.00000203.972551288.000001Select the setting based on Rule 1. 2Select the setting based on Rule 2. 3Select the setting based on Rule 3.Adhering to Rule 1 listed in Section4, only the try with the highest accuracy ϕ is selected to be used for the rest of the unsampled dataset. In this case, Try 7 is selected for Dataset D, since the greatest accuracy is obtained from Try 7 in G75. From Rule 2, the runtime T must be considered if there are two tries tied in accuracy. For example, both Try 5 and Try 9 have the highest accuracy in Dataset A, but Try 5 is selected, since its runtime is only 43.43, which is considerably less than the runtime (149.28) of Try 9. Similarly, Try 7 and Try 1 are selected for Datasets B and H, respectively. The parameter setting for the rest of datasets, namely, Dataset F, is based on Rule 3, and Try 5 is selected in accordance with Rule 2.Hence, we obtain the parameter settings listed in Table6.Table 6
Parameters used in the proposed CSVM.
IDTry IDNrecNattNfilterNsolNvar(Cg,Cp,Cw,Cr)Ngen100FSVM100FNgenTA5690143753Natt/4 = 11(0.35, 0.25, 0.15, 0.25)2581.66666490.0000043.44B9699104252Natt/4 = 5(0.45, 0.30, 0.20, 0.05)2595.58823498.5294191.88D776884503Natt/4 = 6(0.40, 0.30, 0.20, 0.10)7576.71232683.56165696.72F586223753Natt/4 = 2(0.35, 0.25, 0.15, 0.25)2580.23255983.7209362.05H127013125Natt/4 = 4(0.40, 0.30, 0.20, 0.10)2580.00000088.0000012.58In DatasetF, there are only two attributes resulting in also two variables in each filter of Table 6. Another observation is that the values Nfilter, Nvar, Nsol, and Ngen are always the smallest, since all the best final fitness values are equal to 88.00000 regardless of the generation number. Then, the parameter setting with less runtime is selected, which is reasonable. This is similar to Dataset B whose solution number is only 25, with less local search ability.In Table5, the accuracy levels obtained from SVM for the first fold of each dataset are listed in the last second column named 100FSVM. From Table 5, all values in FNgen are better than those in the corresponding FSVM. Moreover, also from Table 5, all fitness values obtained from G25, namely, F25, are already at least equal to FSVM; that is, FSVM ≤ F25 ≤ F50 ≤ F75 ≤ F100. Hence, the proposed CSVM outperforms the traditional SVM in the small-sample OA, and the wide discrepancy between the final performances of the CSVM and the SVM is further reinforced in Subsection 6.3 using the parameters setting from the proposed small-sample OA.


### 6.3. Ex2

The results forG100 are collected to evaluate the effectiveness of the concept of the proposed small-sample OA and verify any possible effects on the average and the best fitness values of higher generation numbers. The complete data including the average, best, worst, and standard deviation of fitness of each fold for each dataset are listed in Tables 7–11.Table 7
The results obtained based on the Australian Credit Approval dataset.
FoldIndexSVMF25F50F75F1001AVG81.66666490.22222290.72222190.94444491.277776MAX81.66666491.66666493.33333693.33333693.333336MIN81.66666488.33333688.33333690.00000090.000000STDEV0.0000001.0480151.0434361.0434370.9472012AVG92.15686096.73202597.25490197.51633997.647058MAX92.15686098.03921598.03921598.03921598.039215MIN92.15686096.07843096.07843096.07843096.078430STDEV0.0000000.9401240.9770060.8819150.7977223AVG83.11688292.98701493.46320493.98268594.112555MAX83.11688296.10389796.10389796.10389796.103897MIN83.11688290.90908890.90908890.90908890.909088STDEV0.0000001.4308101.4260601.5435681.5529594AVG92.18750093.75000093.80208393.80208393.958333MAX92.18750093.75000095.31250095.31250095.312500MIN92.18750093.75000093.75000093.75000093.750000STDEV0.0000000.0000000.2852720.2852720.5402285AVG87.87879293.78787794.09090794.24242294.292928MAX87.87879295.45454495.45454495.45454495.454544MIN87.87879292.42424092.42424093.93939293.939392STDEV0.0000000.7282740.7282740.6164220.6517936AVG80.70175287.07602487.60234087.66082087.719299MAX80.70175287.71929987.71929987.71929987.719299MIN80.70175284.21052685.96491285.96491287.719299STDEV0.0000000.9755330.4451020.3203060.0000007AVG82.27848191.30801891.85654091.98312192.151897MAX82.27848192.40506093.67088393.67088393.670883MIN82.27848188.60759791.13924491.13924491.139244STDEV0.0000001.0370950.7193900.6919870.6972908AVG85.13513290.40540690.72072290.81081291.126127MAX85.13513291.89189191.89189191.89189193.243240MIN85.13513289.18918689.18918690.54054390.540543STDEV0.0000000.7401670.5867190.5497800.7680009AVG86.41975493.33333493.74485893.99177294.156381MAX86.41975495.06172995.06172995.06172995.061729MIN86.41975492.59259092.59259092.59259093.827164STDEV0.0000000.6953630.5552810.5360150.55527910AVG85.18518890.37037190.61728590.82304691.028807MAX85.18518891.35802591.35802592.59259092.592590MIN85.18518888.88888588.88888590.12345990.123459STDEV0.0000000.7534040.6953600.7016290.720113Table 8
The results obtained based on the breast-cancer dataset.
FoldIndexSVMF25F50F75F1001AVG95.58823498.52941198.52941198.52941198.578431MAX95.58823498.52941198.52941198.529411100.000000MIN95.58823498.52941198.52941198.52941198.529411STDEV0.0000000.0000000.0000000.0000000.2684922AVG100.000000100.000000100.000000100.000000100.000000MAX100.000000100.000000100.000000100.000000100.000000MIN100.000000100.000000100.000000100.000000100.000000STDEV0.0000000.0000000.0000000.0000000.0000003AVG95.58823497.30392197.49999997.59803897.745097MAX95.58823498.52941198.52941198.52941198.529411MIN95.58823497.05882397.05882397.05882397.058823STDEV0.0000000.5574250.6854290.7207830.7462014AVG100.000000100.000000100.000000100.000000100.000000MAX100.000000100.000000100.000000100.000000100.000000MIN100.000000100.000000100.000000100.000000100.000000STDEV0.0000000.0000000.0000000.0000000.0000005AVG100.000000100.000000100.000000100.000000100.000000MAX100.000000100.000000100.000000100.000000100.000000MIN100.000000100.000000100.000000100.000000100.000000STDEV0.0000000.0000000.0000000.0000000.0000006AVG94.11764597.05882397.05882397.05882397.058823MAX94.11764597.05882397.05882397.05882397.058823MIN94.11764597.05882397.05882397.05882397.058823STDEV0.0000000.0000000.0000000.0000000.0000007AVG95.58823497.89215698.03921598.28431398.333333MAX95.588234100.000000100.000000100.000000100.000000MIN95.58823497.05882397.05882397.05882397.058823STDEV0.0000000.9206800.8918800.8707260.8402168AVG98.52941198.52941198.52941198.52941198.529411MAX98.52941198.52941198.52941198.52941198.529411MIN98.52941198.52941198.52941198.52941198.529411STDEV0.0000000.0000000.0000000.0000000.0000009AVG94.11764598.52941198.52941198.52941198.529411MAX94.11764598.52941198.52941198.52941198.529411MIN94.11764598.52941198.52941198.52941198.529411STDEV0.0000000.0000000.0000000.0000000.00000010AVG97.18309897.18309897.18309897.18309897.230046MAX97.18309897.18309897.18309897.18309898.591553MIN97.18309897.18309897.18309897.18309897.183098STDEV0.0000000.0000000.0000000.0000000.257148Table 9
The results obtained based on the Diabetes dataset.
FoldIndexSVMF25F50F75F1001AVG76.71232683.51598183.92694084.01826384.018263MAX76.71232684.93150384.93150384.93150384.931503MIN76.71232680.82191580.82191580.82191580.821915STDEV0.0000001.2710381.1338101.1564131.1564132AVG76.81159282.51207682.94685983.14009683.236714MAX76.81159285.50724885.50724885.50724885.507248MIN76.81159279.71014481.15941681.15941681.159416STDEV0.0000001.3147641.0549741.0411530.9839283AVG82.02246986.40449486.66666686.89138586.891385MAX82.02246987.64045087.64045087.64045087.640450MIN82.02246985.39325785.39325785.39325785.393257STDEV0.0000000.7435550.7656690.6814370.6814374AVG76.47058979.55882579.70588479.80392379.852943MAX76.47058980.88235580.88235580.88235580.882355MIN76.47058979.41176679.41176679.41176679.411766STDEV0.0000000.4487190.5982920.6614360.6854295AVG71.23288071.27854271.32420371.36986571.369865MAX71.23288072.60273772.60273772.60273772.602737MIN71.23288071.23288071.23288071.23288071.232880STDEV0.0000000.2501010.3475440.4179830.4179836AVG68.29268671.13820971.91056772.15447072.154470MAX68.29268673.17073173.17073173.17073173.170731MIN68.29268669.51219270.73170570.73170570.731705STDEV0.0000000.9245100.8154580.8523560.8523567AVG82.55814482.55814482.59690382.59690382.635663MAX82.55814482.55814483.72093283.72093283.720932MIN82.55814482.55814482.5581447.00000082.558144STDEV0.0000000.0000000.2122950.2122950.2950098AVG71.42857474.02597274.32900374.63203474.805194MAX71.42857475.32467775.32467775.32467775.324677MIN71.42857471.42857472.72727272.72727272.727272STDEV0.0000001.0231670.8817030.7420100.7314859AVG80.51947883.24675283.67965283.85281183.939391MAX80.51947884.41558184.41558184.41558184.415581MIN80.51947881.81818481.81818481.81818483.116882STDEV0.0000000.8594310.7380770.7380770.63653410AVG78.37838084.00900984.59459484.90991085.000000MAX78.37838087.83783787.83783787.83783787.837837MIN78.37838082.43243482.43243482.43243482.432434STDEV0.0000001.3782651.6107121.5903851.677734Table 10
The results obtained based on the fourclass dataset.
FoldIndexSVMF25F50F75F1001AVG80.23255986.24031087.01550487.24806287.403101MAX80.23255988.37209388.37209388.37209388.372093MIN80.23255983.72093283.72093284.88372084.883720STDEV0.0000001.6748681.2621301.2015731.1045292AVG79.00000081.13333381.33333381.43333381.533333MAX79.00000082.00000082.00000082.00000082.000000MIN79.00000081.00000081.00000081.00000081.000000STDEV0.0000000.3457460.4794630.5040070.5074163AVG75.86206881.07279581.41762281.49425081.570878MAX75.86206882.75862182.75862182.75862182.758621MIN75.86206878.16091978.16091978.16091980.459770STDEV0.0000000.8394200.7445040.6981900.3676344AVG81.81818483.86363784.16666884.35606284.659091MAX81.81818486.36363286.36363286.36363286.363632MIN81.81818482.95454482.95454482.95454482.954544STDEV0.0000000.8118010.8919490.8793790.8827485AVG82.85714084.28571384.28571384.28571384.333332MAX82.85714084.28571384.28571384.28571385.714287MIN82.85714084.28571384.28571384.28571384.285713STDEV0.0000000.0000000.0000000.0000000.2608216AVG81.91489482.97872283.01418383.04964483.085105MAX81.91489482.97872284.04255784.04255784.042557MIN81.91489482.97872282.97872282.97872282.978722STDEV0.0000000.0000000.1942290.2699040.3246077AVG85.89743885.89743885.89743885.89743885.897438MAX85.89743885.89743885.89743885.89743885.897438MIN85.89743885.89743885.89743885.89743885.897438STDEV0.0000000.0000000.0000000.0000000.0000008AVG71.42857477.75281177.94007774.63203478.127343MAX71.42857478.65168878.65168875.32467778.651688MIN71.42857477.52809177.52809172.72727277.528091STDEV0.0000000.4571220.5507110.7420100.5701319AVG80.51947884.57364385.15503883.85281185.465115MAX80.51947886.04650986.04650984.41558186.046509MIN80.51947881.39534882.55814481.81818483.720932STDEV0.0000001.3633491.0437590.7380770.73223510AVG78.37838089.28571389.28571384.90991089.285713MAX78.37838089.28571389.28571387.83783789.285713MIN78.37838089.28571389.28571382.43243489.285713STDEV0.0000000.0000000.0000001.5903850.000000Table 11
The results obtained based on the Heart Disease dataset.
FoldIndexSVMF25F50F75F1001AVG80.00000088.40000088.53333388.93333389.066667MAX80.00000092.00000092.00000092.00000092.000000MIN80.00000088.00000088.00000088.00000088.000000STDEV0.0000001.2205141.3829841.7207321.7991062AVG82.75862196.32184296.43678596.55172796.551727MAX82.75862196.55172796.55172796.55172796.551727MIN82.75862193.10344793.10344796.55172796.551727STDEV0.0000000.8748570.6295670.0000000.0000003AVG82.75862189.65517489.77011789.77011789.770117MAX82.75862189.65517493.10344793.10344793.103447MIN82.75862189.65517489.65517489.65517489.655174STDEV0.0000000.0000000.6295660.6295660.6295664AVG88.23529192.74509693.23529293.43137193.431371MAX88.23529194.11764594.11764594.11764594.117645MIN88.23529191.17646891.17646891.17646891.176468STDEV0.0000001.4924011.3708581.2652451.2652455AVG100.00000100.000000100.000000100.000000100.000000MAX100.00000100.000000100.000000100.000000100.000000MIN100.00000100.000000100.000000100.000000100.000000STDEV0.0000000.0000000.0000000.0000000.0000006AVG80.00000093.50000094.66666794.83333395.000000MAX80.00000095.00000095.00000095.00000095.000000MIN80.00000090.00000090.00000090.00000095.000000STDEV0.0000002.3304581.2685410.9128710.0000007AVG82.60869695.65217695.79710395.79710395.797103MAX82.608696100.000000100.000000100.000000100.000000MIN82.60869691.30435295.65217695.65217695.652176STDEV0.0000001.1417950.7938000.7938000.7938008AVG89.28571389.88095190.47618990.71428491.071426MAX89.28571392.85714092.85714092.85714092.857140MIN89.28571389.28571389.28571389.28571389.285713STDEV0.0000001.3537461.7123681.7795451.8162409AVG75.00000086.20370786.38889286.48148486.481484MAX75.00000088.88888588.88888588.88888588.888885MIN75.00000086.11111586.11111586.11111586.111115STDEV0.0000000.5071490.8475770.9604030.96040310AVG84.61538788.71795088.97436189.23077189.615386MAX84.61538792.30769392.30769392.30769392.307693MIN84.61538788.46154088.46154088.46154088.461540STDEV0.0000000.9758001.3297921.5647621.792660


#### 6.3.1. Boxplots of the Experimental Results from Ex2

Both results obtained from the 3-layer and 4-layer ANNs are the least favorable with a big gap between the proposed CSVM and the traditional SVM. Hence, these two ANN-based methods are not discussed further, and we only focus on the proposed CSVM and the traditional SVM.We determined that the higher the generation number, the better average fitness value. However, it can be observed that the best fitness value remains unchanged fromG75 to G100 except for the 8th fold in Dataset A, the 1st and 10th folds in Dataset B, and the 5th fold in Dataset F. Therefore, Ngen = 75 is acceptable and there is no need for Ngen = 100 to increase the fitness value of the best solution. The position (the fitness values obtained) and the length (the range of the fitness values) of box in G100 are frequently higher and shorter than those of G25 in most boxplots. Hence, a larger generation number has a higher probability of enhancing the average solution quality under the cost of the longer runtime but ultimately does little to improve the best fitness value.


#### 6.3.2. Number of Folds for Finding the Final Best Fitness Values

Table12 lists the number of folds that have found the final best fitness values. The subscripts of dataset ID in the first column of Table 12 indicate the generation number used in Ex 2; for example, B25 indicates that 25 generations are used for Dataset B based on the parameters obtained with small-sample OA in Ex 1. Folds 7, 8, 10, 8, and 10 (see bold numbers in Table 12) under G25, G25, G75, G25, and G25 in Datasets A, B, D, F, and H, respectively, have found the best final fitness values.Table 12
Number of folds that have found the best solution.
DatasetG25G50G75G100A2571,4,788,109810B2581,1081,1081,1010D7597101010F2585,6959510H2510101010The folds written as subscripts indicate the final best fitness values that have failed to be found. For example, 71,4,7 in G25, A25 represents that there are seven folds (from the ten folds) that have already found the best fitness values after 25 generations with the remaining three folds 1, 4, and 7 failing to do so in Dataset A.To calculate the probability of the best final fitness value in Table12, we add the folds (7 + 8 + 10 + 8 + 10) and divide the product by the total number of folds (50) in Table 6 to get 86%, which informs us that the probability of finding the best final fitness value without reaching G100, which entails a significantly longer runtime, is 86%.Hence, the proposed small-sample OA is effective in setting parameters to increase the efficiency and solution quality of the proposed CSVM. The above observation further confirms that having better parameters ultimately negates the need for a greater generation number to increase the fitness of the best solution.


#### 6.3.3. ANOVA of the Experimental Results

To investigate the small-sample OA, the Analysis of Variance (ANOVA) is carried out to test the average fitness obtained from the proposed CSVM in terms of the parameters set by the small-sample OA, as shown in Table13. The cells marked with “v” indicate that there is a significant gap between the pair of distinctive generation numbers listed in their respective rows in the fold denoted by the column. This is reinforced through the distinct difference between the average fitness values obtained from G25 and G75 in all folds of Dataset A.Table 13
The significant differences between two parameter settings.
12345678910A(25, 50)(25, 75)vvvVvvvvVv(25, 100)vvvvvvvvVv(50, 75)(50, 100)vvvvvvvvVv(75, 100)B(25, 50)(25, 75)(25, 100)(50, 75)(50, 100)(75, 100)D(25, 50)(25, 75)(25, 100)(50, 75)(50, 100)(75, 100)F(25, 50)vvvvvvvvVv(25, 75)vvvvvvvvVv(25, 100)vvvvvvvvVv(50, 75)(50, 100)(75, 100)G(25, 50)(25, 75)(25, 100)(50, 75)(50, 100)(75, 100)From Table13, the minimal generation numbers should be 75 and 50 for only Datasets A and F, respectively, with an insignificant gap between the fitness values in each fold. Hence, the proposed small-small OA is still effective in determining the generation number to reduce the significant difference among all fitness values; even it focuses only on the best fitness value and not the average fitness value that we found.


#### 6.3.4. MPI of the Experimental Results

To further investigate the development of the proposed CSVM, two other indices, the average maximum possible improvement (MPIavg%) and the best maximum possible improvement (MPIavg%), are introduced and defined as(26)MPIavg%=the average fitness obtained−FSVM1−FSVM,MPImax%=the best fitness obtained−FSVM1−FSVM.The MPIavg% and MPImax% results are listed in Tables 14 and 15, respectively, where the cells marked “∗” indicate that both the related Fsvm and the average and/or the best fitness obtained are 100% correct, for example, the 2nd, 4th, and 5th folds in Dataset B in Table 14. The bold numbers denote the best values among all folds for each dataset under the same generation number. Note that a value of 100, as in the 7th fold of Dataset B in Table 15, indicates that the related accuracy is 100%.Table 14
The 100× MPIavg%.
12345678910AvgAF2546.6758.3358.4620.0048.7533.0350.9535.4650.9135.0043.76F5049.3965.0061.2820.6751.2535.7654.0537.5853.9436.6746.56F7550.6168.3364.3620.6752.5036.0654.7638.1855.7638.0647.93F10052.4270.0065.1322.6752.9236.3655.7140.3056.9739.4449.19BF2566.67∗38.89∗∗50.0052.220.0075.000.0040.40F5066.67∗43.33∗∗50.0055.560.0075.000.0041.51F7566.67∗45.56∗∗50.0061.110.0075.000.0042.62F10067.78∗48.89∗∗50.0062.220.0075.001.6743.65DF2529.2224.5824.3713.120.168.970.009.0914.0026.0414.96F5030.9826.4625.8313.750.3211.410.2210.1516.2228.7516.41F7531.3727.2927.0814.170.4812.180.2211.2117.1130.2117.13F10031.3727.7127.0814.370.4812.180.4411.8217.5630.6217.36FF2530.3910.1621.5911.258.335.880.0013.9136.8318.1815.65F5034.3111.1123.0212.928.336.080.0014.6439.2118.1816.78F7535.4911.5923.3313.968.336.270.0015.0740.0018.1817.22F10036.2712.0623.6515.638.616.470.0015.3640.4818.1817.67HF2542.0078.6740.0038.33∗67.5075.005.5644.8126.6746.50F5042.6779.3340.6742.50∗73.3375.8311.1145.5628.3348.81F7544.6780.0040.6744.17∗74.1775.8313.3345.9330.0049.86F10045.3380.0040.6744.17∗75.0075.8316.6745.9332.5050.68Table 15
The 100× MPImax%.
12345678910AvgAF2554.5575.0076.9220.0062.5036.3657.1445.4563.6441.6753.32F5063.6475.0076.9240.0062.5036.3664.2945.4563.6441.6756.95F7563.6475.0076.9240.0062.5036.3664.2945.4563.6450.0057.78F10063.6475.0076.9240.0062.5036.3664.2954.5563.6450.0058.69BF2566.67∗66.67∗∗50.00100.000.0075.000.0051.19F5066.67∗66.67∗∗50.00100.000.0075.000.0051.19F7566.67∗66.67∗∗50.00100.000.0075.000.0051.19F100100.00∗66.67∗∗50.00100.000.0075.0050.0063.10DF2535.2937.5031.2518.754.7615.380.0013.6420.0043.7522.03F5035.2937.5031.2518.754.7615.386.6713.6420.0043.7522.70F7535.2937.5031.2518.754.7615.386.6713.6420.0043.7522.70F10035.2937.5031.2518.754.7615.386.6713.6420.0043.7522.70FF2541.1814.2928.5725.008.335.880.0017.3942.8618.1820.17F5041.1814.2928.5725.008.3311.760.0017.3942.8618.1820.76F7541.1814.2928.5725.008.3311.760.0017.3942.8618.1820.76F10041.1814.2928.5725.0016.6711.760.0017.3942.8618.1821.59HF2560.0080.0040.0050.00∗75.00100.0033.3355.5650.0060.43F5060.0080.0060.0050.00∗75.00100.0033.3355.5650.0062.65F7560.0080.0060.0050.00∗75.00100.0033.3355.5650.0062.65F10060.0080.0060.0050.00∗75.00100.0033.3355.5650.0062.65As shown in Tables14 and 15, the results obtained from the proposed CSVM are at least 14.96% and 20.17%, with at most a 50.68% and 63.10% improvement in MPIavg% and MPImax%, respectively. The results shed light on the effectiveness of the proposed CSVM in comparison with the traditional SVM. It can be also observed that the more attributes, the greater the results obtained from the proposed CSVM regardless of the number of records. Ultimately, compared to the traditional SVM, the proposed CSVM is more suitable for small data.


## 6.1. Simulation Environment

Four algorithms are developed and adapted in this study including the proposed CSVM, SVM, the 3-layer ANN, and the 4-layer ANN. The proposed CSVM is implemented using Dev C++ Version 5.11 C/C++, and the SVM part is integrated by calling the libsvm library [28] with all default setting parameters. The codes of both the 3-layer and 4-layer ANNs are modified using the source code provided in [39], which is coded in Python and run in Anaconda with epochs = 150, batch_size = 10, loss = “binary_crossentropy,” optimizer = “Adam,” activation = “ReLU” and 12 neurons in the first hidden layer, and activation = “sigmoid” in the second hidden layer of the 4-layer ANN. The test environment is Intel (R) Core (TM) i9-9900K CPU @ 3.60 GHz, 32.0 GB memory, and 64-bit Windows 10.To validate the proposed CSVM, the proposed CSVM was compared with the traditional SVM and the 3-layer and 4-layer ANNs on five well-known datasets: “Australian Credit Approval” (A), “breast-cancer” (B), “diabetes” (D), “fourclass” (F), and “Heart Disease” (H) [34] based on a tenfold cross-validation in Ex2. Summary of the five datasets is provided in Table 2. A brief introduction of the datasets is as follows:“Australian Credit Approval” (A): this file concerns credit card applications. This database exists elsewhere in the repository (Credit Screening Database) in a slightly different form. This dataset is interesting because there is a good mix of attributes-continuous, nominal with small numbers of values, and nominal with larger numbers of values. There are also a few missing values.“breast-cancer” (B): the term “breast cancer” refers to a malignant tumor that has developed from cells in the breast. It is the most common cancer among women in almost all parts of the world. The used dataset consists of 699 instances that were classified as benign and malignant. Also, the dataset has 11 integer-valued attributes.“diabetes” (D): diabetes mellitus is one of the most serious health challenges in both developing and developed countries. Diabetes dataset that we used contains 8 categories and 768 instances and records on diabetes patients (several weeks to months worth of glucose, insulin, and lifestyle data per patient and a description of the problem domain), gathered from larger databases belonging to the National Institute of Diabetes and Digestive and Kidney Diseases.“fourclass” (F): the dataset has irregular spreads over the space including disconnected regions and they are not linearly separable. A four-class nonlinearly separable dataset consists of 862 pieces of data and 2 dimensions.“Heart Disease” (H): heart attack diseases remain the main cause of death worldwide, including South Africa, and possible detection at an earlier stage will prevent the attacks. This database contains 76 attributes, but all published experiments refer to using a subset of 14 of them. In particular, the Cleveland database is the only one that has been used by ML researchers to this date.Table 2
Information and characteristics of the five datasets.
IDFull nameRecord numberAttribute numberAttribute characteristicsAAustralian Credit Approval69014Integer, realBbreast-cancer69910Integer, realDDiabetes7688Integer, realFfourclass8622Integer, realHHeart Disease27013Integer, realLetΦ, T, G, f, and N be the highest accuracy levels obtained in the end, the runtime, the earliest generation that obtained Φ, the number of filters generating Φ, and the number of solutions that have Φ, respectively. To be easily recognized, the subscripts 25, 50, 75, 100, avg, max, min, and std represent the related values obtained at the end of the 25th, 50th, 75th, and 100th generations, the average, the maximum, minimum, and the standard deviation, respectively.


## 6.2. Ex1: Small-Sample OA Test

The orthogonal array used in this study is calledL9 (34) as shown in Table 3.Table 3
L9 (34).
TryNfilterNsolNvar(Cg,Cp,Cw,Cr)111112122231333423215233262113732318331293123InL9 (34), there are nine tries and four factors: C = (Cg,Cp,Cw,Cr), Nsol, Nvar, and Nfilter; each factor has three levels as shown in Table 4. The higher the level, the larger related values with the exception of C; for example, in level 1, Nsol = 25 is smaller than that in level 2. The most distinguishable difference among all three levels in C of Table 3 is that level 2 has higher cr which is to increase the global search ability, while level 3 has the lower value of cr to enhance the local search ability.Table 4
Levels of all-factor test for selecting the parameters.
Level codeNfilterNsolNvarC = (Cg,Cp,Cw,Cr)1125⌈Natt/4⌉(0.40, 0.30, 0.20, 0.10)2350⌈2Natt/4⌉(0.35, 0.25, 0.15, 0.25)3475⌈3Natt/4⌉(0.45, 0.30, 0.20, 0.05)The results obtained from the proposed CSVM in terms of the proposed small-sample OA test are listed in Table5, in which each try is run fifteen times, where the larger Nfilter, Nsol, Nvar, and/or Ngen, the longer the runtime. However, it is not necessary to have better fitness values from Table 5. For example, the best fitness value has already been found in G25, namely, F25 = F50 = F75, in all datasets except Dataset D whose best fitness value is found in G75.Table 5
Levels of all-factor test for selecting the parameters.
IDTryT25G25f25N25100F25T50G50f50N50100F50T75G75f75N75100F75A2113.09711285.0000026.11191186.6666639.07191186.66666227.6891188.3333455.33131188.3333482.59281288.33334342.8141488.3333486.04111588.33334128.39261688.333344130.54631388.33334260.181131588.33334389.331131588.33334543.4463190.0000087.39143190.00000131.20143190.00000684.35731586.66666168.38133288.33334252.73273388.333347149.2885490.00000298.47155690.00000447.50245790.000008215.83951488.33334427.65951488.33334637.65215188.333349113.3295888.33334225.841851188.33334337.702551588.33334B2116.03611397.0588231.99611397.0588247.832611497.05882233.41511597.0588267.26511597.05882101.45511597.05882351.63611597.05882103.01611597.05882155.17611597.058824160.82031597.05882324.22031597.05882485.32031597.05882553.08231597.05882106.13231597.05882159.76231597.058826103.51031597.05882209.98031597.05882316.64031597.058827185.49051597.05882372.27175198.52941558.38175198.529418271.5195198.52941542.9395198.52941815.9695198.52941991.8855198.52941184.50175298.52941276.67175298.52941D1122.70011578.0821945.41011578.0821968.09011578.08219245.3681880.8219190.931911180.82191136.652111280.82191368.4541282.19178137.29131282.19178206.65271482.191784207.1583282.19178416.77193582.19178624.94293682.19178568.4293382.19178137.33173582.19178206.86293682.191786136.6193780.82191274.811531080.82191412.702331280.821917232.5565682.19178464.951841082.19178696.72255183.561658345.07451580.82191691.15451580.821911037.06451580.821919114.5895182.19178230.88185282.19178347.32295582.19178F3119.82011580.2325639.71011580.2325659.61011580.23256239.97011580.2325680.54011580.23256121.10011580.23256361.63911283.72093123.971911483.72093186.522211583.720934181.25011580.23256364.80011580.23256548.34011580.23256562.05631583.72093124.67631583.72093187.85631583.720936120.07011580.23256242.21011580.23256364.72011580.232567211.59251583.72093424.27251583.72093637.24251583.720938303.38011580.23256610.26011580.23256918.33011580.232569100.15011580.23256202.20011580.23256304.68011580.23256H2112.58811088.0000026.111911188.0000039.672411388.00000226.09911088.0000054.121911488.0000081.412611588.00000340.9891588.0000082.38161788.00000124.00281988.000004122.50631488.00000244.67631488.00000366.86631488.00000539.94831088.0000080.13831088.00000122.232431288.00000679.05531288.00000160.391631588.00000241.891631588.000007136.33851288.00000273.141551388.00000409.732151488.000008203.64751588.00000407.86751588.00000612.67751588.00000968.0895888.00000135.69175988.00000203.972551288.000001Select the setting based on Rule 1. 2Select the setting based on Rule 2. 3Select the setting based on Rule 3.Adhering to Rule 1 listed in Section4, only the try with the highest accuracy ϕ is selected to be used for the rest of the unsampled dataset. In this case, Try 7 is selected for Dataset D, since the greatest accuracy is obtained from Try 7 in G75. From Rule 2, the runtime T must be considered if there are two tries tied in accuracy. For example, both Try 5 and Try 9 have the highest accuracy in Dataset A, but Try 5 is selected, since its runtime is only 43.43, which is considerably less than the runtime (149.28) of Try 9. Similarly, Try 7 and Try 1 are selected for Datasets B and H, respectively. The parameter setting for the rest of datasets, namely, Dataset F, is based on Rule 3, and Try 5 is selected in accordance with Rule 2.Hence, we obtain the parameter settings listed in Table6.Table 6
Parameters used in the proposed CSVM.
IDTry IDNrecNattNfilterNsolNvar(Cg,Cp,Cw,Cr)Ngen100FSVM100FNgenTA5690143753Natt/4 = 11(0.35, 0.25, 0.15, 0.25)2581.66666490.0000043.44B9699104252Natt/4 = 5(0.45, 0.30, 0.20, 0.05)2595.58823498.5294191.88D776884503Natt/4 = 6(0.40, 0.30, 0.20, 0.10)7576.71232683.56165696.72F586223753Natt/4 = 2(0.35, 0.25, 0.15, 0.25)2580.23255983.7209362.05H127013125Natt/4 = 4(0.40, 0.30, 0.20, 0.10)2580.00000088.0000012.58In DatasetF, there are only two attributes resulting in also two variables in each filter of Table 6. Another observation is that the values Nfilter, Nvar, Nsol, and Ngen are always the smallest, since all the best final fitness values are equal to 88.00000 regardless of the generation number. Then, the parameter setting with less runtime is selected, which is reasonable. This is similar to Dataset B whose solution number is only 25, with less local search ability.In Table5, the accuracy levels obtained from SVM for the first fold of each dataset are listed in the last second column named 100FSVM. From Table 5, all values in FNgen are better than those in the corresponding FSVM. Moreover, also from Table 5, all fitness values obtained from G25, namely, F25, are already at least equal to FSVM; that is, FSVM ≤ F25 ≤ F50 ≤ F75 ≤ F100. Hence, the proposed CSVM outperforms the traditional SVM in the small-sample OA, and the wide discrepancy between the final performances of the CSVM and the SVM is further reinforced in Subsection 6.3 using the parameters setting from the proposed small-sample OA.


## 6.3. Ex2

The results forG100 are collected to evaluate the effectiveness of the concept of the proposed small-sample OA and verify any possible effects on the average and the best fitness values of higher generation numbers. The complete data including the average, best, worst, and standard deviation of fitness of each fold for each dataset are listed in Tables 7–11.Table 7
The results obtained based on the Australian Credit Approval dataset.
FoldIndexSVMF25F50F75F1001AVG81.66666490.22222290.72222190.94444491.277776MAX81.66666491.66666493.33333693.33333693.333336MIN81.66666488.33333688.33333690.00000090.000000STDEV0.0000001.0480151.0434361.0434370.9472012AVG92.15686096.73202597.25490197.51633997.647058MAX92.15686098.03921598.03921598.03921598.039215MIN92.15686096.07843096.07843096.07843096.078430STDEV0.0000000.9401240.9770060.8819150.7977223AVG83.11688292.98701493.46320493.98268594.112555MAX83.11688296.10389796.10389796.10389796.103897MIN83.11688290.90908890.90908890.90908890.909088STDEV0.0000001.4308101.4260601.5435681.5529594AVG92.18750093.75000093.80208393.80208393.958333MAX92.18750093.75000095.31250095.31250095.312500MIN92.18750093.75000093.75000093.75000093.750000STDEV0.0000000.0000000.2852720.2852720.5402285AVG87.87879293.78787794.09090794.24242294.292928MAX87.87879295.45454495.45454495.45454495.454544MIN87.87879292.42424092.42424093.93939293.939392STDEV0.0000000.7282740.7282740.6164220.6517936AVG80.70175287.07602487.60234087.66082087.719299MAX80.70175287.71929987.71929987.71929987.719299MIN80.70175284.21052685.96491285.96491287.719299STDEV0.0000000.9755330.4451020.3203060.0000007AVG82.27848191.30801891.85654091.98312192.151897MAX82.27848192.40506093.67088393.67088393.670883MIN82.27848188.60759791.13924491.13924491.139244STDEV0.0000001.0370950.7193900.6919870.6972908AVG85.13513290.40540690.72072290.81081291.126127MAX85.13513291.89189191.89189191.89189193.243240MIN85.13513289.18918689.18918690.54054390.540543STDEV0.0000000.7401670.5867190.5497800.7680009AVG86.41975493.33333493.74485893.99177294.156381MAX86.41975495.06172995.06172995.06172995.061729MIN86.41975492.59259092.59259092.59259093.827164STDEV0.0000000.6953630.5552810.5360150.55527910AVG85.18518890.37037190.61728590.82304691.028807MAX85.18518891.35802591.35802592.59259092.592590MIN85.18518888.88888588.88888590.12345990.123459STDEV0.0000000.7534040.6953600.7016290.720113Table 8
The results obtained based on the breast-cancer dataset.
FoldIndexSVMF25F50F75F1001AVG95.58823498.52941198.52941198.52941198.578431MAX95.58823498.52941198.52941198.529411100.000000MIN95.58823498.52941198.52941198.52941198.529411STDEV0.0000000.0000000.0000000.0000000.2684922AVG100.000000100.000000100.000000100.000000100.000000MAX100.000000100.000000100.000000100.000000100.000000MIN100.000000100.000000100.000000100.000000100.000000STDEV0.0000000.0000000.0000000.0000000.0000003AVG95.58823497.30392197.49999997.59803897.745097MAX95.58823498.52941198.52941198.52941198.529411MIN95.58823497.05882397.05882397.05882397.058823STDEV0.0000000.5574250.6854290.7207830.7462014AVG100.000000100.000000100.000000100.000000100.000000MAX100.000000100.000000100.000000100.000000100.000000MIN100.000000100.000000100.000000100.000000100.000000STDEV0.0000000.0000000.0000000.0000000.0000005AVG100.000000100.000000100.000000100.000000100.000000MAX100.000000100.000000100.000000100.000000100.000000MIN100.000000100.000000100.000000100.000000100.000000STDEV0.0000000.0000000.0000000.0000000.0000006AVG94.11764597.05882397.05882397.05882397.058823MAX94.11764597.05882397.05882397.05882397.058823MIN94.11764597.05882397.05882397.05882397.058823STDEV0.0000000.0000000.0000000.0000000.0000007AVG95.58823497.89215698.03921598.28431398.333333MAX95.588234100.000000100.000000100.000000100.000000MIN95.58823497.05882397.05882397.05882397.058823STDEV0.0000000.9206800.8918800.8707260.8402168AVG98.52941198.52941198.52941198.52941198.529411MAX98.52941198.52941198.52941198.52941198.529411MIN98.52941198.52941198.52941198.52941198.529411STDEV0.0000000.0000000.0000000.0000000.0000009AVG94.11764598.52941198.52941198.52941198.529411MAX94.11764598.52941198.52941198.52941198.529411MIN94.11764598.52941198.52941198.52941198.529411STDEV0.0000000.0000000.0000000.0000000.00000010AVG97.18309897.18309897.18309897.18309897.230046MAX97.18309897.18309897.18309897.18309898.591553MIN97.18309897.18309897.18309897.18309897.183098STDEV0.0000000.0000000.0000000.0000000.257148Table 9
The results obtained based on the Diabetes dataset.
FoldIndexSVMF25F50F75F1001AVG76.71232683.51598183.92694084.01826384.018263MAX76.71232684.93150384.93150384.93150384.931503MIN76.71232680.82191580.82191580.82191580.821915STDEV0.0000001.2710381.1338101.1564131.1564132AVG76.81159282.51207682.94685983.14009683.236714MAX76.81159285.50724885.50724885.50724885.507248MIN76.81159279.71014481.15941681.15941681.159416STDEV0.0000001.3147641.0549741.0411530.9839283AVG82.02246986.40449486.66666686.89138586.891385MAX82.02246987.64045087.64045087.64045087.640450MIN82.02246985.39325785.39325785.39325785.393257STDEV0.0000000.7435550.7656690.6814370.6814374AVG76.47058979.55882579.70588479.80392379.852943MAX76.47058980.88235580.88235580.88235580.882355MIN76.47058979.41176679.41176679.41176679.411766STDEV0.0000000.4487190.5982920.6614360.6854295AVG71.23288071.27854271.32420371.36986571.369865MAX71.23288072.60273772.60273772.60273772.602737MIN71.23288071.23288071.23288071.23288071.232880STDEV0.0000000.2501010.3475440.4179830.4179836AVG68.29268671.13820971.91056772.15447072.154470MAX68.29268673.17073173.17073173.17073173.170731MIN68.29268669.51219270.73170570.73170570.731705STDEV0.0000000.9245100.8154580.8523560.8523567AVG82.55814482.55814482.59690382.59690382.635663MAX82.55814482.55814483.72093283.72093283.720932MIN82.55814482.55814482.5581447.00000082.558144STDEV0.0000000.0000000.2122950.2122950.2950098AVG71.42857474.02597274.32900374.63203474.805194MAX71.42857475.32467775.32467775.32467775.324677MIN71.42857471.42857472.72727272.72727272.727272STDEV0.0000001.0231670.8817030.7420100.7314859AVG80.51947883.24675283.67965283.85281183.939391MAX80.51947884.41558184.41558184.41558184.415581MIN80.51947881.81818481.81818481.81818483.116882STDEV0.0000000.8594310.7380770.7380770.63653410AVG78.37838084.00900984.59459484.90991085.000000MAX78.37838087.83783787.83783787.83783787.837837MIN78.37838082.43243482.43243482.43243482.432434STDEV0.0000001.3782651.6107121.5903851.677734Table 10
The results obtained based on the fourclass dataset.
FoldIndexSVMF25F50F75F1001AVG80.23255986.24031087.01550487.24806287.403101MAX80.23255988.37209388.37209388.37209388.372093MIN80.23255983.72093283.72093284.88372084.883720STDEV0.0000001.6748681.2621301.2015731.1045292AVG79.00000081.13333381.33333381.43333381.533333MAX79.00000082.00000082.00000082.00000082.000000MIN79.00000081.00000081.00000081.00000081.000000STDEV0.0000000.3457460.4794630.5040070.5074163AVG75.86206881.07279581.41762281.49425081.570878MAX75.86206882.75862182.75862182.75862182.758621MIN75.86206878.16091978.16091978.16091980.459770STDEV0.0000000.8394200.7445040.6981900.3676344AVG81.81818483.86363784.16666884.35606284.659091MAX81.81818486.36363286.36363286.36363286.363632MIN81.81818482.95454482.95454482.95454482.954544STDEV0.0000000.8118010.8919490.8793790.8827485AVG82.85714084.28571384.28571384.28571384.333332MAX82.85714084.28571384.28571384.28571385.714287MIN82.85714084.28571384.28571384.28571384.285713STDEV0.0000000.0000000.0000000.0000000.2608216AVG81.91489482.97872283.01418383.04964483.085105MAX81.91489482.97872284.04255784.04255784.042557MIN81.91489482.97872282.97872282.97872282.978722STDEV0.0000000.0000000.1942290.2699040.3246077AVG85.89743885.89743885.89743885.89743885.897438MAX85.89743885.89743885.89743885.89743885.897438MIN85.89743885.89743885.89743885.89743885.897438STDEV0.0000000.0000000.0000000.0000000.0000008AVG71.42857477.75281177.94007774.63203478.127343MAX71.42857478.65168878.65168875.32467778.651688MIN71.42857477.52809177.52809172.72727277.528091STDEV0.0000000.4571220.5507110.7420100.5701319AVG80.51947884.57364385.15503883.85281185.465115MAX80.51947886.04650986.04650984.41558186.046509MIN80.51947881.39534882.55814481.81818483.720932STDEV0.0000001.3633491.0437590.7380770.73223510AVG78.37838089.28571389.28571384.90991089.285713MAX78.37838089.28571389.28571387.83783789.285713MIN78.37838089.28571389.28571382.43243489.285713STDEV0.0000000.0000000.0000001.5903850.000000Table 11
The results obtained based on the Heart Disease dataset.
FoldIndexSVMF25F50F75F1001AVG80.00000088.40000088.53333388.93333389.066667MAX80.00000092.00000092.00000092.00000092.000000MIN80.00000088.00000088.00000088.00000088.000000STDEV0.0000001.2205141.3829841.7207321.7991062AVG82.75862196.32184296.43678596.55172796.551727MAX82.75862196.55172796.55172796.55172796.551727MIN82.75862193.10344793.10344796.55172796.551727STDEV0.0000000.8748570.6295670.0000000.0000003AVG82.75862189.65517489.77011789.77011789.770117MAX82.75862189.65517493.10344793.10344793.103447MIN82.75862189.65517489.65517489.65517489.655174STDEV0.0000000.0000000.6295660.6295660.6295664AVG88.23529192.74509693.23529293.43137193.431371MAX88.23529194.11764594.11764594.11764594.117645MIN88.23529191.17646891.17646891.17646891.176468STDEV0.0000001.4924011.3708581.2652451.2652455AVG100.00000100.000000100.000000100.000000100.000000MAX100.00000100.000000100.000000100.000000100.000000MIN100.00000100.000000100.000000100.000000100.000000STDEV0.0000000.0000000.0000000.0000000.0000006AVG80.00000093.50000094.66666794.83333395.000000MAX80.00000095.00000095.00000095.00000095.000000MIN80.00000090.00000090.00000090.00000095.000000STDEV0.0000002.3304581.2685410.9128710.0000007AVG82.60869695.65217695.79710395.79710395.797103MAX82.608696100.000000100.000000100.000000100.000000MIN82.60869691.30435295.65217695.65217695.652176STDEV0.0000001.1417950.7938000.7938000.7938008AVG89.28571389.88095190.47618990.71428491.071426MAX89.28571392.85714092.85714092.85714092.857140MIN89.28571389.28571389.28571389.28571389.285713STDEV0.0000001.3537461.7123681.7795451.8162409AVG75.00000086.20370786.38889286.48148486.481484MAX75.00000088.88888588.88888588.88888588.888885MIN75.00000086.11111586.11111586.11111586.111115STDEV0.0000000.5071490.8475770.9604030.96040310AVG84.61538788.71795088.97436189.23077189.615386MAX84.61538792.30769392.30769392.30769392.307693MIN84.61538788.46154088.46154088.46154088.461540STDEV0.0000000.9758001.3297921.5647621.792660


### 6.3.1. Boxplots of the Experimental Results from Ex2

Both results obtained from the 3-layer and 4-layer ANNs are the least favorable with a big gap between the proposed CSVM and the traditional SVM. Hence, these two ANN-based methods are not discussed further, and we only focus on the proposed CSVM and the traditional SVM.We determined that the higher the generation number, the better average fitness value. However, it can be observed that the best fitness value remains unchanged fromG75 to G100 except for the 8th fold in Dataset A, the 1st and 10th folds in Dataset B, and the 5th fold in Dataset F. Therefore, Ngen = 75 is acceptable and there is no need for Ngen = 100 to increase the fitness value of the best solution. The position (the fitness values obtained) and the length (the range of the fitness values) of box in G100 are frequently higher and shorter than those of G25 in most boxplots. Hence, a larger generation number has a higher probability of enhancing the average solution quality under the cost of the longer runtime but ultimately does little to improve the best fitness value.


### 6.3.2. Number of Folds for Finding the Final Best Fitness Values

Table12 lists the number of folds that have found the final best fitness values. The subscripts of dataset ID in the first column of Table 12 indicate the generation number used in Ex 2; for example, B25 indicates that 25 generations are used for Dataset B based on the parameters obtained with small-sample OA in Ex 1. Folds 7, 8, 10, 8, and 10 (see bold numbers in Table 12) under G25, G25, G75, G25, and G25 in Datasets A, B, D, F, and H, respectively, have found the best final fitness values.Table 12
Number of folds that have found the best solution.
DatasetG25G50G75G100A2571,4,788,109810B2581,1081,1081,1010D7597101010F2585,6959510H2510101010The folds written as subscripts indicate the final best fitness values that have failed to be found. For example, 71,4,7 in G25, A25 represents that there are seven folds (from the ten folds) that have already found the best fitness values after 25 generations with the remaining three folds 1, 4, and 7 failing to do so in Dataset A.To calculate the probability of the best final fitness value in Table12, we add the folds (7 + 8 + 10 + 8 + 10) and divide the product by the total number of folds (50) in Table 6 to get 86%, which informs us that the probability of finding the best final fitness value without reaching G100, which entails a significantly longer runtime, is 86%.Hence, the proposed small-sample OA is effective in setting parameters to increase the efficiency and solution quality of the proposed CSVM. The above observation further confirms that having better parameters ultimately negates the need for a greater generation number to increase the fitness of the best solution.


### 6.3.3. ANOVA of the Experimental Results

To investigate the small-sample OA, the Analysis of Variance (ANOVA) is carried out to test the average fitness obtained from the proposed CSVM in terms of the parameters set by the small-sample OA, as shown in Table13. The cells marked with “v” indicate that there is a significant gap between the pair of distinctive generation numbers listed in their respective rows in the fold denoted by the column. This is reinforced through the distinct difference between the average fitness values obtained from G25 and G75 in all folds of Dataset A.Table 13
The significant differences between two parameter settings.
12345678910A(25, 50)(25, 75)vvvVvvvvVv(25, 100)vvvvvvvvVv(50, 75)(50, 100)vvvvvvvvVv(75, 100)B(25, 50)(25, 75)(25, 100)(50, 75)(50, 100)(75, 100)D(25, 50)(25, 75)(25, 100)(50, 75)(50, 100)(75, 100)F(25, 50)vvvvvvvvVv(25, 75)vvvvvvvvVv(25, 100)vvvvvvvvVv(50, 75)(50, 100)(75, 100)G(25, 50)(25, 75)(25, 100)(50, 75)(50, 100)(75, 100)From Table13, the minimal generation numbers should be 75 and 50 for only Datasets A and F, respectively, with an insignificant gap between the fitness values in each fold. Hence, the proposed small-small OA is still effective in determining the generation number to reduce the significant difference among all fitness values; even it focuses only on the best fitness value and not the average fitness value that we found.


### 6.3.4. MPI of the Experimental Results

To further investigate the development of the proposed CSVM, two other indices, the average maximum possible improvement (MPIavg%) and the best maximum possible improvement (MPIavg%), are introduced and defined as(26)MPIavg%=the average fitness obtained−FSVM1−FSVM,MPImax%=the best fitness obtained−FSVM1−FSVM.The MPIavg% and MPImax% results are listed in Tables 14 and 15, respectively, where the cells marked “∗” indicate that both the related Fsvm and the average and/or the best fitness obtained are 100% correct, for example, the 2nd, 4th, and 5th folds in Dataset B in Table 14. The bold numbers denote the best values among all folds for each dataset under the same generation number. Note that a value of 100, as in the 7th fold of Dataset B in Table 15, indicates that the related accuracy is 100%.Table 14
The 100× MPIavg%.
12345678910AvgAF2546.6758.3358.4620.0048.7533.0350.9535.4650.9135.0043.76F5049.3965.0061.2820.6751.2535.7654.0537.5853.9436.6746.56F7550.6168.3364.3620.6752.5036.0654.7638.1855.7638.0647.93F10052.4270.0065.1322.6752.9236.3655.7140.3056.9739.4449.19BF2566.67∗38.89∗∗50.0052.220.0075.000.0040.40F5066.67∗43.33∗∗50.0055.560.0075.000.0041.51F7566.67∗45.56∗∗50.0061.110.0075.000.0042.62F10067.78∗48.89∗∗50.0062.220.0075.001.6743.65DF2529.2224.5824.3713.120.168.970.009.0914.0026.0414.96F5030.9826.4625.8313.750.3211.410.2210.1516.2228.7516.41F7531.3727.2927.0814.170.4812.180.2211.2117.1130.2117.13F10031.3727.7127.0814.370.4812.180.4411.8217.5630.6217.36FF2530.3910.1621.5911.258.335.880.0013.9136.8318.1815.65F5034.3111.1123.0212.928.336.080.0014.6439.2118.1816.78F7535.4911.5923.3313.968.336.270.0015.0740.0018.1817.22F10036.2712.0623.6515.638.616.470.0015.3640.4818.1817.67HF2542.0078.6740.0038.33∗67.5075.005.5644.8126.6746.50F5042.6779.3340.6742.50∗73.3375.8311.1145.5628.3348.81F7544.6780.0040.6744.17∗74.1775.8313.3345.9330.0049.86F10045.3380.0040.6744.17∗75.0075.8316.6745.9332.5050.68Table 15
The 100× MPImax%.
12345678910AvgAF2554.5575.0076.9220.0062.5036.3657.1445.4563.6441.6753.32F5063.6475.0076.9240.0062.5036.3664.2945.4563.6441.6756.95F7563.6475.0076.9240.0062.5036.3664.2945.4563.6450.0057.78F10063.6475.0076.9240.0062.5036.3664.2954.5563.6450.0058.69BF2566.67∗66.67∗∗50.00100.000.0075.000.0051.19F5066.67∗66.67∗∗50.00100.000.0075.000.0051.19F7566.67∗66.67∗∗50.00100.000.0075.000.0051.19F100100.00∗66.67∗∗50.00100.000.0075.0050.0063.10DF2535.2937.5031.2518.754.7615.380.0013.6420.0043.7522.03F5035.2937.5031.2518.754.7615.386.6713.6420.0043.7522.70F7535.2937.5031.2518.754.7615.386.6713.6420.0043.7522.70F10035.2937.5031.2518.754.7615.386.6713.6420.0043.7522.70FF2541.1814.2928.5725.008.335.880.0017.3942.8618.1820.17F5041.1814.2928.5725.008.3311.760.0017.3942.8618.1820.76F7541.1814.2928.5725.008.3311.760.0017.3942.8618.1820.76F10041.1814.2928.5725.0016.6711.760.0017.3942.8618.1821.59HF2560.0080.0040.0050.00∗75.00100.0033.3355.5650.0060.43F5060.0080.0060.0050.00∗75.00100.0033.3355.5650.0062.65F7560.0080.0060.0050.00∗75.00100.0033.3355.5650.0062.65F10060.0080.0060.0050.00∗75.00100.0033.3355.5650.0062.65As shown in Tables14 and 15, the results obtained from the proposed CSVM are at least 14.96% and 20.17%, with at most a 50.68% and 63.10% improvement in MPIavg% and MPImax%, respectively. The results shed light on the effectiveness of the proposed CSVM in comparison with the traditional SVM. It can be also observed that the more attributes, the greater the results obtained from the proposed CSVM regardless of the number of records. Ultimately, compared to the traditional SVM, the proposed CSVM is more suitable for small data.


## 6.3.1. Boxplots of the Experimental Results from Ex2

Both results obtained from the 3-layer and 4-layer ANNs are the least favorable with a big gap between the proposed CSVM and the traditional SVM. Hence, these two ANN-based methods are not discussed further, and we only focus on the proposed CSVM and the traditional SVM.We determined that the higher the generation number, the better average fitness value. However, it can be observed that the best fitness value remains unchanged fromG75 to G100 except for the 8th fold in Dataset A, the 1st and 10th folds in Dataset B, and the 5th fold in Dataset F. Therefore, Ngen = 75 is acceptable and there is no need for Ngen = 100 to increase the fitness value of the best solution. The position (the fitness values obtained) and the length (the range of the fitness values) of box in G100 are frequently higher and shorter than those of G25 in most boxplots. Hence, a larger generation number has a higher probability of enhancing the average solution quality under the cost of the longer runtime but ultimately does little to improve the best fitness value.


## 6.3.2. Number of Folds for Finding the Final Best Fitness Values

Table12 lists the number of folds that have found the final best fitness values. The subscripts of dataset ID in the first column of Table 12 indicate the generation number used in Ex 2; for example, B25 indicates that 25 generations are used for Dataset B based on the parameters obtained with small-sample OA in Ex 1. Folds 7, 8, 10, 8, and 10 (see bold numbers in Table 12) under G25, G25, G75, G25, and G25 in Datasets A, B, D, F, and H, respectively, have found the best final fitness values.Table 12
Number of folds that have found the best solution.
DatasetG25G50G75G100A2571,4,788,109810B2581,1081,1081,1010D7597101010F2585,6959510H2510101010The folds written as subscripts indicate the final best fitness values that have failed to be found. For example, 71,4,7 in G25, A25 represents that there are seven folds (from the ten folds) that have already found the best fitness values after 25 generations with the remaining three folds 1, 4, and 7 failing to do so in Dataset A.To calculate the probability of the best final fitness value in Table12, we add the folds (7 + 8 + 10 + 8 + 10) and divide the product by the total number of folds (50) in Table 6 to get 86%, which informs us that the probability of finding the best final fitness value without reaching G100, which entails a significantly longer runtime, is 86%.Hence, the proposed small-sample OA is effective in setting parameters to increase the efficiency and solution quality of the proposed CSVM. The above observation further confirms that having better parameters ultimately negates the need for a greater generation number to increase the fitness of the best solution.


## 6.3.3. ANOVA of the Experimental Results

To investigate the small-sample OA, the Analysis of Variance (ANOVA) is carried out to test the average fitness obtained from the proposed CSVM in terms of the parameters set by the small-sample OA, as shown in Table13. The cells marked with “v” indicate that there is a significant gap between the pair of distinctive generation numbers listed in their respective rows in the fold denoted by the column. This is reinforced through the distinct difference between the average fitness values obtained from G25 and G75 in all folds of Dataset A.Table 13
The significant differences between two parameter settings.
12345678910A(25, 50)(25, 75)vvvVvvvvVv(25, 100)vvvvvvvvVv(50, 75)(50, 100)vvvvvvvvVv(75, 100)B(25, 50)(25, 75)(25, 100)(50, 75)(50, 100)(75, 100)D(25, 50)(25, 75)(25, 100)(50, 75)(50, 100)(75, 100)F(25, 50)vvvvvvvvVv(25, 75)vvvvvvvvVv(25, 100)vvvvvvvvVv(50, 75)(50, 100)(75, 100)G(25, 50)(25, 75)(25, 100)(50, 75)(50, 100)(75, 100)From Table13, the minimal generation numbers should be 75 and 50 for only Datasets A and F, respectively, with an insignificant gap between the fitness values in each fold. Hence, the proposed small-small OA is still effective in determining the generation number to reduce the significant difference among all fitness values; even it focuses only on the best fitness value and not the average fitness value that we found.


## 6.3.4. MPI of the Experimental Results

To further investigate the development of the proposed CSVM, two other indices, the average maximum possible improvement (MPIavg%) and the best maximum possible improvement (MPIavg%), are introduced and defined as(26)MPIavg%=the average fitness obtained−FSVM1−FSVM,MPImax%=the best fitness obtained−FSVM1−FSVM.The MPIavg% and MPImax% results are listed in Tables 14 and 15, respectively, where the cells marked “∗” indicate that both the related Fsvm and the average and/or the best fitness obtained are 100% correct, for example, the 2nd, 4th, and 5th folds in Dataset B in Table 14. The bold numbers denote the best values among all folds for each dataset under the same generation number. Note that a value of 100, as in the 7th fold of Dataset B in Table 15, indicates that the related accuracy is 100%.Table 14
The 100× MPIavg%.
12345678910AvgAF2546.6758.3358.4620.0048.7533.0350.9535.4650.9135.0043.76F5049.3965.0061.2820.6751.2535.7654.0537.5853.9436.6746.56F7550.6168.3364.3620.6752.5036.0654.7638.1855.7638.0647.93F10052.4270.0065.1322.6752.9236.3655.7140.3056.9739.4449.19BF2566.67∗38.89∗∗50.0052.220.0075.000.0040.40F5066.67∗43.33∗∗50.0055.560.0075.000.0041.51F7566.67∗45.56∗∗50.0061.110.0075.000.0042.62F10067.78∗48.89∗∗50.0062.220.0075.001.6743.65DF2529.2224.5824.3713.120.168.970.009.0914.0026.0414.96F5030.9826.4625.8313.750.3211.410.2210.1516.2228.7516.41F7531.3727.2927.0814.170.4812.180.2211.2117.1130.2117.13F10031.3727.7127.0814.370.4812.180.4411.8217.5630.6217.36FF2530.3910.1621.5911.258.335.880.0013.9136.8318.1815.65F5034.3111.1123.0212.928.336.080.0014.6439.2118.1816.78F7535.4911.5923.3313.968.336.270.0015.0740.0018.1817.22F10036.2712.0623.6515.638.616.470.0015.3640.4818.1817.67HF2542.0078.6740.0038.33∗67.5075.005.5644.8126.6746.50F5042.6779.3340.6742.50∗73.3375.8311.1145.5628.3348.81F7544.6780.0040.6744.17∗74.1775.8313.3345.9330.0049.86F10045.3380.0040.6744.17∗75.0075.8316.6745.9332.5050.68Table 15
The 100× MPImax%.
12345678910AvgAF2554.5575.0076.9220.0062.5036.3657.1445.4563.6441.6753.32F5063.6475.0076.9240.0062.5036.3664.2945.4563.6441.6756.95F7563.6475.0076.9240.0062.5036.3664.2945.4563.6450.0057.78F10063.6475.0076.9240.0062.5036.3664.2954.5563.6450.0058.69BF2566.67∗66.67∗∗50.00100.000.0075.000.0051.19F5066.67∗66.67∗∗50.00100.000.0075.000.0051.19F7566.67∗66.67∗∗50.00100.000.0075.000.0051.19F100100.00∗66.67∗∗50.00100.000.0075.0050.0063.10DF2535.2937.5031.2518.754.7615.380.0013.6420.0043.7522.03F5035.2937.5031.2518.754.7615.386.6713.6420.0043.7522.70F7535.2937.5031.2518.754.7615.386.6713.6420.0043.7522.70F10035.2937.5031.2518.754.7615.386.6713.6420.0043.7522.70FF2541.1814.2928.5725.008.335.880.0017.3942.8618.1820.17F5041.1814.2928.5725.008.3311.760.0017.3942.8618.1820.76F7541.1814.2928.5725.008.3311.760.0017.3942.8618.1820.76F10041.1814.2928.5725.0016.6711.760.0017.3942.8618.1821.59HF2560.0080.0040.0050.00∗75.00100.0033.3355.5650.0060.43F5060.0080.0060.0050.00∗75.00100.0033.3355.5650.0062.65F7560.0080.0060.0050.00∗75.00100.0033.3355.5650.0062.65F10060.0080.0060.0050.00∗75.00100.0033.3355.5650.0062.65As shown in Tables14 and 15, the results obtained from the proposed CSVM are at least 14.96% and 20.17%, with at most a 50.68% and 63.10% improvement in MPIavg% and MPImax%, respectively. The results shed light on the effectiveness of the proposed CSVM in comparison with the traditional SVM. It can be also observed that the more attributes, the greater the results obtained from the proposed CSVM regardless of the number of records. Ultimately, compared to the traditional SVM, the proposed CSVM is more suitable for small data.


## 7. Conclusions and Future Work

Classification is of utmost importance in data mining. The proposed new classifier, CSVM, is a convolutional SVM modified with a new repeated-attribute convolution product, in which all variables in each filter are updated and trained based on the proposed novel SSO. Equipped with a self-adaptive structure andpFilter, this greedy SSO is a one-solution, one-filter, one-variable type and its parameters are delineated by the proposed small-sample OA.According to the experiment results for the five UCI datasets, namely, Australian Credit Approval, breast-cancer, Diabetes, fourclass, and Heart Disease [36], from Ex2 in Section 6, the proposed CSVM with the parameter setting selected from Ex1 outperforms the traditional SVM, the 3-layer ANN, and the 4-layer ANN with an improved accuracy of at least 14.96% and up to 50.68% in MPIavg%. Hence, the proposed small-sample OA discussed in Subsection 4.2 enables the CSVM to improve its overall performance, while the proposed CSVM ultimately serves as a successful concoction of the advantages of SVM, the convolution product, and SSO.The classifier design method is a crucial element in the provision of useful information in the modern world. Through comparisons of the results of experiments, it can be determined whether further research will be conducted on the proposed CSVM, which will be applied to multiclass datasets based on several references [40, 41] with more attributes, classes, and records, and amalgamated with particular feature selections.



---

*Source: 9932292-2021-06-12.xml*