基于神经网络的GPS高程拟合及其MATLAB实现
2010-04-19胡川
胡川
(四川建筑职业技术学院测量工程研究所,四川德阳 618000)
基于神经网络的GPS高程拟合及其MATLAB实现
胡川∗
(四川建筑职业技术学院测量工程研究所,四川德阳 618000)
GPS高程转换通常采用某种函数模型进行拟合转换,函数模型难以真实模拟似大地水准面,具有较大的模型误差,造成拟合效果不佳。BP神经网络方法进行GPS高程拟合可以减少模型产生的误差。文章采用MATLAB语言实现了BP神经网络对GPS高程转换拟合并与二次曲面拟合结果进行比较,结果体现了神经网络进行高程拟合的优越性。
BP;神经网络;高程拟合;MATLAB;全球定位系统
1 引 言
GPS坐标是以地球质量中心为坐标原点的三维坐标,其高程是地面某点到椭球面的距离称大地高。而工程中常用的是正常高或水准高程。因此,两种高程之间的转换成为工程技术人员所必须面临的一个难题。用H表示大地高,HZ表示正常高,ξ表示高程异常,则它们之间的关系为:H=HZ+ξ;只要求出高程异常就可以轻松的求得正常高。要精确求取高程异常需要点位的精确重力数据,实际操作比较的困难。通常求取高程异常的方法是通过某种拟合函数根据已知的点位模拟出某种曲面或平面,再以曲面(平面)函数来求取未知点的高程异常。拟合方法有:绘等值线图法、曲线内插法、样条函数法、平面拟合法、多项式曲面拟合法、多面函数拟合法、曲面样条拟合法、加权平均法[1]等等。采用数学函数模型进行拟合的最大问题就在于模型具有一定的误差,这对结果产生一定的影响。为减少模型误差的影响,研究人员提出了神经网络方法来实现拟合[2]。但是神经网络方法比较的繁杂,对于一般的工程人员来说不太方便。本文利用MATLAB提供的神经网络函数简单编程实现了GPS正常高的神经网络拟合,并与二次曲面拟合结果进行比较,得出较好的效果。
2 MATLAB中的神经网络模型及函数
2.1 MATLAB中的神经网络算法模型
神经网络是对人脑的抽象、模拟,反映人脑的基本特性。神经元是其最基本的组成,神经元是功能简单但是具有自适应能力的信息处理单元。神经元通过某种拓扑结果按照大规模的并行方式连接成神经网络。在MATLAB中提供多种的神经网络算法模型,比如: BP前馈后向传播神网络(feed-forward backpropagation);GRN广义回归神经网络(generalized regression neural);、Elman后向传播网络(Elman backpropagation network);可训练级联前导后向传播网络(trainable cascade-forward backpropagation network);输入延迟前馈后向传播神网络(feed-forward input-delay backprop network);Hopfield网络(Hopfield recurrent network);学习矢量量化神经网络(learning vector quantization network);概率神经网络(probabilistic neural network);RBF径向基神经网络模型(radial basis network);RBFE精确径向基神经网络(exact radial basis network)等等。神经网络的实现是通过网络结构来实现,一般的网络结构如图1所示。
图1 神经网络结构
从左到右分别是输入层,隐含层,输出层。运用BP神经网络和RBF神经网络来进行相关运用的研究是主流趋势。BP神经网络是多层前馈单向传播网路,在上述的机构基础上,其隐含层可有多层,层与层之间实现全连接。但是同层之间没有任何的连接。下一层的输入受到上一层输出的影响。网络的学习过程是由两部分完成,首先是正向的学习,由输入层开始向下传播到输出层,输出层比较输出结果能否到达预期效果。如不能就反向传播,通过修改各层神经元的权值到达输入层,最后又正向传播到输入层。这样反复的学习,直到输出结果到达预期结果学习过程结束。
2.2 MATLAB提供的主要神经网络函数
为实现各种网络结构的使用,MATLAB提供了大量的函数。根据神经网络实现高程拟合的流程(见后面讨论)主要涉及以下各类函数。
(1)数据输入函数,MATLAB可以读取多种类型的数据格式,比如:Excel文件,mat文件等。函数形式是xlsread('filename'),load('filename')。
(2)数据归一化函数,归一化函数有 premnmx、postmnmx、tramnmx、restd、poststd、trastd几种;premnmx函数用于将网络的输入数据进行归一化,归一化后的数据将分布在[-1,1]区间内。在训练网络时如果所用的是经过归一化的样本数据,那么以后使用网络时所用的测验数据也应该用tramnmx进行相同的处理。当数据进行归一化处理后在结果中要的与原来数据相同的单位就必须进行反归一化处理。postmnmx是用来反premnmx的归一化函数。
(3)网络创建函数,newelm、newff、newfftd、newgrnn、newhop、newpnn、newrb。newff是创建BP神经网络的函数,也是最常用的函数,其结构为:newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF);PR表示经归一化后的输入数据,SN1网络的层数,TFi为转换函数,主要有tansig,logsig,purelin三种转换函数;BTF表示用于训练的函数,主要有 rainlm,trainbfg,trainrp,traingd等等;BLF表示需要的学习权函数 learngdm;PF表示性能函数,主要有mse和msereg两种。
(4)网络参数设置,net.trainParam.show:设置显示间隔;net.trainParam.lr:设置网络学习速度;net.train-Param.mc:设置动量系数net.trainParam.epochs设置训练单位时间;net.trainParam.goal设置目标误差。
(5)网络初始函数init(net),一般采用默认参数自动初始就可以。
(6)网路训练函数train,用于对设定参数的网络进行训练。
(7)网络仿真函数a sim(net,PN).通过这些函数的使用可以实现高程拟合的Matlab仿真,并得到最后的拟合数据。
3 MATLAB中神经网络处理流程及程序实现
3.1 高程拟合数据处理流程
MATLAB高程拟合程序实现的流程是:
(1)确定输入矢量和目标矢量。本文将已知数据中的坐标数据作为输入向量,对应的正常高作为输出向量,当然也可以将高程异常作为输出向量。注意输出向量和输入向量的列数必须相同。
(2)确定隐含层数目、各层神经元个数、传递函数以及训练函数。这些对象对最后拟合的效果是有很大的影响。设计不好就会出现收敛效果不佳或收敛时间过长等问题,甚至有可能拟合出错(不能收敛)。
(3)对输入输出数据进行归一化处理。数据差距较大,为加快收敛速度须对数据做归一化处理,有时也可以不用归一化处理。待处理的拟合数据同样需要相同的归一处理,并在拟合完毕后进行反归一化处理才能得到待求数据结果正解。
(4)创建神经网络。利用上面提供的创建神经网络函数创建实际的神经网络。不同的网络创建时的参数设置不一样,要注意区别。一般采用newff和newfftd。
(5)网络初始化。主要是设置权函数,在高程拟合中可以采用系统默认的参数,可以不单独初始化。
(6)网络训练。通过训练函数,根据预设的参数对网络进行训练。
(7)网络仿真。Sim函数是专门用来实现网络仿真的,对输入数据进行仿真计算。
(8)求待拟合正常高。待求正常高的坐标通过相同的归一化处理采用仿真函数仿真,经过反归一处理得到拟合结果。
3.2 程序实现
本文设计了一个3层神经网络,一个输入层,一个隐含层,一个输出层。隐含层的神经元数目选择为10个,输入层输入元素为(x,y),故设置两个神经元,输出层只输出高程,所以就只有一个神经元。根据需要可以创建不同的神经网络,在此以BP后向传播网络为例。具体的程序代码如下:
4 实验结果分析
根据某地区GPS控制网的部分数据,选择了8个点样本数据,点号为1~8。9个点作为测试样本集实验数据,点号为9~17。采用BP神经网络拟合结果与二次曲面拟合结果进行比较,精度评定采用均方误差的方式。实验对比数据如表1所示。
实验数据(单位/m) 表1
通过表1可以明显看出神经网络方法比二次曲面拟合法的效果要好很多。神经网络和二次曲面拟合的误差最大点都为15号点,而最小的点点号不同,分别为10和9号点。神经网络方法的均方误差要比二次型小15倍左右,所以采用神经网络方法更符合实际情况,能够取得更好的拟合效果。
5 结论与展望
通过上面的分析可以看出神经网路的优越性,尽管神经网络的原理要比二次型复杂,感觉更难于实现。在MATLAB强大的数学处理能力面前,这样的问题得到很好的解决。促进了神经网路在高程转换中的应用。本文选取的数据高程异常差不是太大,曲面比较的缓和,对于大区域的数据处理能否适用还需要深入研究。同时由于篇幅的限制,作者没有对不同的神经网络模型以及不同参数条件下对结果影响的关系进行分析。这些都是笔者需要进一步深入研究的方面。
[1]徐绍铨,张华海,杨志强等.GPS测量原理及应用[M].武汉:武汉测绘科技大学出版社,1998
[2]杨明清,靳蕃,朱达成等.用神经网络方法转换GPS高程[J].测绘学报1999(4)
[3]匡翠林.BP神经网络用于GPS高程转换的网络配置[J].测绘与空间地理信息2004,27(5)
[4]朱卫东,李全海.基于标准化动量BP神经网络的GPS高程转换[J].大地测量与地球动力学,2010,(1)
[5]张秋昭,张书毕,刘军.基于Bayesian正则化BP神经网络的GPS高程转换[J].大地测量与地球动力学,2009(3)
Based on Neural Net Fitting GPS Elevation and Implemented by Matlab
Hu Chuan
(Institute of Engineering Surveying,Sichuan College of Architectural Technology,Deyang 618000,China)
GPS elevation conversion usually adopted a function of model to fitting,function model can not simulate quasi-geoid with large model error and resulting in estimated ineffective.BP neural network method for GPS elevation conversion could reduce the model-generated errors.Articles by MATLAB language to implement the BP neural network for GPS elevation conversion to be combined with the quadratic surface fitting results were compared and the results reflected the neural network superiority.
BP;Neural Net;Elevation Fitting;MATLAB;GPS
1672-8262(2010)05-75-03
P228
B
2010—03—31
胡川(1983—),男,硕士,主要从事空间大地测量理论与数据处理研究。
四川省环境保护科技项目(2008HBY002)