APP下载

基于灰狼算法与套索算法的支持向量机模型在高维数据诊断中的应用

2021-03-28杨智翔李茂媛

河南科技 2021年29期
关键词:参数优化支持向量机

杨智翔 李茂媛

摘 要:针对传统支持向量机模型对高维数据分类准确率低、计算量大的问题,本研究设计并实现了灰狼算法(GWO)与套索算法(LASSO)相结合的支持向量机模型,即GSL算法,并将其应用到高维数据诊断中。结果表明,利用GSL算法进行高维数据进行分类具有更高的准确率、更小的误差,能选择出性能更优的参数。

关键词:灰狼寻优算法;支持向量机;参数优化

中图分类号:TP18 文献标识码:A 文章编号:1003-5168(2021)29-0019-04

Application of Support Vector Machine Model Based on Gray

Wolf Algorithm and LASSO Algorithm in High-Dimensional Data Diagnosis

YANG Zhixiang LI Maoyuan

(School of Electronic & Information Engineering, Chongqing Three Gorges University,Chongqing 404020)

Abstract: Aiming at the problems of low accuracy and large amount of calculation of traditional support vector machine model for high-dimensional data classification, this study designs and implements a support vector machine model based on the combination of Gray Wolf algorithm (GWO) and lasso algorithm (LASSO), that is, GSL algorithm, and applies it to high-dimensional data diagnosis. The results show that the proposed GSL algorithm has higher accuracy, less error and can select better parameters for high-dimensional data classification.

Keywords: support vector machines;grey wolf optimize;parameter optimization

圖像识别、自然语言处理等机器学习方法不断发展,对目前存在的特征降维算法及机器学习模型分类模型算法构成了严峻的挑战。目前,高维算法存在计算量大、信息冗余等问题。因此,迫切需要在处理高维数据集的同时拥有高效率及高准确率的算法模型。

高维数据集类型复杂,所以试验人员在对数据集进行预处理(如人工标记、筛选等)和对高维数据进行标记及筛选时,往往需要花费大量的时间及精力。在分类问题中,经常会出现特征向量的维度高于可获得的训练样本的现象。在多数情况下,只有一部分特征对分类是有意义的,其余数据集拿来训练反而会影响模型的分类训练效果,因此在使用分类器对高维数据进行分类前,往往需要先对数据集进行降维,然后使用分类器进行分类。除了分类问题外,其他模型也需要对高维数据进行降维,然后进一步进行数据分析处理。常见的特征降维方法包括变量重组和特征提取。

目前,关于特征降维的研究较多。TANG T基于聚类方法来选择滚动轴故障诊断原始特征集的重要子集[1]。董玉玺等人将皮尔逊相关系数和有向图符号相结合,以提取特征子集[2]。在高维数据降维方面,往往采用特征提取的方法。目前,特征提取比较常用的方法有主成分分析法(Principal Component Analysis,PCA)、局部线性嵌入算法(Locally Linear Embedding,LLE)。这些算法需要人为指定筛选后的特征数量,缺陷是用户需要对数据集特征有一定的先验知识,以对数据特征进行比较。笔者使用套索算法(Least Absolute Shrinkage and Selection Operator,LASSO)算法来对高维数据进行降维,该算法的优点是能更好地找出数据集中重要的特征。将经特征提取后的数据用于机器学习模型的训练通常能取得更好的效果。目前,在机器学习的应用中,几乎所有模型都需要对参数进行优化,以提高模型的准确率。参数优化比较常见的方法有粒子群算法(Particle Swarm Optimization,PSO)[3]、遗传算法(Genetic Algorithm,GA)[4]、人工蜂群算法(Artificial Bee Colony,ABC)[5]。粒子群算法(PSO)对目标函数仅能提供极少搜索最优值的信息,在其他算法无法辨别搜索方向的情况下,粒子群算法(PSO)的粒子具有飞越性的特点,使其能跨过搜索平面上信息严重不足的障碍,飞抵全局最优目标值,但有时粒子群在俯冲过程中会错失全局最优解。粒子飞翔过程中的俯冲动作使搜索行为不够精细,不容易发现全局最优目标值,所以对粒子的最大飞翔速度进行限制既是为了使粒子不要冲出搜索区域的边界,也是为了使搜索行为不至于太粗糙。最重要的是,粒子群算法(PSO)是一种概率算法,算法理论不完善,缺乏独特性,理论成果偏少。使用遗传算法(GA)优化参数,其优化结果与初始条件无关,算法独立于求解域,具有较强的鲁棒性;但是,存在收敛速度慢、局部搜索能力差、需要控制的变量多、无确定的终止准则等问题。人工蜂群算法(ABC)同样具有陷入局部最优解的情况。

