GA-BP网络(通用7篇)
GA-BP网络 篇1
股票是市场经济的产物, 现已成为金融市场中不可或缺的组成部分。但股票价格受企业经营状况、政策走势、经济大环境等诸多因素的影响, 投资股市面临巨大风险。为了减小风险, 增加收益, 人们通过对股票市场的实际操作和长期观察, 逐步发现并总结出股市发展变化的一些规律, 对这些规律进行再验证、再分析, 进而产生出各类股票预测方法和理论。传统的预测方法主要包括证券投资分析方法、时间序列分析法、市场调查法、马尔可夫法等等。但是, 由于股票市场是一个高度复杂的非线性系统, 其变化既有内在的规律性, 同时也受到市场、宏观经济环境以及非经济原因等诸多因素的影响, 所以一般传统的方法应用于股市的预测具有很大的局限性。
近年来, 随着人工智能理论的发展成熟, 特别是人工神经网络的研究取得了划时代的发展, 其在模式识别和复杂系统控制等方面已经取得了巨大的成功, 并开始在经济、金融等领域广泛应用。不少研究者将目光投向基于人工神经网络建立的预测模型, 并取得了较好的预测效果。首先, 基于人工神经网络建立的股票预测模型是样本驱动型的, 非专业人士只需将数据样本载入基础模型, 对神经网络进行训练和简单调整, 就可以建立一个适合自己的新模型, 获得准确度较高的预测结果。这对于普通投资者而言, 非常具有吸引力。其次, 由于人工神经网络具有良好的非线性逼近能力和对杂乱信息的综合处理能力, 其特性与股票市场这个多变量非线性动态系统中的研究难点相对应[1]。因此, 基于人工神经网络的预测模型应用于股市预测具有很强的现实意义和推广价值融, 已成为目前国际上进行股票预测研究的热点。
1 BP神经网络模型
1.1 BP神经网络模型的结构
反向传播网络 (Back-Propagation Network, 简称BP网络) 是将W-H学习规则一般化, 对非线性可微分函数进行权值训练的多层网络。它具有逼近任意非线性映射的能力、泛化能力和容错能力, 使其在函数逼近、模式识别、分类和数据压缩等多个领域得到广泛应用, 并取得了较好的效果。BP网络是一种多层前馈神经网络, 由一个输入层、一个输出层和若干个隐含层所组成。理论和实践证明具有一个隐含层即三层的BP神经网络已经具有逼近任意非线性连续函数的能力。
1.2 BP算法
BP网络的产生归功于BP算法的获得。BP算法是由两部分组成:信息的正向传递与误差的反向传播。在正向传播过程中, 输入信息从输入层经隐含层逐层计算传向输出层, 每一层神经元的状态只影响下一层神经元的状态。如果在输出层没有得到期望的输出, 则计算输出层的误差变化值, 然后反向传播, 通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望目标。
BP算法属于δ算法, 是一种监督式的学习算法。其主要思想为:对q个输入学习样本:P1, P2, …, Pq已知其对应的输出样本为:T1, T2, …, Tq。学习的目的是用网络的实际输出A1, A2, …, Aq与目标矢量T1, T2, …, Tq之间的误差来修正其权值, 使Al, (l=1, 2, …, q) 与期望的Tl尽可能地接近;即:使网络输出层的误差平方和达到最小。它是通过连续不断地在相对于误差函数斜率下降的方向上计算网络权值和偏差的变化而逐渐逼近目标的。每一次权值和偏差的变化都与网络误差的影响成正比, 并以反向传播的方式传递到每一层的[2]。
2 GA-BP算法
BP算法本身存在收敛速度慢, 训练时间长, 易陷入局部极小值, 权值、阈值调整过程中存在随意性过大, 隐藏层节点难确定, 抗干扰性较差等问题。此外, 股票市场价格的波动具有高度非线性的特性, 股价数据伴有高噪声问题。想得到较好的预测精度, 一方面要把握好数据样本的选取, 尽量减少外界因素产生的高噪声对训练的干扰, 另一方面需要引入其它算法来对BP网络进行优化, 解决BP网络存在的上述不足。
遗传算法 (Genetic Algorithms) 是上世纪60年代由美国Michigan大学的J.H.Holland提出的模拟自然遗传机制和生物进化理论而得出的一种自适应优化搜索算法, 简称GA算法。GA算法一般由四个组成部分构成:染色体编码机制、适应度函数、遗传操作、控制参数。它能够实现兼顾全局搜索和局部搜索, 避免基于目标函数的相关算法因梯度或高阶导数而易陷入局部最优的缺陷, 并且非常适用于大规模并行计算, 具备利用简单的编码技术和繁殖机制来表达困难问题复杂结构的能力, 这使得GA算法在优化、并行处理等领域广泛应用。本文中通过引入遗传算法优化BP算法, 建立神经网络的权值和阈值, 形成一种混合算法, 简称为GA-BP算法[3]。GA-BP算法就是在BP算法之前, 先用遗传算法在随机点集中遗传出优化初值, 以此作为BP算法的初始权值和阈值, 再由BP算法进行训练。
遗传算法优化神经网络权值和阈值的算法过程:
1) 随机产生一组分布, 采用某种编码方案对该组中的每个权值 (或阈值) 进行编码, 进而构造出一个个码链, 在网络结构和学习算法已定的前提下, 该码链就对应一个权值和阈值取特定值的一个神经网络。
2) 对所产生的神经网络计算它的误差函数, 从而确定其适应度函数值, 误差与适应度成反比关系。
3) 采用适应度比例法对个体进行排列, 选择若干适应值较大的个体, 直接遗传给下一代。
4) 进行交叉运算, 即按设定概率从种群中随机选择两个个体相互交换。
5) 进行变异运算, 定义随机的变异点, 在变异点上变异为 (-1, 1) 的值。通过对个体进行交叉, 变异等自适应调整, 采用改进的遗传算子, 形成新一代群体。
6) 重复步骤 (2) ~ (5) , 使初始确定的一组权值分布得到不断的进化, 直到训练目标得到满足或者迭代次数达到预设目标为止。
3 实证分析
本文基于BP神经网络, 结合遗传算法, 建立含有一个隐含层的三层神经网络模型。隐含层采用正切型激活函数 (tansig) , 输出层采用线性函数 (purelin) , 网络训练函数采用动量法和自适应速率相结合的算法 (traingdx) 。输入选取6个股票技术指标为开盘价、最低价、最高价、BIAS6、PSY12、MA5, 输出为第二天的收盘价。选取2010-08-06~2011-01-20之间的中国石化历史股票数据, 前100天作为训练样本, 后10天作为测试样本。因此, 本文的神经网络模型输入层为6个节点, 输出层为1个节点, 经多次试验隐含层为11个节点最佳。
3.1 数据的预处理和后处理
为了提高神经网络的训练效率, 我们需要在训练前对输入和目标数据进行必要的处理。本文利用premnmx函数对输入和目标数据进行归一化处理, 使其落在[-1, 1]区间, 再利用postmnmx函数进行反归一化处理。
3.2 训练结果
通过GA-BP神经网络进行训练可得出以下结果:
4 结论
通过探讨和实践, 可以知道遗传算法和BP算法相结合的神经网络对股票市场的预测具有很好的效果和研究价值, 但由于股票市场的极其复杂性, 时间和本人能力的限制, 不能对影响因素考虑周全, 面面俱到, 很多地方亦难尽人意。
参考文献
[1]石磊.遗传算法优化的BP神经网络在股市预测中的应用[D].合肥:安徽大学, 2011.
[2]丛爽.面向MATLAB工具箱的神经网络理论与应用[M].北京:中国科学技术出版社, 2009.
[3]尹璐.基于GA-BP神经网络的股票预测理论及应用[M].北京:华北电力大学, 2010.
[4]葛哲学, 孙志强.神经网络理论与MATLABR2007实现[M].北京:电子工业出版社, 2007.
[5]李旭军.BP神经网络在经济预测中的应用[D].武汉:华中师范大学, 2008.
[6]雷英杰, 张善文, 李续武, 等.MATLAB遗传算法工具箱及应用[M].西安:西安电子科技大学出版社, 2005.
GA-BP网络 篇2
随着数控机床朝着高速化、精密化、自动化、智能化的方向发展,机床的零部件精度及装配精度都有很大改善,传统意义上的机床几何误差已经能得到较好的控制[1]。然而,机床运行时各零部件不可避免的产生温度变化,特别是进给系统的滚珠丝杠,其高速旋转,使轴承、丝杠螺母副摩擦产生大量热,导致丝杠产生轴向热变形,直接影响机床的定位精度。因此,研究丝杠的热误差建模方法,精确的预测其热误差,对提高数控机床的精度有着重要意义。
通常预测热误差的方法有线性回归法[2]、灰色理论[3]、BP神经网络[4]、RBF神经网络[5]等。这些方法的基本假设是:机床误差是与关键点的温度和位置有关的函数[6]。丝杠的热误差主要与螺母的实时位置和温度以及前后轴承的温度有关。获得这些信息后,可以建立一个丝杠的热误差模型。通过这个模型可以预测热误差,进而在加工过程中进行实时补偿,从而提高数控机床的加工精度。
其中,BP神经网络能充分逼近复杂的非线性关系,具有高度的鲁棒性和容错能力,广泛应用于热误差建模中,但是BP神经网络收敛速度慢,容易陷入局部极值[7]。针对上述问题,本文首先运用ANSYS软件对TX1600G镗铣加工中心进给系统的滚珠丝杠进行热特性分析,获得丝杠的温度和热误差数据,然后分别建立传统BP神经网络和GA-BP神经网络模型,对滚珠丝杠的轴向热误差进行建模,比较两种方法的预测效果。
1 滚珠丝杠的有限元分析
1.1 滚珠丝杠系统模型
滚珠丝杠具有高精度,高效率的特点,广泛应用于进给系统中[8]。TX1600G镗铣加工中心的滚珠丝杠系统主要由伺服电机、联轴器、前轴承支座、前轴承、滚珠丝杠、螺母、后轴承、后轴承支座等部分组成,如图1所示。
1.伺服电机;2.联轴器;3.前轴承支座;4.滚珠丝杠;5.螺母;6.螺母支座;7.后轴承支座
为了方便有限元分析,必须对有限元模型作出以下假设[9]:
1)忽略滚珠丝杠上的螺纹,倒角和退刀槽等对有限元分析影响较小的结构;
2)丝杠螺母副和轴承摩擦产生的热量恒定不变的;
3)对流换热系数是一个常数;
4)润滑剂对热传导的影响可以忽略不计。
1.2 轴承及丝杠螺母副的发热量计算[10,11]
滚动轴承的温度提高主要是由于滚动体和轨道摩擦引起的,其发热量计算公式为:
式中,Qb是轴承发热量(W),n是轴承转速(rpm),M是轴承的总摩擦力矩(N.mm),由两部分组成:
式中,M1是与轴承所受载荷有关摩擦力矩,M2是与润滑剂粘度有关的摩擦力矩,其计算公式分别为:
当υn ≥2000 时,
当υn ≤2000 时,
式(3)中,f1是与轴承类型和载荷有关的系数,p1是与轴承的预紧力(N),dm是轴承的平均直径(mm)。
式(4)和式(5)中,f2是与轴承类型和润滑方式有关的系数,υ是润滑剂的运动粘度(mm2/s)。
滚珠丝杠螺母副发热量计算与轴承发热量相似,其计算公式为:
式(6)中,Qn是丝杠螺母副的发热量(W),fn是与螺母类型和润滑方式有关的系数,υn是润滑剂的运动粘度(mm2/s),nn是丝杠的转速(rpm),Mn是螺母的总摩擦力矩(N.mm)。
1.3 热边界条件计算
丝杠表面与空气进行对流换热,根据努谢尔特准则,对流换热系数h()的计算公式为:
式中,Nµ是努谢尔特数,λ 是空气的热传导系数(w/m2·℃),L是特征尺寸(mm)。
丝杠高速旋转,与周围空气强制对流换热,努谢尔特数计算公式为:
式中,Re是雷诺数,ω 是丝杠角速度(rad/s),d是丝杠直径(mm),υ是空气的运动粘度(mm2/s),Pr是普朗特数。
1.4 建立模型及网格划分
为减少计算量,提高网格质量,将丝杠简化为阶梯光轴,利用ANSYS建立丝杠的三维模型,采用10节点四面体单元SOLID90进行网格划分。
1.5 温度场及热变形分析
滚珠丝杠的前端有四个相邻的滚动轴承,可简化为一个热源,后端两个轴承的位置是间隔的,看成是两个热源,将计算的热量转化为热流密度施加在滚珠丝杠的相应位置上。机床空载运行时,螺母在丝杠行程范围内往复移动。为模拟机床的实际运行条件,进行ANSYS仿真时,运用APDL语言在滚珠丝杠行程范围内施加往复移动的热流密度。在丝杠与空气接触的外表面节点上施加对流换热系数。
滚珠丝杠采用一端固定,一端自由游动的固定方式,丝杠的前端与联轴器相连,为完全约束状态,在丝杠的前轴承处施加X、Y、Z方向的位移约束,后轴承处施加X、Y方向的位移约束,再将仿真得到的温度场作为热载荷施加到丝杠上,求解得到滚珠丝杠的热变形云图。
设定丝杠转速为500rpm,环境温度为20℃,螺母循环运动6300s。6300s时丝杠的温度分布及热变形分布如图2所示。图3为前、后轴承和丝杠中心位置的温度变化曲线。图4为丝杠行程范围内各点随时间变化的轴向热误差曲面图,X轴表示丝杠行程范围内各点距离丝杠前端面的水平距离,Y轴表示时间,Z轴为轴向热误差。
由图2(a)和图3可知,随着仿真时间的增长滚珠丝杠温度越来越高,大约在3300s时丝杠达到热平衡状态,丝杠前端比后端温度略高。滚珠丝杠中间位置处温度最高,约为38.8℃,温升为18.8℃,前轴承处温度约为27.0℃,温升7.0℃,后轴承处温度最低约为22.1℃,温升2.1℃,温度场分布呈现中间高,两端低的特点。
由图2(b)和图4可知,越远离固定端,热变形越大,最大热变形出现在丝杠后端面,约为412µm 。丝杠行程范围内的最大轴向热变形约为390µm 。
2 GA-BP神经网络算法
2.1 GA-BP算法
遗传算法是一种通过模拟自然进化过程并行随机搜索最优解的方法。它把问题空间的参数转换成由一定结构的基因组成的个体,再按照所选择的适应度函数对个体进行选择、交叉、变异操作,保留适应度值好的染色体,组成新的种群,重新进行遗传操作,这样反复循环,直至寻得全局最优解。遗传算法具有较强的鲁棒性和普适性,适于并行处理,BP神经网络能较好的拟合非线性曲线,结合两者的优点,提出使用GA-BP模型进行误差建模。
GA-BP神经网络的算法流程由BP神经网络结构确定、遗传算法优化、BP神经网络预测3部分组成,如图5所示。
2.2 BP神经网络结构的确定
BP神经网络模型选用三层网络结构。输入层为前后轴承的温度、螺母的温度和位置以及环境温度,神经元个数为5;输出层为滚珠丝杠的轴向热变形,神经元个数为1;根据经验公式确定隐藏层神经元个数[10],设为6。因此,确定BP神经网络模型为5-6-1网络结构,隐藏层传递函数使用tansig,输出层传递函数为purelin。
2.3 遗传算法优化
GA-BP模型通过优化BP神经网络的初始权值和阈值,更好地预测函数输出。GA-BP神经网络主要包括初始化种群、选择适应度函数、选择、交叉以及变异操作等要素。个体编码方式采用实数编码,每个个体均由4部分组成,分为输入层与隐藏层连接权值、隐藏层与输出层连接权值、隐藏层阈值以及输出层阈值。在已知个体编码和网络结构的情况下,就可以构成一个权值、阈值以及结构确定的神经网络[12]。
个体适应度值F为预测输出和期望输出的误差绝对值之和:
式中,k为系数,n为网络输出节点数,yi为BP神经网络第i个节点的期望输出,oi第i个节点的预测输出。
选择操作采用轮盘赌法,适应度值小的个体被选中的概率较大;交叉操作采用实数交叉法,将两个个体的部分编码互相交换;按变异概率对个体进行变异操作,按照遗传算法对个体进行寻优,直至寻得最优个体。
2.4 模型训练及预测
运用ANSYS每隔21s读取一次丝杠的温度场和热误差分析结果,共读取265组数据,其中215组数据用于网络训练,50组数据用于网络预测。设训练次数100次,预测精度为0.002,分别用传统BP网络模型和GA-BP网络模型对误差数据进行预测,比较两种模型的残余误差绝对值,结果如图6、图7及表1所示。
由图6、图7及表1可知,达到相同的训练精度,GA-BP网络模型需要的训练次数少,残余误差绝对值小。因此,优化的BP网络模型训练时间短,拟合效果更好。
3 结论
1)本文运用FEM对TX1600G镗铣加工中心的滚珠丝杠进行热变形分析,获得丝杠转速为500rpm时的温度场分布和热变形规律,为进一步研究丝杠的热误差预测提供了理论基础。
GA-BP网络 篇3
关键词:农业机械化,综合水平,GA-BP神经网络,预测
0 引言
农业机械化综合水平是反映农业机械化发展水平的重要指标。我国农业机械化综合水平是由机械化耕作水平、机械化播种水平和机械化收获水平分别按照0. 4、0. 3、0. 3 的权重组成[1]。目前,我国农业正处于从传统农业向现代农业转变的关键时期,发展农业机械化,提高农业机械化综合水平,对我国农业的发展具有重要的战略意义[2,3]。因此,如果能够对我国农业机械化综合水平进行有效预测,不仅能够增强对我国农业机械化发展进程的把握,还能够为科学制定我国农业机械化发展的方针和政策等提供一定的借鉴和导向作用。
本文将遗传算法( GA) 与误差反向传播神经网络( BP神经网络) 相结合,建立了我国农业机械化综合水平的GA - BP神经网络预测模型,并运用该预测模型对我国2013 - 2018 年的农业机械化综合水平进行预测。
1 我国农业机械化综合水平发展分析
为了更好地展现出我国近年来农业机械化综合水平的实际发展情况,选择1986 - 2013 年我国农业机械化综合水平数据制成农业机械化综合水平趋势图,如图1 所示。
据分析,由于受到人类活动、统计误差、统计手段等多因素的影响,我国耕地面积的统计数据存在一定的误差。张睿[4]等人对由于耕地面积统计误差造成农业机械化综合水平计算误差的现象进行了研究,并对部分数据做了计算纠正。为更加实际体现我国农业机械化综合水平,提高模型预测精度,部分数据采用了纠正后的数据。
由图1 可以看到: 我国历年农业机械化综合水平整体上呈上升趋势,且2005 年以后的上升趋势相比以往明显加快; 2007 年我国农业机械化综合水平突破40% ,进入农业机械化进程的中级发展阶段; 自2005年以来,我国农业机械化综合水平保持以两个百分点以上的速度增长,2013 年我国的农业机械化综合水平突破59% 。随着一系列有关促进农业机械化的政策法规的出台,我国农业机械化的发展在未来一段时间内仍将处于良好的机遇期。
2 GA - BP神经网络原理与算法
BP神经网络预测模型是混沌时间序列预测模型中具有较好非线性拟合能力和预测能力的预测模型[4]。但是,该预测模型的初始权值和阈值是随机赋值的,其学习算法采用梯度下降法,在样本训练中容易陷入局部极小值,且具有收敛速度慢的特点。GA算法作为一种自适应全局优化搜索方法,具有良好的智能性和鲁棒性[6]。本模型首先利用GA算法良好的自适应全局优化搜索能力找到最优适应度值的对应个体,利用GA算法得到的最优个体对BP神经网络的初始权值和阈值进行赋值,有效避免了网络由于初始的权值和阈值因随机赋值而陷入局部极小值的缺陷,充分发挥BP神经网络局部搜索能力强的特点,大大提高了其收敛速度,使预测模型快速在最优处收敛。
2. 1 BP神经网络
BP神经网络的原理是采用梯度下降法调整权值和阈值使得网络的实际输出与期望输出的均方误差值最小[7]。其训练仿真过程如下:
1) 确定BP神经网络结构并对输入层到隐含层权值wij、隐含层到输出层权值vjt、隐含层阈值 θj及输出层阈值 γt进行赋值。
2) 随机选取训练样本( Pk,Rk) 提供给网络。
3) 利用输入样本Pk、连接权值wij、阈值 θj,计算隐含层各单元的输入Sj,然后利用Sj通过传递函数计算隐含层各单元的输出Bj。则有
4) 利用中间层的输出Bj、权值vjt、阈值 γt,计算输出层单元的输出Lt,然后通过传递函数计算输出层单元的响应Ct。则有
5) 利用期望输出Rk和网络实际输出Ct计算输出层单元的一般化误差dt,有
6 ) 利用连接权值vjt、输出层的一般化误差dt和中间层输出Bj计算中间层各单元的一般化误差ej,有
7) 利用输出层单元的一般化误差dt与中间层各单元输出Bj来修正连接权值vjt和阈值 γt,有
8) 利用隐含层各单元的一般化误差ej、输入层各单元的输入Pk修正连接权值wij和阈值 θj,则有
9) 随机选取下一个学习样本提供给网络,返回步骤3) ,直到样本训练完毕。
10) 判断算法是否达到结束迭代条件,若达到,算法结束。否则返回步骤3) 。
2. 2 GA算法
GA算法进行全局寻优主要过程由种群初始化、适应度函数、选择操作、交叉操作和变异操作组成。
1) 种群初始化: 种群初始化过程中按照BP神经网络的输入层与隐含层连接权值、隐含层阈值及隐含层与输出层连接权值及输出层阈值采用二进制实数编码对个体进行编码。
2) 适应度函数确定: 将BP神经网络的预测输出yi和期望输出oi之间的绝对误差绝对值的和的倒数作为个体适应度值F,则有
3) 选择操作: 遗传算法选择操作方法有轮盘赌法、锦标法等多种方法,本模型选择基于适应度比列的选择策略,即轮盘赌法。这样适应度值高的个体被选择到下一代的概率大一些。设第i个体的选择概率为pi,有
4) 交叉操作: 由于初始化中采用编码方式为实数编码,因此交叉操作选择实数交叉法。假设第k个染色体和第f个染色体在j位进行交叉,有
5) 变异操作: 选取第m个个体的第n个基因amn进行变异操作,有
其中,amax、amin分别为基因amn的上界和下界;f( g) = r1( 1 - g /Gmax) ,r1为随机数,g为当前的迭代次数; Gmax是最大进化次数,r为0 ~ 1 之间的随机数。
6) 计算适应度值函数,若满足该算法结束条件,则输出个体,否则返回到步骤3) 。
7) 将GA算法得到的最有个体赋值给BP神经网络的权值和阈值,用训练样本对BP神经网络进行训练,完成模型预测。
3 农业机械化综合水平预测模型
3. 1 建立GA - BP神经网络预测模型
GA - BP神经网络预测模型的网络拓扑结构主要由输入层、隐含层、输出层及各层的节点数构成。由Komogorov定理可知: 3 层的BP神经网络可以完成任意的N维到M维的映射[8],因此预测模型选用单隐含层网络结构。本预测模型的训练样本来自中国农业年鉴统计的1986 - 2013 年的我国农业机械化综合水平的数据,其输入样本和输出样本如表1 所示。
将第N年的农业机械化综合水平作为输出样本,第N - 1、N - 2、N - 3、N - 4、N - 5、N - 6 年的历史数据作为输入样本,因此输入层的节点数为6,输出层的节点数为1。隐含层节点个数的确认: 首先通过经验公式16 大致确定隐含层节个数的范围,然后通过试验训练并结合双阶段结构自确认算法进行确定[9],最终找到误差最小的隐含层结点个数为9。因此,预测模型的网络拓扑结构为6 - 9 - 1,有
其中,m、n分别为输入层和输出层节点个数,a取值为1 ~ 10 的常数。
在该预测模型中,输入层到隐含层的传递函数采用“tansig”函数,隐含层到输出层的传递函数采用“purelin”函数。其训练函数采用traingdx动量及自适应lr BP的梯度递减训练函数,学习函数采用learngdm梯度下降动量学习函数。遵循初始化参数设置原则及综合考虑预测模型的要求并经过多次试验,最终确定种群初始化的参数分别为种群大小60、遗传代数100、交叉概率0. 6、变异概率0. 005。设置BP神经网络模型的训练次数为3 000,训练目标为1e - 5,其余参数选择默认设置。采用绝对误差和相对误差来对预测模型的性能进行定量评判。根据以上参数和要求运用Mat Lab完成GA - BP神经网络预测模型的构建,并根据训练样本( 见表1) 对网络进行仿真训练仿真。
3. 2 预测模型训练仿真结果与分析
利用表1 我国往年的农业机械化综合水平的20个样本对所建立的GA - BP神经网络进行仿真训练,训练完成后农业机械化综合水平真实值与输出值如表2 所示。
%
从表2 中可以看出: 我国历年农业机械化综合水平的实际值与输出值基本一致,平均绝对误差为0. 318% ,最大绝对误差为1. 44% ; 平均相对误差为0. 932% ,最大相对误差为3. 39% 。在2005 年和2007年出现较小范围的波动,原因是农业机械化综合水平受到农民收入水平、农机工业发展水平、农机使用成本、农村剩余劳动力转移、劳动力价格及耕地规模等诸多因素的影响[10]; 而且在数据统计上不可避免的存在一定误差,在模型的计算中也会存在一定的系统误差。因此,理论上该预测模型可以对我国农业机械化综合水平进行预测。
3. 3 模型验证
运用训练完成后的模型对2012 年和2013 年我国农业机械化综合水平预测检验,分别输入2007 - 2011年和2008 - 2012 年的农业机械化综合水平,输出预测结果2012 年为57. 64% ,与实际值为57. 17% 基本吻合,绝对误差为0. 47% ,相对误差为0. 82% ; 2013年为59. 60% ,与实际值59. 48% 也基本吻合,绝对误差为0. 12% ,相对误差为0. 2% 。由此说明,该模型经过仿真训练后具有较好的预测精度和实用价值。
4 农业机械化水平预测与分析
4. 1 模型预测
根据完成仿真训练后的预测模型对我国2014 -2018 年的农业机械化综合水平进行预测,结果如表3所示。
%
4. 2 预测结果分析
从我国农业机械化综合水平预测结果来看,2014年我国农业机械化综合水平为61. 94% ,这与农业部公布的2014 年我国农业机械化综合水平将超过61%是吻合的。2016 - 2018 年农业机械化综合水平增长保持两个百分点以上,这与白人朴[11]在关于“十三五”我国农业机械化发展的思考中提到的农作物耕种收机械化水平年均提高速度保持在2% 以上的合理区间是相符的。根据2006 年农业机械发展战略报告[12],在综合我国耕地面积、种植业劳动力及农业机械发展等因素后预测我国农业机械化综合水平将在2020 年达到70% 左右; 但2014 年我国农业机械化综合水平已超过61% ,提前完成了“十二五”规划中对农业机械化发展的要求。综合考虑我国目前农业机械化综合水平的发展现状等各项因素,在2018 年农业机械化综合水平达到70% 是很有可能实现的。可见,基于GA - BP神经网络的农业机械化综合水平预测模型对我国农业机械化综合水平的发展趋势有较好的预测能力。
5 结论
通过GA - BP预测模型对我国农业机械化综合水平进行预测和验证,通过定性和定量分析表明该模型有较好的预测性能。但是,GA - BP神经网络预测模型作为一种时间序列预测模型,其预测具有短时性,进行长期预测其预测精度将大大降低。因此,下一步在保证预测精度的前提下延长预测时间,对时间序列的预测具有重要的意义,也将是预测模型优化的主要方向。
参考文献
[1]易中懿.中国农业机械化年鉴[M].北京:中国农业科学技术出版社,2007.
[2]朱明.推进农业洪城科技创新,建设社会主义新农村[J].农业工程学报,2006,22(6):192-196.
[3]Zhu Ming.Experience of Agricultural Engineering Development in China[J].农业工程学报,2007,23(9):269-275.
[4]张睿,高焕文.基于灰色GM(1,1)的农业机械化水平预测模型[J].农业机械学报,2009,40(2):91-95.
[5]李松,罗勇,张铭锐.遗传算法优化BP神经网络的混沌时间序列预测[J].计算机工程与应用,2011,47(29):52-55.
[6]葛继科,邱玉辉,吴春明,等.遗传算法研究综述[J].计算机应用研究,2008,25(10):2911-2916.
[7]王德明,王莉,张广明.基于遗传BP神经网路的短期风速预测模型[J].浙江大学学报:工学版,2010,46(5):837-842.
[8]戚德虎,康继昌.BP神经网络的设计[J].计算机工程与设计,1998,19(4):48-50.
[9]张雨浓,曲璐,陈俊维,等.多输入Sigmoid激励函数神经网络权值与结构确定方法[J].计算机应用研究,2012,29(11):4113-4116.
[10]卢秉福,张祖立,朱明,等.农业机械化发展关键影响因素的辨识与分析[J].农业工程学报,2008,24(11):114-117.
GA-BP网络 篇4
人工神经网络是2 0 世纪4 0 年代后出现的,它是由众多的神经元可调的连接权值连接而成,具有大规模并行处理、分布式信息存储、良好的自组织自学习能力等特点,仅通过一定量的样本训练即可实现复杂函数映射的优点。因此,近年来信息处理、模式识别、智能控制及系统建模等领域得到了迅速发展[1]。
人工神经网络之所以吸引众多科学家和工程师的研究和应用,主要是它往往能解决传统方法很难解决或不好解决的问题。由于管道的安全越来越受到重视[2],近年来,国内外学者探索将ANN的方法引入到输油气管道的剩余强度预测中,针对传统方法难以解决的问题进行了研究,并取得了一些成果,为腐蚀管道剩余强度预测的神经网络方法开辟了道路[3]。
A. A. Chojaczyk等将BP神经网络与有限元分析技术相结合,研究中考虑了腐蚀深度、腐蚀间距对管道极限承载力的影响。研究发现神经网络对剩余强度的预测有较好的效果[4]。Mohammed S. El -Abbasy等利用46 个试验数据建立起样本库,对神经网络进行训练。研究显示,神经网络预测正确率达到了90% ,取得了令人满意的结果[5]。R. C. C.Silva等用3 层BP神经网络对含有环向裂纹管道进行了研究。经过误差分析表明,BP神经网络可以预测出管道的极限承载力[6]。A. Hosni Elhewy等人利用神经网络拟合极限状态方程。并将该法应用于实际工程当中[7]。
由于遗传算法具有全局搜索的特性且不依赖梯度信息[8],所以用它优化神经网络,可以较好的克服B P网络自身容易陷入局部寻优的问题,有效提高神经网络的泛化性能[11]。所以本文利用遗传算法对神经网络的权值和阈值进行优化,把最佳组合权值和阀值隐含在网络的连接中,从而更加精确的预测管道的失效压力。
1 模型建立
BP神经网络,即反向传播网络,是一种多层前馈神经网络。据统计,80% ~ 90% 的神经网络模型采用了BP网络或其变化形式,BP网络是前馈网络的核心部分,体现了神经网络中最精华、最完美的部分[9]。
基于遗传算法优化的BP神经网络的原理如图1。
1. 1 网络层数的选择
BP神经网络是由输入层、输出层和隐层组成,并且各层之间是全连接的。根据Robert Hecht -Nielsen提出的Kolmogorov的多层神经网络映射存在性定理,本文选择管道失效压力的3 层BP神经网络进行全局映射。只增加隐层数可以降低误差,提高计算精度,但是增加隐层数目会使网络结构变得复杂,从而增加了网络权的训练时间。而提高精度也可以通过增加隐层的神经元数目来实现,训练学习效果也随着隐层神经元数目的增加而增加,且更容易观察和调整。
1. 2 神经元个数的确定
网络的输入层、输出层的神经元个数由问题本身特点来确定。实际中隐层的神经元个数并没有一个理论指导,是通过不同的神经元个数的网络训练误差来确定,在能够有效解决问题的前提下,再加1 ~ 2个神经元以加快网络的收敛速度。隐层节点数过少的情况,该神经网络的获取信息的能力太弱,不足以体现训练集和预测集之间的关系; 但是隐层节点数过多,使网络中非规律性的信息也被学习,相反降低了网络的泛化能力。
根据Kolmogorov定理可以确定隐层节点数经验公式如下[10]:
式中: m为隐层节点数,n为输入节点数,l为输出节点数,α 为1 ~ 10 之间的任意常数。网络拓扑结构如图2。
根据图2 中的3 层神经网络拓扑结构。第一层为输入层,其中每一个节点都连接到了输入层,并传输倒下一层,第二层为隐层,每一个变量代表一个语义变量y1、y2等,目的在于计算输入层到隐层之间的链接权值wij,第三层为输出层,目的在于计算每个规则的适应度值,即隐层到输出层的链接权值wjk。假设隐层神经元输出为yi,输出层神经元为zk,则数学表达式如下:
式中: netj表示第j个隐层神经元的输出; netk表示第k个输出层神经元的输出。
为了能更加精确的预测非线性复杂函数,需要不断调整权值与阀值来减少方差的方法,网络的训练函数为:
式中: Znk指的是第n个学习样本的第k个元素,Znk0指的是相应的真实输出值,p指的是训练的样本量,L指的是管道的长度。
2 实例分析
以兰成渝管道中成县到广元段在8 年之间检测的数据为例,取其中80% 的数据来训练网络,其余20% 进行测试网络。文中由7 个输入参数来计算对管道失效压力的影响,输入层神经元个数为7 个,即管道的直径、壁厚、屈服强度、径向腐蚀速率、轴向腐蚀速率、腐蚀深度和腐蚀长度。神经细胞的输出层数为1,为管的失效压力。
2. 1 网络学习函数的对比分析
通过对管道的灵敏度分析可以知道,影响管道失效压力的因素主要有腐蚀缺陷深度、腐蚀缺陷长度、管径、壁厚、管材的屈服强度、径向腐蚀速率、轴向腐蚀速率。
由于这7 个参数的大小不同,导致在训练过程中的地位不同,为了避免在网络训练过程中奇异样本数据导致的网络训练时间增加、无法收敛或者收敛比较慢的情况出现,为了每一个样本数据在学习训练过程中都有同样重要的地位,需要对网络样本数据进行归一化处理。logsig函数为可微函数,非常适合于利用BP算法训练网络。考虑到logsig函数值在接近0、1 的时候变化比较缓慢,曲线趋向于平稳,那么为了减少计算时间我们要将输入数据等效变换到0. 1 ~ 0. 9 之间,在这个范围内logsig函数值变化比较大,这就使得收敛速度大大加快,从而改善了网络的性能。
由图3 可以看出,当输入数据变换在0. 1 ~ 0. 9之间时,网络通过最少的训练次数达到了最初设定的均方误差10- 8,时间提高68% ; 当输入的变换数据在0 ~ 1 时网络收敛效果减弱,当变换数据在0. 2 ~ 0. 8 时,收敛效果最差。不同的数据变换导致的收敛时间、学习次数如表1。
1) Levemnerg - Marpuardt算法的BP网络
Levemnerg - Marpuardt算法适用于求解非线性寻优问题,其本质上是拟牛顿方法。
设误差平方和为:
式中: ε 表示以 εp为元素的向量,p表示p个元素的向量。假设当前为wold,向新位置wnew移动,在移动过程中wold- wnew足够小,则将展开成一阶Tay-lor级数公式:
其中,Z表示为:
综上,误差计算函数( 10) 可以表示如下:
对wnew进行求导求E的最小值,如下:
对于( 14) E的表达式,用矩阵元素Hessian表示为:
式( 15) 可以改写成误差形式为:
求E的极小值,E对wnew求导。
在计算过程中,通过调节 λ 的大小,最初任意选定一个 λ 大小,每一步观察E的大小变化,如果( 16) 中误差减小,那么就保留此时的wnew,反之如果误差增加,那么保留之前的wold,使 λ 增大10 倍,重复这个步骤,直至误差E达到要求的精度为止。
基于L - M算法的BP神经网络对腐蚀管道失效压力值进行预测,得到失效压力的预测值与期望值之间的差别,从而得到二者的误差百分比,如图4。
2) 加入动量项( Momentum) 与自适应学习率相结合的BP网络
加入动量项是建立在误差反传基础之上的,在误差反传过程中,需在变化权值的基础上加正比于变化的权值量,并以此权值继续进行误差反传工作,实质上就是将最后一次权值的变化以一个动量项的形式来表达,这是为了加入动量项之后使误差反传向着误差曲面的平坦区域进行,此时,将会变得很小。带有附加动量项的权值公式如下:
式中: k为网络的训练次数,mc为附加动量因子,为网络的学习率。
在标准的BP网络中,学习率被设置为定值,然而在比较平坦的区域,学习率过大会使计算量过大,造成无谓的计算,在比较剧烈的区域,希望学习率小一点,以提高学习的能力,所以将学习率设置为一个定值有很大的误差。所以给出一种自适应学习率的调整公式如下:
基于加入动量项( Momentum) 与自适应学习率相结合的BP神经网络进行腐蚀管道失效压力值的预测,得到失效压力预测值与期望值之间的差距,进而得到失效压力数值预测误差百分比值。如图5。
3) 共轭梯度法( Conjugate Gradient)
共轭梯度法,即通过改变梯度来改变训练速度和性能的训练算法。共轭梯度算法不再是沿着梯度的负方向传播,而是沿着共轭的方向进行,把前一点的梯度值乘以一个系数加在现在的点上,形成一个新的搜索方向,共轭梯度法是将过去的梯度算法和现在一点的梯度法综合在一起,从而形成新的搜索方向。得到的误差百分比情况如图6。
通过对不同训练算法的神经网络的预测能力的计算和对比分析可以知道,基于Levemnerg -Marpuardt算法BP神经网络的预测值与期望值的误差比例最小,最大均方误差为0. 081,最大均方误差减小80% ,预测能力相比最好,可以达到很好的预测效果,Conjugate Gradient算法的均方误差最大,达到了0. 4,Momentum and adaptive learning rate算法介于两者之间为0. 3。见表2。所以选择Levemnerg- Marpuardt学习算法的BP神经网络。
2. 2 失效压力的预测及对比分析
根据以上分析确定了网络参数的归一化范围、网络的学习算法和网络的拓扑结构。对BP神经网络及GA - BP神经网络进行计算和预测管道的失效压力,比较三者的误差值及收敛效果,如图7。
由图7 可以看出,相比较GA - BP的误差最小,收敛速度相当,通过最大的学习次数( 1000 次) 进一步对比分析网络的收敛时间及最大均方误差,如表3。
遗传算法优化的BP神经网络使BP网络的泛化能力大大提高,最大均方误差为6. 12% ,在保证安全的前提下,计算精度较高。
BP神经网络的预测值和Modified B31G计算结果与真实值误差均较大,而GA - BP的预测值与实际结果的相对误差最大为6. 12% ,有很好的一致性。
综上所述,利用GA - BP网络进行失效压力函数的预测具有很高的可信度和精确度。可以克服Modified B31G的一定的保守性,如图8。
3 结论
1) 通过对GA - BP神经网络的训练参数归一化不同范围的对比分析,得出归一化范围在0. 1 ~0. 9 范围时可以有效避免奇异样本数据对网络学习效果的影响,收敛次数最小为70 次,时间提高了68% ,有利于神经网络对所有数据的充分高效的学习。
2) 通过对比分析神经网络学习函数及隐层单元节点个数对误差大小、运行时间及收敛情况的影响,得到在该模型中网络使用Levemnerg - Marpuardt学习算法以及节点个数n = 3 为最佳的网络拓扑结构,相较于其他拓扑结构,最大均方误差减小80% 。
GA-BP网络 篇5
传感器的精确度在工业生产中也同样占据着不可忽视的地位。由于部分压力传感器是由半导体材料构成,因此具有灵敏度高及动态响应快等诸多优点; 但也由于半导体的特殊性质,这种传感器容易受温度影响,产生温漂,导致传感器的稳定性和精确性降低,所以要对其进行温度补偿。目前对于压力传感器的温度补偿方法有很多,但补偿精度都不是很高[1,2]。
近年来随着人工神经网络的发展,其应用范围也越来越广泛,BP神经网络是一种具有连续传递函数的多层前馈人工神经网络,被广泛应用在各行各业中。BP神经网络可以应用在压力传感器的温度补偿模型当中,但是由于它的收敛速度慢且容易早熟,所以笔者提出了一种采用遗传算法( Genetic Algorithm,GA) 优化的BP神经网络, 通过调整其权值和阈值使传感器具有较好的收敛性和稳定性。
1 BP神经网络1
1. 1结构
BP神经网络的训练方法是误差反向传播算法,并以均方误差最小化为目标不断修改网络的权值和阈值,最终达到高精度的拟合数据。从整个框架来看BP神经网络( 图1) 可分为输入层、隐含层和输出层,而隐含层可以含有多层神经元。通过已取得的成果可以发现,BP神经网络只需含有3层结构就可以实现任意的非线性映射,因此笔者选择三层BP神经网络为研究对象[3]。
BP算法是一种梯度下降算法。假设输入层神经元I =[I1,I2,…,Ii],隐含层神经元S =[s1, s2,…,sk],输出层神经元O =[o1,o2,…,oj],Wk,i1表示输入层第i个神经元与隐含层第k个神经元之间的连接权值,Wj2,k表示隐含层第k个神经元与输出层第j个神经元之间的权值,f1和f2分别为隐含层和输出层的激发函数,bsk1和baj2分别为隐含层和输出层的阈值,Wk,i1、Wj,k2、bsk1、baj2的取值都在( - 1,1) 。
由此可得隐含层第一个神经元x11=f1[(I1×W11,1+I2×W11,2+…+Ii×W11,i)+b1si],输出层第一个神经元a1=f2[(x11×W11,1+x12×W11,2+…+x1k×W11,k)+b2a1]。
1. 2特点
BP神经网络具有误差逆向传播的特点。当S维指标向量通过各层神经元最终得到输出值A后,把输出值和期望值E进行对比,即可得到期望与实际输出的均方差M = ∑( A - E)2/ N,其中N为输入样本个数。若M小于预定要求,则进入逆向过程[4],具体流程如图2所示。
2 GA-BP神经网络
GA是通过模拟进化过程来搜索最优解的方法,是通过编码生成初始群种的一种算法,可采用GA算法来训练神经网络。具体步骤如下:
a. 当神经网络规模较大时,为了简化遗传操作,可采用实数编码方法,即把染色体的一个基因位直接用实数表示,如此便可以使染色体的长度减少,省去编码解码的繁琐。把编码串的一系列权值和阈值按照一定的顺序连接起来,形成数组, 作为遗传算法的一个染色体。采用三层BP神经网络,设输入层、输出层和隐含层的神经元个数分别为i、j和k,网络隐含层和输出层对应的权值和阈值分别为W1、W2、B1、B2,可得编码长度为i × k + k × j + k + j,如此便构成了一个完整的染色体[5],最终在权值和阈值的相应范围内产生S个染色体就构成了初始种群。
b.采用评级函数作为遗传的依据。BP神经网络的评价准则就是M值越小越好,故将M的倒数作为评级函数,当该值最大时BP神经网络的权值和阈值即得到了最大改善。公式,其中f(i)是第i条染色体的评级值,Mi是第i条染色体的网络权值和阈值[6~8]。
c. 执行遗传操作。遗传操作的选择方法为排序,即首先把求得的评级值由小到大从1 ~ M排列,然后通过个体评级值的大小按照评级比例的选择法计算每个染色体的选择概率,采用单点交叉和均匀变异方法,最终找出最优评级值的染色体,然后按照上述方法反复计算,直到最终满足条件为止。
d. 通过遗传运算得到评级值最优的一系列权值和阈值。
e. 执行BP神经网络。
3 GA-BP神经网络算法在压力传感器中的应用
3.1传感器的标定数据
在实际应用中,压力传感器的输出Up与被测压力和温度呈非线性关系。隐含层有4个神经元,输出层有两个神经元。以S17-30A型压力传感器为实验对象,选取3个温度T进行压力标定, 详见表1,其中Up为压力传感器输出信号,Ut为温度传感器输出,γ 为电源波动,p为输入压力。
通过对表1中的数据进行处理得到,传感器随温度变化的波动 α = 22. 00% ,可见温度对传感器的影响非常大,需要对其进行补偿。
3. 2建立学习样本库
由于表1中的数据比较大,而且单位不同,并且神经网络的隐含层需要采用S型函数来激活[9,10],所以需要对表1中的数据进行归一化处理,公式为:
其中,xi、xmin和xmax分别代表任意值、最小值和最大值。归一化后的数据见表2。
3. 3结果分析
采用Matlab语言编制训练程序,经过训练后的修正值见表3,可得被测压力p( k Pa) 的最大相对波动 α' = 1. 21% 。
采用GA-BP神经网络的补偿结果见表4,可得被测压力p( k Pa) 的最大相对波动 α″ =0. 84% 。
通过上述计算得到了原始标定、BP神经网络算法补偿后和GA-BP神经网络算法补偿后的最大相对波动值分别为22. 00% 、1. 21% 和0. 84% 。 可见,通过BP神经网络算法补偿后的压力传感器其工作稳定性有显著提高; 而采用GA-BP神经网络算法补偿后的压力传感器,其稳定性得到了进一步升华,并且GA-BP神经网络算法的收敛次数明显减少,时间缩短了近2 /3。
4结束语
由于部分压力传感器受半导体材料的限制, 使得其在实际应用过程中很容易产生温漂,影响了测量精确度和稳定性,所以有必要对其进行温度补偿,而通常的温度补偿方法不仅收敛速度慢而且成本也比较高。在此,笔者以S17-30A型压力传感器为标定样本,将BP神经网络和GA算法结合,并把结合后的GA-BP神经网络算法应用于标定过程,取得了良好的效果,压力传感器运行稳定,波动较小。证实GA-BP神经网络算法对压力传感器有着很好的温度补偿效果,提高了其测量精确度。
摘要:通过对BP神经网络的分析,提出一种采用遗传算法(GA)优化的GA-BP神经网络,通过调整其权值和阈值使传感器具有较好的收敛性和稳定性。最终通过实验仿真得出:GA-BP神经网络算法对压力传感器温度补偿具有显著的改善效果,提高了传感器的测量精确度和稳定性。
GA-BP网络 篇6
工业是技术创新最重要的载体,工业企业的技术创新能力不仅决定了所在产业的技术创新水平,而且很大程度上规定着整个国家技术创新的高度,从区域角度研究工业企业技术创新能力, 有助于认识各区域在技术创新能力方面的优劣势, 找出影响各区域工业技术创新能力的主要因素, 从而有针对性地提出提升工业技术创新能力的对策建议和制定符合区域实际的自主创新战略。
建立科学可行的评价指标体系和选择科学有效的评价方法,是区域工业企业技术创新能力评价的关键。对技术创新能力进行评价需要解决两个问题: ( 1) 工业企业技术创新能力的影响因素很多,且变量之间难以使用线性模型进行描述; ( 2) 影响因素之间不是相互独立,有可能存在多重共线性,建立模型前,必须对输入变量进行降维,否则,建立的模型容易出现拟合现象,导致模型精度低、建模时间长等问题。
从国内外专家学者研究成果来看,目前工业企业技术创新能力评价方法使用较多的是数据包络分析、随机前沿模型、层次分析法、模糊多属性决策方法等[1,2,3,4,5,6,7,8,9],常用的变量压缩方法有多元回归与相关分析法、类逐步回归法、主成分分析法、独立成分分析法、主基底分析法、偏最小二乘法、遗传算法等[10,11,12,13,14,15]。
传统的技术创新能力评价方法多是统计方法或建立在线性模型的基础上,很难真实描述复杂的非线性关系和不确定性因素。神经网络可表示任意非线性关系,具有很强的映射能力和泛化能力等,但BP神经网络学习使用梯度下降算法, 最优解容易陷入局部极小化。同时技术创新能力评价输入自变量较多,且相互之间有可能存在多重共线性,因此建立模型前,必须去除冗余变量, 选择与技术创新能力相关性最强的变量参与建模。 本文首先使用遗传算法优化筛选输入自变量,去除了自变量的多重共线性,然后再利用遗传算法从全局范围搜寻BP神经网络最优权值和阀值向量,优化了BP神经网络,最后使用降维筛选后的变量和优化后的GA - BP神经网络模型,对我国地区工业技术创新能力进行了预测。
1工业企业技术创新能力评价指标体系
评价指标应遵循综合性和可获得性的原则, 既能全面、综合地描述待评区域工业技术创新能力水平,又能收集到其量化的指标数据。专利申请量作为衡量企业技术创新能力水平的标志被长期广泛使用,相较于新产品销售收入、新产品出口销售收入评价指标而言,专利申请量更加科学、 客观和容易获得。因此,本文在借鉴国内有关专家见解的基础上[16,17,18,19,20,21,22],选取全国31个省市规模以上工业企业专利申请量代表区域技术创新能力, 作为被解释变量,以反映规模以上工业企业技术创新投入能力和规模以上工业企业技术创新环境支撑能力的15个变量作为解释变量,建立了区域工业企业技术创新能力评价指标体系,如表1。
2GA-BP神经网络评价模型
2.1BP神经网络模型
BP神经网络是一种有监督学习的多层前馈神经网络,也是目前使用最广泛的神经网络模型。 当输入节点数为n,输出节点为m时,BP神经网络可映射为n个自变量到m个因变量的非线性函数。BP神经网络模型训练时,按照误差反向传播机制不断调整网络权值和阀值,不断逼近期望输出值,因此,BP神经网络可以拟合任意连续函数,自我学习,自我组织,灵活性很大。
BP神经网络一般包含输入层、隐含层和输出层,隐含层层数和神经元个数、学习速度等参数可灵活设定。BP神经网络一次完整的训练过程可分为初始化网络、计算隐含层输出、计算输出层输出、计算误差、更新权值和更新阀值几个步骤。 节点转移函数用于计算隐含层和输出层神经元的输出值,且对预测精度有较大影响。一般而言, 隐含层节点选用tansig转移函数或logsig转移函数,输出节点选用purelin转移函数或tansig转移函数。
传统BP神经网络按照梯度下降的方式修正网络权值和阀值,容易陷入局部极值,不能搜寻到全局最优解的缺陷[23]。
2.2遗传算法
将生物界的遗传机制和 “优胜劣汰,适者生存”的进化机制引入计算过程,通过模拟自然进化过程随机搜索全局最优解,形成新的计算方法就是遗传算法。遗传算法简称GA ( Genetic Algorithms) ,由美国大学教授Holland提出。遗传算法首先需要将解向量通过编码映射为基因变量,使原问题每个解对应一个由基因组成的染色体, 初始化种群后,计算个体适应度函数值,适应度高的个体为优良个体,适应度低的个体为劣质个体,进而通过选择、交叉和变异操作保留优良个体,淘汰劣质个体,如此不断迭代循环,逐渐搜寻到最适应环境的个体种群,解码后得到问题最优解[24]。
个体的筛选和进化主要是通过选择、交叉和变异3个操作来完成的。选择操作 ( selection) 是计算个体适应度函数值,保留适应度值高的优良个体,淘汰适应度值低的劣质个体,完成个体筛选的过程。新的种群个体既继承了上一代的信息,又优于上一代。个体适应度函数计算如公式 ( 1) :
式中,为测试集的预测值;T = { t1,t2,…,tn} 为测试集的真实值; n为测试集的样本数。
交叉操作 ( crossover) 是模拟生物基因重组, 选择同一种群中的两个个体,随机交换部分基因, 形成两个新的个体的过程。交叉模拟过程如公式 ( 2) :
式中,c1,c2为交叉操作后得到的新个体; p1,p2为随机选择的原种群配对个体; a为随机生成的交叉概率值,取值在 ( 0,1) 区间。
变异操作 ( mutation) 是随机选择种群的个体,按照一定的变异概率,改变个体一个或多个基因值,以产生新个体的过程。变异操作可维持生物个体的多样性,防止未成熟收敛。变异操作过程如图1所示。
2.3遗传算法优化的BP神经网络模型
遗传算法对BP神经网络模型在两个方面进行了优化: ( 1) 利用遗传算法优化BP神经网络权值和阀值; ( 2) 利用遗传算法筛选输入变量, 对变量进行降维处理,去掉多重共线性。
遗传算法优化的BP神经网络模型计算过程如图2:
2. 2. 1输入变量编码和初始化种群
根据输入变量个数确定染色体长度,染色体基因取值 “1”和 “0”值,“1”表示基因对应输入变量参与建模,“0”表示不参与建模。初始化种群,随机产生种群个体。
2. 2. 2变量降维
根据优化的BP神经网络计算得到的变量染色体适应度函数值,对染色体进行选择、交叉和变异操作,不断迭代进化,最终得到预测误差最小的变量染色体,根据最优变量染色体,得到筛选降维后的输入变量。
2. 2. 3建立遗传算法优化的BP神经网络
利用遗传算法优化BP神经网络权值和阀值, 首先将BP神经网络全部权值和阀值进行实数编码,构建代表权值和阀值的染色体,染色体长度l = i × h + h + h × o + o,其中i,h,o分别表示BP神经网络输入层神经元数量、隐藏层神经元数量和输出层神经元数量,以测试集数据均方误差的倒数为适应度函数,经选择、交叉、变异操作后, 得到BP神经网络最优权值和阀值。
2. 2. 4模型预测与比较
分别训练遗传算法优化的BP神经网络和未优化的BP神经网络,输入测试数据集,比较两者的预测误差。
3实证分析
3.1数据来源
本文数据来源为国家统计局 ( http: ∥www. stats. gov. cn / ) 2008、 2009、 2011、 2012、 2013年度全国31个省市16项指标数据,共计155条数据记录。随机选取其中124条数据记录作为训练数据集,剩余31条数据记录作为测试数据集。
3.2输入变量多重共线性检测
过多的输入变量可能会存在多重共线性,建模之前,必须对输入变量进行降维,否则,会使得所建模型出现复杂度增大,计算时间变长,过度拟合,精度降低等问题。
使用KMO和Bartlett对输入变量多重共线性进行检验,KMO检验变量间的偏相关是否较大, Bartlett球形检验是判断相关矩阵是否是单位矩阵。经检验,如表2,Bartlett球形检验的 概率Sig. = 0. 000 < 0. 01,即假设被拒绝,相关系数矩阵与单位矩阵有显著差异,变量之间存在共线性。 同时,KMO值为0. 815,根据KMO度量标准, 原变量适合进行降维。
3.3指标变量仿照基因编码
利用遗传算法对输入变量进行降维优化计算, 首先需要将指标变量映射为基因变量,创建染色体。本文设计染色体长度为输入变量的个数,即15位,染色体基因取值为 “0” 或 “1”, “0” 表示对应输入变量不参与建模, “1”表示对应输入变量参与建模,个体适应度函数值为测试集样本均方误差倒数。经选择、交叉和变异操作,迭代进化后筛选得到最终输入变量如表3。
3.4遗传算法优化权值和阀值
BP神经网络的学习使用梯度下降算法,最优解容易陷入局部极小化。因此,使用遗传算法从全局寻找最优权值和阀值,优化BP神经网络。 本文设计BP神经网络隐含层1个,节点数为20, 节点传递函数使用正切S型传递函数tansig,线性传递函数purelin,训练函数使用LevenbergMarquardt的BP算法训练函数trainlm。
首先,对BP神经网络全部权值和阀值仿照基因编码,构建代表权值和阀值的染色体,染色体长度为181 = 7* 20 + 20 + 20* 1 + 1,种群数量为20,进化迭代次数为1000,以测试集数据均方误差的倒数为适应度函数,经选择、交叉、变异操作后,得到BP神经网络最优权值和阀值,将最优权值和阀值赋给BP神经网络,得到遗传算法优化后的BP神经网络模型。迭代过程见图3。
3.5仿真对比测试
将测试集样本分别输入到遗传算法优化的BP神经网络模型和未优化的BP神经网络模型,进行仿真测试,输出两个模型测试的误差总和、均方根误差和误差百分比,如表4和图4 ~ 7:
可以看出,相同测试数据集,GA - BP神经网络模型预测效果优于BP神经网络模型。BP神经网络预测误差总和、均方根误差、平均误差百分比分别为: 87830、4162和4. 73% ,GA - BP神经网络预测误差总和、均方根误差、平均误差百分比分别为: 69007、3095和4. 73% 。31个样本测试点,除1个预测误差较大之外,其余预测误差波动范围均较小。
4结论
当前技术创新能力评价方法大多建立在线性模型的基础上,很难真实描述技术创新能力和影响因素之间复杂的非线性关系,且技术创新能力影响因素较多,变量间可能存在大量重复信息和多重共线性,直接使用变量建模,会使得模型复杂,准确率降低。针对现有评价方法的以上两个缺陷,本文提出了遗传算法优化的BP神经网络模型,在以下几个方面做了改进。
4.1遗传算法降维
首先对输入变量间是否存在多重共线性进行了KMO和Bartlett球形检验,检验结果表明,区域工业技术创新能力影响因素变量之间存在多重共线性,因此,使用遗传算法对输入变量进行降维,得到筛选后的输入变量。
4.2神经网络模型拟合非线性关系
针对当前评价方法以线性假设模型为主,难以描述企业创新能力和影响因素之间复杂的非线性关系,BP神经网络模型反向传播训练样本误差,不断调整网络权值和阀值,能够拟合任意非线性关系,更适合企业技术创新能力评价研究。
4.3遗传算法优化BP神经网络
BP神经网络学习过程中因为使用梯度下降算法改进权值和阀值向量,解向量容易过早拟合, 陷入局部最优解。因此,本文引入遗传算法,模拟生物进化过程中的竞争淘汰机制从全局搜寻BP神经网络权值和阀值,修正了BP神经网络的过早拟合的缺陷。
仿真对比测试结果表明,GA - BP神经网络模型预测精度高于BP神经网络模型。由于区域规模以上工业企业技术创新能力的数据量较小, 网络权值和阀值还不太稳定,因此,遗传算法优化的BP神经网络模型的优越性和实用性还有待进一步验证。
摘要:针对当前技术创新能力评价方法大多建立在线性模型的基础上,且技术创新能力影响因素较多,可能存在多重共线性的缺陷,本文提出了遗传算法优化的BP神经网络模型。GA-BP神经网络模型在以下几方面做出了改进:1利用了神经网络强大的非线性关系映射能力,避免了传统线性模型的缺陷。2利用遗传算法对评价指标进行了降维,去除了多重共线性。3使用遗传算法从全局搜寻BP神经网络权值和阀值向量,优化了BP神经网络模型,避免了BP神经网络由于使用梯度下降算法,容易陷入局部最优解的缺陷。本文最后选取2008~2013年全国31个省市规模以上工业企业技术创新能力124条数据作为训练样本,31条数据作为测试样本,分别测试遗传算法优化的BP神经网络和未优化的BP神经网络,测试结果显示遗传算法优化的BP神经网络模型预测准确率高于未优化的BP神经网络模型。
GA-BP网络 篇7
关键词:道路交通事故,多发路段鉴别,遗传算法,神经网络,多层次灰色评价
1研究背景
近年来,伴随着西部大开发的深入和国家对新疆经济发展的大力支持,乌鲁木齐市经济建设迅速发展,机动车保有量急剧增加。据统计,2007— 2012年,乌鲁木齐市发生在城市道路上的交通事故数为2 941起,占本市事故总数的71% 。乌鲁木齐市的万车事故率是北京万车事故率的2. 1倍,是上海万车事故率的1. 3倍[1]。可见,乌鲁木齐市城市道路交通安全形势十分严峻。
长期以来,我国和世界上大多数国家均应用传统的事故统计方法进行道路交通事故多发路段的鉴别,由于传统鉴别方法考虑因素单一,并且事故统计数据自身存在不完整性,往往导致评价结果欠真实,因此有必要对事故多发路段的鉴别方法进行讨论研究。
人工神经网络 ( ANN) 具有全局性和处理复杂非线性问题 的能力。误差反向 传播 ( Error Back Propagation) 网络是一种多层前馈网络[2,3],通过向后传播误差和修正误差的方法来不断调节网络参数, 以实现所希望的输入输出映射关系。传统BP神经网络的主要缺陷是收敛速度慢、易陷入局部极值点[4]。 遗传算法 ( GA) 是一种高度并行、随机、自适应搜索算法[5],具有较好的全局寻优能力,而BP算法在用于局部搜索时比较有效,为此,可以将GA算法改进为GA - BP混合学习算法,综合了上述两种算法的优点而摒弃其缺点。
本文综合考虑道路交通安全的各影响因素,构建了针对事故多发路段鉴别的城市道路交通安全评价指标体系,在应用多层次灰色评价方法[6]的基础上建立了基于GA - BP神经网络的乌鲁木齐市道路交通事故多发路段鉴别模型。
2神网络与遗传算法
2.1BP神经网络
BP神经网络即误差回转神经网络 ( Back - Propagation Natural Network) ,由输入层、输出层和若干隐含层组成,每层由许多并行运算的简单神经元组成,层与层之间的神经元采用全互联方式。BP神经网络采用有导师学习规则[7],每层神经元的输出均传送到下一层,由连接权值来控制增强、减弱或抑制这种传送输出作用。除输入层的神经元外,隐含层和输出层神经元的净输出都是前一层神经元的加权和,每个神经元的激活程度都是由输入、传递函数、阈值来决定的。BP算法网络设计步骤如下:
( 1) 输入层和输出层的设计。输入层和输出层的作用是接受数据和给出最后处理结果。
( 2) 网络数据的预处理。常采用归一化处理, 即将输入、输出数据映射到一定范围内训练结束后再反映射到原数据范围。
( 3) 网络初始化。对权值和阀值赋随机值,定义网络收敛误差,选取合适的动量常数和学习效率。
( 4) 依次施加输入矢量和期望输出;
( 5) 计算各隐含层和输出层单元Opj:
( 6) 输出层和隐含层的误差信号 δpj:
( 7) 计算各权值修正量,进行权值修正:
( 8) 计算全局误差E:
2.2遗传算法
遗传算法是模拟生物在自然环境中遗传和进化过程形成的一种自适应全局优化概率搜索算法,主要包括选择、交叉和变异等操作,具有简单通用、 鲁棒性强、适于并行处理的优点[8]。其基本操作步骤如下:
( 1) 选择,从旧群体中以一定的概率选择个体到新群体中,个体被选中的概率与适应度值有关。 每个个体的选择概率为Pi:
式中,Fi为个体i的适应度值,k为系数,N为种群个体数目,n为BP神经网络输出节点数,yi为网络第i个节点的期望输出,oi为第i个节点的预测输出。
( 2) 交叉,同时对两个染色体操作,组合两者的特征产生新的优秀个体,从而使新群体中的个体具有多样性,交叉的发生概率由交叉率来控制。第k个染色体ak和第l个染色体al在第j位的交叉操作如下:
式中,b是 [0,1] 之间的随机数。
( 3) 变异,选择染色体中的一点产生随机变化,为种群提供新内容,以产生更优秀的个体,变异发生概率由变异率来控制。选取第i个个体的第j个基因aij进行变异,变异操作方法如下:
式中,amanx为基因aij的上界,amann为基因aij的下界,r2为一个随机数,g为当前迭代次数,Gmanx为最大进化次数,r为 [0,1] 之间的随机数。
2.3GA-BP神经网络
GA - BP神经网络的训练分为两步: 首先采用GA训练神经网络,使其定位在权空间全局最优附近,然后BP算法局部搜索,使其快速收敛到最终优化值。GA - BP神经网络的具体实现过程为:
( 1) 初始化有限个数群体的染色体,作为当前代P ( 0) ,t = 0;
( 2) 计算P ( t) 中染色体适应度,根据适应度选择交配的父母染色体;
( 3) 根据交叉概率Pc和变异概率Pm将交叉、 变异两操作应用到父母染色体,由此产生下一代P ( t + 1) ,t = t + 1;
( 4) 如果P ( t) 中的染色体不满足GA训练终止条件,则转入步骤 ( 2) ,否则转入 ( 5) ;
( 5) 如果满足整个算法的终止条件,则结束; 否则采用群体中适应度最大的染色体初始化网络权值,t = 0;
( 6) 计算网络实际输出和期望误差值,修正网络权值。
3多层次灰色评价
3.1指标体系的确定
针对乌鲁木齐市不同路段的道路交通安全评价, 通过大量的实际调查资料,并广泛吸收有关专家的研究成果,主要从道路、环境和管理3个方面出发[9],建立城市道路交通安全评价指标体系,如表1所示。
3.2评价指标的评分等级标准和指标权重
考虑到思维的最大可能分辨能力,确定二级评价指标C1j~ C5j的优劣等级为4级,给出4,3,2,1分的评分标准,其中 “4”代表 “优”、 “3” 代表 “良”、“2”代表 “中”、 “1”代表 “差”。指标等级介于两相邻等级之间时,相应评分值为3. 5,2. 5, 1. 5分。本文中各指标权重的确定采用层次分析法 ( AHP)[10],计算得到评价指标的权重向量:
3.3构建样本矩阵
邀请5位业内专家对乌鲁木齐市14条城市主干路按评分标准进行评分。专家成员包括教授、高级工程师、交通工程师,分别是交通管理、道路桥梁设计、交通安全研究等工作领域的权威人士。根据5位专家的打分结果,得到各评价路段的评价样本矩阵。 以七道湾路为例 ( 以下称X1) 其评价样本矩阵D( 1):
3.4评价灰类、灰色评价系数和评价权矩阵
根据评价指标等级,将评价灰类定为5个,其相应的灰数及白化权函数[11]如下: 第1灰类为 “优” ( e =1) ,灰数←1∈ [4,∞ ],白化权函数为f1; 第2灰类为 “良”( e = 2) ,灰数←1∈ [0,3,6],白化权函数为f2; 第3灰类为 “中” ( e = 3) ,灰数←1∈ [0,2,4],白化权函数为f3; 第4灰类为 “差” ( e = 4) ,灰数←4∈ [0,1,2],白化权函数为f4。
对于指标C11,X1属于第e个评价灰类的灰色评价系数,
可得,X1属于各个评价灰类的总灰色评价数:
对于指标C11,X1属于各个评价灰类的灰色评价权向量:
同理可得综合后可得到X1的一级评价指标对于各评价灰类的灰色评价权矩阵
3.5对A作综合评价
由的总灰色评价权矩阵:
X1的综合评价结果:
3.6综合评价值
各评价灰类等级值化向量U = ( 4,3,2,1) , 则X1的综合评价值:
同理可求得其余13条路段的综合评价值。
3.7GA-BP神经网络的训练和检测样本
选取乌鲁木齐市14条城市主干路,道路交通安全评价的二级指标共有18个,对于每个二级指标均5位业内专家评分的均值,由此可以构成18 × 14的GA - BP神经网络建模样本矩阵,各个路段的综合评价值已由多层次灰色评价法求出。GA - BP神经网络的训练和检测样本如表2所示。
4基于GA-BP神经网络的道路交通事故多发路段的鉴别模型
4.1网络模型的建立
乌鲁木齐市道路交通安全评价二级指标共有18个,网络模型的输入层选为18个节点,分别为X1、 X2、X3…X18。输出层只有一个神经单元,取各个路段的多层次灰色综合评价值作为输出变量Y。本文中隐含层节点数取为7个,网络拓扑结构为18 - 7 - 1。 网络模型结构如图1所示。
4.2网络模型的训练
采用14条城市主干路数据中的11组数据进行网络模型训练。经试验选取遗传算法种群规模为N = 30,进化代数m = 10,交叉概率Pc = 0. 6,变异概率Pm = 0. 4。神经网络取学习率lr = 0. 1,步长epochs = 1 000,控制误差goal = 0. 2e - 3。在MATLAB软件中编程来实现非线性仿真拟合,遗传算法优化过程中最优个体适应度值[12]变化如图2所示。网络训练误差分布曲线如图3所示,网络模型训练结果见表3所示。由图3可知网络模型训练误差均低于0. 04% ,GA - BP网络模型拟合良好。
4.3网络模型的仿真预测
为检测已训练好网络模型的泛化能力,采用训练集以外的3组城市主干道路数据进行检测,网络模型预测误差分布曲线如图4所示,网络模型仿真预测结果见表4所示。由图4可知,网络模型预测误差均低于0. 8% ,预测值与多层析灰色评价结果已经非常接近。通过与传统BP网络模型的对比可知, GA - BP网络模型的预测误差明显减小,预测精度提高较大。本文所建立的GA - BP神经网络模型具有良好的精度和泛化能力,可以用来对乌鲁木齐市道路交通事故多发路段进行预测和鉴别。
5结语
【GA-BP网络】推荐阅读:
社会网络分析网络传播05-25
社交网络之网络舆情05-28
网络文献与网络阅读探析08-26
网络时代网络金融分析05-11
网络层面管理通信网络05-31
网络问政与网络舆情10-12
计算机网络与网络通信10-17
计算机网络和网络通信07-31
广播网络化网络广播化08-04
用网络协议分析工具侦测网络故障05-24