胡川
(四川建筑職業技術學院測量工程研究所,四川德陽 618000)
基于神經網絡的GPS高程擬合及其MATLAB實現
胡川?
(四川建筑職業技術學院測量工程研究所,四川德陽 618000)
GPS高程轉換通常采用某種函數模型進行擬合轉換,函數模型難以真實模擬似大地水準面,具有較大的模型誤差,造成擬合效果不佳。BP神經網絡方法進行GPS高程擬合可以減少模型產生的誤差。文章采用MATLAB語言實現了BP神經網絡對GPS高程轉換擬合并與二次曲面擬合結果進行比較,結果體現了神經網絡進行高程擬合的優越性。
BP;神經網絡;高程擬合;MATLAB;全球定位系統
GPS坐標是以地球質量中心為坐標原點的三維坐標,其高程是地面某點到橢球面的距離稱大地高。而工程中常用的是正常高或水準高程。因此,兩種高程之間的轉換成為工程技術人員所必須面臨的一個難題。用H表示大地高,HZ表示正常高,ξ表示高程異常,則它們之間的關系為:H=HZ+ξ;只要求出高程異常就可以輕松的求得正常高。要精確求取高程異常需要點位的精確重力數據,實際操作比較的困難。通常求取高程異常的方法是通過某種擬合函數根據已知的點位模擬出某種曲面或平面,再以曲面(平面)函數來求取未知點的高程異常。擬合方法有:繪等值線圖法、曲線內插法、樣條函數法、平面擬合法、多項式曲面擬合法、多面函數擬合法、曲面樣條擬合法、加權平均法[1]等等。采用數學函數模型進行擬合的最大問題就在于模型具有一定的誤差,這對結果產生一定的影響。為減少模型誤差的影響,研究人員提出了神經網絡方法來實現擬合[2]。但是神經網絡方法比較的繁雜,對于一般的工程人員來說不太方便。本文利用MATLAB提供的神經網絡函數簡單編程實現了GPS正常高的神經網絡擬合,并與二次曲面擬合結果進行比較,得出較好的效果。
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.1 高程擬合數據處理流程
MATLAB高程擬合程序實現的流程是:
(1)確定輸入矢量和目標矢量。本文將已知數據中的坐標數據作為輸入向量,對應的正常高作為輸出向量,當然也可以將高程異常作為輸出向量。注意輸出向量和輸入向量的列數必須相同。
(2)確定隱含層數目、各層神經元個數、傳遞函數以及訓練函數。這些對象對最后擬合的效果是有很大的影響。設計不好就會出現收斂效果不佳或收斂時間過長等問題,甚至有可能擬合出錯(不能收斂)。
(3)對輸入輸出數據進行歸一化處理。數據差距較大,為加快收斂速度須對數據做歸一化處理,有時也可以不用歸一化處理。待處理的擬合數據同樣需要相同的歸一處理,并在擬合完畢后進行反歸一化處理才能得到待求數據結果正解。
(4)創建神經網絡。利用上面提供的創建神經網絡函數創建實際的神經網絡。不同的網絡創建時的參數設置不一樣,要注意區別。一般采用newff和newfftd。
(5)網絡初始化。主要是設置權函數,在高程擬合中可以采用系統默認的參數,可以不單獨初始化。
(6)網絡訓練。通過訓練函數,根據預設的參數對網絡進行訓練。
(7)網絡仿真。Sim函數是專門用來實現網絡仿真的,對輸入數據進行仿真計算。
(8)求待擬合正常高。待求正常高的坐標通過相同的歸一化處理采用仿真函數仿真,經過反歸一處理得到擬合結果。
3.2 程序實現
本文設計了一個3層神經網絡,一個輸入層,一個隱含層,一個輸出層。隱含層的神經元數目選擇為10個,輸入層輸入元素為(x,y),故設置兩個神經元,輸出層只輸出高程,所以就只有一個神經元。根據需要可以創建不同的神經網絡,在此以BP后向傳播網絡為例。具體的程序代碼如下:


根據某地區GPS控制網的部分數據,選擇了8個點樣本數據,點號為1~8。9個點作為測試樣本集實驗數據,點號為9~17。采用BP神經網絡擬合結果與二次曲面擬合結果進行比較,精度評定采用均方誤差的方式。實驗對比數據如表1所示。

實驗數據(單位/m) 表1
通過表1可以明顯看出神經網絡方法比二次曲面擬合法的效果要好很多。神經網絡和二次曲面擬合的誤差最大點都為15號點,而最小的點點號不同,分別為10和9號點。神經網絡方法的均方誤差要比二次型小15倍左右,所以采用神經網絡方法更符合實際情況,能夠取得更好的擬合效果。
通過上面的分析可以看出神經網路的優越性,盡管神經網絡的原理要比二次型復雜,感覺更難于實現。在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)