Research Article

A New Support Vector Machine Based on Convolution Product

Algorithm 3

 PROCEDURE CSVM0
Input: 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 kth 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 kth 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 ith 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.