正在加载图片...
第6期 宋玲,等,变异粒子群优化的BP神经网络在入侵检测中的应用 ·559· PSO算法的应用可以加快BP神经网络的训练速 保持固定的,因此,下一层神经元的状态只受其上一 度,然而,对于复杂的高维问题,PS0算法过早收敛 层神经元状态的影响. 的特性并不能保证收敛到最优值2) 2)反向传播误差信号:信号在网络中传播时, 其期望输出与实际输出的差值表示误差信号,从网 1 PSO算法和BP神经网络 络输出端起逐层依次向后传播误差信号,在反向传 1.1PS0算法 播误差信号的过程中,用误差反馈调节BP网络的 在对鸟群和鱼群群体运动行为研究的基础上, 权值 1995年美国社会心理学家J.Kennedy和电气工程 2改进的MPSO BP神经网络 师R.Eberhart共同提出PSO算法,该算法是一种基 于种群的智能优化方法,其基本思想源于群体中个 2.1基于变异算子的MPS0算法 体之间信息的社会共享和协同进化).用以下数学 基本粒子群优化算法的缺点是:容易陷入局部 过程表示PSO算法为: 最优和出现过早收敛,进而该算法的优化效果无法 假设搜索空间的维数是D维,种群 达到最佳[)本文提出带变异算子的PS0算法(MP X=[x1x2…x]T中有N个粒子,种群X的全局极值 SO,mutation particle swarm optimization),该算法可 为P。=[P,P…P]'其中,第i个粒子的速度y,= 以有效解决基本PS0算法容易陷入局部最优的问 题,并且可以提高基本P$0算法在求解高维复杂函 […n],位置x=[2…n],个体极值P= 数时的搜索精度。 [P,P,P,]'在确定全局极值和个体极值后,种群 通过分析基本PS0算法可知,线性调整粒子群 X用式(1)~(3)更新第i个粒子的位置和速度[): 的惯性权重后,PS0算法的局部和全局搜索性能将 =w吃+cand(p吃-或)+ 会有所下降.为了使粒子群优化算法的局部和全局 cgrand() (1) 搜索性能得到有效平衡,弥补通过线性递减策略调 k+】 (2) 整惯性权重的缺点,文中惯性权重的值通过变异 算子策略进行调整.用式(4)非线性求解惯性权重0 10(k)=0ax-k兰 ,(0ms-0mia) (3) 的值: 式中:d=1,2,…,D:i=1,2,…,N:k代表粒子迭代第k w(k)=0in+(wmx-0mn)exp(-25k/knx). 次;c1和c2分别调节粒子向最佳个体粒子与最佳全 (4) 局粒子方向飞行粒子的最大步长,称为加速系数: 2.2MPS0_BP神经网络 rand和rand是随机数,其取值在[O,1]内;x,和 BP神经网络隐含层的单元数生成后,把以下向 量整合到一个向量空间中:高斯函数的中心矢量、赋 代表第k次迭代中在第d维的第i个粒子的位置和 范向量和网络权值的初始值,然后作为本文MPSO 速度:P是群体在第d维的全局极值分量;P是第i 的位置向量进行寻优,在BP网络接近函数性能指 个粒子在第d维的个体极值分量:w的作用是保持 标最优值时,采用MPS0算法,计算得到粒子的个体 粒子的运动惯性,称为惯性权重:心的最大进化迭代 极值,通过粒子群迭代输出群体的全局最优极值, 数和初始惯性权值分别用k0表示,wm表示粒 MPSO算法的全局搜索结束:然后对BP网络进行局 子进化到最大迭代次数k的惯性权值.通过粒子群 部优化,将群体的全局最优解作为BP网络的初值, 的不断更新,直到某粒子到达解空间中最优解的位 按照对应方式,对全局最优解进行相应编码,在计算 置,结束整个搜索过程.输出全局最优解用p。表示2). 偏差偏离设定目标时,返回重新计算,用MPS0算法 1.2BP神经网络 进行群体全局最优搜索,重复以上搜索步骤,粒子群 BP神经网络是一种多层前馈神经网络,采用误 输出最优解。 差反向传播学习算法.网络模型有3个层次:输入 采用均方根误差的倒数作为目标函数,训练样 层、隐含层和输出层.在输入样本的刺激下,BP神经 本总数用N表示,目标函数的误差平方和用f表 网络通过持续更新连接权值,使输出不断接近网络 示,其实际值和期望值分别用y()和y(k)表示, 的期望输出[6.用以下学习过程表示BP神经网络 目标函数表示如式(5): 算法[: N 1)正向传播工作信号:经隐含层单元,输入信 (y(k)-y.(k))2 (5) 号从输入层传向输出层,在网络输出端形成输出信 用以下流程表示MPSO_BP混合优化算法, 号,BP神经网络的权值在信号的正向传播过程中是 1)用N组给定值和一个样本集分别作为BP神PSO 算法的应用可以加快 BP 神经网络的训练速 度,然而,对于复杂的高维问题,PSO 算法过早收敛 的特性并不能保证收敛到最优值[2⁃5] . 1 PSO 算法和 BP 神经网络 1.1 PSO 算法 在对鸟群和鱼群群体运动行为研究的基础上, 1995 年美国社会心理学家 J. Kennedy 和电气工程 师 R. Eberhart 共同提出 PSO 算法,该算法是一种基 于种群的智能优化方法,其基本思想源于群体中个 体之间信息的社会共享和协同进化[2] .用以下数学 过程表示 PSO 算法为: 假 设 搜 索 空 间 的 维 数 是 D 维, 种 群 X=[x1 x2… xn ] T中有 N 个粒子,种群 X 的全局极值 为 Pg = [pg 1 pg 2 … pg D ] T .其中,第 i 个粒子的速度 vi = [vi 1 vi 2 … vi D ] T ,位置xi =[xi 1 xi 2 … xi D ] T ,个体极值 Pi = [pi 1 pi 2 … pi D ] T .在确定全局极值和个体极值后,种群 X 用式(1) ~ (3)更新第 i 个粒子的位置和速度[2] : v k+1 i d = wv k i d + c1 rand k 1(p k i d - x k i d ) + c2 rand k 2(p k g d - x k g d ), (1) x k+1 i d = x k i d + v k+1 i d , (2) w(k) = wmax - k (wmax - wmin ) Kmax . (3) 式中:d = 1,2,…,D;i = 1,2,…,N;k 代表粒子迭代第 k 次; c1 和 c2 分别调节粒子向最佳个体粒子与最佳全 局粒子方向飞行粒子的最大步长,称为加速系数; rand k 1 和 rand k 2 是随机数,其取值在[0,1]内;x k i d 和 v k i d 代表第 k 次迭代中在第 d 维的第 i 个粒子的位置和 速度;p k g d 是群体在第 d 维的全局极值分量;p k i d 是第 i 个粒子在第 d 维的个体极值分量; w 的作用是保持 粒子的运动惯性,称为惯性权重;w 的最大进化迭代 数和初始惯性权值分别用 kmax、wmax表示,wmin表示粒 子进化到最大迭代次数 kmax的惯性权值.通过粒子群 的不断更新,直到某粒子到达解空间中最优解的位 置,结束整个搜索过程.输出全局最优解用 pg 表示[2] . 1.2 BP 神经网络 BP 神经网络是一种多层前馈神经网络,采用误 差反向传播学习算法.网络模型有 3 个层次:输入 层、隐含层和输出层.在输入样本的刺激下,BP 神经 网络通过持续更新连接权值,使输出不断接近网络 的期望输出[6] .用以下学习过程表示 BP 神经网络 算法[4] : 1)正向传播工作信号:经隐含层单元,输入信 号从输入层传向输出层,在网络输出端形成输出信 号,BP 神经网络的权值在信号的正向传播过程中是 保持固定的,因此,下一层神经元的状态只受其上一 层神经元状态的影响. 2)反向传播误差信号:信号在网络中传播时, 其期望输出与实际输出的差值表示误差信号,从网 络输出端起逐层依次向后传播误差信号,在反向传 播误差信号的过程中,用误差反馈调节 BP 网络的 权值. 2 改进的 MPSO_BP 神经网络 2.1 基于变异算子的 MPSO 算法 基本粒子群优化算法的缺点是:容易陷入局部 最优和出现过早收敛,进而该算法的优化效果无法 达到最佳[7] .本文提出带变异算子的 PSO 算法(MP⁃ SO,mutation particle swarm optimization),该算法可 以有效解决基本 PSO 算法容易陷入局部最优的问 题,并且可以提高基本 PSO 算法在求解高维复杂函 数时的搜索精度. 通过分析基本 PSO 算法可知,线性调整粒子群 的惯性权重后,PSO 算法的局部和全局搜索性能将 会有所下降.为了使粒子群优化算法的局部和全局 搜索性能得到有效平衡,弥补通过线性递减策略调 整惯性权重的缺点,文中惯性权重 w 的值通过变异 算子策略进行调整.用式(4)非线性求解惯性权重 w 的值: w(k) = wmin + (wmax - wmin )exp( - 25k / kmax). (4) 2.2 MPSO_BP 神经网络 BP 神经网络隐含层的单元数生成后,把以下向 量整合到一个向量空间中:高斯函数的中心矢量、赋 范向量和网络权值的初始值,然后作为本文 MPSO 的位置向量进行寻优,在 BP 网络接近函数性能指 标最优值时,采用 MPSO 算法,计算得到粒子的个体 极值,通过粒子群迭代输出群体的全局最优极值, MPSO 算法的全局搜索结束;然后对 BP 网络进行局 部优化,将群体的全局最优解作为 BP 网络的初值, 按照对应方式,对全局最优解进行相应编码,在计算 偏差偏离设定目标时,返回重新计算,用 MPSO 算法 进行群体全局最优搜索,重复以上搜索步骤,粒子群 输出最优解. 采用均方根误差的倒数作为目标函数,训练样 本总数用 N 表示,目标函数的误差平方和用 f i 表 示,其实际值和期望值分别用 ym( k) 和 y( k)表示, 目标函数表示如式(5): f i = 1 2 ∑ N i = 1 (y(k) - ym(k)) 2 . (5) 用以下流程表示 MPSO_BP 混合优化算法. 1)用 N 组给定值和一个样本集分别作为 BP 神 第 6 期 宋玲,等:变异粒子群优化的 BP 神经网络在入侵检测中的应用 ·559·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有