使用灰狼算法(Grey Wolf Optimizer,GWO)对参数进行优化,该算法具有步骤简单、需要调整的参数少、收敛速度快、能跳出局部最优解的优点。综上,笔者提出了基于灰狼优化算法的优化LASSO与支持向量机参数的学习框架。该框架结合了GWO参数优化算法与LASSO特征选择模型和支持向量机(Support Vector Machin,SVM)分类器(GWO-SVM Based on LASSO, GSL)。为了验证所提出的学习框架用于高维数据的准确性与高效性,采用电子病历数据集进行测试,并与一些相关方法进行对比。结果表明,GSL方法能够有效地提高准确率,降低计算量。

1 理论框架

支持向量机是一种二分类算法模型,其核心思想是构建一个最大间隔面,将数据划分到最大间隔面的两端,从而达到分类的目的。在使用支持向量机进行分类的过程中,需要人为调节参数大小。在特征维度较复杂的数据集上,支持向量机分类模型需要选用高斯核函数对数据集进行升维处理,因此在使用支持向量机进行分类的过程中,有必要对高维数据进行降维处理。支持向量机参数的选择决定了分类效果,所以要对支持向量机的参数进行优化。

为了获得高准确率与效率的分类模型,基于LASSO特征选择模型及SVM分类模型,并用GWO算法优化相关参数,提出了GSL的高维数据分类框架。使用该学习框架进行高维数据分类主要包括以下步骤:①将得到的试验数据进行适当预处理,最终得到含有440条并且维度为46的特征矩阵;②将经过预处理的试验数据投入训练模型中,并且使用GWO算法得到相关的最优参数;③将第二个步骤得到的参数作为模型参数;④将试验数据输入支持向量机分类器进行训练分类。

2 基于灰狼优化套索向量机的高维数据分类模型

2.1 模型参数

在高维数据分类领域,相关研究采用决策树来作为分类器,其核心思想是通过遍历整个决策树,使测试集数据找到决策树中叶子节点对应的类别标签。而较多研究使用支持向量机作为分类器,并且试验结果优于决策树,所以笔者采用支持向量机作为分类器。

式中:a为求解参数有关的拉格朗日乘子;∂(x,x)为核函数,选择合适的核函数可以提高模型的分类效果。其中,高斯核可以解决线性与非线性两类问题,因为高维数据类型之间存在一定的随机性与非线性,所以选用高斯核函数作为支持向量机的核函数。高斯核函数如式(2)所示,可以通过调节高斯核函数的半径[δ]得到分类效果更好的模型。

由于原始数据的特征维度较大,需要对原始数据进行特征筛选。使用套索算法(LASSO)对数据进行特征筛选,LASSO回归的特点是无论数据的因变量是连续的还是离散的,其都能处理。此外,LASSO对数据的要求极低,所以应用程度较广;LASSO还能对变量进行筛选,降低模型复杂程度。这里的变量筛选不是把所有变量都放入模型中进行拟合,而是有选择地把变量放入模型,从而得到更好的性能参数。复杂度调整是指通过一系列参数控制模型的复杂度,从而避免过度拟合。对线性模型来说,复杂度与模型的变量数有直接关系,变量数越多,模型复杂度越高。较多变量在拟合时往往可以给出一个看似更好的模型,但同时也面临过度拟合的危险。LASSO的基本思想是在回归系数的绝对值之和小于一个常数的约束条件下,使残差平方和最小化,从而能够产生某些严格等于0的回归系数,得到可以解释的模型。与其他特征选择算法相比,可以在变量比较多的情况下有效提取出重要的模型。对于数据集,LASSO算法的模型函数如式(3)所示:

