APP下载

基于灰狼优化算法的最小二乘支持向量机在软件老化预测中的应用

2018-09-20陈珂何箐

无线互联科技 2018年15期

陈珂 何箐

摘要:预测模型参数的选取对其泛化能力和预测准确度,起着至关重要作用。基于径向基核函数的最小二乘支持向量机参数主要涉及惩罚因子和核函数参数,这两个参数的选择将直接影响最小二乘支持向量机的学习和泛化能力。为了提高最小二乘支持向量机的预测结果,文章用灰狼优化算法对其参数寻优,建立软件老化预测模型。通过实验证明了该模型,对软件老化的预测表现出很好的效果。

关键词:软件老化预测;最小二乘支持向量机;灰狼优化算法

遗留在软件中的缺陷会随软件系统长期持续运行造成计算机内存泄漏、舍入误差积累、文件锁未释放等现象发生,导致系统性能衰退甚至崩溃。这些软件老化现象的发生不仅降低了系统可靠性,严重时还会危害人的生命财产安全。为了减轻软件老化带来的危害,对软件老化趋势进行预测,采取抗衰策略避免软件老化现象的发生尤为重要[1]。

国内外很多科研机构,如贝尔实验室、IBM、南京大学、武汉大学[2]、西安交通大学[3]等,都对软件老化展开了深入研究,并取得了一些成果。他們研究的主要方向是通过对软件老化趋势的预测,找到软件抗衰策略最佳执行时机。

本文以Tomcat服务器为研究对象,监测Tomcat运行情况,收集系统性能参数,建立基于灰狼优化算法的最小二乘支持向量机软件老化预测模型。预测软件运行状态,确定软件抗衰策略执行时机。

1 最小二乘支持向量机

支持向量机(Support Vector Machine,SVM)是由Cortes和Vapnik[4]提出的。SVM以VC维理论和结构风险最小化原理为基础,可以很好地解决小样本、非线性、高维数和局部极小值等问题。

当训练样本数目越多,SVM求解二次规划问题越复杂,模型训练时间过长。Snykens等[5]提出最小二乘支持向量机(Least Squares Support Vector Machine,LSSVM),艮P在SVM的基础上用等式约束条件代替不等式约束,将二次规划问题转化为线性方程组问题,很大程度上的避免了 SVM大量的复杂计算,降低了训练难度。近年来LSSVM广泛应用于回归估计和非线性建模等领域,取得了良好的预测效果。

本文采用径向基核函数作为LSSVM模型的核函数。基于径向基核函数的LSSVM算法参数主要涉及惩罚因子C和核函数参数〃,本文采用灰狼优化算法对LSSVM的参数寻优。

2 灰狼优化算法

2014年,Mirjalili等[6]提出灰狼优化(Grey WolfOptimizer,GWO)算法,GWO算法通过模拟自然界灰狼的等级制度和捕食策略,寻找最优值。GWO算法以快速收敛性、调节参数少,在求解函数优化问题中表现出更加优越性而备受关注。该方法在全局搜索性、收敛性等方面优于粒子群优化算法、差分进化算法和引力搜索算法,并在特征子集选择、表面波参数优化等领域广泛应用。

2.1 灰狼优化算法原理

灰狼个体间通过协同合作来实现种群的繁荣发展,尤其是在捕猎过程中灰狼群体有着严格的金字塔式社会等级制度。等级最高的狼为α,剩下的灰狼个体被依次被标记为β,δ,ω,它们协同合作进行捕食。

在整个灰狼群体中,α狼扮演捕猎过程中领导者的角色,负责狩猎过程中的决策及管理整个狼群;β狼和δ狼是适应度次佳的群体,它们协助α狼对整个狼群进行管理,在狩猎过程中拥有决策权;剩余灰狼个体被定义为ω,协助α,β,δ对猎物进行攻击。

2.2 灰狼优化算法描述

GWO算法模仿狼群狩猎行为将整个狩猎的过程分为包围、追捕、攻击3个阶段,捕获猎物的过程就是寻找最优解的过程。假设灰狼所处的解空间是V维,灰狼群体X由N个灰狼个体组成,即X=[Xi;X2,…,XN];对于灰狼个体Xi(1≤i≤N)来说,它在V维空间中的位置Xi=[Xi1;Xi2,…,XiV],该灰狼个体位置与猎物所处位置的距离由适应度来衡量,距离越小适应度越大。GWO算法寻优过程如下。

