基于改进灰狼优化算法的支持向量回归预测
2023-08-03钟世云
钟世云,张 屹,戴 杰,钱 骏
(1.常州大学 机械与轨道交通学院,江苏 常州 213164;2.常州星宇车灯股份有限公司,江苏 常州 213022)
0 引言
目前,基于数据驱动的预测方法在各行业的数据预测领域中得到了广泛的应用,其主要思想是从历史的数据中得到预测模型,将模型看作一个黑匣子,无需过多地了解系统内部的机理,只需考虑输入输出,数据驱动方法主要有统计方法和机器学习方法等。SVR是基于支持向量机(SVM,support vector machine)的思想通过引入不敏感损失系数衍生出的一种机器学习回归算法。近几年,机器学习算法中的SVR被广泛应用于预测领域,其能够较好地处理小样本数据、非线性特性及高维度等问题,且具有较强的泛化能力,不易过拟合[1]。
SVR在实际应用过程中,性能依赖于学习机的超参数设定,因此参数的选择是支持SVR应用中的一个难题[2]。传统的SVR参数优化方法主要有交叉验证法[3],网格搜索法[4]及梯度下降法[5]等。在国外的Olivier Chapelle等人[6]在2002年就提出运用梯度下降法来进行超参数的优化,此方法在计算方面相对较快,也得到了一定的推广。但是这些传统方法均存在一些弊端,如交叉验证法计算量过大,不适合超参数优化;网格搜索法遍历全体组合,非常耗时;相较于传统参数选择方法,群智能优化算法具有实现简单,可扩充性、通用性、鲁棒性强等特点,在非线性参数优化问题中表现出良好的性能[7],群智能优化算法已经成为SVR参数优化的代表性方法。在国外的Abdulhamit Subasi[8]提出了用粒子群算法(PSO,particle swarm optimization)来优化支持向量机的参数并在医学方面的应用中取得较好的效果。Yuan等人[9]以及Li等人[10]使用PSO算法对SVR超参数进行优化,创建的人群密度和水质参数预测模型均取得了较好的效果。国内的朱霄珣等人[11]利用遗传算法(GA,genetic algorithm)对SVR超参数同步优化,建立SVR风速预测模型,使预测精确度大大提高。陈颖等人[12]提出一种基于灰狼优化算法的SVR预测模型,相较其他优化算法,迭代次数更少,拟合效果更好,预测误差更小。在众多的群智能优化算法中,GWO算法有着结构简单、需要调节的参数少、容易实现等特点[13],在参数优化领域展现出卓越的性能。然而,GWO算法也存在着如种群多样性差,后期收敛速度慢,易陷入局部最优等问题。针对这些问题,很多学者对GWO算法进行了改进以提升性能。胡璇等人[14]采用了非线性的控制因子改进GWO算法,改善算法的后期收敛能力。方晓玉[15]等人使用自适应差分进化作为变异策略并引入莱维飞行改进更新位置公式改进GWO算法,取得了良好的效果,但以上两种方法都没有考虑到没有考虑到种群初始化对于种群多样性的影响。杨晓敏[16]通过使用自适应收敛因子以及改进的位置更新公式对GWO算法进行改进,应用于支持向量机的网络流量预测,达到了较高的精度,但在改进过程中,没有考虑到增强算法跳出局部最优解能力。本文针对以上问题,在种群初始化方式,算法收敛方式及跳出局部最优解的能力3个方面改进了GWO算法,再利用改进GWO算法优化SVR的超参数,建立IGWO-SVR模型,提升数据预测模型的性能。
1 支持向量回归
对于回归问题,给定训练数据D={(x1,y1),(x2,y2), ,(xj,yj)},∀xi,yi∈R,期望通过学习得到一个回归模型f(x)=wTx+b使得f(x)与y尽可能接近,其中wT为权重矢量,b为偏置,均是模型的参数。
(1)
(2)
(3)
其中:K(xi,xk)为核函数,常见的核函数主要有线性函数、多项式核函数、Sigmoid核函数和径向基(radial basis function,RBF)核函数。因为RBF核函数本身具有非线性逼近能力强的特点,泛化能力比较优秀,所以一般选取RBF核函数作为SVR的核函数,最常用的RBF函数是高斯核函数,其表达式如下:
其中:g为核函数的参数。
式(1)是一个不等式约束的优化问题,结合其求解需满足的KKT条件,支持向量回归模型可以表示为:
(4)
由此可见,支持向量回归模型的参数主要包括正则化参数C,不灵敏损失系数∈以及核函数K(xi,x)的参数g,其中,不敏感损失系数∈与支持向量的数目相关,惩罚参数C影响模型的复杂度和稳定性,核函数参数g反映样本在特征空间分布情况,三者之间相互影响,共同决定 SVR 模型的复杂度和泛化性能[7]。因此选择合适的C,∈,g能够让回归模型的性能得到提升[17]。在实际应用中,C,∈,g3个参数之间存在着相互影响的关系,所以在选择参数的过程中,单独对每一个参数进行优化选择既费时费力,又不够准确,难以达到理想的结果,对3个参数形成的超参数(C,∈,g)综合选取才是更加合理的选择。
2 灰狼优化算法
SVR的超参数主要是依靠经验自行设定,难以使模型获得较佳的性能,虽然后续也发展了网格搜索法寻优,但没有摆脱传统算法的弊端,需要遍历所有组合,计算量庞大、耗费时间长且精准度不高[18],于是逐渐衍生出使用群智能优化算法全局优化超参数的方法。灰狼优化算法[19]是由Seyedali Mirjalili等人于2014年提出的一种智能群体优化算法,优点是收敛性强,参数较少且易于实现,适合用于参数优化领域。首先是在搜索空间中随机产生灰狼族群,并按照每个个体的适应度高低划分群体,适应度从第一到第三分别为α,β,δ,剩下的群体则为ω。灰狼群体捕猎的过程包括围捕,狩猎和攻击3个阶段,最终获取最优解,各个过程描述如下:
2.1 围捕
捕猎过程中,灰狼群体会先包围猎物,该行为的数学模型可以表示为:
(5)
(6)
2.2 狩猎
在群体包围猎物之后,狩猎会在α狼,β狼,δ狼的领导下进行,每次迭代过程,保存α,β,δ的位置信息,群体则根据他们的位置信息来更新自身的位置。狩猎的数学模型表示为:
(7)
(8)
(9)
2.3 攻击
3 改进灰狼优化算法
和大多数群智能算法类似,GWO算法也存在算法中后期收敛速度慢、易陷入局部最优[20]以及局部搜索能力较差等问题。本文通过引入Tent混沌映射序列来增强初始种群多样性以提高算法寻优速度、改进非线性收敛因子以平衡算法全局和局部搜索能力、并结合模拟退火算法以增强算法跳出局部最优的能力,从而改进GWO算法,提升算法的性能。
3.1 Tent混沌映射序列
在群体优化算法领域,通常采用伪随机数生成器对种群进行初始化,可能导致种群分布位置不均匀,从而降低种群的多样性以及寻优速度[21]。相较于伪随机数生成,混沌序列的随机性与遍历性更强,使用混沌方法对种群进行初始化通常能取得比伪随机数更好的效果。用于群体智能算法领域的混沌序列主要有Logistic映射、Tent映射和Cubic映射等。其中Tent 混沌映射在遍历性、均匀性、规律性和迭代速度方面具有更大优势[22]。Tent映射又称帐篷映射,其结构简单、分布较均匀、遍历性好,表达式如式(10):
(10)
其中:k=0,1,2, ,n,表示种群中的个体;i=1,2,3, ,t,表示空间的维数,即需优化变量的个数。
随机数生成器和Tent混沌映射初始化种群的分布直方图对比如图1所示。
图1 随机数改进为Tent混沌映射生成种群的分布直方图对比
由图1可知Tent混沌映射相较随机数生成器生成的种群分布密度比较均匀,映射效果极佳,能达到较好的遍历性。Tent映射用于初始化种群后,还需要将混沌变量转化为设计变量,该逆映射的表达式如下:
(11)
Tent混沌映射初始化种群的主要步骤如下:
2)按照式(10)进行迭代产生下一个序列zk,k=k+1;
3)若达到最大迭代次数,即k=n时,结束迭代,产生混沌序列z;
4)将混沌序列z按照式(11)以及各参数的上下界转化为设计变量序列,即初始种群x。
3.2 非线性收敛因子
GWO算法中,收敛因子α随迭代次数增加线性递减,无法对全局与局部搜索能力进行平衡[23],不利于算法的求解。本文采用一种新型非线性收敛因子对GWO算法进行改进,该收敛因子函数表达式如式(12)所示:
(12)
其中:t为当前迭代次数,tmax为迭代次数。
改进后的非线性收敛因子与原线性收敛因子以及文献[23]中使用的三角函数收敛因子的对比如图2所示。三角函数收敛因子的表达式如式(13)所示:
(13)
其中:t为当前迭代次数,tmax为迭代次数,μ为调节系数,文献中取μ=2.5。
图2 迭代总次数50次时收敛因子对比
改进的非线性收敛因子在三者中前期递减速度最慢,有利于增强算法的全局探索能力,能够发现较多潜在的全局最优点;后期递减速度变快,从而提高局部最优解的搜索能力,这样有利于算法的收敛。因此,采用非线性收敛因子能有效地平衡算法的全局和局部搜索能力。
3.3 模拟退火算法
模拟退火算法[24]是由Metropolis等人在1953年提出的一种仿自然过程的算法,其思想来源于固体退火原理,其特点为在一定概率情况下保留劣质群体,增加种群多样性,在一定程度上提高了算法跳出局部最优的能力[25]。模拟退火算法思想应用于GWO算法的原理是,对GWO算法每次迭代的解x添加随机扰动,产生新的可行解x′,再计算适应度,并根据Metropolis准则决定是否接受新解,若其适应度优于原解,则直接接收新解;若其适应度相较原解差,则以一定概率接受新解,Metropolis准则接受新解概率的数学公式如式(14)所示:
(14)
其中:函数f(x)为适应度计算函数,f(x)越小表示解越优;T表示本次迭代的温度,Tk+1=cTk,C为冷却因子。
模拟退火思想应用于GWO算法的主要步骤如下:
3)利用替换后的种群xk产生下一代种群并重复步骤2)。
3.4 改进灰狼优化算法(IGWO)的实现过程
改进灰狼优化算法的具体实现步骤如下:
1)设置算法参数。包括灰狼种群个体数,最大迭代次数,优化参数的上下界,模拟退火的初始温度以及冷却因子;
2)利用Tent混沌映射结合优化参数的上下界初始化灰狼群位置;
3)计算各个灰狼个体的适应度并排序,选择较好的个体组成初始群体,并将适应度最佳的3个个体定义为α,β,δ,剩下的群体则为ω,形成初始群体;
4)根据式(7)~(9)更新灰狼位置,其中用于更新位置的收敛因子使用式(12)的改进非线性收敛因子,计算适应度并排序,得到下一代狼群位置;
5)对这一代群体添加随机扰动,产生新解,降低温度;
6)计算新解的适应度,并以式(13)的概率替换原解;
7)若达到最大迭代次数,则输出最优适应度解,若未达到,则返回步骤4)。
3.5 改进灰狼优化算法性能测试
3.5.1 算法参数及基准测试函数选择
为验证IGWO算法在参数优化方面的有效性,将本文改进的IGWO算法与GWO算法以及使用三角函数收敛因子的灰狼优化算法(以下简称IGWO-tf算法)进行对比,对不同的基准函数进行寻优,种群规模均设定为20,最大迭代次数为500次。
采用不同的算法对已有文献中选择的共4个基准函数进行寻优,基准函数f1和f2为单峰函数,f3和f4为多峰函数,各基准测试函数如表1所示。
表1 基准函数
3.5.2 测试结果分析
基于上述参数设置和基准函数选择,对各个算法分别单独运行20次,记录最优值、平均值以及标准差。最优值和平均值反映了算法的寻优能力和收敛精度,标准差则反映了算法的稳定性。仿真实验结果如表2,在每个函数上IGWO算法相较GWO和IGWO-tf算法寻优的效果均有提升,在基准函数f1上,IGWO寻优的平均值相较GWO以及IGWO-tf算法分别提升了11和5个数量级,在基准函数f2上,也分别提升了4和2个数量级,而在基准函数f3,f4两个多峰函数上IGWO算法能在迭代结束前达到理论最优值。同时,IGWO算法在基准函数寻优中不仅最优值和平均值更加接近理论最优值,而且寻优的标准差也较低,表明IGWO算法的寻优能力和稳定性较强。
表2 各算法的基准函数寻优结果对比
图3 f1迭代收敛曲线
图4 f3迭代收敛曲线
f1和f3基准测试函数寻优迭代收敛曲线如图3和图4所示,横坐标表示迭代的次数,纵坐标表示当前迭代次数下适应度的Log值。在单峰函数f1的迭代曲线上,IGWO算法的收敛速度在前期相较GWO算法和IGWO-tf算法较慢,有利于全局寻优,后期收敛速度加快,寻优精度得到提升;在多峰函数f3迭代曲线上,IGWO算法相较其他算法的寻优能力有明显提高,能迅速达到理论最优点,而其他算法容易陷入局部最优,说明算法跳出局部最优的能力较强。
Friedman检验是一种利用秩的非参数检验方法,常用于检验多个整体分布是否存在显著差异,为检验IGWO算法与GWO和IGWO-tf算法是否有着显著性差异,对算法对基准函数寻优所得的平均值做Friedman统计检验,所得到的结果如表3所示,显著性水平为0.018,且IGWO算法的秩均值最小,说明可以认为IGWO算法对比GWO和IGWO-tf算法有明显优势。
表3 IGWO算法和GWO算法的Friedman检验结果
4 IGWO-SVR模型的实现及仿真测试表现
4.1 IGWO-SVR模型
SVR模型需要优化的参数有正则化参数C,不灵敏损失参数∈以及核函数K(xi,x)的参数g,将训练集上训练的SVR模型在测试集上的R2作为IGWO算法的适应度函数来优化参数C,∈和g,R2的计算方式如式(15)所示:
(15)
IGWO-SVR模型的算法流程图如图5所示。
图5 IGWO-SVR算法流程图
4.2 锂电池SOH仿真预测
本文的锂电池数据集来源于NASA公开的锂电池数据储存库,该电池数据集通过对锂电池进行连续的充放电实验获得,充放电实验由充电、放电和阻抗测试3个部分组成。充电过程首先对电池进行1.5 A恒定电流充电,并且充电过程中电池两端电压不断升高,升高至2.5 V时,改为恒定电压充电,此过程中电池两端电流会开始下降,下降至20 mA时结束充电过程,在整个过程中,以一定的时间间隔记录电池的电流、电压和温度等相关信息。放电过程则是以2 A的恒定电流放电至电压达到设定数值。阻抗测量过程即是使用电化学阻抗谱按设定频率扫描电池。本文将单次放电循环中的电池平均放电电压以及平均放电温度作为特征,将电池的健康状态(state of health,SOH)作为预测值,SOH的定义如式(16):
(16)
其中:C为此次循环的电池容量,CQ为电池的标称容量。
选取数据集中的5号电池数据集进行SOH预测,通过将IGWO-SVR模型与遗传算法优化SVR(GA-SVR)、粒子群算法优化SVR(PSO-SVR)以及灰狼优化算法优化SVR(GWO-SVR)进行对比,仿真检验IGWO-SVR模型的性能。选取模型在测试集上的R2、平均绝对百分比误差MAPE及均方根误差RMSE作为反映模型预测性能的指标,MAPE和RMSE的计算公式分别为式(17)和式(18):
(17)
(18)
其中:fi表示第i个样本的预测值,yi表示第i个样本的真实值,j表示样本个数。
4.3 仿真结果
各模型在锂电池数据集SOH预测中的结果如表4所示,可得,相比其他模型,IGWO-SVR的R2最大,MAPE和RMSE最小,表示其在NASA锂电池数据集上锂电池SOH仿真预测中的性能优于其他几种模型。
表4 各模型在锂电池数据集SOH预测中的性能对比
5 IGWO-SVR预测车灯在不同温度及电压下电流实验
5.1 车灯电流预测实验
针对车灯在高温下由内置的微控制单元以及负温度系数热敏电阻作用下降低电流散热而导致工作中温度与电压对车灯电流的影响难以估计的问题,建立能反映各个温度和电压条件下的特定车灯电流预测模型,对IGWO-SVR模型的实际应用性进行评估。本次进行分析的数据来自于由某车灯企业对某款汽车远光灯进行实验提供,实验中,将车灯放入高低温试验箱,用可变恒压电源进行多级电压供电,使用热电偶测温仪测量温度、示波器测量电流。测试的温度分布于25~105℃,电压在9~16 V,共有227个样本,模型训练前,将227个样本按照4:1的比例分为训练集和测试集,并对特征进行归一化预处理。而后,将训练集样本导入训练模型进行训练,并将训练获取的最优参数导入测试模型,对测试集样本进行预测,以验证模型的实际应用性,实验环境如图6所示。
图6 车灯电流测试实验
5.2 实验结果及分析
进行对比试验,对比IGWO-SVR模型与GA-SVR、PSO-SVR以及GWO-SVR模型的预测性能。在模型训练后,将模型在测试集上的MAPE、RMSE及实验测得的10组数据与预测值之间的平均相对误差δ作为模型的评价标准。其中,平均相对误差δ的计算公式如式(18):
(18)
其中:fi表示第i个样本的预测值,yi表示第i个样本的真实值,j表示样本个数。
对比实验的结果如表5所示,可得,IGWO-SVR模型对比其他模型,MAPE、RMSE和δ均较低,表现出更好的预测效果,可以较为准确地预测车灯在不同温度及电压下的电流值。
表5 各模型在车灯电流预测中的性能对比
6 结束语
本文针对支持向量回归精度不足的问题,通过引入Tent映射初始化种群,增加种群的多样性从而提升寻优速度;使用非线性收敛因子改变算法前后期的收敛速度,平衡算法的全局和局部搜索能力;融合模拟退火算法的思想,增加算法跳出局部最优的概率,从3个方面改进了GWO算法,将其用于对SVR超参数进行优化,并提出IGWO-SVR预测模型。NASA锂电池数据集上的仿真测试结果表明,IGWO-SVR模型的预测性能较优,IGWO算法对SVR的优化优于PSO、GA及GWO算法。使用IGWO-SVR模型对某车灯的电流值进行回归预测实验,获得了较好的效果,表明IGWO-SVR模型在实际工程问题中具有良好的应用价值。