潘晓君
(安徽工商职业学院 信息工程学院,安徽 合肥 231100)
遗传算法(Genetic Algorithm,GA)是模拟生物进化的计算模型,是一种依据模拟自然生物进化过程搜索近似解的算法.它是参照优胜劣汰的原理,利用遗传算子进行变异和组合交叉等相关操作来产生出最新解集的种群,逐步演化得出最优解[1].
粒子群(Particle Swarm Optimization,PSO)算法是一种进化优化算法,它是依据随机解,通过不断的迭代操作来寻找最优解.相对于遗传算法,它的操作更为简单.虽然它也是按照适应度来评价目标解,但它没有遗传算法的一些相关操作,诸如交叉与变异,它是根据当前搜索到的最优解来搜寻全局最优解[2-4].该算法具有收敛速度快、精度高等优点,在实际应用中优越性不断凸显[5,6].
入侵特征是否选中用0和1这两个二进制码元来表示,如果特征未被选中就用0表示,特征被选中则用1表示.具体的网络入侵特征码数学模型定义如式子(1)所示:
(1)
其中,p表入侵特征维数.如果希望进一步提高入侵检测的精准率,就需要使相应的特征维数尽可能的少.
为了使入侵特征维数尽可能少,最大程度提高入侵检测的效率,这里的特征适应度函数定义为
图1 遗传粒子群融合算法流程图
(2)
其中,wa代表入侵特征数量的权重值,Nf表示入侵特征的总数,R代表入侵检测正确率,wf代表入侵状态权重,fi代表入侵特征状态选择,于是有关系式
(3)
遗传算法与粒子群算法虽然都有各自的优点,但同时也都存在一些缺陷,它们都是一种基于群体的演化计算技术.遗传算法具有很强的全局搜索能力,但局部的搜索能力较差,很难得到全局最优解;而粒子群算法求解问题的速度是比较快,但很容易陷入局部最优.正是由于这两种算法有着优势互补的特性,本文将它们结合起来,以此来获得全局最优解,算法流程如图1所示.
为了检测遗传粒子群融合算法的性能,本文的实验平台是基于Windows 7系统,利用Matlab编程,选择 KDD数据集进行仿真.该KDD数据集除了包括4 种基本的入侵方式,分别为:未授权使用本地超级权限访问攻击(U2L); 扫描攻击(Probe);远程用户未授权访问攻击(U2R);拒绝服务攻击( DOS),还包括未受攻击的数据样本集(Unassailed).具体的数据样本分布情况如表1所示.
利用遗传算法(GA)、粒子群算法(PSO)以及遗传粒子群融合算法(GA-PSO)对网络数据特征进行抉择,得到的最优解如表2所示.从表中可以看出,入侵特征库中存在大量冗余的数据,利/用遗传粒子群融合算法对其中的特征进行最优抉择,可以大大减少这些冗余特征;特征数据的维数也大幅度减少,进一步提高了入侵检测的效率.
表1 数据样本分布
表2 三种算法选择的网络特征维数
三种算法的入侵检测结果如图 2、图3、图4所示,经过对比分析可以得出以下结论:
(1) 相对于遗传算法和粒子群算法来说,遗传粒子群融合算法的检测时间大幅度减少,主要是因为遗传粒子群融合算法的特征子集的维数少于前两种算法,也就使得它的训练时间大幅度减少,提高了网络入侵检测的速度.
(2) 遗传算法和粒子群算法就其本身来说,很难在全局范围内找到最优解.然而遗传粒子群融合算法能较好提高网络入侵检测的正确率,漏报率、误报率则相应的大幅降低,该算法较好融合了遗传算法和粒子群算法各自的优点.
图2 检测率比较
图3 漏报率比较
图4 误报率比较
当前,许多网络入侵检测系统都存在着大量冗余无效的特征,而且特征维数相当高,致使入侵检测的效率非常低.针对这种情况,本文结合遗传算法和粒子群算法的优点,并将这两种算法相互融合,以此来提高入侵检测的精准率.实验结果表明,该融合模型不仅可以大大减少无效的冗余特征,而且可以在最大程度上提高网络入侵检测的效率.
[1] 孟 军,史贯丽.融合粒子群优化和遗传算法的基因调控网络构建[J].计算机应用,2016,36(11):2 969-2 973.
[2] 刘春燕,杨巍巍.云计算基于遗传粒子群算法的多目标任务调度[J].计算机技术与发展,2017,27(2):56-59.
[3] 林海波, 柯晶晶,张 毅.结合粒子群寻优与遗传重采样的RBPF算法[J].计算机工程,2016,42(11):295-299.
[4] 王 波,张晓磊.基于粒子群遗传算法的云计算任务调度研究[J].计算机工程与应用,2015,51(6):84-88.
[5] 张 陶,于 炯, 杨兴耀,等.基于改进粒子群算法的云计算任务调度算法[J].计算机工程与应用,2013,49(19):68-72.
[6] 李 欢,虞慧群.云计算中基于进化算法的任务调度策略[J].华东理工大学学报:自然科学版,2015,41(4):556-562.