欢迎您访问起点作文网,请分享给你的朋友!

当前位置 : 首页 > 范文大全 > 实用范文

神经网络的正则化方法(收集3篇)

来源: 时间:2026-02-05 手机浏览

神经网络的正则化方法范文篇1

关键词:神经网络滤波微硅陀螺LM算法非线性校正

中图分类号:TP183文献标识码:A文章编号:1007-9416(2014)05-0064-02

1引言

微硅陀螺是一种低成本惯性角速度传感器。相比较于光纤陀螺、激光陀螺等基于萨格奈克效应的光学陀螺,微硅陀螺的输出存在非线性,且精度不高,动态特性较差。微硅陀螺的输出误差主要有温度漂移和非线性误差两部分组成。一般可采用线性回归方法对陀螺输出随温度的变化进行补偿;对非线性误差部分则采用具有非线性映射能力的神经网络、模糊逻辑等算法进行校正。神经网络具有以任意精度逼近非线性函数的能力,应用神经网络来处理传感器的输出信号,提高其精度是一种很有效的手段。国内外对传感器信号输出的神经网络非线性校正一般采用两种方案。

(1)多传感器的数据融合技术[1]。利用一组环境传感器检测传感器工作时的温度、湿度以及电源波动等因素,将环境传感器的输出和被补偿传感器的输出作为神经网络的输入,通过神经网络的非线性映射能力校正传感器的输出,网络的输出是被补偿传感器的修正值。(2)基于神经网络滤波的方法[2,3]。神经网络滤波器是一种动态回归神经网络(DRNN)。在多层前馈神经网络中使用延时单元来保存以前的状态,同时引入输出反馈,如图1所示。DRNN能够克服一般前馈网络易将非线性动态变为静态模型的缺陷,且避免了过于复杂的网络结构。研究表明,DRNN可映射为非线性动力学系统[4]。

本文拟采用神经网络滤波器对CRS03型微硅陀螺的输出进行非线性校正,以KVH公司DSP3000型光纤陀螺的输出作为教师信号。得到滤波器的响应与光纤陀螺输出的标准样本的误差值,采用改进的Levenberg-Marquadrt算法训练神经网络滤波器,从而达到对微硅陀螺进行非线性校正的目的。输出补偿系统框图如下图2所示。

2神经网络滤波器构建

2.1神经网络滤波器结构和输入方式

神经网络滤波器的结构如(图1)所示,它是一种三层前馈网络,同层各神经元之间不互连。滤波器的隐层采用sigmoid函数作为激励函数,输出层采用线性输出函数。滤波器的输入方式分为有反馈和无反馈两种形式。无反馈滤波器是以最近一段时期的输入序列为变量,输出仅是输入序列的函数,性能稳定,结构简单,参数可控性强。但由于不能通过反馈的形式与更早的输入相关,因而要达到一定的精度,输入序列较长,容易引入有限字长效应。有反馈滤波器是以近期的输入和输出序列为变量。这种方式可用简洁的系统结构完成较复杂的功能,在设计固定结构自适应滤波器时有一定的优势,且阶数较少,运算速度较快。但由于过去所有的输入均影响当前的输出,滤波器可能不稳定,会产生误差积累。本文中将对两种形式的滤波器的非线性校正能力作比较。

2.2输出补偿系统模型

以有反馈神经网络滤波器为例,输入的一部分是由微硅陀螺的输出信号经延时获得,另一部分是神经网络的输出经延时获得。将微硅陀螺的模拟输出经采样保持,得到某一时刻点的输出,经延时获得,…,。网络输出信号,经延时得到,

…,,再反馈到神经网络输入。网络输出为单个节点,即输出值。

3改进Levenberg-Marquardt算法用于滤波器学习

神经网络学习算法的目的是通过分析高精度光纤陀螺信号来确定滤波器参数,使其在指定的微硅陀螺输入序列激励下,滤波器的输出与期望输出之间的均方误差最小。由于神经网络滤波器本质上属于DRNN,传统BP算法并不适用。本文对Levenberg-Marquardt算法进行了改进,使之用于神经网络滤波器训练。

3.1基本LM算法

LM算法结合了高斯-牛顿法和最陡下降法的优点,是专用于误差平方和最小化的方法。在神经网络训练中,规定性能函数。

