方云波
摘 要:在支持向量機(jī)GNSS高程擬合應(yīng)用中,通常采用交叉驗(yàn)證法來尋找訓(xùn)練模型的最優(yōu)參數(shù),但該方法有可能會陷入局部最優(yōu)而難以提高模型精度。本研究采用具有全局尋優(yōu)能力的遺傳算法來優(yōu)化支持向量機(jī)的參數(shù),并建立GA-SVM模型對GNSS高程數(shù)據(jù)進(jìn)行擬合。通過對比交叉驗(yàn)證表明,GA-SVM在GNSS高程擬合中具有更好的效果,內(nèi)符合精度和外符合精度均達(dá)到毫米級。
關(guān)鍵詞:遺傳算法;支持向量機(jī);高程擬合;交叉驗(yàn)證
中圖分類號:P228 ? ? 文獻(xiàn)標(biāo)志碼:A ? ? 文章編號:1003-5168(2022)12-0013-04
DOI:10.19968/j.cnki.hnkj.1003-5168.2022.12.002
Application Research of GNSS Height Fitting Based on GA-SVM
FANG Yunbo
(Shanghai Weichen Surveying and Mapping Technology Co.,Ltd.,Shanghai 200100,China)
Abstract:In the application of support vector machine GNSS height fitting,the cross-validation method is usually used to find the optimal parameters of the training model.This method may fall into local optimization and is difficult to improve the accuracy of the model.In this paper,a genetic algorithm with global optimization ability is used to optimize the parameters of the support vector machine.GA-SVM model is established to fit GNSS height data.Compared with the cross-validation method,GA-SVM has a better effect on GNSS height fitting.The internal coincidence accuracy and external coincidence accuracy reach the millimetre level.
Keywords:genetic algorithm;support vector machine;height fitting;cross-validation
0 引言
GNSS技術(shù)能夠獲取點(diǎn)位的三維坐標(biāo),從而廣泛應(yīng)用于大地測量和工程測量領(lǐng)域。但由于GNSS所測的高程為大地高,幾何水準(zhǔn)測量獲取的是正常高,大地高是空間點(diǎn)沿法線到參考橢球面的距離,正常高則是空間點(diǎn)沿鉛垂線到似大地水準(zhǔn)面的距離,兩個高程之間存在高程異常,導(dǎo)致GNSS測得的高程不能被直接使用,從而浪費(fèi)了大量的觀測數(shù)據(jù)。幾何水準(zhǔn)測量是目前精度最高的方法,但施測效率卻很低,需要花費(fèi)大量的人力和時間,測量成本較高[1]。因此,研究GNSS大地高與水準(zhǔn)測量正常高之間的高程轉(zhuǎn)換方法對提高高程測量效率具有重要意義。對于局部工程區(qū)域,目前常用的測量方法有等值線圖法、多項(xiàng)式擬合法、多面函數(shù)法等,但這些方法都要采用事先假設(shè)的函數(shù)模型來進(jìn)行高程異常擬合,而擬合效率的優(yōu)劣則取決于所選的函數(shù)模型。因此,不可避免地存在模型誤差。
支持向量機(jī)(Support Vector Machine,SVM)是在統(tǒng)計(jì)學(xué)理論基礎(chǔ)上建立起的一種機(jī)器學(xué)習(xí)算法[2],由于其遵循結(jié)構(gòu)風(fēng)險最小化原則及善于處理小樣本問題的能力,逐漸被應(yīng)用于GNSS高程擬合中[3-6]。SVM性能的好壞取決于其模型參數(shù),一般是基于交叉驗(yàn)證(Cross-Validation,CV)算法求得,但該算法有時會陷入局部最優(yōu)解,難以找到全局最優(yōu)參數(shù)。而遺傳算法(Genetic Algorithm,GA)是一種模仿自然界中生物遺傳機(jī)制和進(jìn)化機(jī)制演變而來的尋優(yōu)算法,能夠得到全局最優(yōu)狀態(tài)[7]。因此,本研究建立基于遺傳算法的支持向量機(jī)(GA-SVM)模型,將該模型應(yīng)用于GNSS高程擬合中,通過對比交叉驗(yàn)證,來驗(yàn)證該模型的擬合效果和模型精度。
1 SVM模型
SVM是基于統(tǒng)計(jì)學(xué)習(xí)理論的一種通用機(jī)器學(xué)習(xí)算法,由Vapnik等人于1995年提出,是機(jī)器學(xué)習(xí)領(lǐng)域的標(biāo)準(zhǔn)工具之一[8]。SVM模型以結(jié)構(gòu)風(fēng)險最小化原則來平衡模型的復(fù)雜性和學(xué)習(xí)能力,通過求解高維空間線性約束的二次規(guī)劃問題從而得到全局最優(yōu)解[9]。
SVM模型源于線性回歸問題,見式(1)。
[f(x)=ω·x+b]? ? ? (1)
根據(jù)向量[(xi, f(xi))],[i=1,2,...,n]來構(gòu)建擬合模型,其中[xi?Rn]作為輸入,[f(xi)?R]作為輸出,目標(biāo)是求出[ω]和b。
對于非線性問題,最省力的方法是利用式(1)的線性方法來解決,采用非線性映射[?],將輸入空間的向量x映射到高維的Hilbert空間,轉(zhuǎn)換為高維向量[?](x),這樣輸入空間中的非線性問題就會轉(zhuǎn)換為高維特征空間中的廣義線性問題,從而可以在高維空間中進(jìn)行線性回歸[10]。
值得注意的是,雖然非線性映射能夠在高維特征空間中解決非線性擬合問題,但這個非線性映射函數(shù)[?]卻不容易被找到,故針對不同的實(shí)際問題直接采用非線性映射是不易實(shí)現(xiàn)的。但是,非線性映射可通過內(nèi)積運(yùn)算來完成,因此,可通過核函數(shù)來代替非線性映射的內(nèi)積運(yùn)算,則高維特征空間中回歸問題可表達(dá)為式(2)和式(3)。
式中:[ε]為損失參數(shù),影響支持向量的數(shù)量;C為懲罰參數(shù),其是對錯分樣本進(jìn)行控制,以實(shí)現(xiàn)在錯分樣本的比例和算法的復(fù)雜程度之間“折中”的目的;[K(xi,xj)]為核函數(shù),可以看出核函數(shù)是計(jì)算的捷徑,避免了非線性函數(shù)[?]的尋找和復(fù)雜的內(nèi)積運(yùn)算[11]。
進(jìn)而得到線性回歸函數(shù),見式(4)。
由于高斯核函數(shù)具有普適性,適用于各分布類型的樣本[12]。因此,本研究采用的高斯核函數(shù)見式(5)。
式中:[σ]為高斯核參數(shù),SVM的3個參數(shù)損失參數(shù)[ε]、懲罰參數(shù)C和核函數(shù)參數(shù)[σ]的合理選取是SVM建模的關(guān)鍵。
2 CV-SVM模型
CV-SVM模型采用交叉驗(yàn)證法來優(yōu)化SVM的參數(shù),其基本思想是設(shè)置參數(shù)遍歷區(qū)間,對原始數(shù)據(jù)進(jìn)行分組,一部分作為訓(xùn)練集,另一部分作為驗(yàn)證集,先用SVM模型對訓(xùn)練集進(jìn)行訓(xùn)練,再利用驗(yàn)證集來測試模型的優(yōu)劣,不斷進(jìn)行試算,以此作為SVM的性能指標(biāo),直至找到最優(yōu)的參數(shù)。常用的交叉驗(yàn)證法有留出法、K-折交叉法和留一法。
留出法是將原始數(shù)據(jù)隨機(jī)分成兩組,一組作為訓(xùn)練集,另一組作為驗(yàn)證集。利用SVM模型進(jìn)行訓(xùn)練,利用驗(yàn)證集對模型精度進(jìn)行驗(yàn)證,從而選擇模型參數(shù)。該方法分組簡單且運(yùn)算效率高,但并沒有執(zhí)行嚴(yán)格意義上的交叉驗(yàn)證,故難以提高精度。
K-折交叉驗(yàn)證法是將原始數(shù)據(jù)均勻地分成K組,從而生成K個子集,將每個子集分別作為一次驗(yàn)證集,其余子集則作為訓(xùn)練集,逐組進(jìn)行訓(xùn)練和驗(yàn)證。該方法可有效避免過學(xué)習(xí)和欠學(xué)習(xí)狀態(tài),其驗(yàn)證精度較高。
留一法是指每次只留一個樣本作為驗(yàn)證集,其余樣本均為訓(xùn)練集,直至遍歷組合全部樣本。該方法每次交叉驗(yàn)證基本會將所有樣本用于訓(xùn)練,更加接近原始樣本的分布狀態(tài),使得驗(yàn)證結(jié)果比較可靠,但運(yùn)算量非常大,計(jì)算耗時且成本高,難以在實(shí)際問題中應(yīng)用。綜合考慮,本研究采用K-折交叉驗(yàn)證方法來進(jìn)行SVM訓(xùn)練建模。
3 GA-SVM模型
遺傳算法是借鑒自然界中生物遺傳和進(jìn)化機(jī)制,通過選擇、交叉、變異等遺傳操作,產(chǎn)生新的種群,以此不斷迭代,最終得到最優(yōu)的后代,從而達(dá)到獲取全局最優(yōu)解的效果。GA-SVM模型是利用遺傳算法獲取全局最優(yōu)解來對支持向量機(jī)模型參數(shù)進(jìn)行優(yōu)化,算法流程如下。
3.1 參數(shù)編碼
為了使計(jì)算的參數(shù)能夠盡可能接近最優(yōu)解,在設(shè)置SVM核參數(shù)時,盡量增大搜索空間。設(shè)置懲罰參數(shù)C的尋優(yōu)區(qū)間為(0,100],損失參數(shù)ε的尋優(yōu)區(qū)間為[0,1],核參數(shù)的倒數(shù)[1/σ]的尋優(yōu)區(qū)間為[0,1 000]。對上述3個SVM參數(shù)進(jìn)行二進(jìn)制編碼,生成一組代表這3個參數(shù)的染色體作為初始種群。如ε的編碼方式為A,C的編碼方式為B,[1/σ]的編碼方式為C,則個體的編碼形式為[A,B,C]。
3.2 適應(yīng)度函數(shù)的選擇
適應(yīng)度函數(shù)是遺傳算法和支持向量機(jī)算法之間的“紐帶”,種群個體對環(huán)境適應(yīng)能力的數(shù)學(xué)表達(dá)與目標(biāo)函數(shù)有關(guān)。本研究的目的是對GNSS高程異常進(jìn)行擬合,因此,選用擬合結(jié)果的均方誤差作為目標(biāo)函數(shù),見式(6)。
式中:MSE為均方誤差;R0為實(shí)測值;Rm為擬合值;N為擬合樣本數(shù)。
3.3 遺傳操作
3.3.1 選擇。選取種群中生命力強(qiáng)(適應(yīng)度大)的個體,使其交叉變異進(jìn)化到下一代,同時淘汰適應(yīng)度低的個體,以保證種群向著適應(yīng)環(huán)境的方向進(jìn)化。本研究根據(jù)適應(yīng)度函數(shù),選取輪盤賭法對種群個體進(jìn)行選擇。
3.3.2 交叉。種群中會不斷產(chǎn)生新的個體,要對搜索空間中的新區(qū)域進(jìn)行搜索,為了防止陷入局部最優(yōu),本研究采用單點(diǎn)交叉的方式。
3.3.3 變異。對個體染色體編碼串中的某些基因座上的基因值取反(在二進(jìn)制編碼中,“0”與“1”互為反值),從而形成新的個體,其決定了遺傳算法的局部搜索能力,維持群體的多樣性,防止出現(xiàn)“早熟”現(xiàn)象。
3.4 遺傳終止
采用預(yù)先設(shè)定的代數(shù)(終止迭代的次數(shù))作為算法的終止條件,本研究設(shè)定的最大代數(shù)為200。當(dāng)種群最優(yōu)個體適應(yīng)度達(dá)到某一閾值或迭代達(dá)到最大代數(shù)后,算法終止,經(jīng)過解碼得到SVM模型的最優(yōu)參數(shù)。
4 基于GA-SVM的GNSS高程擬合案例分析
選取某地形平緩區(qū)域的B級GNSS控制網(wǎng)為研究對象,控制網(wǎng)中具有17個無粗差且精度相同的水準(zhǔn)聯(lián)測控制點(diǎn),點(diǎn)間平均邊長約為1 km,控制網(wǎng)區(qū)域面積約為10 km2,點(diǎn)位分布如圖1所示,橫軸和縱軸分別為高斯平面直角坐標(biāo)系統(tǒng)的Y軸和X軸,三角形點(diǎn)為訓(xùn)練集中的控制點(diǎn),圓形點(diǎn)為檢核集中的控制點(diǎn)。
根據(jù)各控制點(diǎn)的正常高和大地高來計(jì)算高程的異常值,以控制網(wǎng)中12個控制點(diǎn)歸一化后的坐標(biāo)和大地高作為訓(xùn)練集的輸入集,高程異常值作為訓(xùn)練集的輸出集,進(jìn)行SVM參數(shù)訓(xùn)練,其余5個點(diǎn)作為檢核集來檢驗(yàn)SVM模型的精度。歸一化處理方法見式(7)。
式中:[x'i]為歸一化后的數(shù)據(jù);[xi]為歸一化前的原始數(shù)據(jù);[xmax]和[xmin]分別為歸一化之前數(shù)據(jù)的最大值和最小值。歸一化處理是一種無量綱處理算法,能夠避免因數(shù)據(jù)之間的量綱差異過大而淹沒了小量綱數(shù)據(jù)。
分別采用GA-SVM和CV-SVM方法對參數(shù)進(jìn)行尋優(yōu),得到最終優(yōu)化參數(shù),結(jié)果如表1所示。
利用表1中的支持向量機(jī)參數(shù)進(jìn)行GNSS高程擬合,GA-SVM和CV-SVM兩種方法擬合結(jié)果的殘差如圖2所示,橫坐標(biāo)為控制點(diǎn)編號,縱坐標(biāo)為擬合殘差,虛線為訓(xùn)練集和檢核集的分界線,虛線左側(cè)為訓(xùn)練集,共12個控制點(diǎn),虛線右側(cè)為檢核集,共5個控制點(diǎn)。
采用公式(8)對訓(xùn)練集和檢核集的擬合精度進(jìn)行內(nèi)符合精度和外符合精度評定,精度評定結(jié)果如表2所示。
式中:[σ內(nèi)]為內(nèi)符合精度;[σ外]為外符合精度;vi為擬合殘差值;n為訓(xùn)練集中控制點(diǎn)的個數(shù);m為檢核集中控制點(diǎn)的個數(shù)。
從圖2可以看出,對于訓(xùn)練集,GA-SVM模型中的1號點(diǎn)和11號點(diǎn)的擬合殘差明顯較CV-SVM模型的小,且GA-SVM模型12個點(diǎn)中有7個點(diǎn)的擬合殘差小于CV-SVM模型,其余5個點(diǎn)的差別不大,故GA-SVM訓(xùn)練集的精度高于CV-SVM。對于檢核集,兩種模型的擬合殘差有大有小,整體精度在圖中不易比較,但由表2可以看出,無論是內(nèi)符合精度還是外符合精度,GA-SVM模型均優(yōu)于CV-SVM模型,并且精度提高了一倍。整體試驗(yàn)結(jié)果表明,CV-SVM模型和GA-SVM模型在GNSS高程擬合中都能夠達(dá)到毫米級的精度,GA-SVM模型能夠?qū)ふ业奖菴V-SVM模型更優(yōu)的參數(shù),體現(xiàn)出遺傳算法的全局最優(yōu)解特性。因此,支持向量機(jī)是一種較為理想的GNSS高程擬合算法。
5 結(jié)論
支持向量機(jī)是一種能夠解決小樣本機(jī)器學(xué)習(xí)的有效算法,其以結(jié)構(gòu)風(fēng)險最小化的理念在模型的復(fù)雜性和學(xué)習(xí)能力之間尋求平衡,具有很好的訓(xùn)練和泛化能力。遺傳算法是一種全局尋優(yōu)算法,可以得到全局最優(yōu)解。本研究將遺傳算法應(yīng)用于支持向量機(jī)模型的懲罰參數(shù)、損失參數(shù)和核函數(shù)參數(shù)的尋優(yōu)中,建立了基于遺傳算法的支持向量機(jī)模型,應(yīng)用于有限控制點(diǎn)數(shù)量的GNSS高程擬合中,并與常規(guī)的交叉驗(yàn)證法進(jìn)行比較,得到以下結(jié)論。
①交叉驗(yàn)證法和遺傳算法支持向量機(jī)模型在GNSS高程擬合中都能夠達(dá)到毫米級精度,說明支持向量機(jī)具備很好的訓(xùn)練和泛化能力,適用于GNSS高程擬合工作。
②支持向量機(jī)參數(shù)決定了模型的性能,遺傳算法支持向量機(jī)模型能夠解決交叉驗(yàn)證算法可能陷入局部最優(yōu)的問題,能夠?qū)ふ业礁鼉?yōu)的參數(shù),擬合精度比交叉驗(yàn)證法提高了一倍。
參考文獻(xiàn):
[1] 朱春寧,王成,唐佑輝,等.GPS高程擬合模型選取及實(shí)驗(yàn)分析[J].勘察科學(xué)技術(shù),2014(6):21-23,42.
[2] 叢康林,岳建平.基于SVR的GPS高程擬合模型研究[J].測繪通報(bào),2011(2):8-11.
[3] 黃磊,張書畢,王亮亮,等.粒子群最小二乘支持向量機(jī)在GPS高程擬合中的應(yīng)用[J].測繪科學(xué),2010(5):190-192.
[4] 呂亞軍,王亞軍,鹿先鋒,等.GPS高程擬合支持向量機(jī)模型[J].全球定位系統(tǒng),2009(3):11-13.
[5] 任超,李和旺.最小二乘支持向量機(jī)在GPS高程擬合中的應(yīng)用[J].工程勘察,2012(7):55-57.
[6] 朱華,趙仲榮,黃張?jiān)#?最小二乘支持向量機(jī)在GPS高程擬合中的應(yīng)用研究[J].勘察科學(xué)技術(shù),2013(6):47-49.
[7] 劉鈺.基于遺傳算法的支持向量機(jī)在空氣質(zhì)量評價中的應(yīng)用[D].大連:東北財(cái)經(jīng)大學(xué),2013.
[8] 夏銘澤.基于改進(jìn)支持向量機(jī)的產(chǎn)品質(zhì)量預(yù)測系統(tǒng)的研究[D].北京:機(jī)械科學(xué)研究總院,2020.
[9] 鄧乃揚(yáng),田英杰.數(shù)據(jù)挖掘中的新方法:支持向量機(jī)[M].北京:科學(xué)出版社,2004
[10] CRISTIANINI N,SHAWE-TAYLO J.支持向量機(jī)導(dǎo)論[M].李國正,王猛,曾華軍,譯.北京:電子工業(yè)出版社,2004.
[11] 陸梓端,高茂庭.基于改進(jìn)遺傳算法的支持向量機(jī)參數(shù)優(yōu)化[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2014(9):25-29,34.
[12] 劉育林.基于SSA-SVR的煤矸石路基沉降預(yù)測模型研究[J].河北地質(zhì)大學(xué)學(xué)報(bào),2021(6):99-104.