2.2.1 包围

首先对猎物进行包围,在此过程中猎物与灰狼之间的距离用数学模型表示为:

其中:Xp(m)为第m次迭代后猎物位置,X(m)为灰狼位置,D为灰狼和猎物之间的距离,A和C分别是收敛因子和摆动因子,计算公式为:

2.2.2 追捕

GWO算法的寻优过程是根据α,β和δ的位置,来定位猎物位置。ω狼在α,β,δ狼的引导下对猎物进行追捕,根据当前最佳搜索单位的位置更新它们各自位置,并根据更新后α,β,δ位置重新确定猎物位置。狼群个体位置会随猎物的逃跑而改变,此阶段更新过程的数学描述为:

2.2.3 攻击

狼群对猎物进行攻击并捕获猎物,得到最优解。该过程通过式(2)中递减实现。当1≤∣A∣,表明狼群会更加接近猎物,这时狼群就会缩小搜索范围进行局部搜索;当1<∣A∣,狼群就会朝远离猎物方向分散开,扩大搜索范围进行全局搜索。

基于GWO-LSSVM预测模型流程如图1所示。

3 实验

3.1 实验环境搭建和数据采集

本文使用两台计算机构建实验环境,一台安装Tomcat服务器响应Web请求,并用JDK自带的JConsole对JVM内存进行监控;另一台安装Jmeter应用程序作为服务器的负载生成器以及性能监控器,不断地向服务器发送负载,定时收集系统性能参数。

软件响应时间的预测是判断软件是否老化的重要指标。通过Jmeter压力测试工具对Tomcat服务器进行访问,对系统性能参数吞吐量、请求量、已用内存、平均响应时间和每秒接收的数据量进行采集建立预测模型,通过该模型来预测软件的平均响应时间,判断软件运行状态,从而确定最佳的软件抗衰操作执行时间。本文是对Tomcat服务器软件老化的研究,因此,平均响应时间阈值设定为1 s。通过对Tomcat服务器进行监测,采集500条数据作为训练集样本,10条数据作为测试集样本。

3.2 实驗结果分析

基于Matlab R2016a及LSSVM工具箱,编程构建4个输入和1个输出的GWO-LSSVM模型,训练集数据对模型进行训练,得到基于GWO-LSSVM的软件老化预测模型。为了减少随机性对预测结果的影响,求50次预测结果平均值进行对比,如表1所示。

表1中的第一列为10个测试集样本数据的序号,第二列为10个测试集样本数据中软件平均响应时间的原始值,第三列为GWO-LSSVM模型预测软件平均响应时间的平均值。由表1可知,GWO-LSSVM模型在对软件平均响应时间的预测上都表现出了很好的预测效果,在对软件老化状态的判断没有出现误判,表现出很高的预测准确度。

4 结语

本文选用GWO算法来对LSSVM中的惩罚因子和核函数参数进行寻优,并建立基于GWO-LSSVM的软件老化预测模型。通过实验证明了GWO-LSSVM软件老化预测模型,在对软件老化的预测上表现出很好的预测结果。

[参考文献]

[1]梁佩.基于WEB技术的软件老化趋势预测研究[D].哈尔滨:哈尔滨工程大学,2013.

[2]郑伟,郭成城.一种提高集群系统可用性的方法及其应用[J].计算机应用,2003(10):67-69.

[3]杜小智,齐勇,鲁慧民,等.视频点播系统的软件老化估计和预测[J].计算机研究与发展,2011(11):2139-2146.

[4]VAPNIK V N.Universal learning technology:support vector machines[J].Nec Journal of Advanced Technology, 2005(2):137-144.

[5]SUYKENS J A K,GESTEL T V,BRABANTER J D,et al.1.east squares support vector machines[J].International Journal of CircuitTheory & Applications, 2015(6):605-615.

[6]MIRJALILI S, MIRJALILI S M, LEWIS A.Grey wolf optimizer[J].Advances in Engineering Software, 2014(3):46-61.