前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇神经网络的优化方法范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
>> 基于MATLAB的BP神经网络算法在多元非线性系统建模中的应用 改进的求解非线性方程组的迭代神经网络算法 基于非线性粒子群算法与神经网络的天气预测 演化算法在非线性方程求解方面的应用 基于BP神经网络的非线性函数拟合 非线性倒立摆系统的神经网络辨识 基于遗传小波神经网络的非线性动态自治网络故障诊断仿真算法 一种基于正交基神经网络的非线性卫星信道预失真补偿算法 神经网络在电路故障诊断方面的应用 神经网络在钢铁企业质量预测方面的应用 BP神经网络在坐标转换方面的应用 人工神经网络在电涡流传感器非线性补偿中的应用研究 基于神经网络的通用非线性神经自适应控制研究 基于BP神经网络的非线性网络流量预测 改进的基于神经网络的非线性多元回归分析 基于径向基神经网络的非线性系统辨识 基于OBF神经网络的温度传感器非线性补偿方法 基于RBF神经网络的非线性控制系统 群智能算法优化神经网络在网络安全的应用 浅谈基于BP神经网络的水源热泵在建筑节能方面的应用 常见问题解答 当前所在位置:中国 > 教育 > 神经网络算法非线性优化方面的应用 神经网络算法非线性优化方面的应用 杂志之家、写作服务和杂志订阅支持对公帐户付款!安全又可靠! document.write("作者: 方达 胡忠刚")
申明:本网站内容仅用于学术交流,如有侵犯您的权益,请及时告知我们,本站将立即删除有关内容。 摘 要:文章通过神经网络算法对一类非线性优化方面的问题进行了分析,得到了应用神经网络非线性优化算法求解该类问题的具体步骤和算法方案,并给出了实例进行验证,证明了神经网络非线性优化算法是有效的,具有理论意义和实用价值。 关键词::神经网络算法;MTLAB;非线性优化最优化
中图分类号:G622 文献标识码:B 文章编号:1002-7661(2014)22-002-01
人工神经网络是由简单的处理单元所组成的大量并行分布的处理机,这种处理机具有储存和应用经念知识的自然特性,它与人脑的相似之处概括两个方面:一是通过学习过程利用神经网络从外部环境中获取知识;二是内部神经元(突触权值)用来存储获取的知识信息。
一、神经网络非线性优化求解铁路空车调度组合优化问题
目前铁路局对空车调度计划是利用表上作业法,采用计算机辅助统计,要经过分局管内各主要站和各区段的车种别空车调度,分局间分界站车种别交接空车数的确定;局间分界站车种别交接空车数的确定来编制整个铁路局的空车调度计划.下面用神经网络优化方法解决该问题。
空车调度问题一般指的是:设有个空车发送站,个空车到达站数的距离为,设空车产生站 到空车需求站的空车数为,由发出的空车数为,则应满足
空车需求站接受到的空车数为,则应满足
假设空车产生数等于空车的需求数,即平衡运输,则
总的空车走行公里数为
由于神经元的输出值在之间,而空车数目是大于1的数,则将( )作为实际空车数,这样就可以保证在( )之间,求为在中所占的百分比,为了用Hopfield神经网络求解空车调度问题,建立能量函数如下
式中
表示空车发送站的空车数应等于的约束,当且仅当发车数为时,该项为0; 表示空车到达站所需的空车数应等于的约束,当且仅当到达的空车数为时,该项为0;
表示对空车调度的总体约束;
表示对目标项的约束;
表示惩罚项系数,为目标项系数.
当计算能量函数 达到最小时,对应于空车调整计划的一个最佳计划方案.其算法如下
则动态迭代过程为
其中 ,分别代表迭代次数,选取0.001.
二、结束语
[关键词] 小生境遗传算法 神经网络 股票 预测
一、引言
股票和股票市场对国家企业的经济发展起到了积极的作用,如可以为投资者开拓投资渠道,增强投资的流动性和灵活性等。但股票价格的形成机制是颇为复杂的,股票价格既受到多种因素,诸如:政治,经济,市场因素的影响,亦受技术和投资者行为因素的影响,个别因素的波动作用都可能会影响到股票价格的剧烈波动。因此,股票价格和各影响因素之间很难直接建立明确的函数关系表达式。针对这一情况,将可有效处理非线性问题的神经网络引入到股票价格的预测中来,但神经网络收敛慢,易陷入局部极小点,出现振荡,鲁棒性差。所以有的学者用遗传算法(ga)来优化神经网络,这种神经网络可能获得个别的甚至局部的最优解,即ga早熟现象。本文引进能较有效地保持种群多样性的小生境遗传算法(nga),采用nga优化与用ga优化的bp网络权值进行对比,证实了nga的判别准确性和寻优能力。
二、小生境遗传算法优化的神经网络
1.bp神经网络
反向传播(bp)算法又称为误差逆传播校正方法,它是1974年p.werbos(哈佛大学)提出的。133229.CoMbp算法用来训练多层前馈神经网络,属于监督学习算法。bp网络具有结构清晰,易实现,计算功能强大等特点。因而是目前最常见,使用最广泛的一种神经网络。但是在实际应用中,传统的bp算法存在以下问题:收敛速度慢;若加快收敛速度易产生振荡;存在局部极小和平台问题;泛化能力差;隐节点数和初始值的选取缺乏理论指导;未考虑样本选择对系统学习的影响等。所以很多学者提出许多改进的方法,用小生境遗传算法优化神经网络权值的神经网络来预测股票价格。
2.小生境遗传算法
小生境遗传算法(iche genetical gorihm)的基本思想是:首先比较任意两个个体间的距离与给定值的大小,若该距离小于给定值,则比较其适应值大小。对适应值较小的个体施加一个较强的惩罚,极大地降低其适应值。也就是说,在距离l内将只有一个优良个体,从而既维护了群体的多样性,又使得各个体之间保持一定的距离,并使得个体能够在整个约束空间中分散开来。
3.神经网络连接权的优化
用小生境遗传算法可以优化神经网络连接权,神经网络结构,学习规则等,这里我们对神经网络的连接权进行优化,具体步骤如下:
(1)随机产生一组权值分布,采用某种编码方案对该组中的每个权值(或阈值)进行编码,进而构造出一个码串(每个码串代表网络的一种权值分布),在网络结构和学习规则已确定的前提下,该码串就对应一个权值和阈值取特定值的一个神经网络。
(2)对所产生的神经网络计算它的误差函数,从而确定其适应度函数值,误差越大,则适应度越小。
(3)选择若干适应度函数值最大的个体,直接遗传给下一代。
(4)利用交叉和变异等遗传操作算子对当前一代群体进行处理,产生下一代群体。
(5)重复(2)(3)(4),使初始确定的一组权值分布得到不断地进化,直到训练目标得到满足为止。
这种由小生境遗传算法训练神经网络的方法也可以称做混和训练法。将基于小生境遗传算法的遗传进化方法和基于梯度下降的反传训练相结合,这种训练方法吸取两种方法的各自特点,所以收敛速度快。
三、股票价格预测仿真
根据经验选取输入预测日前四天开盘价、收盘价归一化后做为作为输入量,输出为第五天收盘价归一化数值。所以,本文采用神经网络结构为(8,5,1),即网络的输入层6个节点,隐含层9个节点,输出层1个节点。本文选择了“xdg 新梅(600732)”从2006年3月14日到2006年7月1日数据进行了仿真。利用matlab6.5编程,取70组训练样本和30组测试样本。如图(1)表示用遗传算法和小生境遗传算法对神经网络的权值进行优化时,误差曲线变化;从图中可以看出,小生境遗传算法收敛速度要快;图(2)表示股票预测值和实际值比较,从图中可以看出,遗传算法和小生境遗传算法对神经网络的权值的模型进行股票价格的预测,都能预测出股票走向趋势,但是,后者的预测精度显然要比前者高。
四、结束语
股票市场的不确定因素太多,股票的价格更是多种因素影响的集合体,是典型的非线性动力学问题。股票价格的中长期准确预测很难。本文建立了用小生境遗传算来优化神经网络模型来预测股票价格,结果表明,这种方法比单用遗传算法优化的神经网络收敛速度快,预测精度高。对于股票价格预测具有较好的应用价值。
参考文献:
[1]龙建成李小平:基于神经网络的股票市场趋势预测[j].西安电子科技大学学报(自然科学版.2005.3(32):460-463
[2]王波张凤玲:神经网络与时间序列模型在股票预测中的比较[j].第27卷第6期武汉理工大学学报·信息与管理工程版.2005.9(27):69-72
关键词: 高维BP神经网络; 粒子群算法; 神经网络; 结构优化
中图分类号: TN711?34; TP311 文献标识码: A 文章编号: 1004?373X(2017)03?0157?03
Research on a neural network structure optimization method based on
high?dimensional particle swarm optimization
HUANG Yu1, 2
(1. College of Computer Science, Chongqing University, Chongqing 400044, China; 2. Yibin Vocational and Technical College, Yibin 644003, China)
Abstract: In order to eliminate the shortcomings of the traditional BP neural network in the operation process, a neural network optimization method based on the high?dimensional particle swarm optimization algorithm is proposed. The acceleration constant with random variation is introduced into the high?dimensional PSO algorithm to acquire the optimal weight to optimize and train the BP neural network. The optimized high?dimensional BP neural network is applied to the automatic detection of the traffic incident. The trained data is performed with class test with the detection and training algorithm, and its result is compared with those tested with the traditional BP neural network algorithm and classical event detection algorithm. The results show that the detection rate and performance of the algorithm optimized with high?dimensional particle swarm optimization BP neural network algorithm are better than those optimized with BP neural network algorithm and classical algorithm, the values of 2 test samples are different with the expected values of 97 and 50 test samples, the rest samples can meet the test requirement, and the average optimal testing time is half of the detection time of the traditional BP neural network. The optimized BP neural network algorithm has excellent performance.
Keywords: high?dimensional BP neural network; particle swarm optimization; neural network; structure optimization
0 引 言
目前关于高维多目标优化问题的理论和方法大都限于少数几种算法,如NSGA?II算法,粒子群优化(PSO)算法。粒子群优化算法是Kennedy等受到飞鸟集群活动的启发而提出的一类新兴的基于集群智能优化算法[1?5]。相比进化算法,PSO具有易于实现和收敛速度快等优势。近年来PSO在多目标优化领域的研究上取得了较大进展[6?9],在神经网络训练、复杂函数优化、图像处理、工业系统优化等领域应用广泛[10],PSO在特性的函数优化问题上更是发挥着重要作用,这些特性函数通常具备维数高、非线性、规模大、非凸和不可微等特点,一般计算方法运算困难。针对粒子群优化算法的优点以及传统BP神经网络存在的诸如较慢的收敛速度、较低的学习效率,并且在计算过程中较难计算出局部极小值等问题[11?14],提出一种基于高维粒子群算法的神经网络优化方法,结合二者优点使其更好地应用于实际中。
1 基于高维PSO算法的BP神经网络优化
1.1 高维PSO算法简介
粒子群算法是一种集群行为的计算方法,在不局限于二维空间,考虑高维时,即是高维PSO算法。设搜索空间为[D]维,粒子集群是由[M]个粒子组成,其中,第[i]个粒子的空间位置表示为[Xi=xi1,xi2,…,xiD,i=][1,2,…,M,]其飞行速度应表示为[Vi=][vi1,vi2,…,viD。]将空间位置和飞行速度数值代入优化目标函数中,从而计算出用于衡量[x]优劣的适应值。假设粒子[i]搜索到的最优位置为[Pi=pi1,pi2,…,piD,]整个粒子群搜索到的最优位置记为[PK=pK1,pK2,…,pKD。]此时,对于每一代粒子,其第[d]维[1≤d≤D]的速度和位置根据式(1),式(2)迭代:
[vktt+1=ut?vitt+c1r1pid-xidt+c2r2pid-xidt] (1)
[xidt+1=xidt+vidt+1] (2)
[ut=umax-umax-umintitmax] (3)
式中:[ut]代表惯性权值数值,一般为线性惯性权值,惯性权值的作用是提高粒子群算法的全局、局部优化能力;[t]代表现在的迭代次数;[itmax]代表迭代的最大次数;[c1]和[c2]代表学习因子;[r1,r2]代表在[0,1] 范围内变化的两个随机数值。
粒子位置的更新如图1所示。
1.2 BP神经网络
BP神经网络在结构上一般由输入层、隐含层、输出层三层构成,属于多层前馈神经网络,包括输入信号前向传递和误差反向传播两个过程。BP神经网络广泛应用在各种预测模型中。网络结构一般只需单个隐含层就能以任意精度逼近任意有理函数。训练样本的输入、输出向量的维数分别决定了网络的输入、输出层神经节点个数,典型的只有单个隐含层、单个输出的BP神经网络结构如图2所示。
在图2中,[xi=x1,x2,…,xn]代表一组BP神经网络的输入向量;[y]代表一组BP神经网络的目标输出值;[wij]代表输入层和隐含层两层级之间的连接权值;[wj1]代表隐含层和输出层两层级之间的连接权值。[aj,b]分别为隐含层和输出层的节点阈值。若设隐含层节点个数为[m,]则[j=1,2,…,m=1,]在输入信号前向传递过程中,[xi]从输入层逐层传输到隐含层和输出层,由传输过程中各层连接权值矢量、阈值矢量和相应的激励函数计算,得出输出层的预测输出值[Y,]若预测值[y]与目标值[Y]之间有误差,则误差部分转入反向逐层传递,沿误差减小的方向调整网络各层连接的权值、阈值。反复执行以上过程,使得BP神经网络的预测值不断逼近实际输出值。
1.3 PSO算法的优化
在实验过程中,种群的中间粒子更容易得到全局最优位置而不是PSO算法中的所有粒子。因此,本文基于PSO算法并采用惯性因子[σ,]惯性因子更容易追踪种群中最优粒子的位置并确保速度连续变化,即粒子下一时段的运行速度是在上一时段\行速度的基础上迭代产生的,提高了PSO算法的性能,该优化算法称为带惯性项的粒子群算法。采用惯性因子[σ]后,新的粒子速度公式为:
[Vidt+1=σVidt+c1r1Pid-Xidt+c2r2Pgd-Xidt] (4)
优化后的PSO算法更容易找到最优位置。在最优位置找寻过程中,如果粒子探索的程度是在新的方向则被称为探测,而仍然在原始轨迹搜索则称为开发。探测和开发是找寻最优位置的必经过程,调整粒子探测和开发程度可以更好地找寻最优位置并达到优化效果。所以,常将随机变化的加速常数[c1]和[c2]应用到带惯性项的粒子群算法,代表粒子向个体极值和全局极值推进过程中的随机加速权值,从而动态改变探测和开发所占的比例,使其尽快找到全局最优位置,该优化算法称为引入惯性项和随机加速常数的粒子群算法。其中,加速常数[c1]和[c2]定义为:
[c1=random(a)+tTmax] (5)
[c2=random(b)-tTmax] (6)
式中:[random(a)]和[random(b)]代表系统随机生成的数;[t,Tmax]代表当前进化代数和最大进化代数。
1.4 BP网络权值优化方法
由BP网络的三层结构可知,用[ujht]代表输入层和隐含层的网络权值,[wkj(t)]代表隐含层和输出层的网络权值,[θk]代表输出节点阈值,[θj]代表隐含层节点阈值。具体更新公式如下:
[wkjt+1=wkjt+αδkHj] (7)
[ujht+1=ujht+αkσjIh] (8)
[θKt+1=θKt+βδk] (9)
[θjt+1=θjt+βσj] (10)
式中:[Hj]代表隐含层节点[j]的输出信号;[Ih]代表输入层节点[h]的输入信号;[δk]代表输出层节点[k]的误差;[σj]代表隐含层节点[j]的误差;[α, β]代表学习参数,参数取值范围为0.1~0.9。
1.5 高维粒子群BP的算法实现
高维粒子群优化BP神经网络需要确定网络的拓扑结构,根据网络的拓扑结构确定粒子搜索空间的维数,即粒子长度,以误差均方值作为基准调节BP网络中的权值和阈值,以粒子群优化的适应度函数作为BP网络误差的反传函数,据此建立误差均方值与粒子群优化的适应度函数的对等关系,目标函数的表达式如下:
[fi=1Nk=1Nyk-ymk2] (11)
式中:[N]代表总训练样本数;[fi]代表目标函数的误差平方和;[y(k)]代表目标函数的目标输出值;[ym(k)]代表目标函数的实际输出值。
改进粒子群算法寻优的具体步骤如下:
(1) 初始化粒子群参数。初始化粒子群规模、最大迭代次数[Tmax、]学习因子[c1]和[c2、]惯性权重[wmax]和[wmin]在特定位置与速度范围内随机初始化位置向量和速度向量。
(2) 初始化BP神经网络。由实际情况确定BP神经网络的拓扑结构,并建立下一步运算的网络模型,进一步明确粒子维度。
(3) 输入网络训练样本。通过步骤(1),步骤(2)初始化的位置向量输入网络训练样本,确定网络的权值和阈值,计算出期望输出的误差均方值和实际输出的误差均方值,由二者的误差均方值可以得到粒子群的适应度函数。在粒子群适应度函数的基础上结合位置和惯性因子可以计算粒子新的运动位置和运动速度。
(4) 迭代运算。确定每个粒子的个体极值和全局极值:粒子[i]的适应度值[fi]与个体最优值[Pbest]比较,如果小于[Pbest]则取代它作为当前的个体最优;适应度值[fi]与全局极值[gbest]比较, 如果小于[gbest]则取代它作为当前的全局最优。当停止迭代时,会得到粒子在全局的最优位置,此时需要把该数值作为BP网络的最后权重值,映射为BP神经网络的权值和阈值。
(5) 将样本数据源中训练样本输入到已确定的网络模型中进行训练,用测试样本做预测。
2 高维粒子群BP算法实例仿真
高维粒子群BP算法仿真实验的实验数据采集自沈阳市和平区易发生交通拥堵的某一路段,采集方式是在测试车辆上安装激光测距仪和 GPS设备,采样时间设置为2 s,采样时间段为早、中、晚高峰期三小时的时间区间,并多次测量采集数据,选择每组中发生事件的实验数据为6 rain,参照上述标准共采集150组样本数据,把样本数据归一化。将100组训练数据、50组测试数据输入到Matlab进行运算,电脑内存为8 GB,利用本文的高维粒子群算法的BP神经网络优化算法训练,最后将测试样本分类判别,检验最后的计算性能。部分原始样本数据见表1。
设置高维粒子群算法的参数,其中,种群数量设置为[m=30,]维数设置为[D=12×13+13×4+4=212,]加速因子设置为[c1=c2=1.50,]惯性因子设置为[ω=0.720,]速度最大值[Vmax=1,]速度最小值[Vmin=-1,]位置最大值为5,位置最小值为?5,最大迭代次数[N=100。]当计算循环过程达到终止迭代次数时则终止计算。
通常采用交通事件的检测率(DR)、平均检测时间(MTTD)、误判率(FAR)评价交通事件自动检测的算法效率。通过采用本文优化的计算方法对采集到的数据进行分类训练等一系列计算分析,并将最终分析结果和经典事件检测算法、BP神经网络算法比较。结果表明,经过优化后的高维粒子群BP神经网络的检测率、算法性能均优于经典算法和BP神经网络算法,其中97,50个测试样本中仅有2个测试样本与应该达到的数值不一致,其他样本都满足测试要求,并且平均优化测试时间是传统BP神经网络检测时间的一半,结果对比见表2。
3 结 语
本文基于高S粒子群算法的BP神经网络结构优化方法,改进了传统运算方法的检测时间长、收敛速度慢的缺点,且容易实现,是一种新兴的群智能优化算法,优化全面,适用范围广泛,具有较高的精度和较好的拟合性能。
参考文献
[1] 姚尔果,闫秋粉,南振岐,等.基于改进粒子群算法的BP神经网络模型研究[J].佳木斯大学学报(自然科学版),2012,31(1):107?109.
[2] 谢铮桂,钟少丹,韦玉科.改进的粒子群算法及收敛性分析[J].计算机工程与应用,2011,47(1):46?49.
[3] 闰纪如.粒子群优化的神经网络在交通流预测中的应用[D].杭州:浙江工业大学,2013.
[4] 刘洪波,王秀坤,孟军.神经网络基于粒子群优化的学习算法研究[J].小型微型计算机系统,2005,26(4):638?640.
[5] 胡卫东,曹文贵.基于改进粒子群算法的BP神经网络在边坡稳定性评价中的应用[J].湖南理工学院学报(自然科学版),2014,27(2):71?77.
[6] 刘坤,谭营,何新贵.基于粒子群优化的过程神经网络学习算法[J].北京大学学报(自然科学版),2011,47(2):238?244.
[7] 徐以山,曾碧,尹秀文,等.基于改进粒子群算法的BP神经网络及其应用[J].计算机工程与应用,2009,45(35):233?235.
[8] 张德慧,张德育,刘清云,等.基于粒子群算法的BP神经网络优化技术[J].计算机工程与设计,2015,36(5):1322?1328.
[9] 肖俊生,任讳龙,李文涛.基于粒子群算法优化BP神经网络漏钢预报的研究[J].计算机测量与控制,2015,23(4):1302?1305.
[10] 沈学利,张红岩,张纪锁.改进粒子群算法对BP神经网络的优化[J].计算机系统应用,2010(2):57?61.
[11] 江丽,王爱平.基于粒子群与BP混合算法的神经网络学习方法[J].计算机应用,2012,32(z2):13?15.
[12] 徐大明,周超,孙传恒,等.基于粒子群优化BP神经网络的水产养殖水温及pH预测模型[J].渔业现代化,2016,43(1):24?30.
关键词:网络入侵;神经网络;参数优化;人工鱼群算法
中图分类号:TP393 文献标识码:A 文章编号:2095-2163(2015)03-
Application of Back Propagation Neural Network Optimizing by Artificial Fish Swarm Algorithm in Network Intrusion Detection
LIU Chun
(Network Management Center , Sichuan College of Architectural Technology, Deyang Sichuan 618000, China)
Abstract: In order to detect the network intrusion effectively, an artificial fish swarm (AFSA) algorithm is proposed to optimize the BP neural network (BPNN) intrusion detection model. In this paper, firstly, weights and threshold coding state of BP neural network is artificial fish of the AFSA, followed by artificial fish swarm foraging, Poly Group, rear end, which is used to optimize the parameters of BP neural network, to find the optimal parameters of the BP neural network; After that, using the establishment of optimal BP neural network model, the behavior of the network intrusion are detected. In the Windows XP operating system, on the platform of MATLAB 2012 by the KDD cup 99 data set of simulation test, compared with the traditional BP neural network model, the proposed model can significantly improve the network intrusion detection accuracy and has a more extensive application prospects.
Keywords: Network Intrusion; Neural Network; Parameter Optimization; Artificial Fish Swarm Algorithm
0 引言
随着互联网规模越来越大,网络的用途越来越广泛,在网络给人们生活带来便利的同时,其受到入侵的可能性页随之增加,未经授权用户对计算机进行操作,可能窃取系统中的信息,给计算机系统造成一定的安全隐患,网络安全问题日渐受到学界关注,在网络安全防御研究领域,网络入侵检测已然成为迫切需要解决的一个重要课题[1-2]。
按照入侵检测方式的不同,可将其分为误用入侵检测和异常入侵检测[3]。其中,误用入侵检测方法主要是依据检测知识库,对网络入侵行为进行匹配,如果检测知识库不完备,则可能存在某些未知的入侵行为无法检测。而异常入侵检测是通过对可接受行为进行描述,如果某项行为与正常行为存在偏差,则认为该行为是入侵行为,异常入侵检测方法能够对未知网络攻击行为进行有效检测,从而成为当前网络入侵研究的热点研究内容[4]。
网络入侵检测是依据网络行为与正常行为进行比较,以判断是否存在网络入侵、攻击行为,因此,可以将网络入侵检测认为是一个数据分类问题。网络入侵检测处理的分类数据属于大样本数据,具有高维、复杂、非线性等特征;相应地,传统的数据分类检测方法在实际应用执行时,即表现了计算速度慢、复杂、正确率低的结果现象[5]。近年来,随着人工智能技术的快速发展,神经网络被越来越多地用于数据分类问题。神经网络有多种类型,其中,BP神经网络(Back Propagation Neural Network,BPNN)结构简单、学习能力强,切具有非线性逼近映射能力,相较于其它类型的神经网络,BP神经网络的用途更为广泛。但是,利用BP神经网络进行网络入侵检测,其检测的准确率与网络的初始权值、阈值等参数有关,为了获得较高的网络入侵检测正确率,就需要对BP神经网络进行参数优化。即在利用学习样本对BP神经网络进行训练过程中,不是随机产生BP神经网络的初始权值和阈值,而是利用智能算法,如粒子群、遗传、蚁群等算法等对BP神经网络初始权值和阈值进行优化,使BP神经网络避免陷入局部最优,并且找到全局最优参数,从而使BP神经网络分类精度更高,网络入侵检测性能也随之提升[6-8]。在这些智能算法中,人工鱼群算法(Artificial Fish Swarm Algorithm,AFSA)是近年来提出的一种新的智能仿生算法,该算法鲁棒性强,可并行操作,同时便于实现[9]。利用AFSA算法来对BP神经网络参数进行寻优,能够避免BP神经网络易陷入局部极小的缺陷,实现了BP神经网络参数的最优获取,因而可知这是一种非常适合BP神经网络参数寻优的理想方法。同时,仿真试验又对AFSA-BPNN(人工鱼群算法优化BP神经网络)模型的网络入侵检测性能进行了有效验证。
1 网络入侵检测数学模型
网络入侵是指未经授权的用户实施的任何试图以非法手段来获取计算机资源的行为。进行网络入侵检测,主要是通过收集网络或系统中的若干关键点的未经授权用户的访问、操作等信息,并对这些信息进行对比分析,以确定系统中是否存在被攻击的迹象[10]。
在计算机网络中,存在两种现象,一种为无入侵信号,一种为有入侵信号,用 表示无入侵信号, 表示有入侵信号,则网络数据信号数学表达式:
(1)
其中, 表示收集到的所有信号, 表示在抽样间隔中接收到的信号所有字节的长度; 表示网络数据中的噪声, 表示入侵信号。
在进行网络入侵检测时,存在噪声,并且,接收到的信息还存在非线性的关系,为了保护网络安全,有效地防范未经授权用户对网络安全形成的潜在隐患,有必要对这些网络访问行为进行识别、检测,由上可知,BP神经网络即可有效地进行网络入侵检测。
2 AFSA优化BPNN的网络入侵检测模型
2.1 人工鱼群算法
AFSA可以地对BP神经网络进行全面参数寻优,通过模拟鱼群的觅食、聚群、追尾等典型行为,不断地对BP神经网络参数进行优化[11]。算法中典型行为的实现机理如下:
(1) 觅食行为。设Xi表示人工鱼当前所处的位置,Xj表示一个随机选择的位置,对Xi和Xj的食物浓度进行比较,如果Xj处的食物浓度大于Xi处的食物浓度,则向Xj处前进,否则人工鱼留在原处不动,而后,重新随机选择位置Xj,再对Xi和Xj的食物浓度进行判断,反复试探nj次后,如果选取的位置处食物浓度仍然小于初始位置的食物浓度,则人工鱼随机前进一步。该行为的数学描述可如式(2)所示:
(2)
式中,Rand()表示一个(0,1)之间的随机数;Step表示人工鱼移动的步长。
(2) 聚群行为。设nf表示人工鱼视野范围内所有的伙伴数目,Xc表示所有鱼群的中心位置,若Yc/nf>δYi(δ为拥挤度因子),则表明当前人工鱼所处位置的食物浓度小于伙伴处的食物浓度,人工鱼便朝伙伴中心前进一步,否则,人工鱼继续执行觅食行为。这一行为的数学实现则如式(3)所示:
(3)
(3) 追尾行为。在人工鱼视野范围内,浓度最高Yj的人工鱼位置为Xmax,若Yj/nf> Yi,则人工鱼群向Xj处前进一步,否则人工鱼执行觅食行为。
(4)
(4) 随机行为。人工鱼没有执行明确的觅食或聚群行为,而是在视野范围内随机选择某个位置,随后向其移动,该行为属于人工鱼觅食行为的一种缺省行为。
(5) 公告板。公告用于记录食物浓度最高的人工鱼的状态。
2.2 BP神经网络模型
BP神经网络学习过程如下[12]:
(1)确定BP神经网络结构。设输入层、隐层和输出层的神经元数分别为N、L和M,网络输入向量为 ,隐含层输出向量为 ,网络实际输出向量为 ,网络输入层神经元节点 到隐含层神经元节点 的权重系数表示为 ,隐含层神经元节点 到输出层神经元节点 的权重系数表示为 ,训练集的目标输出向量为 。此外,分别用 和 来表示输出神经元和隐神经元的阈值,设:
(5)
于是,得到隐含层各神经元节点的输出为:
(6)
同理,输出层各神经元节点为:
(7)
(2)将输出神经元 与目标向量 进行比较,计算出输出误差项:
(8)
(9)
(3)依次计算出各权重的调整量:
(10)
(11)
式中, 表示网络的学习速率,其取值在0-1之间。
(4)调整网络权重,公式如下:
(12)
(13)
(5)判断是否达到最大迭代次数,如果没有,将网络输出值与期望值进行比较,如果大于误差允许的范围,返回步骤(1),继续迭代,在每次迭代过程中,都进行判断,误差是否达到预定目标,或者是否达到最大迭代次数,如果满足终止条件,则停止迭代。
2.3 SAFSA-BPNN网络入侵检测流程
(1) 收集BP神经网络状态信息,设置人工鱼状态;
(2) 随机生成n条人工鱼,每一条人鱼代表一组BP神经网络参数,用passed_iterate表示BP神经网络训练迭代的次数;
(3) 登记每条人工鱼所在位置的食物浓度,并对每条人工鱼处的食物浓度进行排序登记,将食物浓度值最高处的人工鱼个体的位置及食物浓度登记写入公告板;
(4) 随机选择一条人工鱼,对其觅食、追尾和聚群行为后所处位置的食物浓度进行判断,将其所处位置的食物浓度与公告板中的所登记的食物浓度进行比较,如果该人工鱼处的食物浓度高于公告板的食物浓度,则该人工鱼向此方向前进一步。
(5) 更新公告板内容,将步骤(4)中得到的最好人工鱼的位置及食物浓度记入公告板。
(6) 判断BP神经网络是否寻优得到最优参数,或训练是否达到最大迭代次数,如果没有满足上述情况,则人工继续执行觅食、追尾、聚群行为,passed_iterate=passed_iterate+1,并转步骤(4)继续迭代执行,如果达到最大迭代次数,则BP神经网络训练寻优结束,输出公告板中的人工鱼的位置及食物浓度;
(7) 根据寻优结束后BP神经网络模型,进行网络入侵检测。
利用AFSA-BP神经网络模型,进行网络入侵检测流程如图1所示。
图1 AFSA优化BPNN参数流程
Fig. 1 the flow chart of BPNN parameters optimized by AFSA
3 仿真测试
3.1 数据来源
为了验证本文模型的网络入侵检测效果,利用KDD CUP 99的数据集进行仿真试验,并在Windows XP,Matlab 2012 软件平台上执行实现。由于BP神经网络不能直接对字符型数据进行处理,而在KDD CUP 99数据集中却包含有大量的字符型数据,因此,在进行实验仿真之前,需将KDD CUP 99数据集中的字符型数据转换成整型数据[13]。在利用BP神经网络进行网络入侵检测时,实质上就是一个分类问题,因此,可将KDD CUP 99数据集的分类字段处理成五个类标识:1(“normal"),2("Probe"),3("DOS"),4("U2R"),5("R2L")。同时,为了有效地提高网络入侵检测正确率,有必要在BP神经网络进行训练学习时,利用人工鱼群算法对BP神经网络参数进行优化,训练集来自于文件kddcup.data_10_percent.gz,从中随机选取800条记录,测试集数据则将随机从文件corrected.g中选取300条记录。
在KDD CUP 99数据集中,每一个数据集均包含了41个特征属性,而且每一个数据集还对应一种类型的网络入侵行为,为此BP神经网络输入层有41个神经元,输出层有一个神经元,经过反复试验,当隐含层有22个神经元时,网络收敛速度最快,误差最小,最终确定BP神经网络结构为41×22×1。利用训练集对BP神经网络进行训练,再用人工鱼群算法对BP神经网络参数进行优化,人工鱼群参数可如表1所示。
表1 人工鱼群算法参数设置
Tab. 1 parameter setting of artificial fish swarm algorithm
参数名 说明 值 参数名 说明 值
Visual 可视域 18 P 鱼群规模 30
δ 拥挤因子 0.58 Step_max 迭代步长 0.6
N 迭代次数 5000
3.2 对比模型
为了证明AFSA-BPNN模型进行网络入侵检测的有效性,在同等情况下,利用传统的BP神经网络(BPNN)模型进行对比实验。选择了检测率、误报率和运行速度作为模型网络入侵检测性能的指标评价。在此,仅分别给出检测率和误报率的定义如下:
(14)
(15)
3.3 数据处理
在KDD CUP 99数据集中,每个数据集有41个特征属性,对其中的字符型数据转换成整型数据,但由于这些数据集中的属性量纲不同,为了有效地检测出网络入侵行为,即需对数据集进行归一化处理,以减少量纲不同对网络入侵检测的影响。归一化处理公式如下:
(16)
式中, 表示某属性的最大值; 、 分别表示某属性的最小值和最大值; 表示经过归一化处理后的某属性。
3.4 结果与分析
3.4.1 检测结果对比
采用BPNN作为对比模型,以验证ASFA-BPNN模型进行网络入侵检测时的实际性能,首先编程利用同样的训练集对两种模型进行训练,过程中不同之处却是,在AFSA-BPNN模型训练的同时,利用人工鱼群算法对BPNN进行寻优;然后,分别利用测试集对训练后的模型进行验证,两种模型的检测性能对比如表2所示。
表2 两检测模型的检测性能对比
Tab2 performance comparison of two detection models
检测模型 评价指标 DOS U2L U2R Probe
BPNN rate(%) 80.65 70.83 81.21 79.65
error(%) 19.35 29.17 18.79 20.35
AFSA-BPNN rate(%) 82.63 76.89 88.78 91.43
error(%) 17.37 23.11 11.22 8.57
3.4.2 运行速度对比
为了验证两种模型的网络入侵检测速度,选取测试集对模型的网络入侵检测时间作为衡量指标,两种模型进行不同类型的入侵检测时间(秒/s)如表3所示。从表3可知,相对于BPNN模型,AFSA-BPNN模型的检测时间更少,说明了AFSA-BPNN模型进行网络入侵检测具有更高效率,因而实时性更强。
表3 两种模型的检测时间对比
Tab.3 detection time comparison of two models
模型 DOS U2L U2R Probe
BPNN 0.97 0.89 0.86 0.96
AFSA-BPNN 0.76 0.78 0.80 0.64
4 结束语
为了有效地对网络入侵进行检测,提出一种人工鱼群算法优化的BP神经网络的网络入侵检测模型,在BP神经网络训练时,利用人工鱼群算法对BP神经网络参数进行优化,获得了BP神经网络的最优参数,同时加快了BP神经网络的收敛速度。仿真结果表明,AFSA-BPNN模型比BPNN模型检测率更高,误检率更低,同时检测时间更少,这就说明了AFSA-BPNN模型堪称为一种有效的网络入侵检测模型,其应用前景也将更趋广泛与广阔。
参考文献
[1] 戴英侠.系统安全与入侵检测[M].北京:清华大学出版社, 2002.
[2] 何敏. 基于数据挖掘的网络实时入侵检测体系结构的研究[J]. 计算机与现代化, 2011, 193(9): 134-136.
[3] 姜春茂,张国印,李志聪. 基于遗传算法优化SVM的嵌入式网络系统异常入侵检测[J]. 计算机应用与软件,2011,28(2):287-289.
[4] 闫新娟,谭敏生,严亚周,等. 基于隐马尔科夫模型和神经网络的入侵检测研究[J]. 计算机应用与软件,2012,29(2):294C297.
[5] 牟琦,毕孝儒,库向阳. 基于GQPSO算法的网络入侵特征选择方法[J]. 计算机工程,2011,37(14):103-16.
[6] 周敏.GARBF在网络入侵检测中的应用研究[J].计算机仿真,2011.28(6):165-168.
[7] 赵俊忠. 入侵检测系统中检测技术的研究[J]. 计算机工程与应用,2005,(2):11-13.
[8] 栾庆林,卢辉斌.自适应遗传算法优化神经网络的入侵检测研究[J].计算机工程与设计,2008,29(12):3022-3024.
[9] 李晓磊.一种新型的智能优化方法一人工鱼群算法[D].杭州:浙江大学,2003.
[10] 孙宁青. 基于神经网络和CFS特征选择的网络入侵检测系统[J]. 计算机工程与科学,2010,32(6):37-39.
[11] 江铭炎,袁东风. 人工鱼群算法及其应用[M]. 北京:科学出版社,2012.
关键词:矩阵式红外热电堆;RBF神经网络;惯性权重因子;粒子群算法
DOI:10.16640/ki.37-1222/t.2017.04.220
1 引言
常用的人体入侵检测方法有视频监测、超声波、机电检测、红外检测等,而它的准确性和可靠性对人的生命财产安全起确定性的作用。本文采用的是Melexis(迈来芯)的一套矩阵式红外热电堆温度采集装置,其中传感器MLX90621是一款采用16*4像素的红外阵列传感器,可以检测出一副画面中64个点的温度,可以提供的视角范围是,配合电机,它的检测范围可以达到,因此它每一帧可以测得的温度数据有个。相比于传统的检测方法,虽然它的检测像素低,但是在后面的算法计算中,它的计算量会降低,它的优势在于成本低、体积小易于隐蔽,而且不易受环境因素的影响,比如黑夜、电磁干扰等。在人体识别部分,本文采用的是改进RBF神经网络算法,RBF神经网络是一种采用局部接受域来执行函数映射的人工神经网络[1]。而如何确定RBF神经网络的隐层基函数的个数、中心向量以及宽度是训练RBF神经网络的关键所在。假如设定的隐层基函数的个数偏多会造成训练和测试的时间加长,不仅容易产生过拟合[2],而且还会造成网络的泛化能力下降。相反,设定偏少的话会造成神经网络的收敛误差变大。一般采用K-mean聚类算法来确定径向基函数的个数和中心向量,但其依赖初始中心的选择,只能获得局部最优解[3]。
粒子群算法(PSO)是基于群体智能的优化算法,通过粒子间的合作与竞争的群体智能理论的优化搜索,它可以记忆所有粒子都共享的迄今为止问题的最优解[4]。PSO的优势在于简单且易于实现。但基本PSO的缺点在于其参数是相对固定的,会导致在优化某些函数时,造成精度差、收敛速度慢等。因此本文针对基本PSO的缺点,提出了结合惯性权重模型,将适应度择优选取引入基本PSO算法的方法进行改进。RBF神经网络首先采用最近邻聚类算法来确定隐层基函数的个数,中心向量即为聚类的的均值。同时将改进的粒子群优化算法来优化最近邻聚类算法的聚类半径,从而确定出RBF神经网络最优的隐层基函数和中心向量,使其不用依靠初始中心的选择,减少了现有算法中人为因素的影响,从而有效地提高了RBF神经网络的精度和收敛速度。独立训练特定的RBF网络并合成其预测结果,可以有效得提高神经网络表达对象的准确性[5,6]。将改进PSO优化RBF神经网络的方法应用于人体入侵检测识别中,通过实测数据验证,准确率相对基本RBF神经网络有了显著的提高。
2 RBF神经网络设计
2.1 RBF基本原理
RBF 神经网络,即径向基神经网络,是前馈神经网络的一种,具有三层结构,如图 1 所示。它的基本思想是用RBF作为隐单元的“基”构成隐含层空间,将输入矢量直接(即不需要通过权链接)映射到隐空间,当RBF神经网络的中心确定之后,映射关系也就随之确定了。隐含层的作用是把向量从低维映射到高维,这样低维线性不可分的情况到高维就线性可分了,隐含层空间到输出空间的映射关系是线性的。
(1)假设已经有个聚类中心,分别为:,分别计算与它们之间的距离,。
(2),即到中心的欧式距离最小。
(3)比较与的大小,如果,则就会被设定为一个新的聚类中心,如果,则按照更新,。
(4)重新选取下一个输入的样本数据,返回1)。
(5)所有的输入数据取完则结束。
从上面的算法步骤来看,可以得出,隐层基函数的中心的确定,最主要的因素是聚类半径,若过大,会造成基函数的中心个数较少的情况,从而导致网络的收敛误差偏大,反之则会造成基函数的中心个数较多的情况,从而导致网络的泛化能力下降。因此本文在最近邻聚类算法中选取合适的聚类半径时,采用改进的粒子群算法,最后可以确定出最优的RBF神经网络的隐层基函数的中心向量。
3 粒子群优化算法
3.1 基本粒子群优化算法
粒子群优化算法(PSO)是由Kennedy和 Eberhart于1995年提出的一种通过模仿鸟类群体捕食行为研究的群体智能算法[7]。粒子群优化算法的基本思想是通过群体中个体之间的协作和信息共享来寻找最优解[8]。它的优势在于简单容易实现并且没有许多参数的调节[9],目前已被广泛应用于函数优化、神经网络训练、模糊系统控制以及其他遗传算法的应用领域。在由 m 个粒子组成的粒子群中,每个搜索空间中的潜在的解由粒子的位置来确定,新的个体在取值时主要由粒子的当前速度、粒子群中的最优个体以及当前粒子的历史最优解3个因素来决定,其中粒子的当前速度控制着搜索的步长,算法的全局以及全局搜索能力由其决定,对PSO的收敛速度和质量有着重要的影响;后两者则主要用于控制搜索的方向,反映了可利用的梯度信息[10]。粒子根据如下三条原则来更新自身状态:(1)保持自身惯性;(2)按自身的最优位置来改变状;(3)按群体的最优位置来改变状态。
算法描述:在一个 n维的搜索空间中,是由m个粒子组成的粒子群,其中,为第个粒子的位置为,为速度。其中,为个体极值,为种群的全局极值。接下去粒子会根据公式(6)不断更新自己的速度,根据公式(7)不断更新自己的位置。
3.2 惯性权重因子的引入及其改进
为改善粒子群算法的搜索性能,以及基本PSO参数固定优化某些函数时精度较差的问题,Shi和Eberhart对基本PSO算法进行了改进,在粒子的速度进化方程中引入惯性权重[11]。一般地,较大的权重有利于提高算法的全局开发能力,而较小的权重则能增强算法的局部搜索能力[12]。因此惯性权重因子对当前速度的大小起决定性因素,提升PSO性能的关键一环是惯性权重因子和调整策略的合理设置[13,14]。将代入公式(6)可得:
上式中,和分别代表第个粒子和最优粒子在第次迭代时相应的函数值。的计算是用来判断目标函数的平整度[16]。由图2可以看出,在迭代时变化越明显,表明目标函数越不平整,相反则表示越平整。通过跟随的变化而变化,以此来实现的动态变化。
4 基于改进PSO算法的RBF神经网络训练
前面提到RBF神经网络基函数个数和中心向量难以获取最优的缺点,本文将改进PSO算法应用到RBF神经网络的训练学习中,有效地提高了RBF神经网络的精度和收敛速度,大大地增强了网络的泛化能力。粒子群算法的神经网络训练过程如图3所示。具体的优化步骤如下:
1)首先对样本进行归一化处理。
2)初始化。由参数,,组成粒子群,然后随机赋上初始值,并根据这些S机值来初始化粒子群的位置和速度。
3)计算适应度值。根据得到的RBF神经网络输入输出值,应用公式:
来计算粒子群的适应度值,以此来确定和。其中和分别为训练样本数和输出神经元个数,、分别为第个样本的第个分量的输出值和期望输出值。
4)根据公式(8)更新粒子的位置和速度,得到新的粒子群。
5)判断优化目标是否满足终止条件,若满足,则结束算法;否则返回到(3)。
5 实验验证及结果分析
本文在对上述改进PSO算法训练的RBF神经网络算法进行寻优测试后发现,改进后的RBF神经网络算法在寻找最优值时,收敛速度和精度上都优于基本RBF神经网络算法,且大大提高了网络的泛化能力。然后将改进后的RBF神经网络运用到实际的人体识别检测中来进行验证。在实验中,通过MLX90621红外阵列传感器配合电机采集一个空间在不同情况下的温度数据作为实验数据,每一帧有16X36个温度数据,共测得297组数据用于训练。下面附上其中一张实测数据结果验证图(见图4):
图中坐标轴中显示的温度数据就是实测的空间温度数据,绿色区域为热源干扰物,红色区域为目标。根据采集获得的温度数据将其分为最高温度、最低温度、平均温度三类,在正常情况下,由于人体的正常温度存在一个绝对范围,因此结合这个绝对范围并将分割处理后的图像一起作为训练的特征值对改进PSO算法训练的RBF神经网络进行训练,实现了对人体目标的检测,然后利用训练好的RBF神经网络直接对新的温度数据进行分类,检测并判断每一帧是否有人。
下面分别采集无人无干扰和无人有热源干扰的两种情况下的空间温度数据,用这两组数据作为训练样本对基本RBF神经网络和改进PSO算法训练的RBF神经网络进行训练,训练结果如表1所示:
从训练结果来看,改进后的RBF神经网络算法的训练效果有了很大的提高,无论在无人无干扰还是无人有热源干扰的数据中,测得的无人的准确率都高于基本RBF神经网络。最后用测得的有人有热源干扰的空间温度数据用来进行结果验证,验证结果如表2所示:
重新在一个空间中测得99组有人有干扰的温度数进行结果验证,在基本PSO的基础上引入惯性权重因子,对基本RBF神经网络的训练效果有明显的提升,改进PSO算法训练的RBF神经网络算法测得有人的准确率明显高于基本RBF神经网络。
6 结论
对人体识别算法进行了研究,最终确定使用RBF神经网络作为研究对象,并使用最近邻聚类算法来确定RBF神经网络的中心向量,成功地消除了操作时人为因素的参与。本文通过引入动态惯性权重因子对基本PSO算法进行改进,将改进PSO算法训练的RBF神经网络与基本RBF神经网络进行对比,对比训练的过程及结果可以得出,改进后的RBF神经网络在训练效果上有了很大的提升,精度、收敛速度以及稳定性都优于基本RBF神经网络。最后将改进后的RBF神经网络应用到人体入侵检测识别中,经过实测数据验证,虽然改进PSO算法训练的RBF神经网络在排除干扰的问题上提升不是非常明显,但是识别的准确率有了很大的提高,说明改进后的RBF神经网络更加适用于低精度且计算量少的人体入侵检测识别中。
参考文献:
[1]SimonHaykin.Neural Networks:A comprehensive Foundation,SecondEdition[M]. U.S:Prentive Hall,1988.
[2]段其昌.一种改进PSO优化RBF神经网络的新方法[J]计算机仿真,2009,26(12):126-129.
[3]Y Moddy and C J Darken. Fast learning in network of locally tuned processing unites [C] .Neural Computation,1989(01):281-294.
[4]Kennedy J and R C Eberhart. Particle swarm optimization[C]. Conf.Neural Networks.1995.1942-1948.
[5]王桂洋,张亚庭.基于APSO优化算法的 GCHP 系统神经网络预测控制[J].计算机测量与控制,2014,22(01):106-108.
[6]谭子平.基于白适应权值神经网络的 PID 参数优化[J].计算机光盘软件与应用,2014,17(07):97-98.
[7]皮倩瑛,叶洪涛.一种动态调节惯性权重的粒子群算法[J].广西科技大学学报,2016,27(03):26-31.
[8]胡珀,娄渊胜.改进粒子群优化算法在服务组合中的应用[J].计算机工程,2011,37(17):130-133.
[9]任圆圆,刘培玉,薛素芝.一种新的自适应动态文化粒子群优化算法[J]. 计算机应用研究,2013(30)11:3240-3243.
[10]于海鹏,翟红生.基于混合策略的自适应粒子群优化算法[J].计算机工程与设计,2014,35(07):2552-2556.
[11]Shi Y,Eberhart R C.A Modified Particle Swarm Op-timizer[C]/ / Proceedings of the IEEE Congress onEvolutionary Computation.Now York: IEEE,1998:303-308.
[12]罗金炎.粒子群优化算法惯性权重的一种动态调整策略[J]沈阳化工大大学学报,2013(04):371-375.
[13]De Silva I J,Rider IM J,Romero R,et al.Transmission network expansion planning with security constraints[J].IEEE Proc Gener Transm Distrib,2005,152(6):828-836.
[14]左浩,李雯.混沌粒子群与模糊聚类在图像分割中的应用[J].计算机工程与应用,2012,48(02):194-196.
[15]田雨波.混合神经网络技术[M].北京:科学出版社,2009.