其中,是Jacobian矩阵,它是误差向量对网络各个权值的导数,其转置即为梯度阵:。

LM算法的核心在于是变化的。很大时,上式变为步长很小的梯度下降法,即,当时,上式变为近似Hessian的牛顿法。该算法提供了牛顿法的速度和保证收敛的最陡下降法的折衷。

3.2用于神经网络滤波器学习的改进LM算法

LM算法无法直接应用于具有延时输出环节的DRNN。对此,构建回归输入矩阵。设网络有n个延时输入节点,有m个输出反馈节点,则回归输入矩阵的前n+1行存放前n+1个节点的顺序输入值,后m行存放m个节点的回归输入值。

令,其中。改进的LM网络递推算法如下:

(1)选择初始权值和初始的值,计算初始网络输出;(2)求解各权系数的导数;(3)求解梯度向量:;(4)求解Hessian阵:;(5)更新网络权值:。

(6)计算网络输出和性能函数。若,则,即增加步长,接近高斯-牛顿搜索方向;若,则,即减小步长,接近最陡下降搜索方向;(7)若性能函数,则接受该步,保存计算结果,迭代次数加1;否则不接受该步;(8)若或低于规定值,则回到(2),否则计算结束。算法中,步长参数q的选取对算法的快速性和稳定性有较大影响。q过小则收敛较慢;q过大虽然收敛快,但易造成振荡。本文中,通过实验比较,选q=2为最佳步长。

4滤波结果分析

采用工控机配合数据采集卡组成采集系统,将DSP3000型光纤陀螺和CRS03微硅陀螺置于同一转台上进行测试。

4.1样本数据集建立

本文给出了微硅陀螺原始输出,无反馈和有反馈的神经网络滤波3组测试数据。选取10组实验数据,每组数据量350点。尽可能使陀螺输出跨越整个量程。实验获得的某一组样本集数据如(图3)所示。

4.2滤波器补偿结果

对无反馈和有反馈神经网络滤波进行了实验比较。取p=0.75,q=2。最大迭代次数为500,性能函数时停止迭代。通过大量试验比较确定最佳的滤波器阶数和隐层单元数。确定的无反馈滤波器的输入延时结点、隐层结点、输出延时结点分别为8/7/14。有反馈滤波器的最佳网络结构为7/4/13。下图4为无反馈滤波器的补偿结果。由于网络初始权值为随机值,每次补偿结果略有不同。

4.3滤波效果比较

由于不同的网络初始值补偿结果略有差别,本文对两种网络各进行了10次实验比较。用性能函数作为评价参数。定义传感器的精度为最大测量值误差与满量程的比值,即:

(表1)比较了两种网络10次补偿结果的参数平均值:

由(表1)可以看出,运用神经网络滤波器对微硅陀螺的输出进行补偿是有效的。无反馈网络补偿的收敛较快。尽管带反馈的网络补偿结果的性能稍优于前者,但其迭代次数较大。

4.4网络泛化能力检验

随机抽取了一组实验数据对已训练好的网络进行泛化能力验证,补偿结果与训练样本集效果接近,证明网络具有较好的泛化能力。此外,本文进行了基于相关分析法的模型有效性检验。相关分析的判据要求如果模型是有效的,误差将与过去的所有输入输出的线性及非线性组合量不相关。在本文中,考查了误差本身的自相关函数和误差与输入的互相关函数:

若函数落在置信区间内,则参数估计是有效的,即样本点数。随机抽取一组实验数据,以无反馈滤波的网络结构实验,得如图5所示。实验证明,相关函数的值基本处于置信区间内,故神经网络模型较好地反映了输入输出映射关系,网络的泛化能力较好。

5结语

本文研究了采用神经网络滤波器,结合高精度光纤陀螺输出作为教师信号进行微硅陀螺的输出非线性校正。改进了Levenberg-Marquardt算法,使其适用于神经网络滤波器的网络学习。结合实验结果可以证明,运用神经网络滤波器进行输出补偿,可使微硅陀螺的性能有较大改善。采用无反馈神经网络补偿算法收敛快,效果较好。本文还通过相关分析法的计算证实了模型的有效性,检验了网络的泛化能力。

参考文献

[1]寇雪芹等.人工神经网络在传感器数据融合中的应用[J].传感器技术,2002,21(10):49-51.

