鄧永春,徐躍, 徐丹丹, 賈雪, 田先才
(安徽理工大學 測繪學院,安徽 淮南 232001)
全球衛(wèi)星導航系統(tǒng)(GNSS)是包含多種在軌衛(wèi)星的多星座綜合衛(wèi)星系統(tǒng),主要包含美國全球定位系統(tǒng)(GPS)、俄羅斯格洛納斯(GLONASS)、歐盟伽利略衛(wèi)星導航系統(tǒng)(Galileo)和中國北斗衛(wèi)星導航系統(tǒng)(BDS)等[1],GNSS以其全球、全天候數(shù)據(jù)接收,定位精度高,各系統(tǒng)兼容性強等優(yōu)點使得GNSS系統(tǒng)的應用極其廣泛.
隨著GNSS的應用,GNSS多系統(tǒng)的融合帶來了基線解算的誤差解算模型建立的難題,基線解算誤差模型的建立更加復雜,同時也使得GNSS時間序列的預測更加艱難.以人工神經(jīng)網(wǎng)絡為代表的機器學習,以多層感知器以及多信息的高效特征分層提取的算法,使深度學習對時間序列非線性的處理成為GNSS時間序列預測的研究熱點[2].
支持向量機(SVM)是由Vapnik等[3]在1995年提出的通過核函數(shù)將時間序列向高維空間映射的方法,可解決SVM維數(shù)災難的問題.本文以高斯徑向基網(wǎng)絡(RBF)為核函數(shù)建立SVM時間序列預測數(shù)學模型,并以實際算例檢驗SVM方法在GNSS時間序列預測中的優(yōu)越性.
反向傳播(BP)神經(jīng)網(wǎng)絡[4]是一種誤差反向傳播的多層前向神經(jīng)網(wǎng)絡,是目前應用范圍最廣的神經(jīng)網(wǎng)絡模型.BP神經(jīng)網(wǎng)絡主要包含輸入層、隱含層和輸出層三層神經(jīng)網(wǎng)絡,它主要通過訓練樣本數(shù)據(jù),通過隱含層學習某種運算規(guī)則,得到接近期望輸出的結(jié)果;當期望值與目標值的誤差未達到預期時,求期望值與目標值的誤差,根據(jù)誤差調(diào)整神經(jīng)網(wǎng)絡的權(quán)值,如此反復直至誤差精度滿足要求.BP神經(jīng)網(wǎng)絡結(jié)構(gòu)圖如圖1所示.
圖1 BP神經(jīng)網(wǎng)絡結(jié)構(gòu)圖
SVM方法主要運用統(tǒng)計學原理解決二分類和多分類的問題,用監(jiān)督學習的方法找到特征空間中的最佳分離超平面.在引入核函數(shù)[5]、誤差函數(shù)[6]、不敏感損失函數(shù)[7]之后,SVM也可以用來解決時間序列的非線性回歸估計[8]問題.相比于神經(jīng)網(wǎng)絡,SVM方法采用結(jié)構(gòu)化風險最小化原則解決了有限樣本下的機器學習的復雜程度與機器學習后的模型推廣能力之間的固有矛盾.采用VC(Vap-nik Chervonenkis)維和最小化經(jīng)驗風險實現(xiàn)了經(jīng)驗風險和置信區(qū)間最小化風險泛函問題[9].
1.2.1 SVM核函數(shù)[6]
SVM處理數(shù)據(jù)時經(jīng)常碰到數(shù)據(jù)線性不可分的情況,于是SVM就采用核函數(shù)的方式將數(shù)據(jù)從線性不可分低維空間映射到線性可分的高維空間.于是在SVM建模中核函數(shù)的選擇至關(guān)重要,核函數(shù)的選擇包括兩個內(nèi)容:1) 核函數(shù)的選擇;2) 核函數(shù)確定后的相關(guān)參數(shù)的選擇.根據(jù)實際情況選擇合適的核函數(shù)是目前SVM研究工作者們的關(guān)注焦點,下面是幾種常用的核函數(shù):
1) 線性核函數(shù):K(x,x′)=xTx′
2) 多項式核函數(shù):K(x,x′)=(γxTx′+r)d
3) 徑向基核函數(shù):K(x,x′)=exp(-γ‖x-x′‖2)
4) Sigmoid核函數(shù):K(x,x′)=tanh(γxTx′+r)
其中,γ,r,d為核函數(shù)中根據(jù)實際的情況自行賦值的參數(shù).
1.2.2 SVM估計函數(shù)
設(shè)給定非線性訓練集樣本為S={(xi,yi),i=1,2,…,n},其中xi∈Sn.尋找一個非線性函數(shù)φ(·),構(gòu)造一個線性最優(yōu)分類超平面f(x)=ωφ(x)+b,其中向量ω∈Sn,b∈S1,f(x)為模型輸出值,為利用SVM解決回歸擬合問題,具體問題可描述成誤差函數(shù)模型[10]:
(1)
Vapnik等[3]在SVM分類的基礎(chǔ)上引入誤差函數(shù)ε,尋找一個模型輸出值和真實輸出值的絕對值最大為ε,將二次誤差函數(shù)替換成不敏感誤差函數(shù)Eε,則誤差模型可描述為
(2)
式中:C為懲罰參數(shù);Eε為不敏感損失函數(shù),
Eε((yi-f(xi)))=
(3)
在此基礎(chǔ)上引入兩個松弛變量ξ和ξ*,那么支持向量優(yōu)化問題可以寫成:
s.t.yi≤f(xi)+ε+ξi;
(4)
1.2.3 拉格朗日對偶問題
(5)
將上述二次規(guī)劃問題轉(zhuǎn)換成對偶最優(yōu)問題,即為
(6)
式中:(xj,yj)表示超平面邊界上的點;K(xi,xj)=φ(xi)φ(xj)為核函數(shù),本文采用徑向基核函數(shù),徑向基核函數(shù)可以表示為
1.2.4 SVM中KKT問題及參數(shù)求解
根據(jù)Karush-Kuhn-Tucher(KKT)條件[12]可知,最優(yōu)點時拉格朗日乘子與約束條件的向量積為0.那么,可以解得:
參數(shù)b為
(7)
預測函數(shù)為
(8)
圖2 SVM網(wǎng)絡結(jié)構(gòu)圖
圖3 深度學習預測流程圖
對預處理后的前850組數(shù)據(jù)坐標序列進行訓練并建立神經(jīng)網(wǎng)絡模型, 根據(jù)經(jīng)驗模型對BP神經(jīng)網(wǎng)絡進行初始值的設(shè)置[4]:輸入層節(jié)點數(shù)為50,隱含層節(jié)點數(shù)為10,輸出層節(jié)點數(shù)為1,神經(jīng)網(wǎng)絡的最大迭代次數(shù)為2 000次,神經(jīng)網(wǎng)絡的網(wǎng)絡學習率為0.01,誤差目標值為0.000 1;利用LIBSVM完成支持向量機的初始設(shè)置為:采用梯度下降的方法尋找最優(yōu)懲罰參數(shù)C,內(nèi)核函數(shù)參數(shù),損失函數(shù)的參數(shù)值0.01.并運用上述BP神經(jīng)網(wǎng)絡和SVM網(wǎng)絡訓練建立的模型對最后的第901到1 000共100個數(shù)據(jù)進行預測.
為研究網(wǎng)絡訓練及預測成果,本文對GNSS解算的X、Y、Z坐標分別進行BP神經(jīng)網(wǎng)絡和SVM網(wǎng)絡建模結(jié)果如圖4所示.
如圖4所示,圖中以黑色線段連接的正方形表示經(jīng)過數(shù)據(jù)預處理的原始預測數(shù)據(jù),以紅色連接的圓形表示BP神經(jīng)網(wǎng)絡對原始序列的預測值,以藍色連接的三角形表示SVM網(wǎng)絡對原始序列的預測值,從訓練結(jié)果可以看出SVM網(wǎng)絡對原始序列的預測結(jié)果比BP神經(jīng)網(wǎng)絡的預測結(jié)果更集中,具有更好的穩(wěn)定性;在應對數(shù)據(jù)突變數(shù)據(jù)時SVM網(wǎng)絡也能更好地應對預測突變,具有更好的魯棒性;但是在預測時不管BP神經(jīng)網(wǎng)絡還是SVM網(wǎng)絡都會有一定的延遲性尤其在突變處,延遲性表現(xiàn)得更為明顯.
依據(jù)上面建立的網(wǎng)絡模型對測試集時間序列進行預測,預測結(jié)果如圖5所示,預計的評價指標采用均方誤差(MSE),計算結(jié)果如表1所示.
(9)
圖4 訓練集預測結(jié)果
圖5 測試集預測結(jié)果
坐標訓練集BP神經(jīng)網(wǎng)絡SVM網(wǎng)絡測試集BP神經(jīng)網(wǎng)絡SVM網(wǎng)絡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)從預測穩(wěn)定性看,SVM網(wǎng)絡在預測結(jié)果的趨勢以及在原始序列的突變區(qū)域預測穩(wěn)定性比BP神經(jīng)網(wǎng)絡更優(yōu);
2)從預測精度看,SVM網(wǎng)絡的預測均方誤差明顯小于BP神經(jīng)網(wǎng)絡的均方誤差,SVM具有較高的預測精度;
3)由于深度學習固有的學習機制的問題,使得BP神經(jīng)網(wǎng)絡和SVM網(wǎng)絡訓練及預測對時間序列的預測都有一定的滯后性.
本文在深度學習框架下研究GNSS時間序列的預測問題.研究結(jié)果表明,采用結(jié)構(gòu)風險最小化的支持向量機模型具有更好的統(tǒng)計學理論基礎(chǔ),避免陷入局部最優(yōu)的陷阱,SVM網(wǎng)絡的預測結(jié)果比BP神經(jīng)網(wǎng)絡模型的預測結(jié)果具有更好的預測精度和魯棒性,但是在GNSS長時間序列的預測方面仍待進一步研究.