式中:λ是关系到特征提取效果的参数。

2.2 灰狼优化算法优化模型参数

对于优化SVM分类模型的惩罚因子[C]和核函数参数[δ]以及LASSO算法惩罚因子[λ]的参数组合,使用灰狼优化算法来进行参数优化,该方法相较于其他优化算法具有步骤简单、需要调整的参数少、收敛速度快、不容易陷入局部最优解的优点。

灰狼优化算法的原理是模拟狼群捕猎等级,其过程主要有包围、狩猎、攻击3个步骤。

2.2.1 包围过程。在灰狼优化算法中,猎物的位置就是全局的最优解,设狼群中有[N]只狼,搜索的空间维度即所需要优化的参数数量为[M],则其中第[i]只狼的位置可以表示为X=X,X,…,X(i=1,2,…, n)。狼群搜索獵物过程的数学模型为:

式中:t代表算法迭代的次数;X代表猎物即最优解的位置向量;X表示当前灰狼的位置向量;A与C代表系数向量来控制灰狼搜索速度;r与r是在(0,1之间取值的随机数;q是随着迭代次数从2逐渐线性衰减到0的收敛因子。

2.2.2 狩猎过程。在灰狼算法中,假定α、β和δ三只灰狼更清楚猎物即最优解X的潜在位置,并利用α、β和δ三只灰狼的位置来优化候选狼ω的位置,从而达到逐渐逼近猎物即最优解X的目的。狩猎的数学模型为:

式中:D、D、D分别表示α、β和δ三只狼与其他候选狼个体间的距离;X是当前候选狼ω的位置;X、X、X代表当前α、β和δ三只灰狼的位置;C、C、C是随机向量;X(t+1)代表候选狼ω的优化位置。

2.2.3 攻击猎物。在式(4)中,[q]的值随着迭代次数从2逐渐线性衰减到0,A的波动范围也随着q的逐渐减小而减小,最终可以使灰狼在逐渐靠近猎物即求最优解时的精确度提高,最终当A<1时,灰狼会向猎物发起进攻。

2.2.4 灰狼算法优化。利用灰狼优化算法对模型参数进行优化,得到最优参数后再进行训练。具体步骤如下。第一,初始化灰狼的规模与最大迭代次数t,将SVM模型的参数C、核函数参数δ与LASSO算法参数λ设置为灰狼的位置,即X=C,δ,λ,根据准确率来优化SVM模型的参数C、核函数参数δ与LASSO算法参数λ,若适应值为当前最优,则保存适应值与α、β和δ三只狼的位置。第二,更新式(4)q、A和[C]的值,以及α、β和δ所代表的三只狼的位置。当迭代次数达到最大迭代次数t时,就得到最优参数SVM模型的参数C、核函数参数δ与LASSO算法参数λ的值。第三,采用最优参数对训练集进行训练。

3 配置试验

3.1 试验数据与环境

本试验采用的编程语言为Python,基于Sklearn机器学习进行模型试验。本次试验平台为Windows操作系统,8 GB、2 666 Hz频率内存,CPU采用的是英特尔i5-7500。

本研究将电子病历作为数据集,特征维度为46维度,数量为440条。

3.2 模型设置

为了测试本学习模型的效果,本次试验采用交叉验证法将试验数据集平均划分为10个子集,并按照比例4∶6划分为测试集及训练集。在经过一次试验后,将数据集打乱重新平均划分为10个子集,再按照4∶6的比例重新划分测试集及训练集。依次重复5次,计算5次试验的平均准确率、受试者工作特征(Receiver Operating Characteristic,ROC)[6]曲线下面积(Area Under Curve,AUC)等指标,并与其他算法进行对比,将其他算法的最大迭代次数[t]预设为30。

3.3 试验结果与分析

在本次试验中,在先使用GWO算法优化LASSO算法的参数[λ],再对数据集进行特征选择,最终会得到15条特征,故将PCA与LLE筛选特征的维度设置为15。

评价指标主要包括准确率、F值(准确率和召回率的调和平均数)、ROC曲线与AUC值。其中,准确率=预测正确的样本数/总的样本数×100%,F1值=2/(1/准确率+1/召回率)。从ROC曲线有够多看出算法模型最优阈值的识别能力。AUC通过对ROC曲线下各部分的面积求和得出。相关结果如表1和图1所示。

由表1可知,使用GSL算法在数据集上得到的准确率与F值最高,LASSO-SVM模型的准确率最低,LLE-SVM的F值最低。可见,相较于传统的特征提取方法,GSL算法所得到的准确率与F值相对较好,并且拥有稳定的检测效率。

图1中,横坐标为假阳率(False Positive Rate,FPR),即在所有实际为阴性的样本中,被錯误地判断为阳性之比率;纵坐标为真阳率(True Positive Rate,TPR),即在所有实际为阳性的样本中,被正确地判断为阳性之比率。ROC曲线的评价标准是计算该算法的ROC曲线与坐标右下角所包围的面积,当面积越大或者曲线越靠近左上角时,该算法的分类性能越好。AUC值即面积值。由图1可以看出,相较于其他算法,GSL算法的ROC曲线更靠近左上角,说明GSL的性能相较于其他方法更好。GSL算法的AUC值最高,LASSO-SVM与PCA-SVM的AUC值相对较低,LLE-SVM的AUC值最低。可见,GSL算法对高维数据集的分类效果较传统算法有更好的性能。

综上所述,使用GSL模型检测准确率高,稳定性强,适用于高维数据的分类。

4 结语

使用GSL进行了高维数据的分类。LASSO算法在数据集中变量具有高维度和多重共线性的情况下具有良好的效果,使用LASSO算法对高维数据进行特征提取,能提取高维数据特征中最为关键的特征,从而提高模型的准确率。GWO具有收敛性强、参数少、易实现等优点,在求解最优化问题时具有较大优势。试验中,将该算法用于优化SVM与LASSO的参数选择,从而提高模型的分类准确率。在高维数据电子病历的特征提取方面,从分类准确率、F值、ROC曲线、AUC值4项指标对比GSL与PCA-SVM、LLE-SVM、LASSO-SVM。结果表明:GSL算法的效果最好。

参考文献:

[1]TANG T,BO L,LIU X,et al. Variable predictive model class discrimination using novel predictive models and adaptive feature selection for bearing fault identification[J]. Journal of Sound and Vibration,2018(7):137-148.

[2]董玉玺,李乐宁,田文德.基于多层优化PCC-SDG方法的化工过程故障诊断[J].化工学报,2018(3):1173-1181.

[3]杨维,李歧强.粒子群优化算法综述[J].中国工程学,2004(5):87-94.

[4]张铃,张钹.遗传算法机理的研究[J].软件学报,2000(7):945-952.

[5]秦全德,程适,李丽,等.人工蜂群算法研究综述[J].智能系统学报,2014(2):127-135.

[6]王彦光,朱鸿斌,徐维超.ROC曲线及其分析方法综述[J].广东工业大学学报,2021(1):46-53.

猜你喜欢

参数优化支持向量机
基于正交试验法的路基冲击碾压施工参数优化
基于改进支持向量机的船舶纵摇预报模型
基于神经网络的动力电池组焊接参数优化研究
基于SVM的烟草销售量预测
动态场景中的视觉目标识别方法分析
论提高装备故障预测准确度的方法途径
研究LTE与WCDMA系统间小区互操作与参数优化
基于熵技术的公共事业费最优组合预测
基于磁流变技术的汽车发动机隔振系统的参数优化
基于支持向量机的金融数据分析研究