[2]GaoXZetc.A/DConverterResolutionEnhancementUsingNeuralNetworks[A].ProcIEEEInstrumentandMeasurementTechnologyConference[C],Ottawa,Canada:1997:1112-1117.

神经网络的正则化方法范文篇2

【关键词】输电线路弧垂电场神经网络

1引言

随着我国电力事业的迅速发展,对电力系统的安全性与可靠性也提出了更高的要求。输电线路是电力系统的重要组成部分,弧垂是输电线路运行维护的重要指标之一,其大小直接关系到线路的安全性与可靠性,必须控制在一定的范围内。而输电线路长时间经受自然界中覆冰、温升和风吹等气象的影响,使得线路的弧垂发生较大变化。弧垂过小使得杆塔荷载增大,会产生断线、倒塔和掉串等事故;弧垂过大会使导线与地面的树木、建筑物等发生接触并放电,从而导致线路跳闸。

因此,为了有效监测输电线路导线的弧垂变化大小、准确判断线路状态,采用弧垂监测技术能很好的解决这一问题。目要弧垂监测主要采取人工巡检法、图像监测法、直升机巡检法、GPS定位测距法等,但这些方法在实际中仍存在很多问题,如实时性差、易受外界及天气影响、效率较低等。因此,需要研究一种新的监测输电线路弧垂的方法,克服上述方法的缺点。输电线路弧垂的变化最终都表现在其离地高度的变化上,随着弧垂离地高度的变化,地面场强会随之变化,因此可利用地面场强测量技术得到场强信息,再利用反演算法反演出弧垂,通过较少的场强参数,无需改动线路即可得到比较精确的弧垂值,且不易受到周围环境、气象等条件的影响。而该弧垂监测技术的研究还未见公开报道。

鉴于此,本文设计了一种基于地面电场变化的输电线路弧垂监测技术,通过输电线路下地面场强的计算可以反演出线路的弧垂大小。该技术通过采用本文提出的基于神经网络的输电线路下地面测量技术,对场强测量数据进行修正,从而得到输电线路下地面场强的精确值,再利用本文设计的基于电场信息的输电线路弧垂反演计算方法得到弧垂值,最后通过基于场强变化的输电线路弧垂监测系统对弧垂进行监测和报警,保证了输电线路的安全可靠运行。

2基于神经网络的输电线路下地面场强测量技术

基于神经网络的输电线路下地面场强测量技术,主要由测量数据修正模型构建技术和测量数据修正技术组成。测量数据修正模型构建技术将RBF神经网络与一般神经网络相结合,构建测量数据修正模型,该模型能够精确拟合测量数据与理想数据之间的非线性关系,在保证收敛速度快于一般的BP神经网络的前提下具有更强的泛化能力;测量数据修正技术利用构建的修正模型,可实现对测量数据的修正,有效减少外界环境对测量工作的影响,使其更接近理想值,增加数据可靠性。

2.1测量数据修正模型构建技术

测量数据修正模型构建技术基于一种测量数据修正模型,该修正模型利用神经网络可任意精度逼近非线性函数的优点,将RBF神经网络与一般神经网络相结合,拟合输电线路下地面的场强测量数据与场强理想数据之间的非线性关系,可实现对实测数据的精确修正,获得输电线路下地面的真实场强值。

因此,本文测量数据修正模型构建技术的实现主要分为两个步骤:第一步是神经网络初始模型的构建,第二步是测量数据修正模型的构建。通过设置神经网络参数,Φ谝徊降耐络初始模型进行训练,最终得到测量数据的修正模型。

2.1.1神经网络初始模型的构建

本文所提出的神经网络模型将RBF神经网络与一般神经网络相结合,网络结构分为四层:输入层、第一隐层、第二隐层和输出层。其中网络的输入层与第一隐层、第一隐层与第二隐层之间采用RBF神经网络隐层模式,第二隐层与输出层之间采用传统神经网络隐层模式。网络的初始模型图如图1所示。

如图1所示,网络的输入和输出均采用二维向量,第一隐层节点数设为m1=2m+1,其中m为输入的个数,第二隐层的神经元节点初始为m2个。其中,第一隐层每个神经元节点的基函数采用欧式距离、激励函数采用高斯径向基函数,第二隐层每个神经元节点的激励函数采用非对称型sigmoid函数,输出层每个神经元节点的激励函数采用Purelin型线性函数。

