劉東濤
基于改進(jìn)決策樹的導(dǎo)航系統(tǒng)故障診斷的研究
劉東濤
(海裝沈陽局駐大連地區(qū)第一軍事代表室,大連 116000)
提出了一種基于改進(jìn)決策樹的導(dǎo)航系統(tǒng)故障診斷方法。該方法首先將導(dǎo)航數(shù)據(jù)的初始屬性按照信息增益率進(jìn)行排序,然后利用神經(jīng)網(wǎng)絡(luò)對初始屬性進(jìn)行裁剪處理,最后用裁剪后的屬性建立最小決策樹,并建立分類規(guī)則。與傳統(tǒng)的決策樹分類算法相比,此方法通過利用信息增益篩選屬性,直接生成最小規(guī)模決策樹,避免了決策樹的剪枝處理過程。實(shí)驗(yàn)表明,此方法與傳統(tǒng)決策樹算法相比,時(shí)間開銷更小,診斷精度也有所提高。
導(dǎo)航系統(tǒng);故障診斷;決策樹;神經(jīng)網(wǎng)絡(luò);信息增益率
隨著組合導(dǎo)航技術(shù)的發(fā)展前進(jìn),導(dǎo)航系統(tǒng)日趨規(guī)模化和復(fù)雜化,系統(tǒng)傳感器組成越來越繁多,功能也越來越先進(jìn)。因此,導(dǎo)航系統(tǒng)故障診斷在組合導(dǎo)航中的研究也顯得越來越重要。在實(shí)際工程應(yīng)用中,系統(tǒng)故障幾乎不可避免,因此研究導(dǎo)航系統(tǒng)的故障監(jiān)測和診斷技術(shù)對于提高系統(tǒng)本身的精度和可靠性都具有十分重要的意義。導(dǎo)航系統(tǒng)是由多個(gè)子系統(tǒng)和傳感器構(gòu)成。子系統(tǒng)或者傳感器的故障會傳導(dǎo)到導(dǎo)航系統(tǒng),進(jìn)而影響導(dǎo)航系統(tǒng)的精度和穩(wěn)定性。利用大量的歷史導(dǎo)航數(shù)據(jù)訓(xùn)練故障診斷模型,快速檢測出故障,并識別故障類型已成為導(dǎo)航系統(tǒng)故障診斷的重要研究方向。
對導(dǎo)航系統(tǒng)中每個(gè)傳感器而言,其狀態(tài)可以簡單分為兩個(gè)狀態(tài),即故障狀態(tài)和正常狀態(tài)。因此,導(dǎo)航系統(tǒng)故障診斷也可以視為多個(gè)二分類問題。通過故障診斷隔離技術(shù),判斷并剔除故障子系統(tǒng)傳感器,重構(gòu)導(dǎo)航系統(tǒng),從而可以達(dá)到提高整個(gè)系統(tǒng)精度和穩(wěn)定性的目的。
傳統(tǒng)方法是在組合導(dǎo)航數(shù)據(jù)融合過程中設(shè)置系統(tǒng)狀態(tài)觀測器,通過實(shí)時(shí)在線檢測系統(tǒng)的狀態(tài)誤差來判別系統(tǒng)是否發(fā)生了故障[1]。實(shí)際工程應(yīng)用中,組合導(dǎo)航在數(shù)據(jù)融合過程中存在多種不確定性非線性誤差,如有色噪聲、截?cái)嗾`差等,而建立狀態(tài)觀測器要求系統(tǒng)已知其精確的數(shù)學(xué)模型,這在工程實(shí)際中很難實(shí)現(xiàn)。
決策樹算法作為一類常見的機(jī)器學(xué)習(xí)算法[2],易于實(shí)現(xiàn)和理解,對數(shù)據(jù)的預(yù)處理要求也較為簡單。能處理多種數(shù)據(jù)類型,在二分類問題中有良好的表現(xiàn)。除此之外,它對輸入缺失值不敏感,適用于處理因傳感器故障而造成的導(dǎo)航系統(tǒng)數(shù)據(jù)缺失問題[3]。而且決策樹算法時(shí)間復(fù)雜度較小,與其他算法相比,更能滿足導(dǎo)航系統(tǒng)對實(shí)時(shí)性的要求。但是決策樹算法也存在容易過擬合、類別過多時(shí)決策錯誤可能增加以及數(shù)據(jù)關(guān)聯(lián)性太強(qiáng)的問題。本文針對決策樹算法的缺陷,引入徑向基(Radial Basis Function,RBF)神經(jīng)網(wǎng)絡(luò)算法,利用神經(jīng)網(wǎng)絡(luò)無需先驗(yàn)知識即可進(jìn)行“黑箱”分類的特點(diǎn),對決策樹的屬性進(jìn)行裁剪,從而挑選出分類效果最好的屬性來建立決策樹故障診斷模型。實(shí)驗(yàn)仿真結(jié)果顯示,該方法結(jié)合這兩種學(xué)習(xí)機(jī)制的優(yōu)勢,提高了系統(tǒng)故障診斷的準(zhǔn)確性和實(shí)時(shí)性。
決策樹算法是一種在分類問題中常見的算法,屬于有監(jiān)督學(xué)習(xí)。表示的是一種關(guān)于屬性—鍵值的映射關(guān)系。其核心思想是自頂向下的貪心算法[4],在每個(gè)節(jié)點(diǎn)選擇分類效果最好的屬性,循環(huán)這一過程直到該決策樹能夠準(zhǔn)確地分類劃分出每個(gè)測試樣本。為解決過擬合等問題[5],實(shí)際應(yīng)用中需要對決策樹進(jìn)行剪枝處理等優(yōu)化處理,降低決策樹規(guī)模,提高其預(yù)測精度。因此,決策樹算法的核心問題主要包括兩個(gè)方面:一是選取合適的分類屬性進(jìn)行劃分;二是進(jìn)行有效的剪枝處理。
訓(xùn)練樣本數(shù)據(jù)常存在干擾、噪聲、錯誤信息等,在決策樹訓(xùn)練中難免會包含這些錯誤信息,這樣容易將訓(xùn)練樣本的自身的一些特點(diǎn)當(dāng)作所有數(shù)據(jù)都具有的一般性質(zhì)作為決策樹的劃分選擇,從而導(dǎo)致決策樹規(guī)模過大,這就是所謂的過擬合問題。針對這種情況,我們引入剪枝處理技術(shù),主動去掉一些分支來降低過擬合的風(fēng)險(xiǎn)。
決策樹的剪枝基本策略包括“預(yù)剪枝”和“后剪枝”[11]。預(yù)剪枝是在建立決策樹過程中,對每個(gè)節(jié)點(diǎn)在劃分前進(jìn)行預(yù)估,如果此節(jié)點(diǎn)的劃分不能提升決策樹的泛化能力,則停止劃分,并將此節(jié)點(diǎn)標(biāo)記為葉結(jié)點(diǎn);后剪枝是先利用訓(xùn)練集生成出一棵完整的決策樹,然后自頂向下依據(jù)預(yù)先設(shè)定的標(biāo)準(zhǔn)對非葉結(jié)點(diǎn)進(jìn)行考察,如果將該節(jié)點(diǎn)對應(yīng)的子樹替換為葉結(jié)點(diǎn)后,決策樹的泛化能力得到提升,且修剪后的決策樹對于驗(yàn)證集的分類性能與原樹相比未下降的話,則將該子樹設(shè)置為葉結(jié)點(diǎn)。循環(huán)此步驟,直到修剪結(jié)點(diǎn)造成決策樹分類性能下降時(shí),停止修剪。與預(yù)剪枝相比,后剪枝保留的分支更多,搜索視野也更好,因此預(yù)測精度更高。但是后剪枝策略是在完全生成決策樹后進(jìn)行的,且是對所有非葉結(jié)點(diǎn)進(jìn)行逐一考察,大大增加了計(jì)算開銷和訓(xùn)練時(shí)間開銷。
導(dǎo)航系統(tǒng)傳感器類型繁雜,導(dǎo)航數(shù)據(jù)類型多,且一定時(shí)間內(nèi)的歷史導(dǎo)航數(shù)據(jù)對故障診斷也有重要的參考意義,因此建立基于決策樹的導(dǎo)航系統(tǒng)故障診斷模型之前,需要選取有效的導(dǎo)航數(shù)據(jù)特征作為決策樹的屬性劃分依據(jù)。本文在建立故障診斷決策樹之前對各導(dǎo)航傳感器數(shù)據(jù)進(jìn)行重要性排序,再利用RBF網(wǎng)絡(luò)對選中的最重要的幾類導(dǎo)航數(shù)據(jù)進(jìn)行訓(xùn)練,考察其預(yù)測精度,之后按導(dǎo)航數(shù)據(jù)的重要性次序分別向兩端加減一個(gè)鄰近的數(shù)據(jù)屬性,再進(jìn)行網(wǎng)絡(luò)模型訓(xùn)練及檢驗(yàn),并和原檢驗(yàn)結(jié)果比較。如此反復(fù)直到找到分類效果最佳的個(gè)導(dǎo)航數(shù)據(jù)類型為止。
此方法與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)屬性選擇方法相比,不需要對全部屬性進(jìn)行訓(xùn)練,再逐個(gè)試裁減,只需在數(shù)據(jù)屬性重要性排序基礎(chǔ)上,僅對部分?jǐn)?shù)據(jù)(通常為原屬性數(shù)的一半或更少)屬性訓(xùn)練即可,這樣就大大減小了模型訓(xùn)練的計(jì)算量。
數(shù)據(jù)屬性方法很多,常用的數(shù)據(jù)屬性排序方法包括信息熵法(Entropy Information Method,EI)、基尼索引法(Gini Index Method,GI)、靈敏度分析法(Sensitivity Analyzing Method,SA)、輸入輸出關(guān)聯(lián)法(Input Output Correlation Method,IOC)等。EI算法需要計(jì)算密度函數(shù),不適用于連續(xù)數(shù)值問題;GI算法計(jì)算開銷偏大;IOC通過計(jì)算輸入輸出屬性之間的關(guān)聯(lián)性選擇最優(yōu)屬性,能夠較好地處理連續(xù)值和離散值。本文選擇IOC算法,通過計(jì)算因輸入樣本屬性的變化造成的輸出結(jié)果變化的累加值來評判輸入屬性的重要程度。對于某個(gè)屬性來說,如果由于樣本值變化越大,輸出結(jié)果變化越大,則說明該屬性越重要;否則,說明該屬性對于數(shù)據(jù)分類意義越小。輸入輸出關(guān)聯(lián)性計(jì)算如式(6)所示:
為驗(yàn)證所提算法分類效果的有效性,采用某型船三月份的航行數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù)進(jìn)行仿真實(shí)驗(yàn),實(shí)驗(yàn)效果與“舉手表決”等故障診斷方法效果作比較。隨機(jī)抽取600組導(dǎo)航數(shù)據(jù)作為樣本,其中75%的導(dǎo)航數(shù)據(jù)作為訓(xùn)練集,25%導(dǎo)航數(shù)據(jù)作為檢測集,以衛(wèi)導(dǎo)故障診斷為例,對模型進(jìn)行訓(xùn)練和測試,具體步驟如下:
1)以衛(wèi)導(dǎo)1、衛(wèi)導(dǎo)2、慣導(dǎo)1、慣導(dǎo)2四個(gè)傳感器的位置參數(shù)和速度參數(shù)、計(jì)程儀的速度參數(shù)這9類參數(shù)前一時(shí)刻數(shù)值與被測傳感器當(dāng)前時(shí)刻參數(shù)的差值作為初始條件屬性,每個(gè)傳感器共有兩個(gè)決策屬性(正?;蛘吖收希?。利用IOC算法對這9個(gè)屬性進(jìn)行重要性排序。通過計(jì)算9個(gè)屬性的()值分別為52 103、50 105、51 521、49 556、50 156、47 855、50 156、47 855和46 045。
2)對9個(gè)條件屬性重要性進(jìn)行排序后,利用RBF神經(jīng)網(wǎng)絡(luò)對屬性進(jìn)行篩選。分別選取衛(wèi)導(dǎo)1、衛(wèi)導(dǎo)2、慣導(dǎo)1、慣導(dǎo)2的位置、慣導(dǎo)1、慣導(dǎo)2的速度、計(jì)程儀速度;衛(wèi)導(dǎo)1、衛(wèi)導(dǎo)2的位置,計(jì)程儀的速度;慣導(dǎo)1、慣導(dǎo)2、天導(dǎo)的位置,慣導(dǎo)1和慣導(dǎo)2、計(jì)程儀的速度;衛(wèi)導(dǎo)1、衛(wèi)導(dǎo)2的位置和速度等四組屬性用RBF網(wǎng)絡(luò)進(jìn)行訓(xùn)練,四組屬性的分類錯誤率分別為8.35%、23.33%、18.58%、33.46%。因此對于衛(wèi)導(dǎo)位置故障診斷來說,衛(wèi)導(dǎo)1、衛(wèi)導(dǎo)2、慣導(dǎo)1、慣導(dǎo)2的位置,慣導(dǎo)1、慣導(dǎo)2的速度,計(jì)程儀速度,這7個(gè)屬性是衛(wèi)導(dǎo)故障診斷最佳的屬性組合。
4)將選定的600組數(shù)據(jù)的75%,即450組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),剩余數(shù)據(jù)作為測試數(shù)據(jù),對改進(jìn)的決策樹故障診斷模型進(jìn)行仿真測試。為驗(yàn)證算法有效性,將“舉手表決”算法、傳統(tǒng)決策樹算法測試結(jié)果與本文所提算法比較,測試結(jié)果如表1所示。
表1 三種算法仿真結(jié)果比較
通過測試結(jié)果可以看出,“舉手表決”法雖然時(shí)間開銷小,但是測試精度較低,該算法在處理屬性信息缺失情況時(shí)表現(xiàn)尤為不足,準(zhǔn)確率不足70%。傳統(tǒng)決策樹算法與“舉手表決”法相比,預(yù)測精度有所提高,但是在處理存在干擾噪聲和冗余屬性測試樣本時(shí),效率和準(zhǔn)確度有待提高。為提高決策樹的抗干擾能力,常用的優(yōu)化算法包括剪枝技術(shù)或者動態(tài)調(diào)整模型的分類標(biāo)準(zhǔn)等,但是都沒有從根本上解決干擾噪聲和冗余屬性的問題。本文所提的算法能夠快速、有效地挑選出對決策樹分類預(yù)測最優(yōu)的屬性,并建立最小規(guī)模決策樹,進(jìn)而在保證精度的情況下,減小模型時(shí)間開銷。雖然該算法前期增加了屬性篩選的計(jì)算量,但是后期建立的決策樹規(guī)模最小。這避免了決策樹在訓(xùn)練過程中因剪枝處理技術(shù)帶來的計(jì)算量的增加以及剪枝標(biāo)準(zhǔn)選取不當(dāng)導(dǎo)致的分類錯誤。
本文針對導(dǎo)航系統(tǒng)故障診斷問題,提出了一種基于RBF神經(jīng)網(wǎng)絡(luò)篩導(dǎo)航數(shù)據(jù)最優(yōu)屬性,從而搭建最小規(guī)模故障診斷決策樹的方法。此方法結(jié)合了神經(jīng)網(wǎng)絡(luò)和決策樹的優(yōu)點(diǎn),從實(shí)驗(yàn)結(jié)果來看,降低了決策樹訓(xùn)練的時(shí)間開銷,并在一定程度上提升了決策樹的預(yù)測精度。與傳統(tǒng)決策樹相比,避免了對每個(gè)結(jié)點(diǎn)的熵計(jì)算和龐大的決策樹裁減過程,因此該方法在處理大樣本、高維屬性的分類問題上,具有在保持精度情況下,快速生成最小決策樹的優(yōu)勢,更適用于實(shí)際應(yīng)用。
[1] 殷德全,熊智,楊菁華,等. SINS/BD緊組合導(dǎo)航系統(tǒng)故障檢測算法研究與實(shí)現(xiàn)[J]. 導(dǎo)航與控制,2018,17(4):30-35+46.
[2] 劉小虎,李生. 決策樹的優(yōu)化算法[J]. 軟件學(xué)報(bào),1998(10):78-81.
[3] HAN S,WANG J. Integrated GPS /INS Navigation System with Dual-rate Kalman Filter[J]. GPS Solutions,2012,16(3):389-404.
[4] 劉小明,李輝,蔣吉兵. 基于故障樹和神經(jīng)網(wǎng)絡(luò)的火箭故障診斷方法[J]. 計(jì)算機(jī)仿真,2010,27(7):46-50+85.
[5] 譚俊璐,武建華. 基于決策樹規(guī)則的分類算法研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(5):103-105.
[6] BUNITE W,NIBLETT T. A further comparion of slitting rules for decision tree induction[J]. Machine Learning,1992,8(1):75-85.
[7] 連遠(yuǎn)鋒,李國和,吳發(fā)林,等. 基于遺傳PNN 網(wǎng)絡(luò)的組合導(dǎo)航故障診斷研究[J]. 儀器儀表學(xué)報(bào),2012,33(1):120-126.
[8] 趙建民,黃珊,王梅,等. 改進(jìn)的C4.5算法的研究與應(yīng)用[J]. 計(jì)算機(jī)與數(shù)字工程,2019,47(2):261-265.
[9] 安葳鵬,尚家澤. 決策樹C4.5算法的改進(jìn)與分析[J]. 計(jì)算機(jī)工程與應(yīng)用,2019,55(12):169-173.
[10] 臧榮春,崔平遠(yuǎn). 基于神經(jīng)網(wǎng)絡(luò)的假設(shè)檢驗(yàn)故障診斷算法研究[J]. 系統(tǒng)仿真學(xué)報(bào),2007,19(16):3852-3855.
[11] 周志華. 機(jī)器學(xué)習(xí)[M]. 北京:清華大學(xué)出版社,2016:73-95.
Research of Fault Diagnosis of Navigation System Based on Improved Decision Tree
LIU Dongtao
A new navigation system troubleshooting method based on improved decision tree algorithm is proposed. Firstly, the original attributes of navigation data are sorted by information gain rate (IGR). Then the sorted attributes are clipped with neural network. Finally, the minimum decision tree is built with the clipped attributed, as well as the classification rules. Compared with the traditional decision tree algorithm, this improve decision tree picks attributes with IGR, and build the minimum decision tree directly, which can avoid the node clipping deal. The experiments indicated that this algorithm need shorter extraction time, and get higher precision.
Navigation System; Troubleshooting Method; Decision Tree; ANN; Information Gain Rate
TN967
A
1674-7976-(2022)-05-334-05
2022-06-15。劉東濤(1971.02—),遼寧丹東人,高級工程師,主要研究方向?yàn)樽鲬?zhàn)系統(tǒng)。