前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的神经网络优化方法主题范文,仅供参考,欢迎阅读并收藏。
>> 基于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.
关键词:仿生算法;神经网络;遗传算法
中图分类号:TP183文献标识码:Adoi: 10.3969/j.issn.1003-6970.2011.03.017
An Improved Algorithm of Bionic Research and Analysis
Yue Tong-sen, Wang Da-hai
(XinXiang Vocational and Technical Collage, Xinxiang 453000,Henan,China)
【Abstract】In this paper the bionic algorithm of neural network and genetic algorithm were analyzed and summarized, aimed at slow speed of neural network training, recognition efficiency low, and genetic algorithm the optimum choice premature convergence problem, combined with neural network method and genetic algorithms of their respective characteristics, puts forward the improved algorithm.Without the destruction of single neurons based on input weights, adopt data pretreatment methods to reduce the number of input layers, so as to improve the ability of evolutionary learning.
【Key words】Bionic algorithm; Neural network; Genetic algorithm
0引言
人工神经网络[1]和遗传算法[2]是仿生算法[3]的典型方法,它们的优化问题一直是众多研究者所倍为关注的研究热点之一。在人工神经网络和遗传算法结构的研究中发现,人工神经网络具有很好的模式分类的特性,遗传算法有很好的动态变更权值的特性,基于此,本文提出了一种改进的基于人工神经网络和遗传算法的算法。本章的改进算法,就是对人工神经网络和遗传算法进行了变换,增强了对输入权值的变化速度,并提出用减少输入层个数的方法是加快神经网络学习的有效方法,取得了良好的实验效果。
1神经网络和遗传算法的特究点
1.1神经网络和遗传算法的不同点
1.神经网络是多层感知机,而遗传算法是单层感知机。神经网络是由输入层,隐含层和输出层够成,但遗传算法的基因组是一个数组,不管基因的长度有多长,其结构仍然是一个单层感知机。
2. 神经网络的隐含神经元个数是不确定的,而输出层和输入层的个数是可以确定的。我们希望输入层的个数用新的方法得到降低,这样神经网络的训练速度就可以提高。同时对于隐含层的层数,一般情况设为1。每层的神经元个数也并不是越多越好,是要根据问题的情况而变动的。但神经网络的隐含层是不确定的,而且隐含层的个数也是不确定的。对于遗传算法,它的二进制的长度是可以确定的,但是交叉和变异的比例是变动的。对于单点交叉比例,我们可以设定为黄金分割点。虽然设定为黄金分割点作为单点交叉比例没有用数学方法严格的证明,但是,大量的实验表明,选择黄金分割点往往可以得到较好的结果。对于变异比例,没有交好的方法确定,只能设计交互式的实验来调试决定。
3.权值的更新方式不一样。神经网络的权值的更新方式是时时的,而遗传算法权值的更新方式是批量的。
4.两者应用的范围不一样。神经网络主要应用于模式匹配,错误诊断,监视病人的状态,特征提取,数据过滤。而遗传算法主要应用在计算机辅助设计,日程安排,经济学的投资研究等。
1.2神经网络和遗传算法的相同点
1.有教师的学习。神经网络的输出是有目标的,当然是确定的。同时对于遗传算法的目标也是确定的。所以两者都是有目标的,也就是有教师的学习。
2.随机近似优化过程。神经网络中,如果把网络的权值初始化为接近于0的值,那么在早期的梯度下降步骤中,网络将表现为一个非常平滑的函数,近似为输入的线性函数,这是因为sigmoid函数本身在权值靠近0时接近线性。同样,遗传算法的初始个体都是随机产生的,它的交叉和变异都是一个不断近似的过程。
3.并行化。神经网络的每个神经元是独立的,如果把每个神经元分配一个处理器,那么就可以采用并行的方式。同样,遗传算法很自然地适合并行实现,有粗粒度并行方法和细粒度并行方法。有粗粒度并行方法就是把群体细分成相对独立的个体群,称为类属,然后为每个类属分配一个不同的计算节点,在每个节点进行标准的GA搜索。细粒度并行方法就是给每个个体分配一个处理器,然后相邻的个体间发生重组。
2算法的研究及改进
结合人工神经网络和遗传算法的研究的本质,通过两种算法结合的研究及改进,提高算法的收敛速度,从大量的数据中模拟生物的特性来完成特定的任务和解决问题的方法和方向。由于遗传算法是单层感知机,而神经网络是多层感知机,所以可以从多层感知机的多层性,我们想象为遗传算法是单层感知机作为神经网络是多层感知机的输入层。这样,我们就可以采用遗传算法的动态变更权值的特性来对神经网络输入层有效性的遗传和变异。这种算法适合与没有输入,只有输出的应用,就像无人驾驶技术中控制行驶的速度和方向的控制一样。基本的框架如图1:
图1结合人工神经网络和遗传算法的框图
Fig.1 Combined with artificial neural network and genetic algorithm diagram
最上面的是智能体,神经网络的输出来控制智能体,控制中心将神经网络的权值用遗传算法的初始体来提供。
2.1遗传算法的基因作为神经网络的权值变量
遗传算法的基因的初始化必须要满足神经网络的输入要求,一般遗传算法的基因都是0,1编码。但是为了达到神经网络的输入要求,是要在(-1,+1)之间随机产生。
2.2遗传传算法中杂交点选择
遗传算法中,一般都是采用随机平均变异[4][5]的方式,但是如果输入是由遗传算法的基因提供的话,为了保证在变异的时候,采用标记变异的方法。我们可以首先根据图2的神经网络来考虑:
图2遗传算法作为人工神经网络和的权值图
Fig.2 Genetic algorithm as artificial neural network and the weights of figure
很显然,(0.3,-0.8,-0.2)是神经元1的权值 ;(0.6,0.1,-0.1)是神经元2的的权值;(0.4,0.5) 神经元3的权值。为了在遗传算法中的杂交过程中,不破坏每个神经元的权值个数,特意标记(3,6)所在的箭头。
2.3引入神经网络输入层的数据预处理
神经网络的计算问题是神经网络应用中最为关键的问题。如何提高网络的训练速度是算法研究的重点。我们在思考问题的时候,总是希望问题越简单越容易解决。同样,我们也可以通过对数据的预处理,来降低问题的难度。
为了减少输入层的个数,我们可以先对数据进行预处理。预处理的方法为如下流程:
(1).计算机器人前进方向Position(x,y)和目标的所在的位置Location(x,y)。
(2).归一化Position(x,y) 和Location(x,y)。
(3).用点乘的计算公式计算两者点乘。
(4).用符号重载的方式计算是顺时针还是相反。
(5).计算角度=第3步的结果*第4步的结果。
3实验结果及分析
3.1实验框架
将本算法应用于扫雪机器人的智能控制中,设计的主要模块:
3.1.1神经网络部分的设计
神经网络的输入由四个变量组成:扫雪机器人方向向量(由两个变量组成,即在X和Y的分量),发现目标,即雪的向量(由两个变量组成,即在X和Y的分量)。神经网络的隐含层由一层组成,而且由10个神经元。神经网络的输出由两个变量组成,V1和V2,分别作用在机器人的左轮和右轮上。神经网络的响应函数采用SIGMOD。
3.1.2遗传算法部分的设计
遗传算法的初始化是为神经网络提供权值,所以是由[-1,1]随机数产生。遗传算法的变异是采用随机变量的变异,选择采用轮转法。
3.1.3扫雪机器人
扫雪机器人用神经网络来控制,当找到目标后,它的适值就加一。这样就随着发现目标越多,它的适值就越大。学习能力是通过不断的学习后,它的适值就会加强。如果直接采用机器人前进方向和目标的所在的位置,那么神经网络的输入为四个变量。
3.2结果与分析
如果直接采用机器人前进方向和目标的所在的位置,那么神经网络的输入为四个变量。通过对扫雪机器人的学习过程,没有进行预处理的数据,即四个变量输入神经网络后的参数设定:神经网络的输入为4,神经元为6个,输出个数为2个,如图3所示:
图3网络的参数设定图
Fig.3 Network parameters set figure
我们设定初始的适值为0,如果发现一个目标后,它所对应的适值就加上1,这样经过50次的进化后,没有进行数据预处理的最大值是25,平均值是10.1333。如表1所示:
将50次的统计结果用柱状图进行对比,如图4所示。
图4进化50代后的加入数据预处理和没有加入预处理的对比图
Fig.4 After 50 generation data preprocessing and did not join joined the pretreatment of contrast diagram
为了减少输入层的个数,我们可以先对数据进行预处理下面,用统计的方法对数据进行的结果分析,如表2所示。
将进化100代后,对比两者的对比柱状图如图5所示。
图5进化50代后的加入数据预处理和没有加入预处理的对比图
Fig.5 After 50 generation data preprocessing and did not join joined the pretreatment of contrast diagram
实验结果表明,为了减少输入层的个数,先对数据进行预处理。通过对扫雪机器人的过程的数据分析进行分析,数据预处理后的智能进化学习能力相对于原始数据的智能进化学习能力有明显的提高。
4结束语
本文提出了基于神经网络和遗传算法结合的改进算法,对于遗传算法的变异操作进行改进,不会破坏单个神经元的输入权值的基础上,采用数据预处理的方法来减少输入层的个数,从而提高进化学习的能力。从实验数据中可以看到,本章提出的改进算法加快了学习速度,达到了提高智能学习的预期
目的。
参考文献
[1] 乔俊飞,韩桂红.神经网络结构动态优化设计的分析与展望[J].控制理论与应用,2010,3(13):350-357.
[2] 葛继科,邱玉辉,吴春明,等.遗传算法研究综述[J].计算机应用研究,2008,10(9):2911-2916.
[3] 丁建立,陈增强,袁著祉.智能仿生算法及其网络优化中的应用研究进展[J].计算机工程与应用,2003,12(3):10-15
[4] 巩敦卫,等.交互式遗传算法原来及其应用[M].北京:国防工业出版社,2007.
摘要:针对数据挖掘算法中常用的机器学习型算法进行研究。机器学习型算法特色是运用了人工智能技术,能在大量样本集训练和学习后自动找出运算需要的参数和模式。以机器学习型算法中的人工神经网络为例研究数据挖掘技术,针对学习速度慢、抗干扰能力弱以及容易陷入局部最小值等缺点和传统的遗传算法存在算法早熟以及局部寻优能力弱等问题,提出一种通过改进常规遗传算法的染色体结构和遗传算子,并且通过引入自适应交叉和变异概率来对BP神经网络结构参数进行优化的改进型遗传优化BP神经网络模型。最后通过煤矿空压机故障诊断系统这一实例来研究改进型算法的数据挖掘技术的性能。研究结果表明,改进后的算法建立的诊断模型相比常规神经网络的诊断模型诊断准确率更好,诊断效率更快。
关键词 :数据挖掘;BP神经网络;遗传优化算法;空压机故障诊断
中图分类号:TN957.52+9?34;TP274 文献标识码:A 文章编号:1004?373X(2015)20?0011?04
Application of machine learning algorithm in data mining
CHEN Xiaoyan
(Jiangsu Polytechnic College of Agricultural and Forestry,Jurong 212400,China)
Abstract:The machine learning algorithm commonly used in data mining algorithm is studied in this paper. AIT(artificialintelligence technology) is adopted in machine learning algorithm,which can automatically find out the parameters and modesrequired by operation after a large number of sample set training and learning. The artificial neural network in machine learningalgorithm is taken as an example to research the data mining technology. Since the traditional genetic algorithm has the short?comings of prematurity and weak local optimizing capacity,the improved genetic optimization BP neural network model is pro?posed by improving the chromosome structure and genetic operator,and by introducing adaptive crossover and mutation probabilityto optimize neural network structure parameters and solve the problems of slow learning speed,weak anti?jamming capability,and easily falling into local minimum value. Finally,the performance of the improved algorithm is studied by using the fault di?agnosis system of air compressor. The research results show that the improved diagnostic model,compared with the conventionalneural network diagnosis model,has better diagnostic accuracy and higher diagnostic efficiency.
Keywords:data mining;BP neural network;genetic optimization algorithm;fault diagnosis of air compressor
0 引言
数据挖掘技术是在整个社会发展中随着科学和技术的不断进步而顺应需要所生。随着信息化技术的不断普及,人类社会逐步进入到信息化社会中,信息化管理技术随之不断提升,成本却同时逐步下降,数据管理技术(Data Management Technology)在各企事业单位中进一步普及,从而推动企事业单位内部职能部门间的沟通联络。但是,随之而来的弊病是海量数据的累积导致数据分析的困难[1?2]。
1 数据挖掘
数据挖掘算法中常用的有机器学习型算法和统计型算法两类。前者的特色是运用了人工智能技术,能在大量样本集训练和学习后自动找出运算需要的参数和模式;后者则常用相关性分析、聚类分析、概率和判别分析等进行运算。不同算法当然有着各自不同的对应领域和目标,它们既能单独使用,也能相互结合。
机器学习型算法中人工神经网络方法被普遍运用,它具有极好的数据处理能力和自组织学习能力,并且能准确进行识别,从而有助于分类问题中的数据处理。人工神经网络通过建构模型而工作,其模型多样,能满足不同需求。总体来看,人工神经网络模型精确度高、鲁棒性好,具有较强描述能力,在应用时可以无需专家支持。当然,它也存在一些缺陷,具体表现在:训练数据所需要的时间较长;对所获取知识的理解上不够智能;开放性和可伸缩性也有一定局限性。
传统的BP神精网络存在学习速度慢、抗干扰能力弱以及容易陷入局部最小值等缺点,而传统的遗传算法存在算法早熟以及局部寻优能力弱等问题;所以本文提出一种通过改进常规遗传算法的染色体结构和遗传算子,并且通过引入自适应交叉和变异概率来对BP神经网络结构参数进行优化的改进型遗传优化BP神经网络模型[3?4]。
2 改进型GA?BP 神经网络
本文为了提高BP神经网络的性能,针对常规遗传算法的染色体结构和遗传算子进行改进。引入自适应交叉、变异概率以平衡优化BP神经网络的结构和初始权重。
(1)染色体结构设计。本文将染色体基因结构分为上下两层结构,分别为控制基因和参数基因两层,从而对常规的遗传算法优化BP神经网络模型进行改进。处于上层的控制基因通过对BP神经网络的隐含层节点数优化从而实现对BP神经网络结构的优化。处于下层的参数基因主要对BP神经网络的连接权值和阈值进行优化。
(2)设计适应度函数。本文将适应度函数表示为:
式中:n 为训练样本个数; 是训练数据的均方根误差,处于0~1之间;yi 和y?i 分别是实际值和识别值。(3)算子选择。本文提出的改进型遗传优化BP神经网络算法使用最优个体保留方法实现算子选取以常规的适应值比例算法选取方法引起的局部最小值等问题[5]。(4)交叉、变异算子。本文提出的改进型遗传优化BP神经网络算法的上层控制基因采用单点交叉和基本位变异算子,下层的参数基因使用整体算数交叉和非一致变异算子。
(5)自适应交叉、变异概率。本文通过对自适应交叉、变异概率进行设计以平衡优化BP神经网络的结构和初始权重,具体设计过程如下,设定自适应交叉概率为:
式中:favr ,fmin 及fc 分别是种群的平均适应值、最小适应值以及交叉个体偏小的适应值;k1 ,k2 通常在1.0上下取值。设定自适应变异概率为:
式中:fm 是等待变异的个体适应值;k3 ,k4 通常在0.5上下取值[5?7]。
本文提出的改进型遗传优化BP神经网络算法的实施步骤如下:
Step1:采集并归一化处理数据。将处理好后的数据分为训练样本数据和测试样本数据两大类。
Step2:对遗传优化算法模型的基本参数,如进化最大代数为G ,种群的规模N 以及隐含层节点数等进行设定。
Step3:对种群上层种群个体使用二进制编码,对种群下层种群个体使用实数编码。
Step4:对种群各个个体解码以确定BP神经网络的结构参数。
Step5:遗传操作种群中适应度优异的个体。
Step6:对种群中遗传个体使用自适应概率进行交叉、变异操作,获得新的子群。
Step7:对上下层的子群个体解码以对BP神经网络隐含层节点数、权值和阈值等结构参数进行更新。
Step8:如果迭代步数达到设定最大值或者最佳个体适应度值满足要求,进入下一步,否则从Step5继续循环。
Step9:对适应值最佳的个体进行解码以确定最佳的BP神经网络隐含层节点数、阈值和连接权值等参数[8]。
3 数据挖掘应用实例
本文以煤矿空压机的故障诊断系统为实例,对提出的基于改进型GA?BP神经网络的数据挖掘模型进行研究。
3.1 煤矿空压机故障诊断系统
在建立空压机故障诊断模型之前,首先要通过查阅大量的空压机使用说明、故障说明、专家、操作人员的现场使用经验以及集合现在实时监测数据对空压机故障类型、故障来源等问题进行归纳总结。
以某煤矿的煤矿空压机故障诊断系统为例进行研究。通过经验及现场数据对煤矿空压机归纳出5种工作状态,用符号Y1~Y5表示,即为神经网络故障诊断模型的输出。Y1~Y5 分别表示:煤矿空压机为无故障工作状态;煤矿空压机冷却水系统出现故障的工作状态;煤矿空压机系统出现故障的工作状态;煤矿空压机轴承出现故障的工作状态;煤矿空压机电路系统出现故障的工作状态。
当煤矿空压机出现上述故障情况时,会有相应的故障征兆,根据经验及文献可以将煤矿空压机的故障征兆或者故障现象归纳为10种,用符号X1~X10表示,即为神经网络故障诊断模型的输入。X1~X10分别表示:煤矿空压机排气量过低、空压机排气压力不足、空压机排气温度超限、空压机冷却水温度超限、空压机冷却水压力不足、空压机主机转速低限、空压机振动超限、空压机系统油温超限、空压机油压力不足以及轴承温度超限。
煤矿空压机的故障征兆或者故障现象与煤矿空压机出现故障的工作状态有一定的内在联系,但又不是一一对应的,属于非线性关系,在此将归纳整理的煤矿空压机的故障状态和故障现象之间的内在联系列于表1。
通过长期的现场监测得到了大量关于煤矿空压机在正常工作及各种故障状态下的系统数据。通过对数据处理选取100 组数据作为基于数据挖掘的故障诊断系统的训练数据样本,选取100组数据用于基于数据挖掘的故障诊断系统的性能测试数据样本。表2列出了10组部分用于网络训练和测试的数据样本。
表1 空压机故障状态及故障现象关系
本文将所有用于训练和测试的数据样本进行归一化处理以消除不同传感器信号数据不同量纲产生的影响,通过式(4)将所有数据归一到0.05~0.95之间: 式中:S 为归一化处理之前的值;Smax 为是归一化处理的最大值;Smin 为是归一化处理的最小值。 表2 训练和测试数据样本
建立基于本文提出的基于改进型GA?BP神经网络的故障诊断系统主要分为两大块:
第一块是利用改进GA 算法对BP神经网络结构参数进行优化,如阈值θj ,γ 、隐层节点数m 以及连接权值wj1 ,wij 等;第二块就是根据优化后的BP神经网络结构参数进行建模。
故障诊断系统的输入单元数由煤矿空压机故障现象确定,通过上述分析,确定数量为10,即X1~X10;输出单元个数由煤矿空压机的工作状态确定,通过上述分析,确定数量为5,即Y1~Y5;隐含层为单层,单元数量一般先通过经验试凑法确定为16。初始阈值θj ,γ 以及初始连接权值wj1 ,wij 在-3~3范围内取值;神经网络的最大训练次数设定为3 000,精度为10-3。
设定遗传算法中种群的规模为N = 150 ,进化最大代数为G = 300 ,及其他参数b = 0.1 ,k1 = k2 = 1.0 ,k3 = k4 = 0.5 。
通过遗传算法优化的平均适应度曲线如图1所示,隐含层节点数优化曲线如图2所示,最终隐含层节点数通过189次的迭代后确定为22。
3.2 基于数据挖掘的空压机故障诊断分析针对上述建立的煤矿空压机故障诊断系统进行仿真研究,为了比较本文提出的改进型GA?BP神经网络算法的优越性能,使用基于常规GA优化的BP神经网络建立同样的煤矿空压机故障针对系统,使用同样的训练数据样本进行网络训练,使用同样的测试数据样本进行性能测试。使用采集并处理后的100组训练样本对模型进行训练,得到两种模型的误差逼近曲线如图3,图4所示。
通过对比可以看出,使用本文提出的改进型GA?BP神经网络算法经过569 次迭代就使得误差达到了设定范围内,而使用常规GA 优化的BP 神经网络算法经过2 779次迭代才使得误差满足要求。因此在网络的训练速度、收敛速度和收敛精度方面,本文提出的改进型GA?BP神经网络算法更胜一筹。
下面使用采集并处理后的100 组测试数据样本对故障诊断模型的诊断性能进行测试。测试结果表明,常规GA优化的BP神经网络的诊断正确率为87.5%,诊断时间为564 s,输出值不稳定,而本文提出的改进型GA?BP神经网络的诊断正确率为98.2%,诊断时间为246 s,输出值稳定。
图4 改进GA优化的BP神经网络训练误差
可以看出,相比于常规GA优化的BP神经网络,本文提出的改进型GA?BP神经网络算法所建立的故障诊断模型的性能更优,检测准确率以及速度更快,误判率极低。
4 结论
数据挖掘技术是在整个社会发展中随着科学和技术的不断进步而顺应需要所生,在近年来发展十分迅速。本文针对机器学习算法中的人工神经网络算法在数据挖掘技术中的应用进行了研究,提出一种通过改进常规遗传算法的染色体结构和遗传算子,并且通过引入自适应交叉和变异概率来对BP神经网络结构参数进行优化的改进型遗传优化BP神经网络模型。最后通过将提出的基于改进GA?BP神经网络算法的数据挖掘技术应用于无法用数学模型建立、具有复杂非线性、数据庞大的煤矿空压机故障诊断系统中。
参考文献
[1] 胡秀.基于Web 的数据挖掘技术研究[J].软件导刊,2015(1):149?150.
[2] 李仕琼.数据挖掘中关联规则挖掘算法的分析研[J].电子技术与软件工程,2015(4):200?202.
[3] 陈勇.一种目标行为序列模式的数据挖掘方法[J].无线电通信技术,2015(2):79?81.
[4] 于书媛,陈靓,王伟.基于空间数据挖掘的合肥市应急避难场所选址[J].地理空间信息,2015(1):93?95.
[5] 庄健,杨清宇,杜海峰,等.一种高效的复杂系统遗传算法[J].软件学报,2010(11):2790?2801.
[6] 刘磊.基于遗传神经网络的指数跟踪优化方法[J].系统工程理论与实践,2010(1):22?29.
[7] 宋国峰,梁昌勇,梁焱,等.改进遗传算法优化BP 神经网络的旅游景区日客流量预测[J].小型微型计算机系统,2014(9):2136?2141.
关键词:遗传算法 神经网络 瓦斯突出 预测
中图分类号:TD712 文献标识码:A 文章编号:1672-3791(2017)01(a)-0000-00
预测煤层中的瓦斯含量是进行煤与瓦斯突出风险研究的重要一环,由于影响瓦斯含量的地质因素复杂多样,以及各因素间存在着复杂的非线性关系,迄今为止,对瓦斯突出的预测主要使用回归分析方法,预测的结果往往跟实际的情况差别较大,因此需要使用新的方法建立预测模型来实现对瓦斯突出高精度的预测。
1 利用遗传算法改进的神经网络建立瓦斯突出预测模型
(1)网络输入参数的确定:经查阅相关文献和咨询得知瓦斯突出的主要影响因素有:煤层底板标高、煤层到断层距离、煤层到最近剥蚀面距离、顶板砂岩比、统计单元中有无断层、基岩厚度、煤厚。
(2)网络输出参数的确定:选择二进制数0和1分别表征瓦斯不突出和突出。
(3)网络的构造: 一般地可以用一个三层神经网络实现预测功能,此神经网络的输入层有n个神经元,根据经验公式选取隐含层有(2n+1)个神经元,输出层有m个神经元,因此本模型中的神经网络可以采用3层神经网络。
(4)网络的训练:训练样本取自唐山开滦多个矿井具有代表性的10个突出点,利用突出点的数据训练神经网络,得到预测模型。
(5)网络的精确度验证: 利用已完成的人工神经网络对实际问题进行试验研究。把在开滦矿井采取的11~20组数据的瓦斯突出指标输入已经训练的网络中,验证人工神经网络的预测结果与实际突出情况的吻合度,如果吻合度低,就需要对网络进行改动,直至达到满意的吻合度。
(6)利用遗传算法对神经网络的权值和阈值进行优化
个体的编码:将神经网络各层之间可能存在的连接权值和阈值编码成实数码串或者进行二进制码串,每条码串中包含着网络中的所有权值、阈值其排列顺序可以随意定义,不受限制,组成一个染色体。
产生初始种群:随机生成一定数量的码串个体作为一个初始种群。
计算适应度:设网络有K个训练样本,让所有的训练样本依次通过解码后生成的神经网络,计算所有训练样本一次通过的平均总误差作为每条染色体的适应度, 其中, 为瓦斯含量的实测值, 为网络的输出值。
④将网络的所有连接权值和阈值进行实数编码,构成一个染色体,每条染色体代表一个神经网络模型的权值和阈值。设定初始种群规模为20,进化代数为220,交叉概率0.2 ,变异概率为0.1,为了防止遗传算法的早熟现象,变异概率先定义为0.1,然后在逐渐递增。算法运行到158代时获得最佳的连接权值,网络平均总误差为0.001。
2 实例分析及算例求解
选取唐山开滦煤矿为例,对该地进行瓦斯含量预测研究。对影响瓦斯含量的主要因素进行分析,归纳确定了神经网络的输入层神经元个数为7,对应为7个输入变量即7个影响瓦斯含量的因素。其中对输入变量中的顶板砂岩比、统计单元中有无断层、顶板基岩厚度、煤层厚度四个影响因素采用二变量比值法将其定量化。处理方法的划分条件如表1所示,输出层神经元个数是1。在开滦集团获得的相关数据如表2所示,其中1~10作为网络训练样本,11~20作为网络检验样本,用来检验模型的预测精度。
利用前10组数分别训练自适应的BP神经网络和与遗传算法结合改进的网络得到瓦斯突出预测模型,如图1和2所示。然后利用11~20组的样本对网络性能进行检验,并将检验结果和实测值的数据进行对比,对比后的结果如表3所示。 由图1、2可知用遗传算法改进的神经网络收敛速度更快,由表3可知用遗传算法改进后的神经网络预测的值跟实际的值更加的逼近即预测精度高。
3 结论
本文采用遗传算法与神经网络相结合的方法,通过优化神经网络的权值和阈值,使得预测的绝对误差从-0.0119~0.2000缩小到-0.0013~0.0611,提高了预测的精度,加快了收敛速度。对煤矿安全发展具有一定的意义。
参考文献
[1]曾文飞,张英杰,颜玲.遗传算法的基本原理及其应用研究[J],软件导刊,2009
[2]梁芳.遗传算法的改进及其应用[D].武汉理工大学,2008.
[3]彭海雁.影响煤与瓦斯突出的主控因素研究[D].东北大学,2013.
关键词:神经网络;遗传算法;优化理论
一、引言
在人类的历史上,通过学习与模拟来增强自身适应能力的例子不胜枚举。模拟飞禽,人类可以翱游天空;模拟游鱼,人类可以横渡海洋;模拟昆虫,人类可以纵观千里;模拟大脑,人类创造了影响世界发展的计算机。人类的模拟能力并不仅仅局限于自然现象和其它生命体。自从20世纪后半叶以来,人类正在将其模拟的范围延伸向人类自身。
神经网络是人类对其大脑信息处理机制的模拟,早期的自动机理论假设机器是由类似于神经元的基本元素组成,从而向人们展示了第一个自复制机模型。近年来诸如机器能否思维、基于规则的专家系统是否能胜任人类的工作、以及神经网络能否使机器具有生物功能已成为人工智能关注的焦点。
遗传算法是一种更为宏观意义下的仿生算法,它模仿的机制是一切生命与智能的产生与进化过程。人类之所以能够向其自身的演化学习以增强决策问题的能力,是因为自然演化过程本质就是一个学习与优化的过程。
神经网络和遗传算法都是仿效生物处理模式以获得智能信息处理功能的理论,二者虽然实施方法各异,但目标相近,有很多特点相同,功能类似,对二者进行深入地对比研究,并取长补短,将二者综合运用是非常有意义的课题。
二、神经网络与遗传算法概述
自1943年第一个神经网络模型MP模型提出至今,神经网络的发展非常迅速,特别是1982年提出的Hopfield网络模型和1985年提出的8P算法。使神经网络逐步发展成为用途广泛的系统。神经网络是由大量神经元广泛互连。形成大规模并行处理和分布式的信息存储的复杂网络系统。单一神经元可以有许多输入、输出。神经元之间的相互作用通过连接的权重体现。神经元的输出是其输入的函数。虽然每个神经元的结构和功能极其简单和有限,但大量神经元构成的网络系统的行为则是丰富多彩的。神经网络计算的基本特征是大规模并行处理、容错性、自适应性和自组织性。大规模并行处理指能同时处理与决策有关的因素,虽然单个神经元的动作速度不快。但网络的总体并行处理速度极快。容错性指由于神经网络包含的信息是分布存储的,即使网络某些单元和连接有缺陷,仍可以通过联想得到全部或大部分信息。自适应性和自组织性指它可以通过学习,不断适应环境,增加知识的容量。
遗传算法最早由美国密执安大学的Holland教授在1975年发表的论文“自然和人工系统的适配”一文中提出。它是一种借鉴生物界自然选择思想和遗传机制的全局随机搜索算法,其实现方法是,从一个初始种群出发,不断重复执行选择、杂交和变异的过程,使种群进化越来越接近某一目标。它的基本特征是大规模并行处理、通用性、鲁棒性。大规模并行处理指遗传算法的操作对象是一组可行解而非单个解。搜索路径有多条而非单条,因而具有良好的并行性。通用性指只需利用目标的取值信息,而无需梯度等高价值信息,因而适用于任何大规模、高度非线性的不连续多峰函数的优化以及无解析表达式的目标函数的优化,具有很强的通用性。鲁棒性指算法的择优机制是一种软选择,再加上其良好的并行性,使它具有很好的全局优化性和稳定性。
三、神经网络与遗传算法在优点上的相似性
(一)二者都可对问题进行大规模的并行处理。整体上极大提高了运算速度。这是神经网络和遗传算法优于传统算法的最重要的特征。
对于神经网络来说,虽然每个神经元都要计算连接函数和传递函数(也称作用函数),但神经元的计算可以分布式地并行进行。对于遗传算法来说,每一个个体都需要根据适应值函数计算适应值,每一代都有很多个体,表面看来也有很大的计算量,但可同时对多个可行解进行操作,所以整体上与传统的计算方法相比,运算时间很短。从这一点来看,神经网络和遗传算法都需要发展分布式并行计算系统来替代传统的计算机,这种计算系统不再是传统计算机顺序执行命令的运行过程,而是希望对输入进行平行处理;这种计算系统不再是只包含一个或几个复杂的计算设备,而是由众多简单设备有机组成在一起共同执行相同的计算功能;一旦适合这种要求的硬件系统得到发展,神经网络和遗传算法将能得到更加广泛地应用,更有效地解决更大规模的实际问题。
(二)二者都具有高度的适应性和容错性
人工神经网络在解决某个具体问题时,可以反复用示例来训练它,在训练的过程中自组织自学习来适应新的情况。而且,由于神经网络中信息的分布式存贮,即使个别神经元出错,也不会导致网络运行的瘫痪,所以总体上具有较强的可靠性;而遗传算法通过每一代的选择过程来淘汰适应值较小的个体,保留适应值较大的个体,从而使收敛的结果趋于适应目标值,通过变异算子将每一代的种群空间扩大到个体空间,使每一个个体都有被选进种群的机会,每一个解都有机会参与计算。
(三)二者都通过对有限个可行解进行操作来获取对整个解空间的求解,实践证明对于其中已经相对成熟的算法,二者具有较好的鲁棒性。
神经网络,如BP算法,通过对有限个模式的训练和学习来实现对所有模式的识别;事实证明效果很好。遗传算法通过在个体空间中选择有限数目的个体作为种群进行代代操作来实现对个体空间中最优解的搜索。两种方法都选择了较少的操作数目,但由于算法本身的优越性,仍能取得较好的稳定性和收敛性。
四、神经网络与遗传算法在缺点上的相似性
(一)二者优越性的理论分析有待完善。
神经网络与遗传算法各自的种类繁多,神经网络主要有前馈(BP)神经网络、Hopfield网络、自组织特征映射网络、波尔兹曼机等,其中最有影响的是BP网络和Hopfleld网络;遗传算法主要有简单遗传算法、统计遗传算法、共同进化遗传算法及其它改进后的遗传算法;针对要解决问题的性质可以选择合适的网络或算法。这些网络或算法已经被诸多实践证明其优越性。
目前神经网络和遗传算法已经在语音识别、模式识别、图像处理和工业控制等领域取得了显著成效。虽然实践已证明了其无比的优越性,但在理论分析上,两者都略有不足。BP算法和Hopfield网络虽然给出了算法的执行原理及过程,但其优越性的理论仍不严格,即并未对不同情况定量说明,为什么这种算法能够快速收敛或快速求解。对遗传算法来说,早在Holland提出遗传算法之初就提出了著名的模式定理和稳并行性分析来定量说明遗传算法的优越性,并长期以来被人们所接受。但是模式定理只对简单遗传算法有效,因为其证明过程依赖于二进制编码,对非二进制编码收敛性的分析至今也未得出。除此之外,近年来,有很多著名学者也对模式定理的证明过程提出了质疑。所以,找到神经网络和遗传算法优越性的理论基础仍是一项艰巨的科研任务和课题。
(二)在算法的执行过程中参数的确定都需要依赖于人的经验。
建立一个神经网络需要首先确定它的基本结构、学习规则以及工作方式(前馈式还是演化式),网络结构包括网络的拓扑结构即网络中神经元的连接方式和节点转换函数两部分。结构的优劣对网络的处理能力有很大影响,一个好的结构应能圆满解决问题,同时不出现冗余节点和冗余连接,但不幸的是,神经网络结构的设计基本上还依赖于人的经验,尚没有一个系统的方法来设计一个适当的网络结构。目前,人们在设计网络结构时,只能或者预先指定。或者采用递增或递减的探测方法。
对遗传算法来说,需要针对待解决的问题而设计出编码方案、三个算子(选择、杂交、变异)、进化机制以及各个概率参数,如杂交概率、变异概率等。参数的确定也没有理论支持,只是人为地认为杂交概率的值确定在(0.65,0,9)范围内,变异概率的值确定在(0.001.0.01)比较好,目前,在遗传算法的实际执行过程中一般需要预先指定这两个参数,近来有学者提出在遗传算法的执行过程中动态地改变这些参数的方法也取得了较好的效果。