2.1.2测量数据修正模型的构建

构建测量数据修正模型,需要对网络初始模型的参数进行设置,并基于这些参数对网络进行训练,最终得到测量数据的修正模型。本文采用Levenberg-Marquardt算法对网络初始模型的各个参数进行设置,并在训练的过程中对神经网络第二隐层的节点数进行优化,训练的具体步骤如下:

第一步,样本库的构建。样本库由理想场强数据和实测场强数据构成。理想场强数据通过基于模拟电荷法的线路电场三维计算模型求得,实测场强数据通过实地测量得到,最终获取到K(K≥Kmin,Kmin为最小的样本集大小)组样本数据,并将其作为本模型的样本库。

其中,理想场强数据的计算是通过将线路划分为多个线单元,利用有限长模拟线电荷法来计算每个线单元周围的三维电场分布。具体过程为:首先通过电位系数矩阵和导线上电位的单列矩阵计算出到线上的电荷单列矩阵,即输电线路单位长度所带的电荷;随后根据单位长度导线上的等效电荷即可计算出三维空间直角坐标系下场强的各个分量。

第二步,初始化网络节点。在网络的初始化过程中,从样本库中选取p组数据作为初始训练样本,将样本中的实测场强数据作为输入层的输入,将理想场强数据作为输出层的输出,第一隐层初始为m1个神经元节点,第二隐层的神经元节点初始为m2。

第三步,对网络中的所有参数(包含高斯基函数的中心矢量C、基宽向量B和网络权重系数)进行随机初始化,设定合适的Levenberg-Marquardt算法参数μ、β、最大训练步数、网络训练误差及样本测试误差,并利用LM算法训练各参数。具体训练过程结合表1来详细阐述:

首次训练,经过n1次的迭代,网络收敛(满足训练误差)。随后从样本库中选取独立于训练样本的p组测试样本,输入第1步训练得到的网络,计算平均测试误差,平均测试误差用e表示,定义为:

其中,M1表示测试样本的数量,E(n)表示理想场强值,Eout(n)表示网络输出的修正数据。

若满足精度要求,则训练结束;若不满足精度要求,则将训练样本和测试样本合并组成新的训练样本(表1中第2步,训练样本数更新为2p),并将第二层的隐层节点数加2,执行第四步。

第四步,重复LM训练过程,直到平均测试误差满足精度要求,否则每次训练第二隐层节点数就加2。表1中在第N次更新中平均测试误差首次小于设定的阈值,此时网络中第二隐层的节点数增加至d2。

第五步,网络训练结束,固定网络参数。

神经网络初始模型的具体训练流程图如图2所示。

2.2测量数据修正技术

本文的测量数据修正技术基于2.1.2节构建的数据修正模型,测量数据修正模型构建技术在足够数量的训练样本的条件下,采用LM算法对网络参数进行训练,最终得到训练后的数据修正模型图如3所示。

如图3所示,网络模型的各网络参数均已固定,经过优化的第二隐层节点数更新为d2。

测量数据修正技术结合了RBF神经网络,使得收敛速度快于一般BP神经网络。通过对第二隐层节点的优化更新,使网络在尽可能简单的情况下具有更强的泛化能力。在训练过程中无需预先确定其他参数,避免了支持向量机算法需要预先选择合适的核函数的缺陷。

测量数据修正技术的实现是将现场测量得到的场强作为该数据修正模型模型的输入,通过模型内部对数据进行修正,最终得到修正后的场强值,如图3所示。该技术可实现对实测场强数据的修正,有效降低了环境等因素对场强测量的影响,还原出最真实的输电线下地面场强值。

3基于电场信息的输电线路弧垂反演算法

基于电场信息的输电线路弧垂反演算法,通过三个步骤完成对输电线路弧垂的反演监测。首先基于三维输电导线电场计算模型,选取输电线路正常情况下的弧垂作为算法的初始可行解;其次,利用禁忌搜索算法,在该初始解的左右领域内进行局部最优搜索,选取其中的最优解作为新的当前解,并对局部最优解的历史信息进行记录,最终形成一个禁忌表;最后,通过将禁忌表中的最优解对应的场强数据与基于神经网络输电线路下地面场强测量技术测得的实时线路下地面场强数据进行比较,当最优解对应的场强数据与实测数据近似相等时,则将该最优解作为最终反演计算的弧垂值。

