基于改进的PSO与BP前馈神经网络学习算法在入侵检测中的应用

2015-10-21 18:30顾同跃
科技与企业 2015年19期
关键词:权值阈值粒子

引言

针对BP算法容易陷入局部极值和粒子群算法易失去多样性的问题,为了克服两种算法的缺点同时能够利用这两种算法的优点,本文提出一种新的算法,在算法前期利用粒子群算法能够较快的找到局部最佳的优点,如果此时粒子群失去多样性的情况下,再继续用BP算法继续训练网络,在局部极值的情况下继续训练网络,从而找到局部更优点,如果在BP算法陷入极值时,转到粒子群算法进行训练神经网络,进而克服BP算法的缺点,同时,本文将新的算法用户网络入侵检测中进行验证,发现本文提出的算法在精度和速度方面都要优于BP算法和粒子群算法。随着移动终端电子设备的使用普及,计算机网络已经渗透到我们生活的每个角落并正在改变我们的生活方式,但是,网络安全问题日渐凸显,当前网络安全防护技术有访问控制,入侵检测等等,其中,网络入侵检测是当前研究的热点问题之一。然而,传统的入侵检测技术正逐渐显示其缺点和不足,基于BP神经网络的入侵检测系统引入使得与人工智能结合的更为紧密,更能识别和检测出各类入侵行为。但是BP算法本身具有训练时间长且不易收敛到局部最小的缺点,本文分析了当前的入侵检测系统及神经网络技术,并且考虑到BP算法的缺陷的基础上提出将粒子群优化算法(PSO)和BP算法相融合的新算法,称之为IPSO-BP算法。主要优点是克服两种算法在入侵检测训练过程中各自的缺点。

改进算法原理

PSO-BP算法用来优化的对象(粒子)主要是BP神经网络的权值和阈值,粒子群空间维度是BP神经网络的权值和阈值的个数之和,每个粒子对应神经网络的权值和阈值,在输入样本时,用粒子群中的粒子来计算出相应的输出,而衡量每个粒子的适应度的是网络的期望值和实际输出值之间的均方误差。公式如下:

(1)

J表示每个粒子的适应值;其中N为训练样本集的总数;Yij为第i个样本的第j个网络输出节点的理想输出值;yij是第i个样本的第j个实际输出值,c是网络输出元的个数。在本算法中还要引入另一个重要指标-粒子群的聚集程度公式如下:

(2)

其中t表示粒子群迭代到第t代;s(t)表示当前粒子和每个粒子历史最好位置的聚集程度;n表示粒子总数;i表示第i个粒子;j表示第i个粒子的第j维;xij(t)表示第i个粒子的第j维坐标值;表示粒子群中所有粒子的第j维坐标的平均值。当粒子的聚集程度低于S(t)时,要进行对当前粒子的每维加上一个(-1,1)之间的随机值进行干扰,同时对每个粒子的最好位置也加上随机值进行变化,提高其多样性。对全局最优值用BP算法进行训练。具体的算法流程如下:(1)设定粒子群中粒子个数N,根据需要确定神经元的个数和相应的权值和阈值,以此确定粒子群中粒子的维数D,设定训练次数iter,设定粒子更新速度的最大值Vmax,学习因子c1,c2,设定适应值精度error。(2)随机初始化每个粒子的位置和速度。并且将每个粒子的pbest和全局最小值gbest设为无穷大。(3)把每个粒子值赋对应的赋给神经网络的权值和阈值。输入样本,计算出对应的实际输出值,按公式(5)计算每个粒子的适应值。(4)取适应值最小的与gbest比较,如果比gbest小,更新gbest,反之gbest不变。每个粒子当前适应值和自身历史最好pbest比较,如果比pbest小,更新pbest和相应的位置,反之pbest不变。如果gbest低于设定的error则,训练结束。如果训练次数大于iter,训练结束,反之进入步骤(5)。(5)根据公式(2)、计算出每个粒子每一维的变化速度,并且与Vmax和 -Vmax比较比Vmax大,值改之为Vmax比-Vmax小的改之为-Vmax,带入公式(3)更新每个粒子。(6)用公式(6)判断当前粒子的聚集程度,如果不低于預先设置的标准时,转到步骤(3)重复执行,反之进入下一步骤。(7)产生随机数对当前粒子进行干扰。对每个粒子的历史最好位置,用随机函数进行干扰,保存为历史最好位置和适应值。用BP算法对全局最优值的位置进行训练,得到的适应值与全局最优值比较,较好的话,更新全局最优值和相应位置。转入步骤(3)重复执行。

实验

本实验数据主要源于麻省理工学院林肯实验室提供的1999年从模拟网络中手机的网络攻评估数据。设计网络中为一个输入单元,8个隐含单元和1个输出单元的三层神经网络。C1=C2=1.5,Vmax=1.5,Wmax=0.95,Wmin=0.25,均方误差设置为error=1e-4;粒子群的大小设置为N=70。通过比较带动量项的BP算法,标准的PSO算法,IPSO-BP算法。在粒子群聚集到一定程度,用rand()对当前粒子群干扰的算法和对粒子群粒子历史最优位置干扰的方法和IPSO-PB算法比较结果。均方误差值如下:

图1:三种算法误差比较曲线

从图1可以看出,在均方误差值方面,IPSO-BP算法优于后两种算法。本文提出的干扰当前粒子群,干扰每个粒子历史最好位置和集合两种方法并且对粒子群最好位置采用BP算法等三种方法在均方误差方面用实验验证。可以看出,对于本实验数据,在粒子群迭代到1500次左右时,干扰当前和干扰粒子历史最好位置两种方法在均方误差方面已经不是很明显了,在IPSO-BP算法中,到1500次左右的时候却下降的很快。

(作者单位:中国人民银行淮安市中心支行)

作者简介

顾同跃,男,1983年出生,汉族,江苏人,硕士研究生,主要研究方向:人工智能、模式识别、癌变基因诊断,人工神经网络。

猜你喜欢
权值阈值粒子
非均匀光照下文本图像分割算法研究
特斯拉发布新功能 停电期间也可充电
虚拟校园漫游中粒子特效的技术实现
一种用于抗体快速分离的嗜硫纳米粒子的制备及表征
利用迭代软阈值方法抑制恒时演化类核磁共振实验中的采样截断伪峰
惯性权重动态调整的混沌粒子群算法
财务风险跟踪评价方法初探
问:超对称是什么?
基于洪泛查询的最短路径算法在智能交通系统中的应用
两种改进的局部阈值分割算法