首页> 中国专利> 一种基于CFA算法和BP神经网络的入侵检测方法

一种基于CFA算法和BP神经网络的入侵检测方法

摘要

本发明公开了一种基于CFA算法和BP神经网络的入侵检测方法,将所述BP神经网络的运行参数编码为CFA算法中的细胞个体,再将误差函数作为CFA算法的适应值函数,多次迭代后选择适应度最优的参数作为所述BP神经网络的初始权值和阈值进行训练,最后将训练好的所述BP神经网络应用于入侵检测的分类器中。本发明利用CFA算法的全局搜索和收敛速度快的特点,优化BP神经网络的初始运行参数,并据此构造一个可以应用于网络入侵检测的分类器。本方法通过改善BP神经网络因初始参数随机化导致的易陷入局部最小值和收敛速度慢的缺点,从而提高了BP神经网络在网络入侵检测中检测准确率。

著录项

  • 公开/公告号CN107292166A

    专利类型发明专利

  • 公开/公告日2017-10-24

    原文格式PDF

  • 申请/专利权人 广东工业大学;

    申请/专利号CN201710352845.0

  • 发明设计人 凌捷;黄盛;罗玉;谢锐;龚怡;

    申请日2017-05-18

  • 分类号G06F21/55(20130101);G06N3/08(20060101);

  • 代理机构44329 广东广信君达律师事务所;

  • 代理人杨晓松

  • 地址 510062 广东省广州市越秀区东风东路729号

  • 入库时间 2023-06-19 03:35:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-28

    授权

    授权

  • 2017-11-24

    实质审查的生效 IPC(主分类):G06F21/55 申请日:20170518

    实质审查的生效

  • 2017-10-24

    公开

    公开

说明书

技术领域

本发明涉及网络入侵检测技术研究领域,具体涉及一种基于CFA(Cuttle FishAlgorithm)算法和BP神经网络的入侵检测方法。

背景技术

针对越来越严峻的网络安全问题,仅仅依靠网络防火墙、用户认证系统等的被动防御技术已不能完全解决网络与信息的安全问题。

入侵检测技术作为一种主动防御技术,能够对网络中的计算机、网络行为进行持续监控,不仅监控来自网络外部的恶意行为,而且对网络系统内部的未授权行为和恶意行为进行检测。入侵检测技术是通过一定的技术手段收集网络日志,监听网络通信,并对这些日志、数据包分析,从而检测网络中是否存在可能破坏网络通信的恶意行为。对于入侵检测系统来说,如何进一步提高入侵检测对恶意行为的识别率、降低用户正常行为的漏报率和误报率是入侵检测系统不断追求的目标。

人工智能领域的神经网络算法因其具有自适应、自学习、自组织、泛化能力强以及能够进行大规模并行计算和非线性映射等优点,因而非常适合当前越来越复杂多变的入侵检测环境。BP神经网络是目前使用最广泛的神经网络模型之一。然而传统的BP神经网络因初始参数的随机选择易导致陷入局部最小值、收敛速度慢的问题,从而使得在使用BP神经网络进行入侵检测时的检测正确率不理想、漏报率和误报率偏高。

许多研究者提出利用智能仿生算法来优化BP神经网络以改善这些缺点。胡明霞(基于BP神经网络的入侵检测算法[J].计算机工程,2012,06:148-150.)和Yanxi Zhang等人(Zhang Y,Gao X,Katayama S.Weld appearance prediction with BP neural networkimproved by genetic algorithm during disk laser welding[J].Journal ofManufacturing Systems,2015,34:53-59.)提出了利用遗传算法(Genetic Algorithm,GA)找到BP神经网络的最优权值和阈值来改善其缺点,有效的提高了BP神经网络的检测效率。Tian Wang等人(Wang T,Wei L,Ai J.Improved BP Neural Network for IntrusionDetection Based on AFSA[J].2015.)和沈夏炯等人(沈夏炯,王龙,韩道军.人工蜂群优化的BP神经网络在入侵检测中的应用[J].计算机工程,2016,(02):190-194.)分别将人工鱼群算法和人工蜂群算法引入到BP神经网络的参数优化中,但这些智能算法存在着各自的不足,如遗传算法有时可能出现过早收敛和停滞现象,选择有效的控制遗传因子和控制参数也较为困难。