3.1三维输电导线电场计算模型

三维输电导线电场计算模型基于线路三相输电的原理,将交流电线路下的场强依据每一单项交流电的方向进行分解。将实测的场强数据分为xyz三个方向上的分量进行存储和计算。该模型图在实际操作中,选取线路实测电场x坐标下横向分布的N个值作为电场实测值。三维输电导线电场计算模型模型图如图4所示。

对于三维输电导线电场计算模型下的N个测量点,记和分别为第m(m=1,2,...,N)个测量点的电场测量修正值和计算值,则对应算法的目标函数为:

3.2禁忌搜索算法

禁忌搜索(TabooSearch,TS)算法是一种亚启发式(meta-heuristic)随机搜索算法,通过引入一个内容可变的存储结构及与该结构相对应的禁忌准则,来避免迂回搜索,最终实现全局寻优。相对于模拟退火和遗传算法,TS算法更适合于求解导线下方电场与弧垂间的非线性问题。

本文提出的基于电场信息的输电线路弧垂反演算法,选取输电线路正常情况下的弧垂作为算法的初始可行解,并利用禁忌搜索算法以寻找弧垂的最优解。弧垂反演算法将初始可行解作为搜索起点,利用移动函数确定该初始解的左右搜索领域,通过计算各领域内解的目标函数来确定局部最优解,并将该局部最优解作为新的当前解。本文反演算法设计禁忌搜索算法的移动函数为:

xnew=x+k*x(k=±1,±2...)(3)

其中,xnew为解x的邻域解;x为移动操作的移动单位,单位为m。x是迭代次数n的函数,n增加会使x减小、搜索精度提高。

通过对局部最优解的历史信息进行记录,将每一局部最优解记为一禁忌对象,最终形成一个禁忌表。禁忌表内记录每一次搜索得到的禁忌对象,并将该禁忌对象在禁忌表内生存时间初始为|T|。其中,|T|作为该表内的禁忌长度,在每一次迭代中,将上一次迭代得到的局部最优解作为该次迭代的初始解,并对表内每一禁忌对象的禁忌长度减1,当某一禁忌对象的禁忌长度变为0时,将其从禁忌表中删除。

禁忌表是一个循环表,在搜索过程中被循环的修改,可以有效避免搜索结果陷入局部最优,但仍可能出现循环。因此,必须给定停止准则以避免出现死循环,当最优解满足精度要求或经过n次迭代最优解无法改进时(其中,n的数值根据搜索精度确认),则停止算法停止。

3.3基于电场信息的输电线路弧垂反演的算法流程

基于电场信息的输电线路弧垂反演的算法流程如图5所示。

由图5可知,基于电场信息的输电线路弧垂反演算法的具体实现步骤如下:

神经网络的正则化方法范文篇3

关键词:入侵检测;神经网络;遗传算法;改进的进化神经网络

中图分类号:TP18文献标识码:A

文章编号:1004-373X(2010)01-078-03

ImprovedEvolutionaryNeuralNetworkAlgorithmandItsApplicationsinIntrusionDetection

LIShuhui

(Xi′anInstituteofPosts&Telecommunications,Xi′an,710121,China)

Abstract:Theimprovedevolutionaryneuralnetworkalgorithmcanevolveneuralnetworkarchitecturesandweightssimultaneouslyusingtheevolutionalruleofbi-population.ItcanresolvetheshortageofexistingleastpartpointofBPneuralnetwork.Theperformanceandconvergentprecisionoftheimprovedevolutionaryneuralnetworkalgorithmisimprovedgreatly.Astudyofapplicationofthealgorithminintrusiondetectionisproposed,andestablishanintrusiondetectedsystemmodelbasedonimprovedevolutionaryneuralnetworkisestablished.UsingKDDCUP99datasettotestassortingmachinemodelofevolutionalneuralnetworkinthismodel.ExperimentresultshowsthatthemethodgainsmorehigherdetectedratiothanthemethodbasedonBPneuralnetworkandthetraditionalevolutionaryneuralnetwork.

Keywords:intrusiondetection;neuralnetwork;geneticalgorithm;improvedevolutionalneuralnetwork

