基于SFLA优化的RBF神经网络入侵检测算法
2017-09-09晁萍瑶王小敏
晁萍瑶+王小敏
摘 要:为了解决目前入侵检测技术准确率低、误报率高和無法检测新攻击类型等问题,研究了基于人工神经网络(ANN)的入侵检测技术,将径向基函数(RBF)网络应用于入侵检测研究中,并利用蛙跳算法(SFLA)对其参数进行优化,提高了入侵检测性能。
关键词:入侵检测技术;RBF神经网络;蛙跳算法;网络安全
DOIDOI:10.11907/rjdk.171313
中图分类号:TP312
文献标识码:A 文章编号文章编号:1672-7800(2017)008-0050-03
0 引言
入侵检测即检测入侵,是指把网络流量中入侵的记录从正常记录中检测出来。研究证明RBF神经网络能够以任意精度逼近连续函数,特别适合解决分类问题。然而构建基于RBF神经网络的入侵检测模型,虽然可以提高入侵检测的准确率和误报率,但在参数选择中存在问题。因为RBF神经网络的隐层基函数一般是在输入样本集中选取,难以反映真正的输入输出关系,隐含层到输出层的权值采用最小二乘法计算而得,训练过于简单。基于此,解男男[1]用粒子群(PSO)算法优化RBF神经网络的入侵检测技术,并通过实验证明该算法的有效性和可行性,但其漏报率较高;单晓虹[2]利用遗传算法(GA)对传统RBF网络的初始权重进行优化并用于系统辨识。实验证明该神经网络具有良好的泛化能力;蛙跳算法结合了基于模因遗传的模因演算法 (MA)和基于群体觅食行为的粒子群算法特点,具有概念简单、调整参数少、计算速度快、全局搜索寻优能力强、易于实现等优点,已应用于离散优化问题、连续优化问题和聚类问题[7]等多个领域。本文在解男男[1]研究的基础上,用SFLA算法优化RBF神经网络隐含层到输出层的权值参数并用于入侵检测模型中,通过实验证明其性能优于基于PSO优化的RBF入侵检测模型。
1 SFLA算法
SFLA是Eusuff和Lansey等为解决组合优化问题于2003年提出的一种基于群体的亚启发式协同搜索群智能算法。该算法建立在群中个体具有模因进化和利用模因实现全局信息交换基础上。
SFLA是通过使用一个启发式函数来搜索问题的全局最优解,该算法主要应用于模式识别、函数优化等领域。SFLA算法图解见图1,它模拟了一群青蛙(解)在一片湿地(解空间)上跳动觅食的过程[3]。
SFLA算法涉及到的参数为:F:蛙群的数量;m:子群的数量;n:子群中青蛙的数量;Dmax:允许更新的最大跳动步长;Dmin:允许更新的最小跳动步长;Px:全局最优个体;Pb:子群中的最优个体;Pw:子群中的最差个体;LS:局部元进化次数;SF:全局思想交流次数等[3]。
每个子群分别进行局部深度搜索,更新蛙跳步长和青蛙个体位置。
蛙跳步长更新公式:
Di=rand()*(Pb-Pw)(1)
青蛙个体的位置更新公式:
Pw ′ = Pw + Di (||-Dmin ||≤||Di ||≤||Dmax ||)(2)
式(1)中,Di表示青蛙的更新步长,rand()表示0-1之间进行取值的随机数;式(2)中,Pw′表示更新后的局部最差个体;如果Pw′所对应的适应值次于Pw所对应的适应值,则采用全局最优解Px代替式(1)中的Pb,并更新Pw。
蛙跳步长更新公式:
Di=rand()*(Px-Pw)(3)
青蛙个体的位置更新公式:
Pw ′ = Pw + Di (||-Dmin ||≤||Di ||≤||Dmax ||)(4)
如果Pw仍然没有改进,则随即产生一个新的蛙代替Pw[6]。
2 SFLA-RBF神经网络算法
2.1 算法分析
针对传统RBF神经网络算法中的权值优化问题,本文提出一种基于SFLA优化的RBF神经网络算法,即 SFLA-RBF算法,算法流程见图2。
图2中的算法流程由初始化、SFLA算法优化、分类输出结果和计算准确率阶段组成。
(1)RBF神经网络初始化阶段。首先,将准备好的数据集进行数值化和归一化并导入到神经网络中,作为神经网络的输入数据,并导入神经网络的目标输出数据;再通过函数初步构建RBF神经网络net,并从构建好的网络中提取出需要优化的隐含层参数。
(2)SFLA算法优化阶段。首先将阶段(1)中得到的隐含层权值参数表示成要优化的问题,并求出最大权值和最小权值,确定种群青蛙的数量以及子群数量等算法参数,每一只青蛙代表解空间中的一个候选解,并初始化种群;再将所有青蛙按照性能好坏依次排列,分别放在不同的子群中。不同子群的青蛙分别进行局部搜索,不断跳跃,接近目标位置并重新汇合,排序构建下一代新种群;满足停止条件则输出全局最优解。
(3)RBF神经网络分类阶段。将阶段(2)所得的全局最优解作为新的RBF网络隐含层到输出层的权值,重新带入RBF神经网络中,并输出分类。
2.2 算法描述
对SFLA-RBF神经网络算法描述如下:
输入:样本数据
输出:分类结果
(1)构建RBF神经网络,将归一化后的训练样本数据导入到RBF神经网络中,得到输出结果后,从中提取出隐含层权值等参数。
center=net.iw{1,1} ;
b1=net.b{1};
w2=net.lw{2,1};
b2=net.b{2};
(2)初始化青蛙种群,随机产生青蛙的总个数为F,青蛙子群数为m,每组青蛙的个数为n,那么F =m×n;种群迭代次数为SF,允许更新的最大蛙跳步长为Dmax,允许更新的最小蛙跳步长为Dmin。endprint
(3)计算适应度值,根据适应度值对所有青蛙进行排序[4]。这一阶段,第一只青蛙进入第一个子群,第二只青蛙进入第二个子群,第m只青蛙进入第m个子群,依此类推[5-6]。
(4)对每一个青蛙子群进行局部深度搜索,根据更新策略对青蛙个体位置不断更新。
(5)判断是否满足全局迭代次数,若满足,则输出全局最优值,进化结束;若不满足,则将全部青蛙个体重新混合,转至步骤(3)。
(6)(1)-(5)步得到的全局最优值即为通过SFLA算法优化后的RBF神经网络权值向量w,根据优化后的权值重新构造RBF神经网络。
(7)输入入侵攻击测试数据,执行RBF神经网络算法,输出分类结果。
(8)分别计算准确率、误报率和漏报率。
上述步骤中,步骤(1)为RBF神经网络的初始化阶段,步骤(2)-(5)为SFLA算法的优化阶段,步骤(6)-(8)为RBF神经网络的重新构建并输出分类结果阶段。
2.3 实验结果分析
采用两组样本来检测SFLA-RBF神经网络的入侵检测性能。训练数据采用KDD99中抽样的train1和train2,测试数据采用test1和test2,见表1。
图3、图5所示为输入test1的输出结果,由于测试样本数据较多,不能清晰反映实际输出结果和期望输出结果的关系。图4、图6为test1输出结果的局部放大图。红色圆圈表示实际输出,蓝色线条表示期望的输出结果。
当期望输出结果为异常样本时,蓝色线条显示;当期望输出结果为正常时,蓝色线条不显示;当实际输出结果为异常时,红色圆圈位于纵坐标1的位置;当实际输出结果为正常时,红色圆圈位于纵坐标0的位置。实验结果见表2。
观察图3、图5和表1、表2可以看出:采用SFLA算法优化RBF网络,准确率都在90%以上,误差率在10%左右,漏报率低于2%。
3 算法比较
RBF神经网络算法具有较高的精确度,并且训练速度快,但其参数需要根据不同学习算法求解,且应用于入侵检测中误报率偏高。PSO-RBF神经网络算法是一种用来改进RBF隐含层权值的优化算法。经过PSO改进后的RBF网络用于入侵检测性能有所提高。
如表3、表4、表5所示,使用train1、train2、test1和test2分别作为神经网络模型的训练样本和测试样本,通过实验,对SFLA-RBF算法、传统RBF算法和PSO-RBF算法的准确率、误报率和漏报率进行分析对比并计算均值。图7表示这3个指标平均值的对比情况,其中横坐标表示不同算法,纵坐标表示对应的准确率、误报率和漏报率。
从3个不同指标分析,SFLA-RBF算法较传统的RBF算法和PSO_RBF算法性能更优。
4 结语
针对RBF网络的参数优化问题,给出了一种基于SFLA-RBF神经网络算法,并将其应用于入侵检测中,将SFLA算法应用到神经网络权值优化上。对两组子集进行试验表明:SFLA-RBF算法与RBF算法相比准确率基本一致,约为94%,但误报率和漏报率都明显降低。与解男男[1]的PSO-RBF算法相比,准确率和误报率基本一致,但漏报率明显降低。
参考文献:
[1] 解男男.机器学习方法在入侵检测中的应用研究[D].长春:吉林大学,2015.
[2] 单晓虹.基于遗传算法的RBF神经网络及其在系统辨识中的应用[D].青岛:青岛大学,2006.
[3] 韩毅,蔡建湖,周根贵,等.随机蛙跳算法的研究进展[J].计算机科学,2010,37(7):16-19.
[4] 张潇丹,包永强,奚吉,等.基于MD-CM-SFLA神经网络的耳语音情感识别[J].东南大学学报:自然科学版,2012,42(5):848-853.
[5] PAN G,PAN F,LIU G.Path planning for mobile robots based on improved shuffled frog leaping algorithm[J].Journal of Computer Applications,2014,34(10):2850-2853.
[6] 王茜,张粒子,舒隽,等.基于阈值选择策略的改进混合蛙跳算法在電网规划中的应用[J].电力系统保护与控制,2011,39(3):34-39.
[7] TIAN J,GAO M,ZHANG F.Network intrusion detection method based on radial basic function neural network[C].International Conference on E-Business and Information System Security, IEEE,2009:1-4.
[8] AMIRI B,FATHIAN M,MAROOSI A.Application of shuffled frog-leaping algorithm on clustering[J].International Journal ofAdvanced Manufacturing Technology,2009(5):152-158.endprint