CFA(Cuttle Fish Algorithm)算法是由Eesa、Abdulazeez等人(Eesa A S,Abdulazeez A M,Orman Z.Cuttlefish algorithm–a novel bio-inspired optimizationalgorithm[J].International Journal of Scientific and Engineering Research,2013,4(9):1978-1986.)提出一个新的元启发式仿生算法,其利用Rosenbrock和Griewank等测试函数进行全局寻优比较,其实验结果表明CFA算法相比遗传算法、粒子群算法和人工蜂群算法具有更好的全局寻优能力和收敛速度。Eesa等人(Eesa A S,Abdulazeez A M,Orman Z.Cuttlefish algorithm–a novel bio-inspired optimization algorithm[J].International Journal of Scientific and Engineering Research,2013,4(9):1978-1986.)提出一种结合支持向量机的入侵检测模型,使用CFA算法寻找最优子集,SVM作为分类器,其实验结果表明,通过CFA算法选取的最优子集可以有效的提高入侵检测正确率和检测效率。

基于此,本发明提出一种CFA算法和BP神经网络相融合的入侵检测方法,利用CFA算法来优化BP神经网络,使得优化后的BP神经网络在入侵检测中具有更高识别率和更低的漏报率以及误报率。

发明内容

本发明针对当前网络形态逐步呈现层次化、虚拟化、服务化的特点,伴随而来的网络安全面临着威胁多层次性和复杂多变性的问题,提出一种能够提高网络入侵检测速度和识别率的方法。

本发明是为了改善传统的BP神经网络在网络入侵检测中因易陷入局部极值和收敛速度慢的缺点而导致检测正确率低、检测速度慢的问题。首先将BP神经网络的运行参数编码为CFA算法中的细胞个体,再将全局误差作为CFA算法的适应值,多次迭代后选择适应度最优的参数作为BP神经网络的初始权值和阈值进行训练,最后将训练好的BP神经网络应用于入侵检测的分类器中。

具体的,一种基于CFA算法和BP神经网络的入侵检测方法,包括以下步骤:将所述BP神经网络的运行参数编码为CFA算法中的细胞个体,再将全局误差函数作为CFA算法的适应值函数,多次迭代后选择适应度最优的参数作为所述BP神经网络的初始权值和阈值进行训练,最后将训练好的所述BP神经网络应用于入侵检测的分类器中。

具体的,所述运行参数编码包括所述BP神经网络中的连接权值和阈值。

具体的,利用所述BP神经网络的全局误差函数作为CFA算法的适应值函数,其所述全局误差函数为:

其中网络中输入层有n个神经元,隐含层有q个神经元,输出层有m个神经元,样本总数为P,xpi表示第p个样本的第i个输入,vki表示输入层第i个节点到隐含层第k个节点的权值,wjk表示隐含层第k个节点到输出层第j个节点的权值,Ek为第p个样本实际输出和理想输出误差,tki为理想输出。

具体的,利用CFA算法,迭代运行直到达到设定的最大运行次数,将Best细胞中值解码为所述BP神经网络的初始运行参数完成训练。

具体的,利用训练好的所述BP神经网络,作为入侵检测系统中检测模块的分类器。

与现有技术相比,本发明具有如下优点:

本方法结合CFA算法和BP神经网络,充分发挥了CFA算法的全局搜索能力强和BP神经网络的自学习能力以及较强的泛化能力的特点。

附图说明

图1是本发明的BP神经网络结构图;

图2是本发明CFA算法中的六种反射情形图;

图3是本发明中的CFA算法优化BP神经网络的流程图;

图4是本发明的网络入侵检测流程图。

具体实施方式

下面结合附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

一种基于CFA(Cuttle Fish Algorithm)算法和BP神经网络的入侵检测方法,具体包括以下步骤:

1、参见图1,BP神经网络的运行参数主要有每个神经元的连接权值和阈值,CFA算法优化的对象即BP神经网络中的连接权值和阈值。其全局误差函数为:

其中网络中输入层有n个神经元,隐含层有q个神经元,输出层有m个神经元,样本总数为P,xpi表示第p个样本的第i个输入,vki表示输入层第i个节点到隐含层第k个节点的权值,wjk表示隐含层第k个节点到输出层第j个节点的权值,Ek为第p个样本实际输出和理想输出误差,tki为理想输出。

2、将BP神经网络中所有阈值和权值作为CFA算法中每一个细胞的向量维度。假设BP神经网络为典型的包含输入层、隐含层、输出层的三层结构,分别有n个、p个、m个神经元,则CFA算法中每个细胞包含的维度W为:

w=n*p+p*m+p+m(2)

3、利用CFA算法优化BP神经网络

墨鱼可以通过皮肤层堆积的色素细胞、虹彩细胞和白细胞三层细胞改变自身皮肤颜色,如图2,使得与外界颜色一致而达到隐藏自己的目的。其中色素细胞通过肌肉的收缩与放松使得色素囊的面积增大或缩小来改变细胞颜色而达到隐藏的目的;虹彩细胞与白细胞是类似镜面的反射细胞,通过反射或分散进入细胞的光线来隐藏自己。入射光线(射入细胞的光线)可能被色素细胞反射,可能被反射细胞(虹彩细胞和白细胞)反射,也可能被二者共同作用所反射。

CFA算法模拟了图2的六种三层细胞反射光线的情形,基本原理是考虑了墨鱼皮肤细胞变色的两个主要过程:反射(reflection)和可见(visibility)。反射进程仿真了色素细胞收缩与放松的反射机制,可见进程仿真了虹彩细胞与白细胞反射或散射的匹配机制,色素细胞收缩放松程度与反射细胞的可见程度分别由R和V表示。CFA算法将两个进程作为全局寻优的搜索策略,CFA算法优化BP神经网络的流程参见图3,具体包括以下步骤:

(1)选择训练用的样本,作数据的预处理;设定r1、r2、v1和v2以及最大迭代次数MCN和目标误差ε。

(2)根据式(3)初始化细胞群,对每个细胞根据BP神经网络的权值和阈值和式(2)进行编码。

P[i].point[j]=random*(upperLimit-lowerLimit)+LowLimit(3)

其中i为第i个细胞,j为细胞的向量维度w,upperLimit和lowLimit为每个维度上值的上下限。

(3)根据式(1)计算每个细胞的初始适应值,并将适应值最优的细胞保存到Best细胞中,若Best细胞的适应值满足误差要求,则结束训练,否则将细胞群分成G1、G2、G3、G4四组。

(4)对于G1组的每个细胞。使用式(4)、式(5)和式(6)更新细胞颜色,按式(1)计算细胞适应值,若适应值更优则更新Best以及AVBest,AVBest为Best细胞各维度上的均值。

reflectionj=R*G1[i].Point[j](4)

visibilityj=V*(Best.Point[j]-G1[i].Point[j](5)

newP=reflection+visibility(6)

其中R和V的计算如式(7)和式(8)

R=random( )*(r1-r2)+r2(7)

V=random()*(v1-v2)+v2(8)

(5)对于G2组的每个细胞。使用式(5)、式(6)和式(9)更新细胞颜色,适应值、Best以及AVBest的计算和更新如步骤(4)。

reflection=R*Bear.Point(9)

(6)对于G3组的每个细胞。使用式(6)、式(9)和式(10)更新细胞颜色,适应值、Best以及AVBest的计算和更新如步骤(4)。

visivility=V*(Best.Point)-AVBest)(10)

(7)对于G4组的每个细胞。reflection为随机数值,由式(3)产生,visibility为0,适应值、Best以及AVBest的计算和更新如步骤(4)。

(8)判断是否满足给定的误差要求。若满足,则结束。若不满足,转到步骤(9)。

(9)迭代运行(4)、(5)、(6)、(7)。直到达到CFA算法的最大运行次数MCN,将此时Best细胞中的值作为BP神经网络最优的权值和阈值去训练BP神经网络。

4、参见图4,将训练好的BP神经网络应用于入侵检测系统的检测模块中作为分类器。

本发明公开了一种基于CFA算法(Cuttle Fish Algorithm,CFA)和BP神经网络的入侵检测方法。本发明方法利用CFA算法的全局寻优能力强和收敛速度快的特点,优化BP神经网络的初始运行参数,其中BP神经网络的权值和阈值为CFA算法的优化目标,全局误差作为CFA算法的适应度,当CFA算法达到最大迭代次数或设定的全局误差时停止迭代,将此时的一组参数作为BP神经网络的初始权值和阈值进行训练,并据此构造一个可以应用于网络入侵检测的分类器。本方法通过改善BP神经网络因初始参数随机化导致的易陷入局部最小值和收敛速度慢的缺点,从而提高了BP神经网络在网络入侵检测中检测准确率。

上述实施例为本发明的一种实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号