一种改进的BP神经网络算法在入侵检测中的应用

点赞:22297 浏览:97245 近期更新时间:2024-01-14 作者:网友分享原创网站原创

摘 要:该文介绍了一种改进的神经网络算法,该算法对网络结构采用自确定的方法,并将随机算子和遗忘因子引入BP神经网络中.在提高全局寻优能力的同时,加快了网络的收敛速度.同时将该算法应用于网络的入侵检测中,效果良好.

一种改进的BP神经网络算法在入侵检测中的应用参考属性评定
有关论文范文主题研究: 关于神经网络的论文例文 大学生适用: 硕士学位论文、研究生论文
相关参考文献下载数量: 78 写作解决问题: 写作参考
毕业论文开题报告: 论文任务书、论文结论 职称论文适用: 技师论文、职称评中级
所属大学生专业类别: 写作参考 论文题目推荐度: 优质选题

关 键 词:神经网络入侵检测;自动变速率;随机优化算子

中图分类号:TP18文献标识码:A文章编号:1009-3044(2014)03-0614-03

随着互联网应用的发展,更现显了网络安全的重要性.入侵检测技术在安全防护中是一种主动防护技术,能及时地检测各种恶意入侵,并在网络系统受到危害时进行响应,因此在为安全防御体系中入侵检测系统占有重要的地位.但是在现实的应用中,入侵检测系统没有充分发挥其作用.这是因为,不断变化的入侵方式要求入侵检测模型必须具有分析大量数据的能力.无论这些数据是不完全的,是非结构化的,或者是含有噪音的.而且,有些攻击是由处于不同网络位置上的多个攻击者协作进行的,这就要求入侵检测模型又必须具备处理来自非线性数据源的大量数据的能力.神经网络具有联想记忆能力、自学习能力和模糊运算的能力.因此将神经网络应用入侵检测中,它不仅可以识别出曾见过的入侵,还可以识别出未曾见过的入侵.该文首先介绍了一种改进的神经网络算法,然后分析了该算法在入侵检测中的应用,并给出试验仿真结果.

1BP神经网络与入侵检测

1.1BP神经网络的特点与不足

BP神经网络是神经网络模型中应用最广泛一种.它基于成熟的BP算法,主要有以下几个特点:1)它能够实现自组织、自学习,根据给定的输入输出样本自动调整它的网络参数来模拟输入输出之间的非线性关系.2)在存储上采用分布式存储,所有的信息分布存储在每一个神经元中.3)它还可以实现并行处理,下一层的每个神经元可以根据接收到的上一层信息同时独立地计算.这些特点使其很适合应用于入侵检测技术,满足入侵检测的适应性、可靠性、安全性和高效性的要求.

但是传统的BP算法也存在着以下几个方面的不足:1)局部极小;2)学习算法收敛速度慢;3)隐含层节点选取缺乏理论;4)加入新的样本会影响已经学完的样本;5)每次输入样本特征的数目必须确定且相同.

1.2入侵检测技术

通过对系统数据的分析,当发现有非授权的网络访问和攻击行为时,采取报警、切断入侵线路等措施来维护网络安全,这被就是入侵检测技术.采用此技术设计的系统称为入侵检测系统.根据采用的技术来说入侵检测系统应具有以下几个特性:1)监视用户及系统活动;2)分析用户及系统活动;3)异常行为模式分析;4)识别已知的进攻活动模式并反映报警;5)系统构造和弱点的审计,操作系统的审计跟踪管理;6)评估重要的系统和数据文件的完整性,并识别用户违反安全策略的行为.

目前最常用的攻击手段有:拒绝怎么写作、探测、非授权访问和非授权获得超级用户权限攻击.而且这些攻击手段在实际中还有很大的变异,因此给入侵检测带来了一定的难度.BP神经网络的自组织自学习能力,使得经过训练后的BP神经网络对以前观察到的入侵检测行为模式进行归纳总结,除了可以识别出已经观察到的攻击,还可以识别出由已知攻击变异出的新的攻击,甚至是全新的攻击.

2.3改进的神经网络算法

人工神经网络在模式识别、非线性处理、信号检测等领域应用非常多,这是由于人工神经网络具有的良好的自适应和自组织性,高度的非线性特性以及大规模并行处理和分布式信息存储能力的特性.BP神经网络算法实质上是非线性优化问题的梯度算法,该算法在收敛性问题上存在限制与不足.即该算法学习的结果不能保证一定收敛到均方误差的全局最小点,也有可能落入局部极小点,使算法不收敛,导致陷入错误的工作模式.因此本文选择了改进的神经网络,改进主要有以下几点:

2)自动变速率学习法

传统的BP算法是以梯度为基础,采用LMS学习问题的最陡下降法,学习步长是一个固定不变的较小值,不利于网络的收敛.因此,选择了基于梯度方向来自动调节学习速率的方法.利用梯度确定学习的方向,由速率决定在梯度方向上学习的步长.因此,如果相邻两次的梯度方向相同则说明在该方向是有利收敛的方向,如果相邻两次的梯度方向相反则说明此处存在不稳定.因此,可以利用两次相对梯度变化来确定学习步长,当两次梯度方向相同时则增大学习步长,加快在该方向上的学习速度;而如果两次梯度方向相反那么减小学习步长,加快整个网络的收敛速度.这种方法的自适应速率调节公式如下:

2)引入遗忘因子

本文所采用的自适应变速率学习法是依据相邻两次梯度变化来确定学习步长的算法,但单纯的学习速率的变化还不能即完全地既保证收敛速度,又不至于引起振荡.因此考虑变相的学习速率的学习.即在权值的调节量上再加一项正比于前几次加权的量.权值调节量为:

我们将[τ]称为遗忘因子.遗忘因子项的引入就是对学习过程中等效的对学习速率进行微调的效果.遗忘因子起到了缓冲平滑的作用,使得调节向着底部的平均方向变化.


3)随机优化算子

虽然采用自动变速率学习法,并引入遗忘因子的神经网络算法可以对学习速率进行微调,但是仍存在着BP神经网络的限制与不足因此引入随机优化算子.也就是当网络的权值误差迭代一定的次数后,仍没有明显的收敛,或者系统误差函数的梯度连续几次发生改变,这说明网络进入了一个比较疲乏的状态,需要借助外界的推动力来激活网络.当发现上述的两种情况时,就产生与权值维数相同的随机数,并将随机数与权值直接相加,然后判断系统误差的变化.如果误差没有降低,那么就再继续产生随机数来修改权值,直到误差减少,再从新的权值开始继续BP算法.随机优化算子可以令搜索方向随机变化,从而摆脱局部极小点.

4)改进算法与传统算法比较

以200个训练样本为例,分别采用改进的BP神经网络和经典BP神经网络的方法进行学习、训练.两种算法的误差收敛对比曲线如图1所示.3采用改进算法的入侵检测仿真实验

入侵检测系统进行测试和评估需要标准的、可重现的并包含入侵的大量数据.本仿真实验选取DARPA数据集网络连接数据集作为实验数据.然后,对这些数据选三组特征值进行实验,并给出实验结果.

3.1数据源的选取

该实验的数据采用DARPA1988入侵检测评估数据库的数据.该数据有大量的连接数据记录.每个一记录代表一次网络连接,且每个记录均有41个特征值,其中各个特征的含义不同,大致可分为三类:1)表示网络连接内容特征;2)表示网络连接基本特征;3)表示网络连接流量特征.

模拟的入侵主要有以下四种类型:DOS、R2L、U2R、Probing,考虑到设计的实用性分别对三类特征值用神经网络分别进行训练和识别.实验选取了13000组数据进行仿真实验,其中3000组用于训练神经网络,10000组用于系统测试.

3.2仿真实验结果

对三类特征组的训练集数据应用改进神经网络分别训练出三个神经网络,表示网络连接内容特征的神经网络,表示网络连接基本特征的神经网络以及表示网络连接流量的特征的神经网络在训练成功时的迭代步数分别为7056,386,3030.然后再对测试集数据进行测试,结果如下:

1)表示网络连接内容特征组,利用改进神经网络进行检测识别,结果如表1所示.

2)表示网络连接基本特征组,利用改进神经网络进行检测识别,结果如表2所示.

3)网络连接流量特征组,利用改进神经网络进行检测识别,结果如表3所示:

从表中数据可以看出对常见的四种攻击,不同的特征分组在改进神经网络的作用下检测各有优势.

4结论

论文采用自动变速率学习法,利用遗忘因子进行微调,同时引入随机优化算子对BP神经网络进行了改进.改进神经网络的收敛速度比经典BP神经网络更快,同时稳定性也较好.并将该算法应用于入侵检测实验,实验结果显示改进后的算法具有较好的识别攻击的能力.