随着网络技术的普遍使用,网络黑客也应运而生,如今黑客遍布世界。随着黑客们知识的日趋成熟,攻击工具和手段的日趋复杂多样,传统的安全方法包括识别与验证(IdentificationandAuthentication)、访问控制(AccessControl)和防火墙(Firewall),已经无法满足对安全高度敏感部门的需要,网络的安全防卫必须采用一种纵深、多样的手段,入侵检测系统(IDS)已经成为必不可少的重要部分。入侵检测系统通过分析网络的数据和审计记录,识别系统中的攻击活动,并采取相应的措施。IDS作为主动的安全技术,已经成为网络安全领域的热点。随着人工智能(ArtificialIntelligence,AI)理论的日趋成熟和智能计算技术的发展,人们将神经网络、专家系统、机器学习、进化算法等智能技术用于入侵检测的研究中,不仅为入侵检测的研究开拓了一个崭新的方向,同时也使网络安全技术发展有了进一步的提高[1]。

1改进的进化神经网络算法

近年来,越来越多的研究人员在从事神经网络(NeuralNetwork,NN)和遗传算法(GeneticAlgorithm,GA)相结合的研究工作,从而开辟了新的进化神经网络研究领域。可以说它是神经网络与遗传算法跨学科结合的产物,研究进化神经网络更好地理解学习与进化的相互关系已成为人工生命领域中十分活跃的课题。遗传算法GA和神经网络NN相结合的进化神经网络算法(EvolutionaryNeuralNetworkAlgorithm,ENNA)已经有了一定的研究和发展,基于遗传神经网络的进化神经网络算法的应用主要有以下两个方面。

(1)遗传算法对神经网络权值的进化[2,3];

(2)遗传算法对神经网络结构的进化[4,5]。

BP神经网络(Back-propagationNeutralNetwork)通常指基于误差反向传播算法的多层前向神经网络,采用有导师的训练方式。BP算法已成为目前应用最为广泛的神经网络学习算法,绝大部分的神经网络模型都采用BP算法或它的变化形式,它也是前向神经网络的核心部分,体现了神经网络最精华的部分。对于BP神经网络的连接权值和网络的结构都是非常重要的信息,所以有必要寻找一种用遗传算法同时优化网络连接权值和网络结构的算法,并且这个算法要编码简单,易操作;算法的适应度要广泛,检测率要高[6-8]。

1.1改进的进化神经网络算法思想

结合入侵检测系统的数据特点,提出一种改进的进化神经网络算法(ImprovedEvolutionaryNeuralNetworkAlgorithm,IENNA),即用改进的遗传算法――双种群遗传算法来优化神经网络权值和结构。传统的遗传算法有两个严重的缺点,即容易过早收敛,以及在进化后期搜索效率低,这时最终搜索到的结果往往不是全局最优解。针对此问题,提出了双种群遗传算法,双种群遗传算法是一种并行遗传算法,它适应多种群同时进化,并交换种群之间的优秀个体所携带的遗传信息,以打破种群内的平衡态,跳出局部最优,同时也加快了算法的进化速度。

改进的进化神经网络算法IENNA的核心思想就是采用双种群的进化规则,整个进化算法存在大、小两个群体。大群体中有多种网络结构的个体;小群体中所有个体有相同的网络结构。通过大群体的进化来优化网络结构,通过小群体来优化网络权值。大群体中,每一个个体都来自小群体中选择出的最优解;小群体中,进化算法选用混合交叉算子BLXα作为交叉算子,按自适应个体变异率采用三子代变异操作算子来进行遗传优化操作。大群体中的进化算法用改进的增加算子和删除算子进行遗传优化。

1.2改进的进化神经网络算法步骤

根据前面介绍的改进进化神经网络算法的思想,将IENNA算法步骤做一简单介绍。

Step1:参数的设定。根据实际确定BP神经网络的层数、各层的神经元数、输入样本的数据模式、误差值、激活函数、遗传的代数等。

Step2:初始化。随机产生p个染色体bi(i=1,2,…,p)作为大种群初始化,每一个染色体用一个网络结构进行编码,此处采用实值编码方法,如:ω1,ω2,…,ωn,b,g,每个码值可用正态分布的小随机数来初始化。

