寇英信,奚之飛,徐 安,李戰(zhàn)武,楊愛武
(空軍工程大學(xué) 航空工程學(xué)院, 陜西 西安 710038)
軌跡預(yù)測是根據(jù)目標(biāo)的歷史運(yùn)動軌跡,學(xué)習(xí)和推理其包含的內(nèi)在信息,進(jìn)而對目標(biāo)未來的運(yùn)動趨勢做出合理推測的過程。在空戰(zhàn)對抗過程中,對敵方目標(biāo)的未來運(yùn)動軌跡做出合理的預(yù)測具有重要意義?,F(xiàn)代空戰(zhàn)獲取勝利的關(guān)鍵在于先于敵方形成觀察—判斷—決策—行動(Observation Orientation Decision Action, OODA)循環(huán),從而達(dá)到先發(fā)制人的目的[1]。而實(shí)現(xiàn)這一切的基礎(chǔ)是能夠?qū)δ繕?biāo)機(jī)動軌跡進(jìn)行精確預(yù)測,因此探索一種能夠?qū)δ繕?biāo)機(jī)動軌跡實(shí)現(xiàn)準(zhǔn)確預(yù)測的理論方法具有重要意義。
近幾年,對于目標(biāo)機(jī)動軌跡預(yù)測方法的研究方向主要分為兩種。
一種是參數(shù)法,主要包括卡爾曼濾波、α/β濾波以及線性回歸等傳統(tǒng)預(yù)測方法。例如文獻(xiàn)[2]針對目標(biāo)運(yùn)動模式不斷變化、機(jī)動幅度較大的情況,提出一種基于多項(xiàng)式卡爾曼濾波的運(yùn)動軌跡預(yù)測算法;文獻(xiàn)[3]針對目標(biāo)歷史位置信息存在缺失的情況,提出一種融合系統(tǒng)噪聲估計(jì)的改進(jìn)卡爾曼濾波算法;文獻(xiàn)[4]針對傳統(tǒng)軌跡預(yù)測算法存在預(yù)測精度低以及算法實(shí)時性差的不足,提出一種基于卡爾曼濾波的動態(tài)軌跡預(yù)測算法;文獻(xiàn)[5]針對精確目標(biāo)運(yùn)動模型存在高度非線性、數(shù)據(jù)處理難度大以及預(yù)測精度低等問題,提出一種改進(jìn)的交互式多模型軌跡預(yù)測算法。上述預(yù)測方法都只適用于目標(biāo)運(yùn)動特性相對簡單的軌跡預(yù)測問題,但是在實(shí)際空戰(zhàn)中,目標(biāo)的運(yùn)動往往是高度復(fù)雜的時序動態(tài)變化過程,目標(biāo)的運(yùn)動受到多種因素的影響,傳統(tǒng)的預(yù)測算法無法充分學(xué)習(xí)目標(biāo)的機(jī)動特性;同時,為了更加準(zhǔn)確地描述目標(biāo)的運(yùn)動,在建模時一般模型的復(fù)雜度較高,導(dǎo)致預(yù)測算法的實(shí)時性和適應(yīng)性較差,從而無法滿足空戰(zhàn)對抗的需求。
另一種是以神經(jīng)網(wǎng)絡(luò)為核心的非參數(shù)預(yù)測算法,主要基于目標(biāo)歷史運(yùn)動數(shù)據(jù)對目標(biāo)未來機(jī)動軌跡進(jìn)行預(yù)測。例如:文獻(xiàn)[6]基于廣義回歸神經(jīng)網(wǎng)絡(luò)(Generalized Regression Neural Network, GRNN)良好的非線性映射能力、高度的容錯性以及魯棒性,提出一種基于GRNN的高超聲速飛行器軌跡預(yù)測方法;文獻(xiàn)[7-8]針對逆?zhèn)鞑?Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)存在對初值敏感且全局搜索能力較差的不足,分別提出一種基于遺傳算法和粒子群算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)軌跡預(yù)測模型。非參數(shù)法不需要建立準(zhǔn)確的目標(biāo)運(yùn)動模型,也能實(shí)現(xiàn)對目標(biāo)機(jī)動軌跡的精確預(yù)測,但是這些方法需要通過煩瑣冗長的迭代訓(xùn)練才能達(dá)到精確預(yù)測的目的,并且神經(jīng)網(wǎng)絡(luò)在訓(xùn)練的過程中容易陷入局部最優(yōu)解,因此在實(shí)際預(yù)測中很難達(dá)到最佳的預(yù)測效果。
無論是參數(shù)法還是非參數(shù)法,應(yīng)用到目標(biāo)機(jī)動軌跡預(yù)測中,在實(shí)時性、精確性和模型復(fù)雜性等方面都存在一定的不足??傮w而言,參數(shù)方法的特點(diǎn)是預(yù)測性能與模型精度成正相關(guān),主要存在模型學(xué)習(xí)能力不足、難以處理模型內(nèi)在不確定性及目標(biāo)運(yùn)動數(shù)據(jù)突變影響預(yù)測精度等缺點(diǎn)。非參數(shù)方法則基于數(shù)據(jù)挖掘和神經(jīng)網(wǎng)絡(luò)[9]等方法根據(jù)目標(biāo)歷史機(jī)動軌跡數(shù)據(jù)學(xué)習(xí)數(shù)據(jù)變化的內(nèi)在規(guī)律,建立輸入輸出映射關(guān)系。其缺點(diǎn)是預(yù)測精度對歷史數(shù)據(jù)的數(shù)量和質(zhì)量依賴程度高,且模型參數(shù)確定難度較大。受空戰(zhàn)對抗以及空戰(zhàn)環(huán)境等不確定因素影響,實(shí)際目標(biāo)機(jī)動軌跡數(shù)據(jù)具有較強(qiáng)的非線性、時變性和易受隨機(jī)噪聲影響等特征?,F(xiàn)有目標(biāo)機(jī)動軌跡預(yù)測建模方法存在模型參數(shù)確定困難、預(yù)測精度不高和泛化能力較差等不足,難以滿足復(fù)雜空戰(zhàn)環(huán)境下的目標(biāo)機(jī)動軌跡預(yù)測的要求。此外,采用單一預(yù)測模型對目標(biāo)機(jī)動軌跡進(jìn)行預(yù)測時往往采用給定的全部訓(xùn)練樣本進(jìn)行全局建模,導(dǎo)致需要建立具有復(fù)雜結(jié)構(gòu)的全局模型對大量樣本支撐的復(fù)雜假設(shè)空間進(jìn)行全局逼近[10],從而進(jìn)一步增加預(yù)測模型的優(yōu)化難度。另外,全局預(yù)測模型容易出現(xiàn)對樣本數(shù)據(jù)局部信息利用不充分的情況,導(dǎo)致難以完整描述訓(xùn)練樣本支持的假設(shè)空間,進(jìn)而影響目標(biāo)機(jī)動軌跡的預(yù)測精度。
為了克服參量法和非參量法以及單一全局建模存在的不足,本文提出一種基于改進(jìn)的(Kernel Extreme Learning Machine, KELM)和集成學(xué)習(xí)理論的目標(biāo)機(jī)動軌跡預(yù)測模型。以AdaBoost.RT算法為集成框架,KELM神經(jīng)網(wǎng)絡(luò)為弱預(yù)測器,通過不斷訓(xùn)練得到強(qiáng)預(yù)測器。為了進(jìn)一步提高模型的預(yù)測性能,一方面針對KELM神經(jīng)網(wǎng)絡(luò)的預(yù)測性能容易受到懲罰系數(shù)和核參數(shù)的影響的問題,利用改進(jìn)的蝙蝠算法對這兩個參數(shù)進(jìn)行尋優(yōu),確定最佳的模型參數(shù);另一方面,考慮到AdaBoost.RT算法存在對閾值敏感的不足,提出一種自適應(yīng)閾值的AdaBoost.RT算法。
極限學(xué)習(xí)機(jī)(Extreme Learning Machine,ELM)是一種新型性能優(yōu)良的單隱含層前向神經(jīng)網(wǎng)絡(luò)。與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)相比,ELM神經(jīng)網(wǎng)絡(luò)只需要一步即可確定網(wǎng)絡(luò)的輸出權(quán)值,極大地提高了網(wǎng)絡(luò)的泛化能力和學(xué)習(xí)效率,具有良好的非線性擬合能力,算法的計(jì)算復(fù)雜度和搜索空間也大大減小[11]。ELM神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖1所示。
圖1 ELM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of ELM neural network
(1)
式中,ωi為第i個隱含層節(jié)點(diǎn)與輸入層節(jié)點(diǎn)之間的權(quán)值向量;bi為ELM的第i個隱含層節(jié)點(diǎn)的閾值;βi為隱含層節(jié)點(diǎn)與輸出層之間的權(quán)值;yj為ELM的輸出值;gi(ωi·xj+bi)為第i個隱含層節(jié)點(diǎn)的激活函數(shù)。
(2)
上述的N個方程可以表述為:
Hβ=T
(3)
H(ω1,…,ωK,b1,…,bK,x1,…,xN)=
(4)
式中:H為ELM神經(jīng)網(wǎng)絡(luò)的隱含層輸出矩陣;T為樣本真實(shí)值構(gòu)成的矩陣。
通過求解Hβ=T的最小二乘解,即可得到最優(yōu)的權(quán)值β*使得實(shí)際值與預(yù)測值之間的誤差趨近于零。根據(jù)求解廣義逆的相關(guān)理論,最優(yōu)權(quán)值可解算為:
β*=H?T
(5)
式中,H?為ELM隱含層輸出矩陣的Moore-Penrose廣義逆。其值可以通過正交投影法或者采用奇異值分解(Singular Value Decomposition,SVD)等方法解算得到[12]。
在對ELM網(wǎng)絡(luò)進(jìn)行訓(xùn)練時,如果ELM神經(jīng)網(wǎng)絡(luò)的隱含層節(jié)點(diǎn)數(shù)與樣本數(shù)相等,ELM能夠零誤差擬合所有訓(xùn)練樣本。由于在實(shí)際應(yīng)用中需要考慮算法的實(shí)時性,故隱含層的節(jié)點(diǎn)數(shù)通常取值小于訓(xùn)練樣本數(shù)目,訓(xùn)練樣本可能存在復(fù)共線性問題[13],從而導(dǎo)致ELM神經(jīng)網(wǎng)絡(luò)的穩(wěn)定性和泛化能力都不太理想。
為了進(jìn)一步增強(qiáng)ELM算法的泛化能力和穩(wěn)定性,Huang等[14-15]通過對比分析ELM和支持向量機(jī)(Support Vector Machines, SVM)的機(jī)理,提出將核函數(shù)引入ELM,構(gòu)造KELM[16]。
1)基于Mercer′s條件定義核矩陣:
(6)
式(6)用核矩陣Ω來代替ELM中的隨機(jī)矩陣HHT,利用核函數(shù)將ELM網(wǎng)絡(luò)的所有輸入樣本從低維度空間映射到高維度隱含層特征空間。在核函數(shù)的參數(shù)設(shè)定之后,核矩陣的映射是定量。h(x)為ELM網(wǎng)絡(luò)隱含層節(jié)點(diǎn)的輸出函數(shù);核函數(shù)K(μ,v)主要采用徑向基函數(shù)(Radial Basis Function,RBF)核函數(shù)、線性核函數(shù)和多項(xiàng)式核函數(shù)等,通常設(shè)定為RBF核函數(shù)。
K(μ,v)=exp[-(μ-v2/σ)]
(7)
2)將參數(shù)I/C增加到單位對角矩陣HHT中的主對角線元素上,使得單位對角矩陣的特征根不為零,再基于此確定權(quán)值向量β*。這樣的處理使得ELM具有更好的穩(wěn)定性和泛化能力。此時的ELM神經(jīng)網(wǎng)絡(luò)的輸出權(quán)值可描述為:
β*=HT(I/C+HHT)-1T
(8)
式中:I為對角矩陣;C為懲罰系數(shù),主要用作平衡結(jié)構(gòu)風(fēng)險和經(jīng)驗(yàn)風(fēng)險之間的比例;HHT是通過核函數(shù)將輸入樣本進(jìn)行映射得到的。
由以上公式可以得到KELM的輸出為:
(9)
式中,KELM模型的輸出權(quán)值可以描述為:
β=(I/C+ΩELM)-1T
(10)
基于單一的KELM神經(jīng)網(wǎng)絡(luò)對目標(biāo)機(jī)動軌跡進(jìn)行預(yù)測時,由于KELM神經(jīng)網(wǎng)絡(luò)的預(yù)測性能容易受到懲罰系數(shù)和核參數(shù)的影響,為了提高目標(biāo)機(jī)動軌跡預(yù)測的精度,引入集成學(xué)習(xí)理論,以改進(jìn)的AdaBoost.RT算法為集成框架,將KELM神經(jīng)網(wǎng)絡(luò)作為弱預(yù)測器,提出一種基于KELM-AdaBoost.RT算法的目標(biāo)機(jī)動軌跡預(yù)測模型?;舅枷胧穷A(yù)先設(shè)定一個閾值φ,利用樣本數(shù)據(jù)對KELM神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,然后根據(jù)KELM神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果來更新訓(xùn)練樣本的權(quán)值,保持各個弱預(yù)測器KELM的訓(xùn)練樣本不變,基于新的權(quán)重對弱預(yù)測器繼續(xù)進(jìn)行訓(xùn)練,以此不斷循環(huán),訓(xùn)練M輪得到M個弱預(yù)測器,給每一個弱預(yù)測器的輸出賦一個權(quán)值,將所有弱預(yù)測器的輸出加權(quán)得到最終預(yù)測結(jié)果。KELM-AdaBoost.RT集成學(xué)習(xí)算法流程如圖2所示。
圖2 KELM-AdaBoost.RT集成學(xué)習(xí)算法流程Fig.2 Flow chart of KELM-AdaBoost.RT integrated learning algorithm
由于AdaBoost.RT算法的性能受閾值的影響較大,數(shù)值過大過小都會影響算法的性能,因此閾值的確定難度較大。此外,在樣本權(quán)重進(jìn)行更新時,預(yù)測精度較低的樣本在下一輪迭代中的權(quán)重保持不變,導(dǎo)致樣本之間的區(qū)分度不大。針對AdaBoost.RT算法存在的不足,提出兩點(diǎn)改進(jìn)策略:引入自適應(yīng)閾值和增加預(yù)測誤差大的樣本權(quán)重。改進(jìn)的KELM-AdaBoost.RT算法實(shí)施過程描述如下。
步驟1:確定樣本數(shù)據(jù)和初始化KELM網(wǎng)絡(luò)。
步驟2:初始化訓(xùn)練樣本的權(quán)值Dj(i)=1/N(i=1 , 2 ,… ,N),設(shè)定算法的初始閾值φj和初始預(yù)測誤差ej。
(11)
(12)
其中:hj(xi)為訓(xùn)練樣本i第j次迭代計(jì)算的預(yù)測值;ti為真實(shí)值。
步驟4:更新預(yù)測誤差閾值。根據(jù)KELM預(yù)測誤差自適應(yīng)調(diào)整閾值?;贙ELM神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差的閾值自適應(yīng)調(diào)整策略為:
(13)
步驟5:更新訓(xùn)練樣本權(quán)值。計(jì)算第j+1輪算法訓(xùn)練樣本的權(quán)值,其更新公式為:
(14)
其中,Bj為歸一化因子。
步驟6:重復(fù)上述步驟T輪,得到T個弱預(yù)測器KELM,每一個弱預(yù)測器的輸出可以表示為ft(x)(t=1 , 2 ,…,T),加權(quán)得到強(qiáng)預(yù)測器輸出:
(15)
由于KELM的性能與懲罰系數(shù)和核參數(shù)的選擇密切相關(guān),為了提高KELM的預(yù)測性能,引入改進(jìn)的蝙蝠算法(Improved Bat-inspired Algorithm,IBA)對KELM的懲罰系數(shù)和核參數(shù)進(jìn)行優(yōu)化。蝙蝠算法(Bat-inspired Algorithm, BA)相對于經(jīng)典的粒子群算法引入了局部搜索,具有更好的搜索能力,有助于算法跳出局部最優(yōu),因此相對于傳統(tǒng)的智能算法具有更好的優(yōu)化能力。
蝙蝠算法是一種新的元啟發(fā)式智能優(yōu)化算法,相較于粒子群算法和遺傳算法[17]具有明顯的優(yōu)勢。與粒子群算法相似,BA隨機(jī)初始化種群,蝙蝠個體進(jìn)行如下位置和速度更新:
fi=fmin+(fmax-fmin)β,β∈[0,1]
(16)
(17)
(18)
BA的獨(dú)特之處在于其結(jié)合了局部搜索。在進(jìn)行局部搜索時,蝙蝠個體將在最優(yōu)個體附近采取隨機(jī)搜索的方式進(jìn)行局部尋優(yōu),具體可以表示[18]為:
Xnew=Xold+εAt
(19)
式中,ε為取值在0和1之間的隨機(jī)數(shù);At為當(dāng)前所有蝙蝠群體的平均響度。
隨著算法進(jìn)化程度的增加,蝙蝠個體的響度Ai和強(qiáng)度ri也在不斷變化,變化過程可以表述[19]為:
(20)
(21)
其中,α和γ是常量。
每一次迭代計(jì)算之后都需要找到最佳位置X*,直到滿足算法的結(jié)束條件,輸出全局最優(yōu)位置。
蝙蝠算法與粒子群算法、遺傳算法等群智能算法相比具有更好的優(yōu)化性能,但是在收斂精度和收斂速度上還存在著不足。因此,為了提高蝙蝠算法的優(yōu)化性能,避免算法陷入局部最優(yōu)解,提高算法的收斂速度和精度,本文借鑒粒子群算法尋優(yōu)過程[20]。借鑒粒子群算法的粒子位置更新策略,以提高算法的局部搜索能力和優(yōu)化精度[21],對蝙蝠局部搜索策略做出以下改變:
(22)
式中,β和ρ為取值在0和1之間的隨機(jī)數(shù)。
為了使算法的局部搜索能力和全局搜索能力達(dá)到平衡,將脈沖速率變化率α改進(jìn)為動態(tài)變化的參數(shù),借鑒模擬退火算法中冷卻進(jìn)程表中的冷卻因素,對其進(jìn)行如下改進(jìn)[22]:
(23)
針對目標(biāo)機(jī)動軌跡預(yù)測問題,將改進(jìn)的AdaBoost.RT算法與經(jīng)過改進(jìn)蝙蝠算法優(yōu)化的KELM神經(jīng)網(wǎng)絡(luò)相結(jié)合,提出一種基于改進(jìn)蝙蝠算法優(yōu)化的KELM-AdaBoost.RT目標(biāo)機(jī)動軌跡預(yù)測模型,流程如圖3所示,具體實(shí)施步驟如下所示。
步驟1:輸入訓(xùn)練樣本數(shù)據(jù),初始化蝙蝠算法以及AdaBoost.RT算法的參數(shù)。
步驟2:采用改進(jìn)的蝙蝠算法優(yōu)化KELM神經(jīng)網(wǎng)絡(luò)的參數(shù)。
步驟3:利用改進(jìn)的蝙蝠算法優(yōu)化的KELM神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,生成弱預(yù)測器,用訓(xùn)練好的弱預(yù)測器對所有訓(xùn)練樣本進(jìn)行預(yù)測并計(jì)算預(yù)測誤差。基于弱預(yù)測器的預(yù)測誤差對樣本權(quán)值和算法閾值進(jìn)行調(diào)整,直至滿足算法終止條件,得到基于若干個KELM弱預(yù)測器構(gòu)成的強(qiáng)預(yù)測器。
步驟4:利用訓(xùn)練好的強(qiáng)預(yù)測器對目標(biāo)未來機(jī)動軌跡進(jìn)行預(yù)測,輸出預(yù)測結(jié)果。
圖3 目標(biāo)機(jī)動軌跡預(yù)測流程Fig.3 Flow diagram of the target maneuver trajectory forecasting
利用從空戰(zhàn)對抗訓(xùn)練系統(tǒng)(Air Combat Maneuvering Instrument,ACMI)中提出的時間連續(xù)的4 000組飛行軌跡數(shù)據(jù),數(shù)據(jù)之間的間隔為0.25 s,每一個數(shù)據(jù)組包括目標(biāo)的三維坐標(biāo)。以對目標(biāo)軌跡x坐標(biāo)進(jìn)行預(yù)測為例,假設(shè)利用目標(biāo)n個歷史軌跡數(shù)據(jù),預(yù)測第n+1時刻的目標(biāo)軌跡x坐標(biāo)。輸入與輸出之間的函數(shù)關(guān)系可表達(dá)為:
x1+n=f(Xn)
(24)
式中:x1+n為第n+1時刻模型的輸出;Xn為第n+1時刻模型的輸入。對于預(yù)測模型的輸入數(shù)據(jù),可以通過采用C-C法對歷史目標(biāo)機(jī)動軌跡x坐標(biāo)時間序列進(jìn)行相空間重構(gòu)得到,可表示為:
(25)
式中:τ為時間延遲;m為嵌入維數(shù)。
將目標(biāo)機(jī)動三維坐標(biāo)分離單獨(dú)進(jìn)行預(yù)測,以x坐標(biāo)為例,采用C-C法[23]確定時間延遲和嵌入維數(shù),以確定的嵌入維數(shù)作為KELM神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點(diǎn)數(shù)。由于本文對目標(biāo)機(jī)動軌跡進(jìn)行單步預(yù)測,故輸出節(jié)點(diǎn)數(shù)為1。
各個算法的參數(shù)設(shè)置如下:KELM神經(jīng)網(wǎng)絡(luò)的核函數(shù)采用RBF核函數(shù),懲罰參數(shù)C和核參數(shù)σ通過改進(jìn)的IBA算法尋優(yōu)得到;IBA的最大循環(huán)次數(shù)為200,種群規(guī)模為50,蝙蝠的最大和最小頻率為2和0,初始化響度為1,脈沖速率為0.5;KELM弱預(yù)測器數(shù)目為20,閾值初始化為0.2。
將改進(jìn)前后的BA性能進(jìn)行了對比,證明了IBA的優(yōu)越性;在此基礎(chǔ)上構(gòu)建ELM和KELM預(yù)測模型,結(jié)合AdaBoost.RT算法,分別建立基于ELM-AdaBoost.RT和KELM-AdaBoost.RT的預(yù)測模型,同時還構(gòu)建基于BP和SVM的目標(biāo)機(jī)動軌跡預(yù)測模型,仿真對比這六種預(yù)測模型性能優(yōu)劣。
5.3.1 算法收斂準(zhǔn)則
蝙蝠優(yōu)化算法的收斂準(zhǔn)則是基于整個群體收斂的,以最優(yōu)群體為搜索目標(biāo),但是最終需要的是解空間中的一個最優(yōu)個體,并不要求整個群體最優(yōu)。為此基于算法中最優(yōu)個體保存策略,可以觀察到種群最優(yōu)個體的進(jìn)化情況。如果最優(yōu)個體經(jīng)過若干次進(jìn)化沒有被更新,或者變化的幅度較小,則可以認(rèn)為算法已經(jīng)收斂??梢詫⑺惴ǖ氖諗颗袛嘁罁?jù)表示為:
(26)
如果蝙蝠個體的全局最優(yōu)位置的適應(yīng)度值連續(xù)ξ次變化滿足式(26),則認(rèn)為算法已經(jīng)收斂。
5.3.2 算法性能評價指標(biāo)
為了更加客觀準(zhǔn)確地評價改進(jìn)前后蝙蝠算法的性能差異,選取四個評價指標(biāo)對算法性能進(jìn)行評價[24]。
1)收斂率(Converge Ratio,CR):算法成功收斂次數(shù)與算法執(zhí)行總次數(shù)的比值,反映算法的可收斂性。
2)平均迭代次數(shù)(Average Iteration Times,AIT):對算法進(jìn)行多次仿真實(shí)驗(yàn),得到算法成功收斂時的平均迭代次數(shù),反映算法的收斂速度。
3)平均迭代運(yùn)行時間 (Average Iteration Running Time,AIRT):算法運(yùn)行最大迭代次數(shù)所需的平均中央處理器(Central Processing Unit,CPU)時間,反映算法的實(shí)時性。
4)迭代次數(shù)標(biāo)準(zhǔn)偏差(Iteration Times Standard Deviation,ITSD):算法成功收斂時迭代次數(shù)的標(biāo)準(zhǔn)偏差,反映算法的收斂穩(wěn)定性。
5.3.3 仿真實(shí)驗(yàn)與結(jié)果分析
在對目標(biāo)機(jī)動軌跡的三維坐標(biāo)分別建立模型進(jìn)行預(yù)測時,采用IBA對KELM神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化。為了對比改進(jìn)前后的蝙蝠算法性能變化,分別采用改進(jìn)前后的蝙蝠對KELM神經(jīng)網(wǎng)絡(luò)進(jìn)行30次優(yōu)化仿真,算法性能對比見表1。
表1 算法性能對比
評價指標(biāo)CR體現(xiàn)了算法的收斂性,CR越大,這說明算法的收斂性越好,通過表1中CR的數(shù)值可以看出,改進(jìn)策略能有效提高蝙蝠算法的收斂性;評價指標(biāo)AIT體現(xiàn)了算法的收斂速度,AIT越小,則算法的收斂速度越快,通過表中的AIT數(shù)值可知,改進(jìn)之后的蝙蝠算法收斂速度明顯加快;評價指標(biāo)ITSD反映了算法性能的穩(wěn)定性,通過表中數(shù)值可知,改進(jìn)之后的蝙蝠算法優(yōu)化同一個問題的性能更加穩(wěn)定;評價指標(biāo)AIRT反映了算法的實(shí)時性,通過表1可以看出,改進(jìn)之后的算法實(shí)時性有一定程度的降低,這是由于改進(jìn)之后的算法的復(fù)雜度變高了,從而影響了算法的實(shí)時性。
通過圖4中算法的平均適應(yīng)度下降曲線對算法的收斂過程做進(jìn)一步分析。在圖4(a)中,BA和IBA的適應(yīng)度函數(shù)值達(dá)到穩(wěn)定時的迭代次數(shù)分別是87,72;在圖4(b)中,BA和IBA的適應(yīng)度函數(shù)值達(dá)到穩(wěn)定時的迭代次數(shù)分別是96,82;在圖4(c)中,BA和IBA的適應(yīng)度函數(shù)值達(dá)到穩(wěn)定時的迭代次數(shù)分別是113,68。這說明IBA收斂速度更快。通過圖4可以看出,IBA對KELM進(jìn)行優(yōu)化時的最終收斂數(shù)值都小于BA,這說明IBA具有更佳的收斂精度,適用于優(yōu)化KELM算法參數(shù)。
(a) X坐標(biāo)下平均收斂曲線對比(a) Comparison of average convergence curve in X coordinate
利用ACMI記錄的目標(biāo)機(jī)動軌跡歷史數(shù)據(jù)對KELM神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,使其具備預(yù)測目標(biāo)未來機(jī)動軌跡的能力。不僅KELM神經(jīng)網(wǎng)絡(luò)的參數(shù)會對其學(xué)習(xí)和預(yù)測能力造成影響,KELM神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本規(guī)模也會對其性能造成影響。因此,在確定KELM輸入輸出結(jié)構(gòu)以及網(wǎng)絡(luò)參數(shù)的基礎(chǔ)上,研究和分析樣本大小對預(yù)測誤差的影響尤為重要。
為了更加客觀地評價本文預(yù)測模型的有效性,從ACMI系統(tǒng)中提取兩組數(shù)據(jù)作為預(yù)測模型訓(xùn)練和測試的樣本數(shù)據(jù),樣本設(shè)置見表2。
表2 仿真樣本設(shè)置
表2中大樣本的訓(xùn)練數(shù)據(jù)包含了小樣本的訓(xùn)練數(shù)據(jù)。根據(jù)六個預(yù)測模型的預(yù)測結(jié)果,繪制BP,ELM,KELM,ELM-AdaBoost.RT,KELM-AdaBoost.RT和SVM模型基于不同規(guī)模樣本數(shù)據(jù)的預(yù)測結(jié)果對比圖。仿真分為兩個部分:第一個部分采用樣本1中的大小樣本,樣本1中的大小樣本的數(shù)量差異不大,通過該樣本對比說明訓(xùn)練樣本的變化是否會對模型的預(yù)測結(jié)果造成影響;第二個部分采用樣本2進(jìn)行仿真實(shí)驗(yàn),樣本2的大小樣本的訓(xùn)練數(shù)據(jù)存在量級差異,通過該樣本對比說明樣本的量級差異將會對模型的預(yù)測結(jié)果產(chǎn)生一定的影響。
為了進(jìn)一步檢測目標(biāo)機(jī)動軌跡預(yù)測模型的預(yù)測效果,用平均絕對誤差(Mean Absolute Error, MAE)、均方誤差(Mean Square Error, MSE)、歸一化均方誤差(Normalized Mean Square Error, NMSE)以及相關(guān)系數(shù)(Correlation coefficient, Cor)等指標(biāo)對模型預(yù)測性能進(jìn)行評價,定義如下所示:
(27)
(28)
(29)
(30)
5.4.1 樣本數(shù)量差異仿真
圖5~7為目標(biāo)預(yù)測結(jié)果對比情況。通過圖5~7中的BP、SVM、ELM以及KELM模型的預(yù)測結(jié)果以及誤差對比可以看出,四種預(yù)測模型的預(yù)測值與目標(biāo)機(jī)動軌跡的實(shí)際值的變化大體上保持一致,這說明四種基本模型可以對目標(biāo)機(jī)動軌跡進(jìn)行有效預(yù)測。但是從整體上可以看出,基本的KELM模型預(yù)測結(jié)果相較于其他模型更加接近真實(shí)值。
通過圖5~7中的ELM、ELM-AdaBoost.RT、KELM以及KELM-AdaBoost.RT模型的預(yù)測結(jié)果以及誤差對比可以看出,結(jié)合了AdaBoost.RT算法的ELM和KELM模型的預(yù)測結(jié)果相較于基本的ELM和KELM模型而言誤差更小,且在目標(biāo)機(jī)動軌跡波動時也能對其進(jìn)行很好的預(yù)測,這些都說明AdaBoost.RT算法能夠有效提高弱預(yù)測器的預(yù)測性能,并且具有更好的泛化性能。
通過圖5~7中的圖(a)和圖(b)對比可以看出,訓(xùn)練樣本較小差異將會對模型預(yù)測結(jié)果造成影響,同時也可以看出本文預(yù)測模型可以處理樣本較少的情況。通過曲線對比可以初步看出,訓(xùn)練樣本規(guī)模較大時,模型的預(yù)測結(jié)果更加精確,并且在數(shù)據(jù)波動時的預(yù)測效果也表現(xiàn)得更好一些。
(a) 樣本量為2 499(a) Sample size was 2 499
(a) 樣本量為2 499(a) Sample size was 2 499
(a) 樣本量為2 499(a) Sample size was 2 499
為了進(jìn)一步說明本文預(yù)測算法的預(yù)測效果,表3~5定量比較了BP,ELM,KELM,ELM-AdaBoost.RT,ELM-AdaBoost.RT和SVM模型基于不同規(guī)模樣本數(shù)據(jù)的預(yù)測性能。
通過表3~5數(shù)據(jù)可以發(fā)現(xiàn),與小樣本的預(yù)測結(jié)果相比,較大的樣本量將導(dǎo)致神經(jīng)網(wǎng)絡(luò)在預(yù)測過程中生成的MAE、MSE和NMSE略有減小,同時相關(guān)系數(shù)Cor也略有增加,這說明預(yù)測結(jié)果與真實(shí)值之間的接近程度高,可以很好地反映真實(shí)數(shù)據(jù)的情況。通過數(shù)據(jù)分析可知,MAE、MSE、NMSE算法性能評價指標(biāo)與樣本量的大小呈負(fù)相關(guān),樣本容量越大,評價指標(biāo)的數(shù)值越?。欢嚓P(guān)系數(shù)Cor與樣本量成正相關(guān),這些都可以說明樣本的大小將會對預(yù)測性能產(chǎn)生一定的影響。從算法預(yù)測機(jī)理上對上述現(xiàn)象進(jìn)行分析可知,較大的樣本量可以更好地訓(xùn)練預(yù)測模型,使得模型可以更好地學(xué)習(xí)和了解目標(biāo)歷史機(jī)動軌跡的內(nèi)在規(guī)律,從而可以實(shí)現(xiàn)對目標(biāo)未來機(jī)動軌跡更精確的預(yù)測。因此,樣本量越大,訓(xùn)練之后的預(yù)測模型中包含的目標(biāo)運(yùn)動的歷史信息就越多,誤差也就越小。
表3 不同預(yù)測模型對目標(biāo)X坐標(biāo)預(yù)測性能對比
表4 不同預(yù)測模型對目標(biāo)Y坐標(biāo)預(yù)測性能對比
表5 不同預(yù)測模型對目標(biāo)Z坐標(biāo)預(yù)測性能對比
通過表3~5可以看出,結(jié)合了AdaBoos.RT算法的ELM和KELM模型的預(yù)測性能相較于基本的ELM和KELM模型而言更優(yōu),這些都充分說明AdaBoos.RT算法能夠有效提高弱預(yù)測器的預(yù)測性能。
5.4.2 樣本量級差異仿真
為了進(jìn)一步說明訓(xùn)練樣本的規(guī)模差異將對模型的預(yù)測結(jié)果造成一定程度的影響,利用樣本2進(jìn)行仿真驗(yàn)證。在進(jìn)行仿真實(shí)驗(yàn)時,將大小樣本的規(guī)模設(shè)置為300和3 000,從而體現(xiàn)大小樣本之間的量級差異對模型預(yù)測結(jié)果的影響?;诖笮颖静捎昧N預(yù)測模型的預(yù)測結(jié)果對比如圖8~10所示。
(a) 樣本量為300(a) Sample size was 300
通過圖8~10的對比結(jié)果,結(jié)合5.4.1節(jié)中的仿真結(jié)果可以看出,不論是樣本規(guī)模存在量級差異,還是僅僅存在一定的數(shù)量差異,都會對模型的預(yù)測結(jié)果產(chǎn)生一定的影響。通過模型的預(yù)測性能的對比分析,可以進(jìn)一步分析樣本規(guī)模的量級差異對模型預(yù)測效果的影響程度。表6~8給出了六種預(yù)測模型基于不同規(guī)模樣本的預(yù)測性能。
(a) 樣本量為300(a) Sample size was 300
(a) 樣本量為300(a) Sample size was 300
通過對比表3~5與表6~8中對應(yīng)預(yù)測模型的性能指標(biāo),可以看出,樣本規(guī)模差異越大,模型的預(yù)測性能差異也越明顯。通過對比指標(biāo)數(shù)據(jù)可以看出,樣本的規(guī)模的不同導(dǎo)致了部分算法的MSE和NMSE指標(biāo)出現(xiàn)量級差異,這都充分說明了訓(xùn)練樣本的規(guī)模將會對模型的預(yù)測性能造成較大的影響。同時,也可以看出本文預(yù)測模型可以處理樣本的較少的情況,模型的泛化能力較強(qiáng)。本質(zhì)上,樣本的大小反映了模型可以學(xué)習(xí)的歷史信息的多少,歷史信息越多,模型的預(yù)測結(jié)構(gòu)越完整,泛化能力越強(qiáng),從而模型的預(yù)測性能也越好。
表6 不同預(yù)測模型對目標(biāo)X坐標(biāo)預(yù)測性能對比
表7 不同預(yù)測模型對目標(biāo)Y坐標(biāo)預(yù)測性能對比
表8 不同預(yù)測模型對目標(biāo)Z坐標(biāo)預(yù)測性能對比
針對目標(biāo)機(jī)動軌跡預(yù)測問題,借鑒集成學(xué)習(xí)理論,將集成學(xué)習(xí)理論與KELM神經(jīng)網(wǎng)絡(luò)相結(jié)合,構(gòu)造一種基于KELM的強(qiáng)預(yù)測器模型?;贏CMI記錄的目標(biāo)歷史機(jī)動軌跡數(shù)據(jù),對模型進(jìn)行訓(xùn)練學(xué)習(xí),進(jìn)而將其應(yīng)用于目標(biāo)機(jī)動軌跡預(yù)測。基于理論分析和仿真驗(yàn)證,可以得到以下結(jié)論:
1)從算法性能指標(biāo)對比結(jié)果來看,KELM-AdaBoost.RT模型以及ELM-AdaBoost.RT模型的預(yù)測結(jié)果相較于KELM預(yù)測模型和ELM預(yù)測模型好。這些說明基礎(chǔ)學(xué)習(xí)理論可以有效提高弱預(yù)測器KELM的預(yù)測精度。
2)通過仿真充分驗(yàn)證了訓(xùn)練模型的樣本大小將會對預(yù)測模型的性能產(chǎn)生較大的影響,訓(xùn)練樣本越大,模型的預(yù)測性能越好。
3)多組仿真實(shí)驗(yàn)驗(yàn)證了基于改進(jìn)KELM和集成學(xué)習(xí)理論的預(yù)測模型具有良好的泛化性能和預(yù)測性能,因此本文算法不僅可以應(yīng)用于目標(biāo)機(jī)動軌跡預(yù)測,還可以應(yīng)用于其他空戰(zhàn)問題研究。