鄧永春,徐躍, 徐丹丹, 賈雪, 田先才
(安徽理工大學 測繪學院,安徽 淮南 232001)
全球衛星導航系統(GNSS)是包含多種在軌衛星的多星座綜合衛星系統,主要包含美國全球定位系統(GPS)、俄羅斯格洛納斯(GLONASS)、歐盟伽利略衛星導航系統(Galileo)和中國北斗衛星導航系統(BDS)等[1],GNSS以其全球、全天候數據接收,定位精度高,各系統兼容性強等優點使得GNSS系統的應用極其廣泛.
隨著GNSS的應用,GNSS多系統的融合帶來了基線解算的誤差解算模型建立的難題,基線解算誤差模型的建立更加復雜,同時也使得GNSS時間序列的預測更加艱難.以人工神經網絡為代表的機器學習,以多層感知器以及多信息的高效特征分層提取的算法,使深度學習對時間序列非線性的處理成為GNSS時間序列預測的研究熱點[2].
支持向量機(SVM)是由Vapnik等[3]在1995年提出的通過核函數將時間序列向高維空間映射的方法,可解決SVM維數災難的問題.本文以高斯徑向基網絡(RBF)為核函數建立SVM時間序列預測數學模型,并以實際算例檢驗SVM方法在GNSS時間序列預測中的優越性.
反向傳播(BP)神經網絡[4]是一種誤差反向傳播的多層前向神經網絡,是目前應用范圍最廣的神經網絡模型.BP神經網絡主要包含輸入層、隱含層和輸出層三層神經網絡,它主要通過訓練樣本數據,通過隱含層學習某種運算規則,得到接近期望輸出的結果;當期望值與目標值的誤差未達到預期時,求期望值與目標值的誤差,根據誤差調整神經網絡的權值,如此反復直至誤差精度滿足要求.BP神經網絡結構圖如圖1所示.

圖1 BP神經網絡結構圖
SVM方法主要運用統計學原理解決二分類和多分類的問題,用監督學習的方法找到特征空間中的最佳分離超平面.在引入核函數[5]、誤差函數[6]、不敏感損失函數[7]之后,SVM也可以用來解決時間序列的非線性回歸估計[8]問題.相比于神經網絡,SVM方法采用結構化風險最小化原則解決了有限樣本下的機器學習的復雜程度與機器學習后的模型推廣能力之間的固有矛盾.采用VC(Vap-nik Chervonenkis)維和最小化經驗風險實現了經驗風險和置信區間最小化風險泛函問題[9].
1.2.1 SVM核函數[6]
SVM處理數據時經常碰到數據線性不可分的情況,于是SVM就采用核函數的方式將數據從線性不可分低維空間映射到線性可分的高維空間.于是在SVM建模中核函數的選擇至關重要,核函數的選擇包括兩個內容:1) 核函數的選擇;2) 核函數確定后的相關參數的選擇.根據實際情況選擇合適的核函數是目前SVM研究工作者們的關注焦點,下面是幾種常用的核函數:
1) 線性核函數:K(x,x′)=xTx′
2) 多項式核函數:K(x,x′)=(γxTx′+r)d
3) 徑向基核函數:K(x,x′)=exp(-γ‖x-x′‖2)
4) Sigmoid核函數:K(x,x′)=tanh(γxTx′+r)
其中,γ,r,d為核函數中根據實際的情況自行賦值的參數.
1.2.2 SVM估計函數
設給定非線性訓練集樣本為S={(xi,yi),i=1,2,…,n},其中xi∈Sn.尋找一個非線性函數φ(·),構造一個線性最優分類超平面f(x)=ωφ(x)+b,其中向量ω∈Sn,b∈S1,f(x)為模型輸出值,為利用SVM解決回歸擬合問題,具體問題可描述成誤差函數模型[10]:

(1)
Vapnik等[3]在SVM分類的基礎上引入誤差函數ε,尋找一個模型輸出值和真實輸出值的絕對值最大為ε,將二次誤差函數替換成不敏感誤差函數Eε,則誤差模型可描述為

(2)
式中:C為懲罰參數;Eε為不敏感損失函數,
Eε((yi-f(xi)))=
(3)
在此基礎上引入兩個松弛變量ξ和ξ*,那么支持向量優化問題可以寫成:
s.t.yi≤f(xi)+ε+ξi;
(4)
1.2.3 拉格朗日對偶問題
(5)
將上述二次規劃問題轉換成對偶最優問題,即為

(6)
式中:(xj,yj)表示超平面邊界上的點;K(xi,xj)=φ(xi)φ(xj)為核函數,本文采用徑向基核函數,徑向基核函數可以表示為
1.2.4 SVM中KKT問題及參數求解
根據Karush-Kuhn-Tucher(KKT)條件[12]可知,最優點時拉格朗日乘子與約束條件的向量積為0.那么,可以解得:
參數b為

(7)
預測函數為

(8)


圖2 SVM網絡結構圖


圖3 深度學習預測流程圖
對預處理后的前850組數據坐標序列進行訓練并建立神經網絡模型, 根據經驗模型對BP神經網絡進行初始值的設置[4]:輸入層節點數為50,隱含層節點數為10,輸出層節點數為1,神經網絡的最大迭代次數為2 000次,神經網絡的網絡學習率為0.01,誤差目標值為0.000 1;利用LIBSVM完成支持向量機的初始設置為:采用梯度下降的方法尋找最優懲罰參數C,內核函數參數,損失函數的參數值0.01.并運用上述BP神經網絡和SVM網絡訓練建立的模型對最后的第901到1 000共100個數據進行預測.
為研究網絡訓練及預測成果,本文對GNSS解算的X、Y、Z坐標分別進行BP神經網絡和SVM網絡建模結果如圖4所示.
如圖4所示,圖中以黑色線段連接的正方形表示經過數據預處理的原始預測數據,以紅色連接的圓形表示BP神經網絡對原始序列的預測值,以藍色連接的三角形表示SVM網絡對原始序列的預測值,從訓練結果可以看出SVM網絡對原始序列的預測結果比BP神經網絡的預測結果更集中,具有更好的穩定性;在應對數據突變數據時SVM網絡也能更好地應對預測突變,具有更好的魯棒性;但是在預測時不管BP神經網絡還是SVM網絡都會有一定的延遲性尤其在突變處,延遲性表現得更為明顯.
依據上面建立的網絡模型對測試集時間序列進行預測,預測結果如圖5所示,預計的評價指標采用均方誤差(MSE),計算結果如表1所示.

(9)

圖4 訓練集預測結果

圖5 測試集預測結果

坐標訓練集BP神經網絡SVM網絡測試集BP神經網絡SVM網絡X0.046 40.041 90.035 80.027 1 Y0.042 30.037 40.030 10.022 7Z0.071 00.042 30.082 40.046 9
從圖5和表1中可看出:
1)從預測穩定性看,SVM網絡在預測結果的趨勢以及在原始序列的突變區域預測穩定性比BP神經網絡更優;
2)從預測精度看,SVM網絡的預測均方誤差明顯小于BP神經網絡的均方誤差,SVM具有較高的預測精度;
3)由于深度學習固有的學習機制的問題,使得BP神經網絡和SVM網絡訓練及預測對時間序列的預測都有一定的滯后性.
本文在深度學習框架下研究GNSS時間序列的預測問題.研究結果表明,采用結構風險最小化的支持向量機模型具有更好的統計學理論基礎,避免陷入局部最優的陷阱,SVM網絡的預測結果比BP神經網絡模型的預測結果具有更好的預測精度和魯棒性,但是在GNSS長時間序列的預測方面仍待進一步研究.