Step3:评估。根据随机产生的权值向量和阈值向量对应的神经网络,用BP算法对给定的输入样本和输出样本进行计算,得出每个神经网络的全局误差E。如果E满足条件,则结束,或者某个个体适应值达到预先设定的要求,则算法亦结束;否则转入Step4。

Step4:小群体演化。将大群体中的个体,按照结构的不同(即编码长度的不同)重新组成每一个小群体,并对每个小群体进行如下m代的进化。

Step4.1:选择。采用标准赌选择法从父代中选择个体,即基于相对适应度的选择,个体的适应度值越高,被选中的概率越大,其被选取的概率按照式(1)和式(2)计算。

pi=fi/∑Ni=1fi,i=1,2,…,N

(1)

个体i的累积概率i定义为:

i=∑ik=1pk,i=1,2,…,N

(2)

Step4.2:交叉。按照BLXα混合交叉算子产生相应的子代,具体交叉个体的选取按式(3)进行交叉。

X1i=min(x1i,x2i)αdi

X2i=max(x1i,x2i)αdi

di=x1i-x2i(3)

式中:x1i,x2i是X1i和X2i的第i个分量,α是一个参数,值为正,根据经验一般取α=0.5。

Step4.3:变异。按自适应变异率,采用三子代变异算子进行变异产生三个新个体,变异概率按式(4)计算,依据式(5)得出三个新个体按适应度值大小进行取舍。

pm=k1(fmax-f)/(fmax-fave),f≥fave

k2,f

(4)

式中:k1=k2=0.5;fmax为群体中适应度最大的个体;fave为群体中平均适应度;f为需要变异个体的适应度。

对选定的个体X按式(5)进行变异,设:

X=[x1,x2,…,xn],xi∈[a,b]

X=[x1,x2,…,xn]+[b1Δx1,b2Δx2,…,bnΔxn]

(5)

式中:a≤xi+Δxi≤b;m=1,2,3;bi的取值为0或1;Δxi为随机产生的数。

Step4.4:判断条件。计算机每个小群体中所选优秀个体的适应度值,如果满足所给的条件,则算法结束;如果进化代数为m,则转Step5,否则重复执行Step4.1~Step4.3。

Step5:重组大群体。小群体C经过m代的演化随机选取优秀个体之一代替c返回主群体。

Step6:大群体演化。大群体中主要是不同结构网络的演化竞争,大群体中的个体可以按式(1)和式(2)选择概率,改变其网络结构,变异算子步骤如下:

Step6.1:删除算子。删除隐含层中某些节点及其相应的连接,删除某些连接,即将相应的权值置为0;

Step6.2:增加算子。增加隐含层节点数,随机产生相应的权值,对权值按小群体中变异算子采用的自适应变化率进行自适应变异。

Step7:组成新的大群体。转到Step3。

2改进的进化神经网络算法在入侵检测中的应用

由于神经网络、遗传算法目标一致而方法各异,若将二者有机的结合,并应用于入侵检测必然会给入侵检测技术的研究和发展带来更加优异的前景。所以本文将前面提出的改进进化神经网络算法应用于入侵检测系统中,以提高入侵检测的分类识别性能。

根据公共入侵检测框架(CommonIntrusionDetectionFramework,CIDF)规范中所给出的一个入侵检测系统的整理模型,将IENNA的思想引入入侵检测中,提出一个基于改进的进化神经网络(IENN)的入侵检测模型[9,10],如图1所示。

图1基于IENN的入侵检测模型

该模型包括数据捕获、特征提取、数据预处理、数据库、进化数据网络训练、进化数据网络分类器和响应模块。报文捕获引擎用于从网络上捕获网络数据包,该系统采用WinPcap实现。特征提取模块用于对捕获到的网络数据进行分析处理,提取出的网络连接信息可以完备而准确地代表该数据流的特征向量。使用数据预处理模块将提取的特征向量进行处理,使之成为可直接作为IENN的输入向量数据。经过预处理的标准数据保存在数据库中,而预处理后的实时数据直接通过IENN分类器进行分类检测,如果认为是一种攻击行为,则向用户发出警告信息,如果发现了未知类型的攻击行为,则将该次攻击事件加入到数据库中,以备再学习。IENN训练机根据数据库中的标准数据训练IENN分类器,经过训练的IENN分类器可以对新的记录进行识别,并把结果保存在数据库中,如果发现是入侵行为,则将结果传给响应模块。

