用于网络安全态势预测的SAGPSO-SVM模型研究
2020-01-07刘俊男陈占芳姜晓明朱利莞
刘俊男,陈占芳,姜晓明,朱利莞
(长春理工大学 计算机科学技术学院,长春 130022)
网络的飞速发展使人类的生活和工作变得十分快捷,如网络聊天、智能办公和智慧城市等,但是随之而来的是日益突出的网络安全问题[1-2]。在网络环境快速发展的今天,面对安全威胁和攻击手段多元化、规范化发展的趋势,利用有效的防护措施防止网络被攻击成为研究热点。
传统的网络安全预测方法存在以下问题,如:BPNN算法运算慢,存在局部极值问题;证据理论算法处理的数据只能是独立的而且不能利用先验知识合成不同数据;马尔可夫链算法由于公式复杂导致运算时间过长,在建立模型时存在困难。支持向量机(SVM)与其他算法相比,具有算法简单、运算效率高、不易陷入局部极值的优点,但是其参数的选取是随机指定或者通过经验积累指定,所以预测模型的精确度相对较差,因此选取合适的算法进行参数的优化成为改善预测精准度的关键。当解决包括参数调整问题的优化问题时,群智能算法[3-5]被用于与SVM结合,提高模型的精确度。文献[6]使用蝙蝠算法(BA)寻找SVM最优值参数,降低分类误差。文献[7]使用粒子群优化(PSO)和离散PSO来进化FCRBFNN,进行结构和参数的联合优化。文献[8]提出SVM和PSO优化技术结合的模型,用于预测飞机发动机的剩余使用年限。PSO算法存在早熟收敛和容易陷入局部极值的缺点,BA算法具有较强的全局搜索能力,但其收敛速度慢,因此二者与SVM结合用以预测时仍存在精度不足的问题。综上所述,为解决预测精度不足的问题,本文提出一种基于模拟退火与高斯扰动的粒子群算法(SAGPSO)优化SVM参数的预测模型。
1 SAGPSO算法步骤
针对PSO算法容易陷入局部极值的问题,引入模拟退火(SA)思想避免陷入局部极值,最终趋于全局最优,利用高斯扰动的变异运算再对最优的个体进行进一步调整。本文提出了SAGPSO算法,执行过程如下:先通过随机的方式初始化种群,然后随机搜索产生一组速度和位置,设置一个起始温度,运用模拟退火算法得到一个值用以替代全局最优值,保留被发现概率较小的粒子速度和位置,同时随机改变发现概率较大的粒子的速度和位置,得到一组新的粒子速度和位置,然后采用高斯扰动对个体较优的位置进行调整,展开进一步的搜索。
在每一次进化过程中,都使用高斯扰动对变异运算进行影响,并将原来的位置替换成高斯扰动后的位置,即
其中,ε和Xt是同阶的随机矩阵,每个元素εij~N(0,1);a为常数,⊕为点乘。为了避免ε随机取值范围过大,导致粒子群活动位置偏离过大,用a来调节ε的搜索范围。
算法具体步骤如下:
(1)对每个粒子的位置和速度进行初始化操作。确定粒子种群大小N和维数D,设置最大迭代次数M。
(2)对种群中每一个粒子的适应度进行评价。计算种群内所有粒子目前所在的位置和适应值,将当前各个粒子的适应度值存放于Pi中,将所有粒子的最优适应度值存放在Pg中。
(3)设置初始温度。
(4)计算加入模拟退火影响后的适配值。使用式(2)计算此时各个粒子的适配值,替代全局最优解的概率为:
(5)采用轮盘赌算法,从种群的各个粒子中随机选取一个粒子作为全局最优的替代值pbest',然后利用式(3)对每一个粒子的速度和位置同时进行更新。
(6)计算各个粒子新位置的值,并对各个粒子的相对较优位置进行更新,使用高斯扰动对以上较优位置进行一次调整,最后将扰动前后的位置进行比较,确定全局最优位置pbest和该位置的最优值。
(7)进行退温操作。
(8)如果运行结果满足程序的停止条件(运算达到一定精准度或者当前迭代次数达到最大迭代次数M)就停止本次搜索并输出最终结果,否则转到步骤(4)。
本文采用的起始温度和退温方式为:
其中,λ为[0.9,1]之间的冷却系数。
2 实验结果及分析
选取某公司2018年5月1日至6月30日的网络安全防护数据为原始数据源。首先每天对数据进行采样,然后将采样后的数据通过层次化安全态势评估量化方法进行量化计算,得到106个原始安全态势值,最后将其进行一次累加处理并且归一化数据,得到新值作为样本集。
本文将SAGPSO算法与SVM相结合形成一种新的网络安全态势预测模型,为了检验此模型的精准性和优化性,选取归一化后的数据分别输入到PSO-SVM模型、模拟退火粒子群(SAPSO)与SVM结合的SAPSO-SVM模型和本文提出的预测模型中进行预测,并对比预测结果。首先将数据样本分为两类,即训练集(用于构建模型和方法训练)和测试集(用于将预测结果和实际值作对比),将前80个数据点称为训练样本集,后26个称为测试样本集。然后在SVM中输入训练样本进行学习,采用本文提出的算法对SVM的两个参数(惩罚系数C和核参数g)进行优化,最后将所获得的两个参数应用到本文提出的模型中,再将测试样本输入到模型中进行学习、训练得到预测结果,此时的得到预测结果是数据经过累加之后的结果,因此需将此结果进行还原操作并且进行反归一化处理,从而得到最终结果。
图1为本文预测模型的预测结果与未改进的PSO-SVM预测结果、SAPSO-SVM预测结果和原始安全态势值进行对比。如图所示,本文的预测结果总体上与实际值更加接近。
图1 安全态势值对比图
图2将三种模型预测结果分别与实际值进行对比,得到各个模型预测值与实际值之间的误差值。如图所示,本文模型的误差值相对更小。
图2 误差对比图
为将本文算法的可行性更加直观的表现,采用平均相对误差
和均方根误差
表1 三种模型预测结果的平均相对误差和均方根误差对比
3 结束语
网络安全态势预测是网络安全态势感知中的关键技术,本文提出了一种SAGPSO-SVM预测模型。通过实验数据对比表明,此模型相对于传统SVM-PSO模型和SAPSO-SVM模型的预测结果更接近于实际值,能够使预测精度达到更高,精准地刻画出网络的整体安全情况,提供安全防护的理论依据,方便管理者可以及时发现网络安全威胁,做好防护准备,实现主动防御。