基于遗传算法的BP神经网络在高程拟合中的应用
基于LM-BP神经网络的GPS高程拟合算法研究
0 引 言
目前似大地水准面精化技术是精度最 高和可靠性最
好 的解 决 G S 地高 向正 常高 转换 的方法 。但 由于 数据 P大 源难 以 获得 , 型 较 为复 杂 , 般生 产 单位 短 时 间 内不可 模 一 能 自 建立 较 好 的 似 大 地 水 准 面 精化 模 型 , 在 测 图过 行 而 程 当中经 常需要 将 G S大 地 高 向正 常 高 转 换 , 于 大多 P 鉴
2 1 年 01
() 5
层B P神经 网络能 在 闭集 上 以任 意精 度 逼 近 任 意 非 线性 连续 函数 。所 以 , 文 选 择 单 隐层 的 B 本 P神 经 网络 , 拓扑
结构 如 图 1所示 。
其 中 J x 为雅 各 比矩 阵 : ()
.
( O. ) ) v(
第3 4卷 第 6期
21 0 1牟 1 月 2
测绘 与 空 间地 理 信 息
GE oMA l T Cs& s A I L l oR TI E P T A NF MA ON T CHNOL G 0 Y
Vo. 4, o 6 13 N . De ., 01 c 2 1
基 于 L —B M P神 经 网络 G S高 拟 合算 法研 究 的 P 程
国内外大量的实践表明, 利用 G S P 测定的大地高差,
精度 可 以达到 ( 3 ×1 ~ m, 是 常 规 测 量 技 术 难 以 2— ) 0 这 比拟 的 。因此 大 地 高 转换 成 正 常 高 , 精 度 主要 取决 于 其 高程 是否 异常 。 在一个 测 区 内 , 选择 某些 具 有代 表 性 的 点 , 出其 大 测 地 高 h和正常 高 H( h由 G S测 得 , 由水 准或 三 角 高程 P 日 测量联 测得 到 ) 利用 高精度 的 G S 地 高和 正 常高 的差 , P大 值 建 立高程 异 常 拟 合 模 型 , 应用 拟 合 技 术 在 局 部 地 区模 拟 出似大 地水 准 面与 椭 球 面 的的 差 距模 型 , 而 内插 出 进 待求 点 的高程 异 常值 , 待 求 点 的 G S大 地 高转 换 至正 将 P
几种基于神经网络的GPS高程拟合方法比较
几种基于神经网络的GPS高程拟合方法比较牛志宏【摘要】为提高GPS大地高向正常高转换的精度,本文对目前研究较广泛的 BP 神经网络方法、遗传神经网络方法和退火神经网络方法用于 GPS高程拟合的特点和拟合精度进行比较分析,为使用这些方法进行GPS高程拟合提供了参考。
%Characteristics and precision of BP neural network,genetic neural network and annealing neural network applied in GPS height fitting were hereby compared and ana-lyzed to improve the precision of transforming GPS geodetic height into normal height,and improvement approaches were proposed with respect to all problems in GPS height fitting method.【期刊名称】《全球定位系统》【年(卷),期】2014(000)002【总页数】4页(P64-67)【关键词】GPS高程拟合;BP神经网络;遗传神经网络;退火神经网络【作者】牛志宏【作者单位】长江工程职业技术学院,湖北武汉 430212【正文语种】中文【中图分类】P228.40 引言GPS测量技术自问世以来,就以其定位精度高,测量速度快,操作简便等优点受到测绘界的广泛关注。
大量实践表明,GPS定位技术可以完成高精度三维测量,其平面相对定位的精度能够达到0.1×10-6~1×10-6或更高,这是常规测量技术难以比拟的,但是,GPS高程测量是相对于WGS-84坐标系中的大地高,并非我国采用的相对于似大地水准面的正常高。
在工程实践领域,若应用GPS测量技术确定某点的正常高,则需要根据大地高和正常高的关系进行转换。
用遗传算法优化BP神经网络的Matlab编程实例
用遗传算法优化BP神经网络的M a t l a b编程实例由于BP网络的权值优化是一个无约束优化问题,而且权值要采用实数编码,所以直接利用Matlab遗传算法工具箱。
以下贴出的代码是为一个19输入变量,1个输出变量情况下的非线性回归而设计的,如果要应用于其它情况,只需改动编解码函数即可。
程序一:GA训练BP权值的主函数function net=GABPNET(XX,YY)%--------------------------------------------------------------------------%??GABPNET.m%??使用遗传算法对BP网络权值阈值进行优化,再用BP算法训练网络%--------------------------------------------------------------------------%数据归一化预处理nntwarn offXX=premnmx(XX);YY=premnmx(YY);%创建网络net=newff(minmax(XX),[19,25,1],{'tansig','tansig','purelin' },'trainlm');%下面使用遗传算法对网络进行优化P=XX;T=YY;R=size(P,1);S2=size(T,1);S1=25;%隐含层节点数S=R*S1+S1*S2+S1+S2;%遗传算法编码长度aa=ones(S,1)*[-1,1];popu=50;%种群规模initPpp=initializega(popu,aa,'gabpEval');%初始化种群gen=100;%遗传代数%下面调用gaot工具箱,其中目标函数定义为gabpEval [x,endPop,bPop,trace]=ga(aa,'gabpEval',[],initPpp,[1e-6 1 1],'maxGenTerm',gen,...??'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMuta tion',[2 gen 3]);%绘收敛曲线图figure(1)plot(trace(:,1),1./trace(:,3),'r-');hold onplot(trace(:,1),1./trace(:,2),'b-');xlabel('Generation');ylabel('Sum-Squared Error');figure(2)plot(trace(:,1),trace(:,3),'r-');hold onplot(trace(:,1),trace(:,2),'b-');xlabel('Generation');ylabel('Fittness');%下面将初步得到的权值矩阵赋给尚未开始训练的BP 网络[W1,B1,W2,B2,P,T,A1,A2,SE,val]=gadecod(x);net.LW{2,1}=W1;net.LW{3,2}=W2;net.b{2,1}=B1;net.b{3,1}=B2;XX=P;YY=T;%设置训练参数%训练网络net=train(net,XX,YY);程序二:适应值函数function [sol, val] = gabpEval(sol,options)% val - the fittness of this individual% sol - the individual, returned to allow for Lamarckian evolution% options - [current_generation]load data2nntwarn offXX=premnmx(XX);YY=premnmx(YY);P=XX;T=YY;R=size(P,1);S2=size(T,1);S1=25;%隐含层节点数S=R*S1+S1*S2+S1+S2;%遗传算法编码长度for i=1:S,? ?x(i)=sol(i);end;[W1, B1, W2, B2, P, T, A1, A2, SE, val]=gadecod(x);程序三:编解码函数function [W1, B1, W2, B2, P, T, A1, A2, SE, val]=gadecod(x)load data2nntwarn offXX=premnmx(XX);YY=premnmx(YY);P=XX;T=YY;R=size(P,1);S2=size(T,1);S1=25;%隐含层节点数S=R*S1+S1*S2+S1+S2;%遗传算法编码长度% 前R*S1个编码为W1for i=1:S1,? ? for k=1:R,? ?? ?W1(i,k)=x(R*(i-1)+k);? ? endend% 接着的S1*S2个编码(即第R*S1个后的编码)为W2for i=1:S2,? ?for k=1:S1,? ?? ?W2(i,k)=x(S1*(i-1)+k+R*S1);? ?endend% 接着的S1个编码(即第R*S1+S1*S2个后的编码)为B1for i=1:S1,? ?B1(i,1)=x((R*S1+S1*S2)+i);end% 接着的S2个编码(即第R*S1+S1*S2+S1个后的编码)为B2for i=1:S2,? ?B2(i,1)=x((R*S1+S1*S2+S1)+i);end% 计算S1与S2层的输出A1=tansig(W1*P,B1);A2=purelin(W2*A1,B2);% 计算误差平方和SE=sumsqr(T-A2);val=1/SE; % 遗传算法的适应值注意:上面的函数需要调用gaot工具箱,请从网上搜索下载。
BP神经网络拟合高程在长线路工程中的应用
爹 害3 l膂
柏飞 :神 网拟 高 在 线 工 中应 等 P经 络 合 程 长 路 程 的 用 B
2 +口
・1 1・ 8
() 6
1+秽 1= 0+ aI l+ a2 y1+ 口3 + yl+05 Yl 2 l 2 2+ 口3 2 + Y 2 + 口 tal( +a 2 0 a 2 - 9 '
型, 为长路线工程提供 了更加有效 的解 决办法。 关键 词 :P , G S 大地高 , 常高, P神 经网络 , 正 B 长线路
中 图分 类 号 : U 9 . T 18 6 文献标识码 : A
G S测量在工程 中的应用越来越 广泛 , P 由此获 得大地 高在工
2 隐含层节点数取 2 ( ) O 根据数 据预测 , 统计得 出) 。
W ANG a g-o g YANG in. n LIJa Xin - n d Ja .o g r in
Ab t a t n ti a e ,i man y d s u s d t e me n n fc mp t i t n l sso e sa t g p itc o d n ts o S c n r ln t o k a d s r c :I h sp p r t il i se a i g o o ai l y a a y i ft tr n — o n o r i ae fGP o t e w r n c h bi h i o tr e c mmo l s d a ay i me o s y u e o n e o to e o k r ts aa,te a t o n y e n o ta td GP o to e o k i he o ny u e n s t d .B s f t n l n r l t r ee td t h u h ra a z d a d c n r s S c n r l t r l s h au c nw l e nw n h t t g p i td t t e s r n . o n aa,&a d u eu o cu in rte p a t a a pi ain o fr n e i iw t rv d u d n e fra ta n i e r g ai we sflc n l s s o r ci l p l t f e ee c ,w t a ve op i e g ia c cu e gn ei . o f h c c o r h o o l n Ke r s:GP o t ln t o k,t e sa t g p i t o ai i t n y i y wo d S c n r ew r o h t r n — n ,c mp t l y a a ss i o bi l
二次曲面与BP神经网络在GPS高程拟合中的应用
水 准 面 的长 波 变化 ,且 这 种 方 法 计 算 复 杂 ,一般 工程 单 络 ( 输 入 层 、隐 含 层 、输 出层 )应 用 得 最 为 普 遍 。从 目 位 又 无 法获 得 必要 的 重 力 数据 ,故 重 力 法 难 于 普 及 ;二 前 B P 神 经 网络在 G P S 高程 拟 合 中的研 究 来看 ,输 入 变 是 采 用 函数逼 近 的方 法 ,对 G P S点进 行几 何水 准 的联 测 , 量一般选取点位 的 x, Y 坐标 ,输出变量为高程异常 ,所 把 这 样 的 点称 为 已 知 点 , 同一 点 的 大 地 高减 去 正 常 高得 以输 入 节 点有 2个 ,输 出节 点 有 1个 ,隐含 层 的节 点数 该 点的高程 异常,再把测区的似大地水准面假定为多项 般要 多次 试验 来确 定 。
人工神经网络有插值的功能。 确定高程异常的方法 比较多 ,总的来说有 :利用地 采用 B P算法的多层前馈网络是至今为止应用最广的 球 重 力场 模 型直 接 求 解 ,这种 方 法 理 论上 需 要 全球 的 神 经 网络 , 已经证 明 :只 要 有 一 个 隐 含 层 ( 隐含 层单 元
地理信 息 ・ D I L I X I N X I
二次曲面与 B P 神经ห้องสมุดไป่ตู้络在 G P S 高程拟合中的应用
郭杨 亮 马瑞娟 周广蒙 周称称 。
( 1 . 河o h省煤 田地质局物探 测量队 ,河南郑州 4 5 0 0 0 9 ; 2 .河南省地质矿产勘 查开发局 第五地 质勘查院 ,河 南郑州 4 5 0 0 0 1 )
遗传算法与BP神经网络在汽车工程领域的应用
遗传算法与BP神经网络在汽车工程领域的应用摘要:在汽车工程领域,许多问题都是多维,有条件约束,高度非线性的,将BP神经网络与遗传算法相结合能够很好的集中两种智能算法的优点,从而解决汽车工程领域的某些问题。
本文介绍了这种方法在汽车工程领域的应用,并对问题进行了分类总结,对解决此类问题有一定的意义。
关键词:遗传算法BP神经网络汽车工程The applications of genetic algorithm and BP neural network inautomotive engineeringAbstract: In the field of automotive engineering, some problems in automotive engineering can be solved by means of the combination of the BP neural network and genetic algorithm which includes the advantages of two kinds of intelligent algorithms. The application of this method in automotive engineering is described in this paper. These problems have been classified and summarized. It has certain significance in solving this kind of problemsKey words: genetic algorithm; BP neural network; automotive engineering引言神经网络理论自20世纪诞生以来,已经在众多领域上得到应用,通过已获取的样本建立自变量和目标的映射关系能够很好的解决工程实际中高度非线性的建模问题,实际工程应用中多采用BP神经网络。
【豆丁推荐】-SA算法优化BP神经网络应用于GPS高程拟合
-----------------------------------Docin Choose -----------------------------------豆 丁 推 荐↓精 品 文 档The Best Literature----------------------------------The Best Literature第7卷第1期GEOSPATIALINFORMATIONVol.7,No.1SA 算法优化BP 神经网络应用于GPS 高程拟合彭友志1,罗登贵1,张雄2(1.中国地震局地震研究所,湖北武汉430071,2.广州市城市规划勘测设计研究院,广东广州510060)摘要:BP 神经网络算法用于高程拟合有训练速度慢和易于陷入局部最小值的缺点,基于BP 算法学习特点,模拟退火算法(SA )在局部极小处的概率突变性。
本文作者有效结合BP 和SA 算法,提出一种SA 优化BP 神经网络算法的BPSA 混合学习策略,并以实例验证了该算法的有效性。
关键词:BP 神经网络;GPS 水准;模拟退火算法;高程异常中图分类号:P224文献标志码:B文章编号:1672-4623(2009)01-0106-02Application of the Optimized BP Algorithm by SA Algorithmto GPS Height FittingPENGYouzhi1,LUODenggui1,ZHANGXiong2(1.InstituteofSeismology,ChinaEarthquakeAdministration,Wuhan430071,China;2.GuangzhouUrbanPlanning&DesignSurveyResearchInstitute,Guangzhou510060,China)Abstract:Fortheerrorbackpropagation(BP)algorithmprovidesaslowtrainingandiseasytofallintolocalminimum,theoptimizedBPalgorithmbySAalgorithmwhichcombinesthelearningpropertyofBPwiththeprobabilisticjumpingpropertyofsimulatedannealing(SA)algorithmispresented.ItisappliedintotheGPSheightfitting.Apracticalsampleissettojustifyitsavailability.Key words:BPneuralnetwork;GPSleveling;simulatedannealingalgorithm;heightanomaly收稿日期:2007-11-11目前转换GPS 高程的方法有很多种,其中人工神经网络(BP )算法转换GPS 高程是一种较新的方法,使用该方法可以得到相当于或高于常规平面或曲面拟合的精度。
BP神经网络模型在GNSS高程拟合中的应用
BP 神经网络模型在 GNSS 高程拟合中的应用摘要:全球导航卫星系统(GNSS)是一种高度精确、连续、全天候和近实时微波技术,其中GPS的应用最为广泛,目前GPS已经能够达到毫米级的平面坐标定位精度,这种优势能够大大缩减人工测量的时间,提高效率,但是由于GPS所测高程和我国工程测量中使用的高程基准面不同使得GPS高程测量值的应用受到限制。
针对将GPS高程测量值通过拟合方法转换为工程坐标下的正常高的研究有着广泛的实用价值。
本文采用目前流行的BP神经网络法对测区范围内GPS所测得的大地高数据进行拟合,基于GPS测量得到已知点坐标和高程异常,建立两者之间的神经网络关系,并对网络进行训练,根据预测值和实际值之间的差异对网络中的权值和阈值进行重复计算修改,最后使得预测与实际值之间的误差满足要求,计算外符合精度并对未知点的高程异常值进行预测。
通过MATLAB实现BP神经网络高程拟合并与多项式曲面拟合方法进行精度比较,最后得出BP神经网络拟合精度高且相比于多项式曲面拟合法具有准确性,可靠性和稳定性。
关键词:GPS;高程拟合;BP神经网络一、引言GPS技术的应用对于工程测量带来了巨大的变革,GPS具有三维定位,自动化程度高,观测时间短等优点,在我国工程测量和大地测量中的使用频率越来越高。
参考椭球面和似大地水准面之间存在差异,这个差异也就是我们俗称的高程异常,由于地球质量分布不均匀,导致了高程异常值的变化,无法直接获得高程异常值。
因此我们需要对高程异常值进行拟合,以获得满足工程测量精度的正常高。
GPS测量由于自身优点能够很好的满足我们的需要,因此进行GPS高程拟合研究有广泛的实用价值。
本文结合工程中的具体应用,运用BP神经网络法拟合方法及多项式曲面拟合法进行拟合,利用MATLAB强大的矩阵计算能力对数据进行编程运算,求解参数,最终得到不同的高程拟合模型,对模型结果进行精度计算。
二、GPS高程拟合原理我国使用的高程系统是基于似大地水准面的正常高,而GPS采集的数据是基于WGS84椭球下的大地高程数据。
基于遗传算法的优化BP神经网络算法研究
1引言神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型,凭借着复杂的系统结构,通过对系统内部节点连接关系的调节,实现对信息的高效处理。
作为技术最为成熟的神经网络模拟,BP 神经网络具有良好的自学习、自适应以及泛化能力,在许多领域中都有着广泛的应用。
而针对BP 神经网络在应用环节存在的问题,需要采取相应的优化算法,提升神经网络的收敛速度和处理能力。
2遗传算法与BP 神经网络遗传算法遵循的是生物界中适者生存的法则,其基本原理,是指将问题参数进行编码,形成染色体,通过迭代的方式,运用选择、变异、交叉等运算,对种群中染色体的信息进行交换,继而形成能够满足优化目标的染色体。
BP (Back Propagation )神经网络最初产生于1986年,属于一种依照误差逆传播算法训练的多层前馈网络,也是当前技术条件下应用最为广泛的神经网络模型之一,其可以对输入-输出模式的映射关系进行学习和存储,同时不需要对能够揭示这些映射关系的方程进行描述。
神经网络具备自适应和自组织能力,在进行学习和训练的过程中,可以通过改变突触权重值的方式,更好地适应周边环境的变化。
在同一个神经网络中,如果内容不同,学习方式不同,则会产生不同的功能。
人工神经网络从本质上看,更加接近具备自主学习能力的系统,可以通过不断的学习,超出最初设计的知识水平。
在人工神经网络中,比较常见的学习方法有两种,一是有监督的学习,可以结合标准样本,进行分类或者模仿,二是无监督的学习,在制定相应的学习规则后,系统会根据自身所处环境,进行学习内容的分析和选择,更加接近人脑的功能特点。
3基于遗传算法的优化BP 神经网络算法3.1算法基本原理①BP 算法。
BP 神经网络算法主要包括了数据流的前向计算和误差信号的反向传播两个方面的内容,结合三层BP 神经【基金项目】廊坊市科技计划项目(2016011077)。
【作者简介】王军涛(1980-)男,讲师,河北邯郸人,从事计算机应用研究。
基于遗传算法的BP神经网络技术的应用
总之,本次演示所研究的基于遗传算法优化BP神经网络的变压器故障诊断方 法,为电力系统的安全运行提供了有力支持。相信随着相关技术的不断发展,该 方法将在实际应用中发挥更大的作用,为电力行业的发展做出重要贡献。
引言
房价预测一直以来都是学术界和房地产行业的热点问题。准确的房价预测可 以帮助政府、房地产企业和个人做出明智的决策,对经济发展和民生改善具有重 要意义。然而,房价预测是一个复杂的问题,受到多种因素的影响,如经济环境、 政策调整、区域特征等。为了提高预测准确性,研究者们不断尝试将各种算法应 用于房价预测领域。本次演示旨在探讨基于遗传算法和BP神经网络相结合的房价 预测方法,并对其进行实验验证。
二、遗传算法和BP神经网络技术 的应用场景
1、图像处理:遗传算法可以应用于图像压缩和去噪,通过优化像素之间的 交换关系来达到更好的去噪效果。BP神经网络则可以应用于图像分类和目标检测, 通过训练神经网络来识别图像中的特定目标。
2、语音识别:遗传算法可以应用于语音信号的特征提取和降维,通过优化 特征选择策略来提高语音识别的准确率。BP神经网络可以应用于语音到文本的转 换,通过训练神经网络来理解语音内容并转换成文本。
总之,基于遗传算法的BP神经网络模型是一种有效的气象预报方法,具有很 高的应用价值和广阔的发展前景。在未来的研究中,需要不断探索和完善该模型, 以更好地服务于人类的生产和生活。
变压器是一种利用电磁感应原理改变交流电压的设备。其基本工作原理是将 一个交流电压通过原边线圈转化为磁场,再通过副边线圈将磁场转化为交流电压。 在实际应用中,变压器还具有抑制过电压、过电流等保护功能,是电力系统中不 可或缺的重要元件。
为了验证基于遗传算法的BP神经网络在图像分类中的性能,我们选取了 MNIST手写数字图像数据集进行实验。实验结果表明,使用遗传算法初始化的BP 神经网络相较于随机初始化或手动调参的性能更优,具有更高的准确率和更快的 收敛速度。对比实验也证明了基于遗传算法的BP神经网络在图像分类中的应用效 果要优于传统机器学习方法。
基于遗传算法的模糊优选BP网络模型及其应用
人工神经网络以其独特的非线性、非凸性、自适应性和处理各种信息的能力,广泛应用于水文分析和水文预测[1,2]。
陈守煜将模糊优选模型同神经网络有机地结合起来,提出模糊优选神经网络模型,激励函数的物理意义清晰直观[3,4]。
遗传算法是模拟生物在自然界环境中遗传进化过程的一种自适应全局优化概率搜索算法,具有简单通用、鲁棒性强、适于并行处理的优点。
如何把模糊集理论、神经网络和遗传算法有机地结合起来,既能用模糊概念来表达人的知识和经验,又可利用神经网络较强的学习能力,还能结合遗传算法全局搜索的特点,在这方面的工作还不多见。
本文在模糊优选BP神经网络模型的基础上,引入加速遗传算法(RAGA),提出融入遗传算法的模糊优选神经网络预测模型,是对模糊优选BP神经网络的进一步发展。
在新疆伊犁河雅马渡站年径流量预报的应用中,取得了良好的效果。
1 模糊优选BP神经网络模型[4]设模糊优选BP神经网络的输入层节点数为m(预报因子数),输出层节点数为1(预报对象数)。
为表述方便,用i表示输入层节点,k表示隐含层节点,p表示输出层节点。
输入层节点i将信息直接传递给隐含层节点,节点输出与输入相等。
网络隐含层节点k和输出节点p的激励函数均采用模糊优选模型。
对隐含层的节点k,其输入为(1)式中:w ik为输入层节点i与隐含层节点k的连接权重;r ij为第j个样本的第i个预报因子的规格化值,i=1,2,…,m,j=1,2,…,n,k=1,2,…,k。
输出为(2)输出层仅一个节点,输入为(3) 输出为(4)网络的实际输出u pj就是模糊优选神经网络对输入样本集(r1j,r2j,…,r mj)的响应。
设样本j的期望输出为M(u pj),则其平方误差为(5)2 模糊优选BP神经网络预测系统权重调整模型网络学习的目的是通过调整网络中的连接权重使E最小。
应用梯度下降法,连接权重的调整量为(6)式中:η为学习效率。
则隐含层节点与输出层节点的连接权重调整量Δw kp为(7)输入层节点与隐含层节点的连接权重调整量Δw ik为(8) 式中(9)权重调整公式为w ik(t+1)=w ik(t)+Δw ik(t+1)+αΔw ik(t) (10) w kp(t+1)=w kp(t)+Δw kp(t+1)+αΔw kp(t) (11)式中:α为动量系数,且0<α<1。
BP神经网络在水下地形高程拟合的应用
BP神经网络在水下地形高程拟合的应用彭中波;高阳【摘要】运用MATLAB软件的神经网络模块建立BP神经网络,以工程河段实测水下地形图中测量点的X、Y坐标值作为输入层神经元,相对应的高程值作为输出层神经元.针对网络训练样本数据较多的特点,对多种训练函数的优劣进行比较,选取适合的训练函数,并进行大量训练实验,不断修正性能参数,并利用水下地形图测量点样本数据进行检验.实验结果表明:该模型对水下地形高程的高精度预测作用满足地形测量工作的工程要求,在实际工程测量中具有很好的应用价值.【期刊名称】《重庆交通大学学报(自然科学版)》【年(卷),期】2018(037)011【总页数】6页(P64-68,82)【关键词】航道工程;BP神经网络;高程;拟合【作者】彭中波;高阳【作者单位】重庆交通大学航运与船舶工程学院,重庆400041;重庆交通大学航运与船舶工程学院,重庆400041【正文语种】中文【中图分类】U656.5;P2160 引言人工神经网络是模仿人类大脑的结构和功能的一种信息处理系统[1-2],由于具有并行结构和并行处理能力、知识能够分布式存储、良好的容错性以及自适应学习能力等特点,在信号处理、模式识别、智能检测以及人工智能等领域得到广泛应用。
具有3层或3层以上结构的无反馈、层内无互联结构的前向神经网络,即为BP神经网络。
它采用有指导的学习方式进行训练和学习,即在一给出的BP神经网络中,输入神经元的激活值从输入层经过各个隐含层传递到输出层,在输出层的各个神经元得到神经网络的实际输出。
对神经网络的实际输出与期望输出值进行比较,得到输出值的误差,再逐层修正各个从输出层至隐含层的连接权值,最后返回到输入层并不断重复该过程,使误差值减小到能够接受的范围。
随着市政工程的不断发展完善,高程测量[3-5]工作显得尤为重要,测量值的准确性将直接影响到工程的质量。
在市政工程中高程的主要测量方式有GPS技术测量、水准测量、三角高程测量和气压高程测量[6-9],其中以GPS技术测量、水准测量两种方式所测数据最为精密,但是整个测量过程中对设备及设备的安装位置有特定的要求,测量步骤也较为复杂,都需要严格按照相关测量规范进行。
基于BP神经网络的函数拟合算法研究
基于BP神经网络的函数拟合算法研究摘要:BP神经网络是一种常用的机器学习算法,被广泛用于函数拟合问题中。
该算法通过反向传播的方式不断调整权重和偏差,从而最小化输出误差。
本文将研究基于BP神经网络的函数拟合算法,包括网络结构的设计、激活函数的选择、权重调节和网络训练等方面,通过实验验证算法的性能。
1.引言函数拟合是数学建模中的基本问题之一、传统的函数拟合方法通常基于数学模型,需要明确的函数表达式和参数。
然而,在实际应用中,往往难以找到精确的函数表达式,这时基于BP神经网络的函数拟合算法就可以派上用场。
2.BP神经网络介绍BP神经网络是一种前向反馈的多层神经网络,包括输入层、隐藏层和输出层。
输入层接受外部输入,并将其传递给隐藏层,隐藏层再将信息传递给输出层。
每个神经元都有一个权重和偏差,通过调整这些参数来使网络输出接近期望输出。
训练BP神经网络的关键是反向传播算法,通过计算输出误差的梯度来调整权重和偏差。
3.网络结构设计网络结构设计是BP神经网络函数拟合算法的关键。
一般来说,网络的层数和每层的神经元数量需要根据具体问题进行调整。
过多的神经元和层数可能会导致过拟合问题,而过少可能会导致拟合能力不足。
一个经验法则是将隐藏层的神经元数量设置为输入层和输出层神经元数量之和的二分之一4.激活函数选择激活函数在BP神经网络中起到了非常重要的作用,它决定了神经元的输出。
常用的激活函数有Sigmoid函数、ReLU函数和Tanh函数等。
Sigmoid函数可以将输出限制在0和1之间,适用于需要进行二分类的问题;ReLU函数在输入大于0时输出等于输入,小于0时输出为0,适用于解决稀疏性问题;Tanh函数将输入限制在-1和1之间,适用于需要进行多分类的问题。
根据具体问题的不同,选择适当的激活函数可以提高网络的性能。
5.权重调节和网络训练BP神经网络的权重调节和网络训练是通过反向传播算法实现的。
反向传播算法首先计算输出层的误差,然后将误差沿着网络反向传播,通过链式规则计算隐藏层和输入层的误差。
案例4:遗传算法优化神经网络-更好拟合函数
遗传算法优化神经网络-更好拟合函数1.案例背景BP神经网络是一种反向传递并且能够修正误差的多层映射函数,它通过对未知系统的输入输出参数进行学习之后,便可以联想记忆表达该系统。
但是由于BP网络是在梯度法基础上推导出来的,要求目标函数连续可导,在进化学习的过程中熟练速度慢,容易陷入局部最优,找不到全局最优值。
并且由于BP网络的权值和阀值在选择上是随机值,每次的初始值都不一样,造成每次训练学习预测的结果都有所差别。
遗传算法是一种全局搜索算法,把BP神经网络和遗传算法有机融合,充分发挥遗传算法的全局搜索能力和BP神经网络的局部搜索能力,利用遗传算法来弥补权值和阀值选择上的随机性缺陷,得到更好的预测结果。
本案例用遗传算法来优化神经网络用于标准函数预测,通过仿真实验表明该算法的有效性。
2.模型建立2.1预测函数2.2 模型建立遗传算法优化BP网络的基本原理就是用遗传算法来优化BP网络的初始权值和阀值,使优化后的BP网络能够更好的预测系统输出。
遗传算法优化BP网络主要包括种群初始化,适应度函数,交叉算子,选择算子和变异算子等。
2.3 算法模型3.编程实现3.1代码分析用matlabr2009编程实现神经网络遗传算法寻找系统极值,采用cell工具把遗传算法主函数分为以下几个部分:Contents•清空环境变量•网络结构确定•遗传算法参数初始化•迭代求解最佳初始阀值和权值•遗传算法结果分析•把最优初始阀值权值赋予网络预测•BP网络训练•BP网络预测主要的代码段分析如下:3.2结果分析采用遗传算法优化神经网络,并且用优化好的神经网络进行系统极值预测,根据测试函数是2输入1输出,所以构建的BP网络结构是2-5-1,一共去2000组函数的输入输出,用其中的1900组做训练,100组做预测。
遗传算法的基本参数为个体采用浮点数编码法,个体长度为21,交叉概率为0.4,变异概率为0.2,种群规模是20,总进化次数是50次,最后得到的遗传算法优化过程中最优个体适应度值变化如下所示:4 案例扩展4.1 网络优化方法的选择4.2 算法的局限性清空环境变量clcclear网络结构建立%读取数据load data input output%节点个数inputnum=2;hiddennum=5;outputnum=1;%训练数据和预测数据input_train=input(1:1900,:)';input_test=input(1901:2000,:)';output_train=output(1:1900)';output_test=output(1901:2000)';%选连样本输入输出数据归一化[inputn,inputps]=mapminmax(input_train);[outputn,outputps]=mapminmax(output_train);%构建网络net=newff(inputn,outputn,hiddennum);遗传算法参数初始化maxgen=50; %进化代数,即迭代次数sizepop=20; %种群规模pcross=[0.4]; %交叉概率选择,0和1之间pmutation=[0.2]; %变异概率选择,0和1之间%节点总数numsum=inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum;lenchrom=ones(1,numsum);bound=[-3*ones(numsum,1) 3*ones(numsum,1)]; %数据围%------------------------------------------------------种群初始化--------------------------------------------------------individuals=struct('fitness',zeros(1,sizepop), 'chrom',[]); %将种群信息定义为一个结构体avgfitness=[]; %每一代种群的平均适应度bestfitness=[]; %每一代种群的最佳适应度bestchrom=[]; %适应度最好的染色体%初始化种群for i=1:sizepop%随机产生一个种群individuals.chrom(i,:)=Code(lenchrom,bound); %编码(binary和grey的编码结果为一个实数,float的编码结果为一个实数向量)x=individuals.chrom(i,:);%计算适应度individuals.fitness(i)=fun(x,inputnum,hiddennum,outputnum,net,inputn, outputn); %染色体的适应度end%找最好的染色体[bestfitness bestindex]=min(individuals.fitness);bestchrom=individuals.chrom(bestindex,:); %最好的染色体avgfitness=sum(individuals.fitness)/sizepop; %染色体的平均适应度% 记录每一代进化中最好的适应度和平均适应度trace=[avgfitness bestfitness];迭代求解最佳初始阀值和权值进化开始for i=1:maxgeni% 选择individuals=Select(individuals,sizepop);avgfitness=sum(individuals.fitness)/sizepop;%交叉individuals.chrom=Cross(pcross,lenchrom,individuals.chrom,sizepop,bou nd);% 变异individuals.chrom=Mutation(pmutation,lenchrom,individuals.chrom,sizep op,i,maxgen,bound);% 计算适应度for j=1:sizepopx=individuals.chrom(j,:); %解码individuals.fitness(j)=fun(x,inputnum,hiddennum,outputnum,net,inputn, outputn);end%找到最小和最大适应度的染色体及它们在种群中的位置[newbestfitness,newbestindex]=min(individuals.fitness);[worestfitness,worestindex]=max(individuals.fitness);% 代替上一次进化中最好的染色体if bestfitness>newbestfitnessbestfitness=newbestfitness;bestchrom=individuals.chrom(newbestindex,:);endindividuals.chrom(worestindex,:)=bestchrom;individuals.fitness(worestindex)=bestfitness;avgfitness=sum(individuals.fitness)/sizepop;trace=[trace;avgfitness bestfitness]; %记录每一代进化中最好的适应度和平均适应度endi =1i =2i =3i =4i =5i =6i =7i =8i =9i =10i =11i =12i =13i =14i =15i =16i =17i =18i =19i =20i =21i =22i =23i =24i =25i =26i =27i =28i =29i =30i =31i =32i =33i =34i =35i =36i =37i =38i =39i =40i =41i =42i =43i =44i =45i =46i =47i =48i =49i =50遗传算法结果分析figure(1)[r c]=size(trace);plot([1:r]',trace(:,2),'b--');title(['适应度曲线 ''终止代数=' num2str(maxgen)]); xlabel('进化代数');ylabel('适应度');legend('平均适应度','最佳适应度');disp('适应度变量');x=bestchrom;Warning: Ignoring extra legend entries.适应度变量把最优初始阀值权值赋予网络预测%用遗传算法优化的BP网络进行值预测w1=x(1:inputnum*hiddennum);B1=x(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum);w2=x(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hidd ennum*outputnum);B2=x(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hidd ennum+hiddennum+hiddennum*outputnum+outputnum);net.iw{1,1}=reshape(w1,hiddennum,inputnum);net.lw{2,1}=reshape(w2,outputnum,hiddennum);net.b{1}=reshape(B1,hiddennum,1);net.b{2}=B2;BP网络训练%网络进化参数net.trainParam.epochs=100;net.trainParam.lr=0.1;%net.trainParam.goal=0.00001;%网络训练net=train(net,inputn,outputn);BP网络预测%数据归一化inputn_test=mapminmax('apply',input_test,inputps);an=sim(net,inputn_test);test_simu=mapminmax('reverse',an,outputps);error=test_simu-output_test;figure(2)plot(error)k=error./output_testk =Columns 1 through 9-0.0003 0.0010 0.0003 0.0001 0.0002 -0.0005 0.0003 0.0003 0.0109Columns 10 through 18-0.0007 -0.0003 0.0002 -0.0008 -0.0015 -0.0002 0.0011 0.0002 0.0004Columns 19 through 270.0002 0.0003 -0.0000 0.0000 -0.0004 -0.0004 0.0005 0.0001 0.0023Columns 28 through 36-0.0000 -0.0003 0.0000 -0.0005 -0.0002 0.0003 -0.0002 -0.0002 0.0001Columns 37 through 450.0001 0.0002 0.0002 0.0011 -0.0004 -0.0006 0.0002 0.0000 0.0000Columns 46 through 540.0001 0.0001 0.0000 -0.0001 0.0016 0.0002 -0.0003 -0.0000 -0.0000Columns 55 through 630.0000 0.0003 -0.0004 0.0001 0.0002 0.0002 0.0002 0.0000 0.0002Columns 64 through 720.0002 -0.0001 0.0003 0.0005 0.0002 -0.0003 -0.0001 -0.0000 0.0002Columns 73 through 810.0000 -0.0002 -0.0002 0.0002 -0.0000 -0.0003 0.0001 -0.0001 0.0006Columns 82 through 90-0.0006 0.0003 0.0068 -0.0005 0.0001 -0.0001 -0.0001 -0.0010 -0.0002Columns 91 through 990.0001 0.0002 -0.0000 0.0003 0.0000 0.0000 -0.0003 -0.0001 0.0003Column 100-0.0004。
遗传算法的BP神经网络在汇率预测中的应用.docx
遗传算法的BP神经网络在汇率预测中的应用随着全球化的迅速发展和国际贸易激烈竞争的加剧,汇率对政F 和企业的影响正在加强。
对政F而言,通过更好地了解汇率变动,政策制定者将能够提取有关经济和金融的相关信息,这将有助于他们为未来设计更好的货币政策。
对大型跨国公司而言,如果能够准确预测货币汇率,公司的整体盈利能力将大大提高。
因此,外汇预测已成为国际金融研究人员和从业人员的主要研究之一。
而神经网络由于具有分布存储性、容错性、自学习型和自适应性等的特点,成为汇率预测领域应用最广泛的方法。
1基于遗传算法的BP神经网络BP(BackPropagation)于二十世纪八十年代中期由以Rumelhart 和McCelland为首的科学小组提出,它是一种多层前馈网络,它最核心的内容是按照误差反向传播算法训练,是目前应用最广泛的神经网络模型之一。
在BP网络的正向传递中,数据从输入层经隐含层逐层处理,直至输出层。
每一层的神经元状态只影响下一层神经元状态。
如果输出层的结果并不符合网络预期,就会转入反向传播,根据预测值与期望值之间的误差来调整网络的权值和阈值,从而使BP网络的预测输出不断接近期望值。
BP网络可以学习和存贮大量的输入-输出模式的映射关系,而并不需要提前知道描述这种映射关系的数学表达式。
基于遗传算法(GA)优化的BP神经网络(GA-BP)分为BP结构确定,GA优化和BP预测。
BP结构确定部分根据输入和输出参数确定BP的结构,并进一步确定遗传算法个体的长度。
GA优化使用GA来优化BP的权重和阈值。
群体中的每个个体都包含网络的所有权重和阈值。
通过适应度函数计算个体的适合度值。
GA通过选择,交叉和变异操作找到对应于最佳适合度值的个体。
BP预测部分预测由GA 获得的最佳个体以分配网络的初始权重和阈值,并且网络在训练之后预测功能输出。
算法流程图。
2汇率预测2.1数据选择选取从20XX年6月30到20XX年3月6号美元/人民币汇率作为研究数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于遗传算法的BP 神经网络在高程拟合中的应用孔令杰1,2,李捷斌1,2,陈 伟3(1.长安大学地质工程与测绘学院,西安 710054;2.西部矿产资源与地质工程教育部重点实验室,西安 710054;3.南昌工程学院水利工程系,南昌 330099)摘要:针对传统BP 神经网络难以选取具有全局性的初始点的缺点,使用改进的遗传算法全局搜索优化神经网络各层之间的连接权和阈值,提高了BP 神经网络的收敛速度和泛化能力。
结合高程拟合算例进行训练检验,证明该方法是一种改进BP 神经网络的有效方法。
关键词:BP 神经网络;遗传算法;收敛速度;泛化能力;高程拟合中图分类号:TU457文献标识码:AApp lication of BP neura l n et w ork based on GA in heigh t fittingKong L i n gjie1,2,Li Jiebin 1,2,ChenW e i3(1.Colle ge o f Geol ogy Engineering and Geo m a tic ,Chang .a n Universit y ,Xi .a n 710054,China;2.Key Labora tory o f Western China .sM i nera l R eso urces and Geologica l Eng ineering,M i n istry o f Educa tion ,X i .an 710054,China;3.Depa rt m ent of Hydraulic Eng i neering,Na nchang Instit u te o f T echnology ,N anchang 330099,Ch i na )Abstract :Because t h e weakness of trad itional BP neural net w ork is difficulty to select the initial poi n ,t thei m proved genetic a l g orithm w ith globa l search i n g is used f or opti m izati o n of t h e li n k we i g ht and the threshol d of the neural net w or k l a yers f or i m provi n g the capability of trad itional BP neural net w ork .By co mparison ,t h e convergence rate and generalization ability of BP based on genetic algor ith m are h igher than that of the trad iti o na lBP neura l net w ork .I n the exa mple of height fitti n g ,it is proved t h at the i m proved a l g orithm is effic i e n.t K ey w ord s :BP neural net w or k ;geneti c algorithm ;convergence rate ;genera liz ati o n ab ility ;height fitti n g 收稿日期:2009206210;修订日期:2009207214基金项目:国家自然科学基金项目(40672173).作者简介:孔令杰(1985-),男(汉族),山东聊城人,硕士.0 引言在测量生产实践中,通常先布设一定密度的GPS 水准点,再按照一定的数学方法来拟合逼近区域似大地水准面,从而实现GPS 椭球高到正常高的转化,以便满足实际需要。
常用的数学方法有二次曲面拟合法、多面函数等常规方法[1]。
但由于似大地水准面的物理特性复杂,致使常规方法逼近精度会被限制在一定的范围内或者达到一定的程度后,就很难提高。
为了更好地非线性逼近大地水准面,许多学者提出了用BP (Back Propagation ,简称BP)神经网络法进行计算求解[2,3]。
BP 算法在工程应用中有两个缺点,一是收敛速度慢,尤其是在学习误差很小时,其等待过程很长;二是网络性能不是很稳定,而且初始权值的选取严重影响最后的结果,而导致网络有时收敛,有时不能收敛[3~5],这影响了该方法的进一步应用。
为了解决BP 神经网络的上述缺点,本文引入可以在全局解空间内的多个区域内寻求最优解的遗传算法(G enetic A l g orit h m,简称GA ),优化神经网络的初始连接权、阈值以及隐含层的节点数的选择,选取具有全局性的初始点的同时采用了加快学习速率的措施,达到了稳定BP 的效果,并应用这种方法在某实验区进行了实验,取得了理想的结果。
1 BP 神经网络计算过程BP 神经网络是一种多层前向型神经网络,其权值调整采用误差反向传播算法。
设一个三层神经网络的输入向量为X =[X 1,,,X n ]T,期望输出为d =[d 1,,,d m ]T;输入层与隐含层的权为W 1,其维数为n @s ,阈值为H 1,维数为s @1;隐含层与输出层的权为W 2,其维数为s @m,阈值为H 2,维数为m @1;其中n 、s 和m 分别为输入层、隐含层和输出层的神经元节点数。
神经网络的正向传输的计算过程如下[6~8]:隐含层的输出计算公式为:I 1=W 1TX +H 1(1)y 1=f 1(I 1)(2) 输出层的输出计算公式为:I 2=W T2y 1+H 2(3)y 2=f 2(I 2)(4)其中,f 1(I 1)、f 2(I 2)为隐含层与输出层的传递函数,f 1(I 1)通常为Sig moi d 函数,f 2(I 2)可以为Sig moi d 函数或者Pure lin 函数,y 2即为最终的输出值。
传统的BP 神经网络通常采用误差反向传播算法调整连接权。
设神经网络的目标函数为:E =126N p =16m k =1(d k -(y 2)k )2(5)式中p 表示第p 个样本,k 表示第k 个节点,d k 表示期望输出。
隐含层与输出层的连接权调整公式为:(W 2)pk (t +1)=(W 2)pk (t)-9E9(W 2)pk(6)输入层与隐含层的连接权调整公式为:(W 1)pk (t +1)=(W 1)pk (t)-9E9(W 1)pk(7)权调整公式的具体推导见参考文献[6,7]。
2 改进的GA 算法G A 主要思想是随机产生初始种群,通过选择(Reproduction )、交叉(Crossover )和变异(Mutation)等遗传算子的共同作用使种群不断进化,最终得到最优解,具有全局寻优、鲁棒性、自适应性强等优点[5,11]。
但GA 对交叉概率p c 和变异概率p m 非常敏感,而传统G A 交叉概率p c 和变异概率p m 为常数,影响了算法的收敛性和收敛速度,容易使得算法出现局部收敛和/早熟0现象。
为了改进传统GA 的这些不足,本文采用了自适应的交叉概率p c 和变异概率p m [9~11],交叉概率p c 按照公式(8)进行自适应调整:p c =k 1#f m ax -f mf m ax -f ave f m \f avek 2f m \f ave (8)式中,f max 为当代群体中最大的适应度值;f ave 为当代群体的平均适应度值;f m 为要交叉的两个个体中较大的适应值。
此处,只要设定k 1,k 2(在[01]取值,为常数)的值,p c 即可进行自适应调整。
变异概率p m 自适应调整的公式为:p m =k 3#f max -f lf max -f ave f l \f avek 4f l \f ave(9)式中,f l 为要变异个体的适应度值。
此处,只要设定k 3,k 4(在[01]取值,为常数)的值,p m 即可进行自适应调整。
改进交叉概率和变异概率选择方后的遗传算法在全局收敛性和收敛速度方面都有了很大的改善[10]。
3 改进G A 与BP 网络结合映射定理已经证明,含有至少一层隐含层的网络可以逼近任何非线性连续函数,因此,对一个采用了含有一个隐含层的三层前馈网络的结构,即包括输入层、隐含层和输出层,各层神经元个数分别为n,s ,m,改进GA 算法与神经网络结合的训练步骤如下:[4,11](1)对G A 采用二进制编码,对隐含层和输出层的权值(W 1)ij 、(W 2)jk 及阈值(H 1)i 、(H 2)k ,1[i [s ,1[j [n,1[k [m 。
设定A 的种群个数N,并用0~1之间的随机数初始化种群的N 个个体。
(2)隐含层与输出层激活函数都选用Si g moid函数:f (x)=11+e-x ,对于要输入的q 个训练样本X p ={x p 1,x p 2,,x pn }(1[p [q),采用批处理方式一次性输入,并计算网络的整体平均反向误差为:E ave =12q 6q p =16m k=1(d k -(y 2)k )2(10)式中:E ave 为q 个样本的平均反向误差,d k 和(y 2)k 分别为网络的期望输出和实际计算输出。
(3)选取GA 的适应度函数为:F =C max -E ave (11)式中:F 为种群中个体的适应度,C max 为一个比较大的常数。
(4)采用基于种群个体适应度大小排序的选择算法,按个体适应度的高低来进行随机选择,采用式(8)和式(9)中的自适应交叉概率p c 和变异概率p m 对群体进行交叉操作和变异操作,保证高适应度的个体以大的概率遗传到下一代中去。
(5)重复步骤(4),直到当前群体中适应度最高的个体对应的平均误差E <E 1,E 1为给定的全局搜索精度。
(6)利用划分出的学习样本以及检测样本找出合适的网络结构,确定网络的隐层节点数。
对于每一个网络结构,采用步骤(4)~(5)得到的网络初始值计算出该网络的适应度并进行比较,找出最优的网络结构。
(7)在确定的网络结构下,对于满足全局搜索精度的网络权值与阈值,选取自适应学习速率G如(12)式:G(k+1)=1105G(k)E ave(k+1)<E av e(k)017G(k)E ave(k+1)>1104E ave(k)G(k)其它情况(12)按(12)式对学习速率自动调整,直到平均误差E<E2,E2为最终的搜索精度。