摘要
针对非线性多分类问题,提出了一个改进的嵌入最小-最大值特征选择算法,并与支持向量机算法结合,提出了针对复杂的组合优化问题的启发式算法。为验证方法的有效性,在钢板缺陷识别工程数据集上进行了实验,表明所提出的方法具有较高的求解速度和预测准确度。
近年来,人工智能技术的发展和应用呈现爆发式地增长,利用人工智能技术训练辅助决策模型,协助人类完成各种复杂任务已经成为重要的理论研究和实践应用前沿。在决策模型训练的过程中,大数据集中的特征选择是一个影响人工智能决策模型效果好坏的重要影响因素,良好的特征选择不仅能够提高模型预测的准确度,还能够提升模型训练的速
Chandrashekar和Sahi
嵌入法是一种应用比较广泛的特征选择算法,有许多文献都将其应用到基于支持向量机算法(SVM)的拟合模型构建的研究中。例如:Jiménez-Cordero
尽管嵌入特征选择算法已经受到很多学者的关注,但更多的是对二分类问题的研究,对基于多分类问题的最小-最大值特征选择算法的研究还略显不足。本文拟对此问题进行深入探讨,提出一个新的改进算法,并将其应用于钢板缺陷识别工程数据集,以验证算法的有效性。
首先简要阐述二分类SVM问题:给定标签分别为+1、的数据,通过对已知数据集进行训练,预测未知问题。对每组数据,S代表包含N个数字的集合,输入特征,∈,标签∈{+1, },是的类标记。已有大量文献详细介绍了SV
(1) |
式中:C为正则项系数,通过非负松弛变量对误分类点进行惩罚。Ф是映射函数,将原数据集中的映射到高维空间中使问题线性化。但在绝大部分情况下,Ф没有显式。基于此特点,学者考虑通过引入对偶问题和核函数求解(1)。已有许多文献系统地介绍了原问题的对偶问
(2) |
式中:是拉格朗日乘子向量。核技巧(kernel trick),即引入核函数()替代Ф,其中表示向量转置,且具有显式。(2)是凸规划问题,因此可以由数学规划软件求得全局最优解。
基于二分类SVM,学者提出多分类SVM,描述如下:给定含N个样本的训练集,其中,是k维特征向量,。Hsu和Lin指出,解决多分类SVM主要有两种方法:one-against-one(一对一)方法和one-against-all(一对多)方
一对一方法在每两个类之间均训练一个二分类SVM,故共需训练个二分类SVM。对于第i类和第j类数据,训练一个SVM即求解以下二次规划问题:
(3) |
其中, t是第i类和第j类并集的索引。定义,如果;,如果。不加证明地给出
(4) |
基于Jiménez-Cordero
(5) |
为了在预测准确率和模型复杂度之间进行权衡,提出如下的多目标优化问题。
(6) |
其中为超参数,取值范围位于[0,1]之间。如果趋近于0,则模型以极大化预测准确率为目标,模型的复杂度会上升;如果趋近于1,模型将使用少量的特征进行训练,会牺牲模型的准确率。
问题(6)的等价问题如下:
(7) |
问题(7)是一个由上层问题和一个下层问题叠加起来的一个双层优化问题。根据Mangasarian和Musican
(8) |
记是一个a行a列,主对角线上是的各个元素,其余位置全是0的矩阵。记,其中K是核函数。则
(9) |
式中:表示分量均为1,且和同阶的列向量。由Karush-Kuhn-Tucker,KKT条件可得
(10) |
则问题(4)的对偶问题为
(11) |
故问题(7)等价于(12):
(12) |
(13) |
本节提出的算法用于求解优化问题(13)。由于使用一对一方法,需要训练个SVM,即次外层循环。首先,为了避免过拟合,需要划分出训练集和测试集,分别用和表示,这个过程会重复N次,同时,需要确定超参数。最优的可以通过枚举不断调试。
其次,将分为训练集和验证集,用和表示。对于C和γ进行网格搜索(grid search),在上求解问题(4),并在上计算模型的准确率。搜索完所有C和γ后,给出上预测准确率最高的对应的C和γ,且γ是求解问题(11)的初始值。
接下来,使用C和γ在上求解问题(11),返回,,,的初始值。
获取到上述初始值后,在上求解问题(13),得到,,,,。并计算在上的模型准确率。
由于0~1变量的引入,在训练第i类和第j类数据时可以直接得到相应最优特征子序列。但由于总共要训练个SVM,因此就不能直观地通过0~1变量的取值选取用于训练的特征。文献[
(14) |
假设T代表特征,记t代表T出现,则根据全概率公式可得
(15) |
式中,代表特征T出现的概率,代表特征T不出现的概率。由此可以推出信息增益的公式如下:
(16) |
通过设定阈值,可以判断应该选择哪些变量作为训练多分类SVM的特征。以上算法的伪代码在算法1中展示。
粒子群优化算法(particle swarm optimization, PSO)是一种经典的启发式算法,使用无质量的例子来模拟鸟群里的鸟。粒子本身有两个属性:速度和位置。每个粒子在搜索空间中单独搜索最优解,记录其所获得的最优值,并将该值与粒子群里的其他粒子共享,经过比较后将最优粒子所获得的最优值作为整个粒子群本轮的全局最优值。而粒子群中所有非最优粒子根据自己找到的个体最优值和整个粒子群的全局最优值来调整其速度和位置。在求解非凸的子问题时,如果使用数学规划软件无法在规定的24h内返回最优解,则改为使用粒子群优化算法求解。
算法1 改进嵌入最小-最大值特征选择算法的搜索策略输入:,和超参数
输出:最优特征子序列,上的最大预测准确率
当, 时
划分训练集 和验证集
对于所有方格中的
在上求解问题(4)
在上计算预测准确率
结束方格搜索
, = 上取到最大预测准确率的(C,γ)
在上以, 为初值求解问题(11),返回, , ,
在上以, , , 为初值求解问题(13),返回 , , , , , 并计算上的预测准确率
结束对于j的循环
结束对于i的循环
初始状态下,粒子群中所有粒子的均为随机,通过迭代找到最优解。每一轮迭代中,每个粒子根据其个体最优值(pbest)和整个粒子群的全局最优值(gbest)更新自身属性。在找到上述两个最优值后,每个粒子将通过以下两个公式来更新其位置和速度,即
(17) |
(18) |
式中:i是粒子群中粒子的个数,;是粒子的当前位置;是粒子的速度;、是学习因子,通常均设为2;rand()是介于(0,1)之间的随机数。此外,
(19) |
式中:是超参数,代表惯性因子,其值非负。图(1)为PSO 算法的流程。

图1 PSO算法流程图
Fig.1 The flow chart of PSO algorithm
钢板是一种重要的工业原材料,其质量很大程度上影响了产成品的质量。本文使用的钢板缺陷识别数据集来自于可以从UCI的网站http://archive.ics.uci.edu/ml下载。该数据集共包含27个特征,7个类别,1941组数据,其特征名称列于
这是一个多分类问题,共含有7个类别的标签。每个标签的名称及其数量如
本数据集中,待分类的类别共7类,以独热编码(one-hot encoding)的形式存储。首先把类别转换成一一对应的形式,即将原数据集中的7列转换成1列。其次,考察特征之间的相关性,排除存在共线性的特征。本文中,根据皮尔逊相关系数进行判断,排除相关系数绝对值大于0.95的特征。各个特征之间的相关系数如

图2 各个特征之间的皮尔逊相关系数
Fig.2 The pearson correlation coefficients among different features
由于本文采用一对一方法,因此在训练每个SVM时,都需要将的标签设为+1,将的标签设为。以上即为数据预处理部分。
本文的所有程序均是在Windows 10环境下,使用Python 3.8编写。对于提出的优化问题,通过调用Gurobi 9.1.1或使用PSO算法进行求解;如果调用Gurobi求解的时间超过24h,即停止计算,选择启发式算法进行求解。
按算法1,先解
。经过多次实验,得到当C=5,γ=0.1时,模型的平均得分最高。取其中一次的实验结果写入
如2.2节所述,超参数的不同取值可以在模型复杂度和模型准确率之间进行权衡。选择的所有可能取值为0.01,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9。由于设定超参数时尚未应用特征选择算法,意即固定z=1,取C=5,γ=0.1,求解问题(13)。根据文献[

图3 和模型准确率之间的关系
Fig.3 The relationship between C2 and accuracy on test set
从图上可以看出,实验结果同先前假设基本一致,随着不断增大,模型在测试集上的准确率不断降低,当时,模型在测试集上的准确率降至44.60%。在该数据集中,选择超参数,能够较好地平衡模型复杂度和模型预测准确率之间的关系。需要强调的是,超参数的选取同数据集本身相关。如文献[
选取完后,进入到算法1的流程中。由于0~1变量的引入,导致问题(11)和问题(13)的目标函数和约束条件均是非凸的。调用Gurobi解决问题(11)和问题(13)时,未能在规定的24h内求解出可行解,因此使用PSO算法对两个问题进行求解。
本数据集中,选择学习因子、等于2,惯性因子,粒子个数为22,迭代次数为100次。先训练第i类和第j类数据之间的SVM,返回在该SVM情况下选择的特征。然后使用信息增益算法对返回的个结果进行评估,从而选择合适的变量作为多分类SVM的最终特征。设定信息增益的阈值分别为0.2,0.5,0.8,1,大于该阈值的特征即被选中。被选中特征的数量和模型在测试集上的准确率如图(4)所示。

图4 信息增益阈值和模型预测准确率之间的关系
Fig.4 Relationship between threshold of information gain and accuracy on test set
从图(4)可以看出,随着信息增益阈值不断增大,模型在测试集上的准确率不断变低。因为阈值变大,选取的特征数量会减少,从而导致有用信息的丢失。该数据集中,选取信息增益阈值等于0.5的变量作为训练的特征,这时选择的特征的编号是2,3,4,5,6,7,8,10,11,12,13,14,16,17,19,20。
最后将改进嵌入特征选择算法同未经特征选择的多分类SVM进行比较。作为基本假设,改进嵌入特征选择算法在预测准确度上不会优于基准算法且在可以接受的范围内,而训练的速度会快于基准算法,快的“程度”具体取决于用户选取的信息增益阈值。经过实验,基准算法训练SVM的时间是1.19s,在测试集上的准确率是73.8%;而使用改进嵌入特征选择算法训练SVM的时间是1.03s,在测试集上的准确率是71.2%。考虑到sklearn的库函数经过高度优化,且这个数据集的特征数目并不多,如若推广到更高维的数据集中,则提出的特征选择算法在多分类SVM问题中具有广泛的应用前景。
本文基于现有多分类SVM研究中的不足,提出了改进嵌入最小-最大值特征选择算法,在最小化特征数量的同时最大化模型预测的准确率。由于引入了0~1变量,该优化问题变成了组合优化问题,在限定时间内未能用数学规划软件求解得出全局最优解,因此选择使用启发式算法求解。
数值实验结果表明,本文提出的算法在该数据集上可以在牺牲可接受程度预测准确率下降的条件下换取模型训练时间的显著下降。
本文将SVM问题中的核函数限定为高斯核函数。然而,应用其他的核函数可能会得到不一样的结论。此外,提出的算法仅仅被应用在一个数据集中,可以考虑使用更多的经典数据集来验证其训练时间和训练精度。最后,未来的研究可以考虑放弃该模型中的0~1变量,转而使用其他评估方法来选取特征,因为这样可以充分利用到凸函数的性质,获得更令人满意的结果。
作者贡献声明
武小军:提出选题,设计论文框架。
周文心:负责整理文献,算法构建,论文撰写与修订。
董永新:论文算法改进。
参考文献
KIRA K, RENDELL L A. A practical approach to feature selection[C]//Machine Learning Proceedings. San Francisco: Morgan Kaufmann, 1992: 249-256. [百度学术]
AMOOZEGAR M, MINAEI-BIDGOLI B. Optimizing multi-objective PSO based feature selection method using a feature elitism mechanism[J]. Expert Systems with Applications, 2018, 113: 499. [百度学术]
CHEN Q, ZHANG M, XUE B. Feature selection to improve generalization of genetic programming for high-dimensional symbolic regression[J]. IEEE Transactions on Evolutionary Computation, 2017, 21(5): 792. [百度学术]
XIANG S, NIE F, MENG G, et al. Discriminative least squares regression for multiclass classification and feature selection[J]. IEEE Transactions on Neural Networks and Learning Systems, 2012, 23(11): 1738. [百度学术]
CAI D, ZHANG C, HE X. Unsupervised feature selection for multi-cluster data[C]//Proceedings of the 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: [s.n.], 2010: 333-342. [百度学术]
CHANDRASHEKAR G, SAHIN F. A survey on feature selection methods[J]. Computers & Electrical Engineering, 2014, 40(1): 16. [百度学术]
LIU H, SETIONO R. A probabilistic approach to feature selection-a filter solution[C]//International Conference on Machine Learning. Bari: [s.n.], 1996: 319-327. [百度学术]
LANGLEY P. Selection of relevant features in machine learning[C]//Proceedings of the AAAI Fall Symposium on Relevance. New Orleans: [s.n.], 1994, 184: 245-271. [百度学术]
KOHAVI R, JOHN G H. Wrappers for feature subset selection[J]. Artificial Intelligence, 1997, 97(1/2): 273. [百度学术]
JIMÉNEZ-CORDERO A, MORALES J M, PINEDA S. A novel embedded min-max approach for feature selection in nonlinear support vector machine classification[J]. European Journal of Operational Research, 2021, 293(1): 24. [百度学术]
MALDONADO S, LÓPEZ J. Dealing with high-dimensional class-imbalanced datasets: embedded feature selection for SVM classification[J]. Applied Soft Computing, 2018, 67: 94. [百度学术]
CRISTIANINI N, SHAWE-TAYLOR J. An introduction to support vector machines and other kernel-based learning methods[M]. Cambridge:Cambridge University Press, 2000. [百度学术]
KOTSIANTIS S B, ZAHARAKIS I D, PINTELAS P E. Machine learning: a review of classification and combining techniques[J]. Artificial Intelligence Review, 2006, 26(3): 159. [百度学术]
王乃芯. 多分类支持向量机的研究[D].上海:华东师范大学,2020. [百度学术]
WANG Naixin. Research on multi-class classification support vector machines[D]. Shanghai: East China Normal University,2020 [百度学术]
PLATT C J. Sequential minimal optimization: a fast algorithm for training support vector machines[R]. [S.l.]:Technical Report MSR-TR-98-14, 1998. [百度学术]
HSU C W, LIN C J. A comparison of methods for multiclass support vector machines[J]. IEEE transactions on Neural Networks, 2002, 13(2): 415. [百度学术]
CHANG C C, LIN C J. LIBSVM: a library for support vector machines[J]. ACM Transactions on Intelligent Systems and Technology (TIST), 2011, 2(3): 1. [百度学术]
ONEL M, KIESLICH C A, GUZMAN Y A, et al. Big data approach to batch process monitoring: Simultaneous fault detection and diagnosis using nonlinear support vector machine-based feature selection[J]. Computers & Chemical Engineering, 2018, 115: 46. [百度学术]
MANGASARIAN O L, MUSICANT D R. Lagrangian support vector machines[J]. Journal of Machine Learning Research, 2001(1): 161. [百度学术]
AZHAGUSUNDARI B, THANAMANI A S. Feature selection based on information gain[J]. International Journal of Innovative Technology and Exploring Engineering (IJITEE), 2013, 2(2): 18. [百度学术]
LEE C, LEE G G. Information gain and divergence-based feature selection for machine learning-based text categorization[J]. Information Processing & Management, 2006, 42(1): 155. [百度学术]
LEI S. A feature selection method based on information gain and genetic algorithm[C]//2012 International Conference on Computer Science and Electronics Engineering. [S.l.]: IEEE, 2012: 355-358. [百度学术]