3实验测试和结果

3.1系统开发工具的选取

在利用进化神经网络方法进行入侵检测时,必定会涉及到大量的有关数值计算,尽管现代数值计算理论已经发展的很完善,多数计算问题都有高效的标准解法,但是利用计算机对神经网络和遗传算法进行求解时仍然是很麻烦的,而Matlab中提供了大量的神经网络和遗传算法工具箱,运算功能很强。为了提高软件的开发效率和质量,本文使用VC++6.0和Matlab相结合的方法来实现进化神经网络入侵的检测系统。

3.2实验环境

本实验所采用的计算机为IntelPⅣ2.4GHzCPU,256MBRAM,Broadcom440x网卡,Windows2000Server操作系统。

3.3评估指标

检测精度=正确分类样本数/样本总数

误警率=错误报警率/正常样本总数

漏报率=(实际异常样本数-正确报警数)/异常样本数

对所选择的数据进行了各种比较;对选择不同参数值的检测情况进行分析比较;对BP神经网络、遗传算法、传统的进化神经网络和改进的进化神经网络算法的检测结果也进行了比较。

实验中,将网络权值取值范围定在(-10,+10)之间,精确到0.01,输入节点数18,输出节点数为2,误差为0.01,实验结果见表1。

表1不同参数取值的实验结果

参数名称参数选取

种群大小135150195

种群的进化代数6090100

最好个体适应度值0.990440.994980.99328

检测率0.96830.98780.9765

误警率0.00170.00140.0016

漏报率0.00530.00260.0037

由于隐层节点数是在算法的训练过程中得到的,用改进的进化神经网络算法训练发现:隐层结点数为6,种群大小为150,进化代数为90获得的效果最好,可以达到0.9878的检测率。

在实验中再将改进的进化神经网络算法与其他算法进行实验比较,结果见表2。

表2不同算法的实验结果比较

BP神经网络算法遗传算法传统进化神经网络算法改进的进化神经网络算法

已知入侵检测率0.94950.95880.96320.9878

未知入侵检测率0.82160.84660.89270.9058

误警率0.04030.03880.00980.0014

3.4实验结果分析

通过以上实验测试和结果比较证明,改进的进化神经网络算法比传统的进化神经网络算法、BP神经网络算法和遗传算法都有更好的性能。在实验中采用精简的试验数据集来进行学习和训练,改进的进化神经网络算法针对已知入侵检测数据的检测率是0.9878,对未知入侵检测数据的检测率为0.9058,误警率为0.0014。从表2可见,改进的进化神经网络算法的误警率相对其他算法比较低。所以将改进的进化神经网络算法应用于入侵检测中是完全有效的。由此可以得出,本研究中设计的改进进化神经网络模型是非常有效的、可行的,值得进一步研究,从而不断改善其性能。

参考文献

[1]蒋建春,冯等国.网络入侵检测原理与技术[M].北京:国防工业出版社,2001.

[2]WhiteleyD.GeneticAlgorithmsandNeuralNetwork:OptimizingConnectionsandConnectivity[J].ParallelComputing,1990(14):347-361.

[3]WhiteleyD,HansonT.OptimizingNeuralNetworksUsingFasterMoreAccurateGeneticSearch[M].VIRGINIA:ArlingtonPress,1989.

[4]KitanoH.DesigningNeuralNerworkUsingGeneticAlgorithmwithGraphGenerationSystems[J].ParallelComputing,1990(4):461-476.

[5]GruauF,WhitleyD.TheCellularDevelopmentalofNeuralNetworks:TheInteractionofLearningandEvolution[R].TechnicalReport93-04,MA:EcoleNormaleSuperieuedeLion,1993:145-148.

[6]HaykinS.神经网络原理[M].叶世伟,译.北京:机械工业出版社,2004.

[7]袁曾任.人工神经网络及其应用设计[M].北京:清华大学出版社,2003.

[8]刘光中,李晓峰.人工神经网络BP算法的改进和结构的自调整[J].运筹学学报,2001,5(1):81-88.

[9]郭翠英,余雪丽.基于神经网络的入侵检测模型[J].太原理工大学学报,2001,32(5):485-487.