祝 頌,錢曉超,陸營波,劉 飛
(1.華南理工大學(xué)軟件學(xué)院,廣東廣州 510006;2.上海機電工程研究所,上海 201109)
武器裝備體系,是指在一定的戰(zhàn)略指導(dǎo)、作戰(zhàn)指揮和保障條件下,為完成一定作戰(zhàn)任務(wù),由功能上互相聯(lián)系、相互作用的各種武器裝備系統(tǒng)組成的更高層次系統(tǒng)[1]。武器裝備體系的復(fù)雜性對效能評估問題的求解帶來了極大的困難和計算消耗[2],大數(shù)據(jù)及機器學(xué)習(xí)技術(shù)的興起有望為武器裝備效能評估提供全新、有效的解決方法。目前,國內(nèi)外學(xué)者已開展了初步的研究,如基于機器學(xué)習(xí)進行效能評估,其基本思想是將仿真效能評估轉(zhuǎn)化為一個分類或預(yù)測問題。曹星平[3]使用支持向量機方法對武器系統(tǒng)建立了效能預(yù)測模型,并以導(dǎo)彈武器系統(tǒng)為例,對其支持向量機模型得出的結(jié)果進行了分析。陳俠等[4]提出了基于粒子群算法優(yōu)化的支持向量機模型,并將該模型應(yīng)用到偵察無人機的作戰(zhàn)效能評估中,仿真實驗結(jié)果表明此模型可以準確有效地對偵察無人機進行作戰(zhàn)效能評估。王靜巖等[5]通過對合成旅作戰(zhàn)過程中主要因素的分析,針對作戰(zhàn)方案評估,提出基于彈性反向傳播(resilient backpropagation,RPROP)和基于神經(jīng)網(wǎng)絡(luò)集成的兩種作戰(zhàn)方案評估方法,降低了評價過程中人為因素的影響。田成祥等[6]在對工程兵橋梁爆破影響因素分析的基礎(chǔ)上,構(gòu)建了以爆破人員、爆破目標、爆破工具為主的橋梁爆破方案評估指標體系,并確立了基于BP 神經(jīng)網(wǎng)絡(luò)的軍用橋梁爆破方案評估模型。劉東亮等[7]以新型作戰(zhàn)單元航空兵旅為研究對象,以奪取島嶼制空權(quán)為研究背景,綜合考慮天、電、網(wǎng)對作戰(zhàn)效能的影響,采用決策樹法建立了航空兵旅作戰(zhàn)效能評估指標體系。
雖然支持向量機、人工神經(jīng)網(wǎng)絡(luò)、決策樹等方法可以很好地處理非線性分類與回歸問題,并可融合更多的評估信息,但支持向量機在解決多指標預(yù)測問題時存在困難,神經(jīng)網(wǎng)絡(luò)則對訓(xùn)練樣本數(shù)量要求較高,而決策樹依賴于預(yù)剪枝,泛化能力差,并且這些方法的解釋性差,無法解釋預(yù)測結(jié)果。此外,單一的模型容易出現(xiàn)過擬合現(xiàn)象,可能嚴重影響效能預(yù)測結(jié)果。相比之下,極端梯度提升(extreme gradient boosting,XGBoost)[8]是一種基于梯度Boosting 的集成學(xué)習(xí)算法,以樹模型作為基分類器,通過集成多個基分類器形成一個強分類器,彌補了單一決策樹模型容易過擬合的弱點,在分類任務(wù)中具有高效、準確的優(yōu)勢,并且能夠分析不同特征的重要程度,具有良好的可解釋性。此外,XGBoost 已在其他領(lǐng)域多個預(yù)測問題中取得了良好的效果[9-12]。
本文基于XGBoost 算法,提出了一種新的裝備效能預(yù)測方法,并給出了具體的預(yù)測流程。通過多種測試條件下與決策樹模型的對比分析,驗證了XGBoost模型在裝備效能預(yù)測中具有更好的性能。
武器裝備的效能預(yù)測模型構(gòu)建實質(zhì)是在一組樣本空間中尋找模型輸出誤差最小的解,這一問題可轉(zhuǎn)化為求解一個多目標輸入的非線性方程,可描述為如下的數(shù)學(xué)模型:
式中:X=(x1,x2,…,xn)T∈Rn為評估指標集,該指標集來自于針對一個效能問題構(gòu)建的評估指標體系;Rn為n維實數(shù)向量空間;F(X)為n維指標空間的非線性目標函數(shù);gi(X)、hj(X)分別為目標函數(shù)的不等式約束(數(shù)量為m)和等式約束(數(shù)量為p),此處主要是指每個評估指標的取值范圍。
對于武器裝備體系來說,效能評估的目標函數(shù)空間F(X)十分復(fù)雜,通常無法用具體數(shù)學(xué)表達式進行描述,是一個典型的“黑箱系統(tǒng)”。傳統(tǒng)的數(shù)學(xué)解析法不能準確地描述這一“黑箱系統(tǒng)”,需要考慮其他科學(xué)可行且置信度高的方法。
基于數(shù)據(jù)挖掘與機器學(xué)習(xí)的方法,通過對訓(xùn)練樣本的學(xué)習(xí),能夠挖掘評估指標集中潛在的關(guān)聯(lián)信息,自動構(gòu)造F(X),并且在這個過程中由于沒有人為因素的影響,保證了其客觀性。
XGBoost 算法由Chen 和Guestrin 于2011年首次提出[8],是基于提升樹模型的學(xué)習(xí)框架,許多學(xué)者在后續(xù)研究中對其進行了優(yōu)化和改進。傳統(tǒng)的提升樹模型僅使用一階導(dǎo)數(shù)信息,在訓(xùn)練第m棵樹時,由于使用了前(m-1)棵樹的殘差,因此難以實施分布式訓(xùn)練。XGBoost 對損失函數(shù)執(zhí)行二階泰勒展開,并且可以自動使用CPU 的多線程進行并行計算。此外,XGBoost使用了多種方法來避免過擬合。以下對其進行簡要介紹。
XGBoost 使用加法將多個樹模型整合。假設(shè)總共有K棵樹,并使用Φ表示基本樹模型,則有
式中:φk(?)為第k個樹模型;為XGBoost模型對輸入xi的預(yù)測結(jié)果。
目標函數(shù)為
式中:l(?)是損失函數(shù),代表預(yù)測值和真實值之間的誤差;Ω(·)是用于防止過擬合的正則化項,計算式為
式中:γ和λ為超參數(shù);T表示每棵樹的葉子節(jié)點數(shù)量;w表示每棵樹的葉子的權(quán)重。記為第t次迭代之后的預(yù)測值,其計算方式為
將式(4)代入式(3),則目標函數(shù)可表示為
再將目標函數(shù)二次泰勒展開可得
式中:
忽略常數(shù)項,式(7)可改寫為
定義第j個葉子結(jié)點為Ij={i|q(xi)=j},則式(10)可寫為
令目標函數(shù)導(dǎo)數(shù)為0,可得最優(yōu)的權(quán)重為
XGBoost 使用貪心算法而不是簡單的枚舉來提高計算效率。用IL代表每次拆分后所有左節(jié)點的集合,IR代表每次拆分后所有右節(jié)點的集合,那么在每次拆分之后,目標函數(shù)的信息增益為
式中:參數(shù)γ有分割閾值的作用,當且僅當信息增益大于γ時,才允許拆分葉節(jié)點,以抑制樹的深度。
為防止過擬合,本文采用了以下3種策略:
1)設(shè)定一個權(quán)重閾值,當所有樣本在某個葉子結(jié)點上的權(quán)重之和小于該閾值時,停止劃分該葉子節(jié)點,該策略可防止模型受到特殊訓(xùn)練樣本的影響;
2)在每次迭代中,隨機選取一定比例的樣本而非所有樣本進行訓(xùn)練;
3)構(gòu)建每棵樹時,隨機選取一定比例的特征而非所有特征進行訓(xùn)練。
本文利用XGBoost 來建立裝備效能與其評估指標之間的關(guān)系,具體流程如圖1所示。對于一個武器裝備系統(tǒng),需要針對其評估指標體系,建立XGBoost模型,并完成模型的訓(xùn)練與優(yōu)化,然后以指標值為訓(xùn)練好的模型輸入,求出效能評估值。該模型主要包含以下5個步驟。
圖1 基于XGBoost的效能評估流程Fig.1 Effectiveness evaluation process based on XGBoost
1)設(shè)計仿真想定。根據(jù)效能評估對象、評估任務(wù)及作戰(zhàn)場景需求,設(shè)計作戰(zhàn)仿真想定,以模擬待評估裝備的執(zhí)行某項作戰(zhàn)任務(wù)過程,為獲取效能評估數(shù)據(jù)奠定基礎(chǔ)。
2)建立評估指標體系。評估指標體系的意義在于指導(dǎo)仿真評估輸入輸出指標的實驗設(shè)計。通過分析評估任務(wù)、待評估對象及裝備作戰(zhàn)對抗過程機理,確定對抗條件下影響武器裝備效能的指標要素及效能結(jié)果輸出形式,從而構(gòu)建出層次化的評估指標體系。
3)仿真實驗設(shè)計。實驗設(shè)計的目的在于獲取分布均勻,能遍歷效能評估過程所有可能情況的評估指標參數(shù)組合,為效能評估元模型構(gòu)建提供包含普遍規(guī)律的訓(xùn)練樣本和測試樣本數(shù)據(jù)。
4)訓(xùn)練模型。根據(jù)效能評估問題特點及評估指標體系結(jié)構(gòu),開展XGBoost模型訓(xùn)練。
5)效能評估。根據(jù)訓(xùn)練得到的XGBoost 效能預(yù)測模型,開展裝備效能評估。
依托防空作戰(zhàn)想定,分析評估任務(wù)需求,基于能力視角構(gòu)建評估指標體系,如圖2所示。在防空導(dǎo)彈武器系統(tǒng)評估任務(wù)分析中重點考察探測跟蹤能力、系統(tǒng)反應(yīng)能力、火力攔截能力、目標突防能力。其中,探測跟蹤能力向下可分解為雷達探測距離、雷達發(fā)現(xiàn)概率;系統(tǒng)反應(yīng)能力向下可分解為戰(zhàn)斗準備時間、單發(fā)彈發(fā)射時間間隔;火力攔截能力向下可分解為攔截斜距、單目標發(fā)射導(dǎo)彈數(shù)量、單發(fā)攔截概率、使用火力通道數(shù);目標突防能力向下可分解為來襲敵導(dǎo)彈數(shù)量、發(fā)射導(dǎo)彈時間間隔、來襲導(dǎo)彈目標雷達散射截面積(radar cross section,RCS)值、敵目標突襲速度、敵目標巡航高度?;谏鲜鰧哟位笜梭w系及參數(shù)取值范圍,重點研究{I12,I21,I22,I31,I32,I34,I42,I43}共8 項指標因子取值范圍的不確定性,研究這些指標對防空導(dǎo)彈武器系統(tǒng)作戰(zhàn)效能的影響情況,構(gòu)建XGBoost模型。
圖2 某型防空導(dǎo)彈武器系統(tǒng)效能評估指標體系Fig.2 The effectiveness evaluation index system of a certain type of air defense missile weapon system
依據(jù)評估指標體系,通過仿真實驗獲取550 組樣本數(shù)據(jù)。每個樣本有8 個評估指標作為特征值以及1個需要預(yù)測的效能值,特征值與效能值都是連續(xù)變量,表1給出了評估指標值的取值范圍。
表1 評估指標取值范圍Tab.1 Value range of evaluation index
由表1可見,不同特征的數(shù)值范圍相差較大,在將數(shù)據(jù)輸入模型前,需要對數(shù)據(jù)進行歸一化處理。歸一化后的部分樣本數(shù)據(jù)值見表2。
表2 數(shù)據(jù)集樣本歸一化結(jié)果Tab.2 Normalization results of data set samples
XGBoost 有多個可調(diào)節(jié)的參數(shù),本文將XGBoost模型應(yīng)用于裝備效能預(yù)測時,對其進行了優(yōu)化,即使用網(wǎng)格搜索[13]確定最優(yōu)模型參數(shù)。涉及的參數(shù)有min_child_weight、 subsample、 colsample_bytree、n_estimators、max_depth、gamma、objective、learning_rate,對這些參數(shù)介紹如下。
1)min_child_weight:權(quán)重閾值。當所有訓(xùn)練樣本在葉子節(jié)點上的權(quán)重之和小于min_child_weight時,將停止劃分節(jié)點。
2)subsample:每次迭代選取樣本的比例。
3)colsample_bytree:構(gòu)建每棵樹時選取特征的比例。
4)n_estimators:訓(xùn)練中的迭代次數(shù)。n_estimator太小會導(dǎo)致模型擬合不足,無法充分發(fā)揮模型的學(xué)習(xí)能力,而n_estimators太大則容易導(dǎo)致過擬合。
5)max_depth:樹的最大深度。訓(xùn)練過程中,樹的深度不能超過max_depth。樹的深度越大,樹模型越復(fù)雜,擬合能力越強,但是與此同時,模型更容易過擬合,限制樹的深度可避免模型陷入局部最優(yōu)。
6)gamma:劃分結(jié)點所需的最小損失函數(shù)下降值。若劃分一個節(jié)點使損失函數(shù)值下降的量小于gamma,將不會劃分節(jié)點。
7)objective:需要最小化的損失函數(shù)。本文的裝備效能預(yù)測屬于回歸問題,采用平方誤差,其定義為
8)learning_rate:學(xué)習(xí)速率。與通常的機器學(xué)習(xí)算法相同,XGBoost 也需要設(shè)置合適的學(xué)習(xí)速率。降低學(xué)習(xí)速率會減慢模型收斂的速度,但可以增強模型的魯棒性。
使用網(wǎng)格搜索得到的最優(yōu)參數(shù)見表3。
表3 XGBoost模型最優(yōu)參數(shù)值Tab.3 Optimal parameter values of XGBoost model
本文使用XGBoost 模型實現(xiàn)武器效能預(yù)測。首先選取前500 組樣本作為訓(xùn)練集,剩余50 組樣本作為測試集,使用網(wǎng)格搜索尋找XGBoost 最優(yōu)參數(shù)設(shè)置。圖3給出了最優(yōu)參數(shù)設(shè)置下XGBoost模型的訓(xùn)練過程曲線。當訓(xùn)練至第13 個epoch 時,均方根誤差(root mean square error,RMSE)為0.052 6,平均絕對誤差(mean absolute error,MAE)為0.030 9,達到了最優(yōu)訓(xùn)練效果。
圖3 XGBoost回歸分析Fig.3 XGBoost regression analysis
圖4 給出了50 組測試樣本的驗證結(jié)果,可見XGBoost 模型的預(yù)測效能值與測試樣本效能值吻合程度良好。
圖4 測試樣本驗證曲線Fig.4 Test sample validation curve
圖5 給出了XGBoost 模型預(yù)測效能偏差絕對值。由此可知,絕大多數(shù)測試樣本的預(yù)測偏差絕對值都小于0.1,說明XGBoost 效能預(yù)測模型具有較高的精度,滿足預(yù)期要求。至此,效能預(yù)測模型構(gòu)造完畢,可用于評估新的樣本。
圖5 效能預(yù)測偏差絕對值Fig.5 Absolute value of performance prediction deviation
表4 給出了8 個評估指標在XGBoost 模型中的重要程度。由表4 中數(shù)據(jù)可知,對該防空導(dǎo)彈武器系統(tǒng)效能影響最大的是單目標發(fā)射導(dǎo)彈數(shù)量I32,其次是使用火力通道數(shù)I34與攔截斜距I31,而影響最小的是單發(fā)彈發(fā)射時間間隔I22。
表4 評估指標重要程度Tab.4 The importance of the evaluation index
將最優(yōu)模型參數(shù)的XGBoost 與決策樹模型進行對比,采用K折交叉驗證和隨機選取固定比例測試集兩種方式劃分訓(xùn)練集和測試集,對比效能預(yù)測兩種算法的精度,結(jié)果見表5。
表5 在裝備效能預(yù)測數(shù)據(jù)集上的評估效果Tab.5 Evaluation effect on equipment effectiveness prediction data set
由表5 可知,XGBoost 在交叉驗證及固定測試集兩種方式下的MAE 和RMSE 都低于決策樹的MAE和RMSE,體現(xiàn)了XGBoost 具有更高的準確度以及更強的泛化能力。
本文提出了一種基于XGBoost 的裝備體系效能預(yù)測方法。以某防空導(dǎo)彈武器系統(tǒng)效能預(yù)測為例,采用XGBoost 構(gòu)建該防空導(dǎo)彈武器系統(tǒng)的效能預(yù)測模型,在預(yù)測效能值的同時,可以給出不同指標在模型中的重要程度,為裝備效能評估建模提供了良好的可解釋性。該方法可為武器裝備體系效能預(yù)測提供可靠的支持,并為評估結(jié)果的人工分析提供方向。