论文部分内容阅读
BP神经网络运用于入侵检测系统有很多优点,但是也存在一些缺点,如执行速度比较慢的问题等。常用的LMBP算法,虽然收敛速度很快,但是应用于入侵检测系统执行速度仍然不能满足要求。结合KDD99数据集,选取适当的数据,通过加入一些限制条件,对LMBP算法进行了优化。通过实际计算,比较算法优化前后的计算结果,验证了优化算法是有效的。优化后的算法比较明显的提高了BP神经网络应用于入侵检测系统时的执行速度,具有一定的实用价值。本论文由彼此相关而又独立的四章所组成。第一章为序言与预备知识,简要介绍了入侵检测和本文所需的数学工具,BP神经网络的基本概念和发展历史及现状。在§1.1节中介绍了入侵检测的基本概念。在§1.2节中介绍了基本的BP算法。§1.3节介绍了基本的BP算法的一些改进方法,包括动量方法,可变学习速度算法,共轭梯度法及Levenberg-Marquardt算法。其中,重点介绍了Levenberg-Marquardt算法。本章是后面各章的基础。第二章§2.1节介绍了本文使用用的KDD99数据集的基本情况。由于这个数据集包含的属性较多,因此为了简化问题,需要对这个数据集的属性进行约简。§2.2节介绍了对KDD99数据集进行属性约简的一种理论-粗集。§2.3节使用粗集的属性约简算法对KDD99数据集进行了约简,约简的效果较好.说明使用粗糙集进行属性约简是非常有效的。第三章§3.1节首先介绍了BP神经网络在入侵检测系统中的应用及已经取得的一些成果。§3.2节将本文需要使用的KDD99数据集中的数据,根据上一章的结果,做了进一步的处理,最终选定了实验数据。§3.3节讨论了网络参数选择的问题,其中比较难确定的就是隐含层的数目。最后提出了网络泛化能力的问题。§3.4节根据确定的网络参数,使用Matlab神经网络工具箱中提供的函数对网络进行了训练和测试。§3.5节提出了一个优化算法,通过比较计算结果,可以看到优化后的算法是有效的。第四章对网络的泛化能力进行了讨论。§4.1节中介绍了BP网络过拟合时满足的不确定关系式:|△p|·|△x|≥Sq/2log2(1+M/N)’ (1)由此关系式得到了§4.2中的一些结果。在§4.3-§4.4节得到了一个计算隐节点的公式:H*=[30.8/Rε13/2log2(1+1/ε1)] (2)这个公式就是本文计算网络隐节点数的公式。从第三章的结果可以看到,用此式确定网络的隐节点,网络具有较好的泛化能力。最后一节提出了该领域需要解决的问题及我们今后的研究方向。