韓金鵬,李冬梅,王 嵩
1(中國科學院大學,北京 100049)
2(中國科學院 沈陽計算技術研究所,沈陽 110168)
隨著科學技術的發展,如何降低設備的維護維修成本成為非常關鍵的問題.一些貴重精密儀器,對于外部環境等因素十分敏感,對于傳統的人工故障檢測,存在維修周期長、費用貴、代價高的問題,導致設備的利用率偏低.儀器共享平臺中存儲了醫用影像設備使用時的各種信息,但是這些并沒有得到充分利用,只是用于存檔查詢等功能,如果利用系統中的設備信息,找到儀器故障點以及引發儀器發生故障的原因,那么就能為設備維護維修提供更有針對性的方向,對縮短維修周期、減少維修費用以及提高儀器利用率具有積極意義.
關于故障檢測問題,為提升故障檢測模型的性能,許多專家學者嘗試了多種方法.文獻[1,2]使用貝葉斯網絡分別對電子設備、電流互感器進行故障檢測,有效地提高了故障檢測的效率與準確率.文獻[3]使用基于XGBoost算法對變壓器故障進行檢測判別,結果表明XGBoost分類效果最優.文獻[4,5]采用了SVM的故障檢測模型分別用于軸承故障檢測與鋼絲繩診斷中,驗證該模型可以提高故障檢測的準確率.文獻[6]使用改進粒子群算法優化SVM應用于煤層氣單井系統故障診斷中,驗證了該算法的精度優于普通粒子群算法和遺傳算法.文獻[7]中P.Arpaia 等人使用隱馬爾可夫模型檢測流體機械故障,該方法的準確性在CERN的螺桿壓縮機上得到了驗證.上述文獻大多單個分類器,存在分類精度低、泛化能力弱等問題.本文采用集成學習模型,把單一的學習模型結合起來獲得更準確的結果以及更好的泛化性能.隨機森林是一種集成學習模型,具有很好的預測精度,近年來已被廣泛應用于特征選擇領域.特征選擇算法有過濾式、包裹式及嵌入式,考慮到本題的數據量及維度不大,選擇包裹式特征選擇策略.基于Boosting 策略的LightGBM算法具有訓練速度快、準確率高、支持并行學習等特點[8].
綜上所述,本文采用一種粒子群算法優化隨機森林(PSO_RF)的雙向特征選擇和LightGBM的故障檢測方法.利用隨機森林算法對原始數據進行雙向特征選擇,然后將數據輸入LightGBM模型中訓練.使用LightGBM 不但大大加快訓練速度,還能保證不錯的準確率.將此模型應用于醫學影像設備的故障原因檢測中,對加快檢測故障點的發現具有重要意義.
GBDT(梯度提升樹),通過多輪迭代,來不斷提高最終分類器的精度.
在GBDT到的迭代中,假設我們前一輪得到的強學習器是Ft?1(x),損失函數是L(y,Ft?1(x)),那么本輪的目標是找到一個弱學習器ht(x),使得本輪的損失函數最小,本輪的損失函數為:

然后計算損失函數的負梯度,來擬合本輪損失的近似值.損失函數的負梯度表示為:

通常使用平方差來近似擬合ht(x):

從而本輪的強學習器如下:

LightGBM在GBDT算法的基礎上進行了改進.改進的地方主要包含兩個方面:Gradient-based One-Side Sampling (GOSS)和Exclusive Feature Bundling (EFB).
基于梯度的單面采樣(GOSS).根據信息增益的定義,具有較大梯度的那些實例對信息增益會做出更大的貢獻,梯度小的樣本進行進一步的學習對改善結果精度幫助并不大.因此,為保持信息增益估計的準確對數據實例進行采樣時,應該更好的保留那些具有較大貢獻的實例,刪除一部分具有小梯度的樣本.
互補特征壓縮(EFB),是一種可以減少高維數據的特征數目并且使損失最小的一種算法.這里不是使用所有特征來獲得最佳分割點,而是將某些特征合并到一起降低特征維度來使尋找最優分割點的消耗減少.LightGBM 關于互斥特征的合并用到了直方圖(Histogram)算法[9].EFB通過捆綁合并相互獨立的特征,來減少特征的數量.這樣既降低了內存占用,又降低了時間復雜度.
LightGBM 擁有更快的訓練效率、更高的準確率、更低的內存使用,并且可支持并行化學習,故本文在基于PSO_RF的雙向特征選擇的過程中,使用LightGBM 根據混淆矩陣計算當前特征子集的精確度,保證選出最優特征子集.將經過特征選擇方法處理后的數字X線攝影機故障數據輸入LightGBM 中訓練模型,通過交叉驗證的方法來驗證本文所采用方法的準確性,進而說明本文方法對于X線攝影機的故障檢測具有積極的推動作用.
特征重要性指特征對于樣本預測結果的影響,好的特征能夠提高模型預測的準確率及性能.
隨機森林(Random Forest,RF),是一種基于決策樹的算法.隨機森林在建立決策樹的過程中做了一些改進[10,11].在整個隨機森林算法的過程中,有兩個隨機過程:一是使用Bootstrap 有放回的隨機抽取樣本來生成決策樹;二是在劃分決策樹左右子樹時,隨機選擇節點的部分特征,然后在隨機選取的特征中選取最優特征劃分左右子樹.這兩個隨機過程一定程度上避免了過擬合的出現.
隨機森林依據袋外數據誤差率準則去度量特征準確性的,主要思想是:對一個相關的特征加入噪聲后,那么用僅對此特征進行變化特征之后的數據進行模型訓練,模型預測的準確率將降低;反之,如果某個特征是不重要的,那么重新訓練后模型預測準確率變化不大.
粒子群算法(Particle Swarm Optimization,PSO)已經被廣泛應用于各種優化問題上.種群中每個粒子代表一個可行解,但不一定是最優解,粒子在迭代過程中,通過學習歷史經驗來調整自身的速度和位置矢量,最終求得最優解.
本文采用基于PSO_RF的雙向特征選擇方法.首先采用隨機森林度量特征重要性并將結果進行降序排序,其中引入粒子群算法對隨機森林進行參數尋優.然后,從特征的全集開始搜索,每次從當前特征子集中刪除重要性最低的特征,組成新的特征子集;然后進行前向選擇部分,使用LightGBM 根據混淆矩陣對當前特征子集的精確度進行計算,如果精確度下降,則回收剛刪除的特征,如此循環直至結束.這樣,在特征重要性的基礎上,加上當前特征子集分類精度作為評價指標,能夠降低特征波動性,保證選出的最優特征子集冗余少且不損失分類精度.
算法的具體過程如算法1(m為原始數據中特征總數,U表示數據集中全部特征).

算法1.基于PSO_RF的雙向特征選擇算法C={fi|i=1,2,···,m}輸入:數據集D,特征集C輸出:最優特征子集fiIi 1)使用粒子群優化的隨機森林分別計算特征的特征重要性程度;Ii 2)根據第一步得到的對特征進行降序排序;3)使用LightGBM進行評估.對于步驟2)中排序后的特征子集進行后向選擇,子集搜索策略遍歷特征空間:

while ai C計算;//計算當前特征子集的精確度C=C?fifi;//刪除特征atmp計算;//計算刪除特征后的精確度aiatmp if >://如果新的精確率小于舊的C=C+fi;//回收之前刪除的特征end if;end while;
對于設備故障檢測的研究過程主要包括以下幾個步驟:數據采集、數據預處理、特征選擇、模型預測、實驗結果分析.設備故障檢測模型流程圖如圖1所示.

圖1 模型流程圖
數據集包括了1200條X線攝影機的使用信息,主要包括儀器編號、室內溫度、濕度、電壓、電壓頻率、電流等20個特征維度.本實驗所用真實數據來自于實驗室的自主研發項目“大型儀器共享平臺”,此項目主要是解決高校儀器利用率不高等問題,目前已服務于多所高校.
由于原始數據數據不完整,存在缺失值、重復等問題,并且數據處理是否得當對訓練和預測結果影響非常大.所以本文對原始數據進行了數據清理、數據變換等操作,丟棄重復數據,對缺失值進行刪除補齊等操作,最后對數據進行MIN-MAX 歸一化處理.
好的特征能夠提升模型的性能,降低復雜度,提高模型的泛化能力,對模型的正確性和有效性都會有很大的影響.
本文采用基于PSO_RF的雙向特征選擇方法進行特征選擇,對原始數據集中的設備故障有關信息進行特征選擇,為了快速找到模型最優參數,本文采用了粒子群算法以加快尋找模型的最優參數,然后通過交叉驗證的方法來提高模型的穩定性.最終選取的12個特征被選入最優特征子集,作為模型的輸入變量.其中包括室內溫度、室內濕度、電壓、電壓頻率、電流、地阻、球管溫度等.
對于醫用設備故障檢測,根據X線攝影機故障信息分為電源故障、接線故障、干擾故障、球管故障及其他故障.本文使用LightGBM 來建立模型,通過對原始數據的預處理,然后通過基于PSO_RF的雙向特征選擇算法進行特征選擇,然后與CFS算法進行比較,驗證本文所用特征選擇方法的有效性.將處理過后的12個特征變量作為輸入變量輸入LightGBM進行分類預測,本次實驗采用網格搜索算法進行參數尋優,然后通過交叉驗證的方法來計算故障檢測模型的分類精度.本文通過精確率、召回率、F1值以及運行時間方面,通過與GBDT、隨機森林模型進行對比分析,可以得出LightGBM在處理該問題上更有優勢.
為了評價不同模型之間的性能,需要統一的評價標準.本文采用混淆矩陣對模型的優劣進行評價.混淆矩陣見表1.

表1 混淆矩陣
本文采用精確率、召回率及F1值作為評價標準.評價指標的定義如下:

其中,TP表示被模型預測為正的正樣本,FP表示被模型預測為正的負樣本,FN表示被模型預測為負的正樣本,TN表示被模型預測為負的負樣本.另外,如果樣本數據量大,模型復雜,計算速度也是評價一個模型優劣的指標.實驗中采用Python的time.clock()來計算模型的運行時間.
經過數據預處理,然后使用基于PSO_RF的雙向特征選擇算法進行特征選擇,并與CFS進行對比,表2是兩者的結果對比,其中,Xnum是特征數量.

表2 不同特征選擇算法構建故障檢測模型結果對比
從結果可以看出,本文采用的基于PSO_RF的雙向特征選擇算法分類精度與F1值均優于CFS,尤其是F1值達到了90.26%,比其CFS提高了4.34%,說明本文采用的特征選擇方法是有效的,并取得了不錯的分類效果.
通過上述實驗,最后選出了最優特征子集,然后用LightGBM算法建立故障檢測模型,并采用10折交叉驗證對數據進行分組訓練并測試.對每組訓練集與測試集,分別采用LightGBM、GBDT和隨機森林進行訓練測試,并取其平均值作為最終結果,結果如表3所示.

表3 不同模型對故障診斷結果對比
從表3可以看出,在精確率方面,LightGBM的結果高于其他3種模型,精確率達到90.27%;在召回率方面,LightGBM 略低于GBDT,好于隨機森林;在F1值方面,LightGBM是3種模型中結果最好的;在運行時間方面,LightGBM的運行時間優于其他兩種模型,提升了計算速度.
綜合以上,本文采用的設備故障檢測方法通過基于PSO_RF的雙向特征選擇算法篩選出最優特征子集,然后在其基礎上使用LightGBM 對設備故障進行分類檢測,在結果上達到了更高的準確率,并且提高了計算速度,運行時間保持在0.3 s 以內,與文中其他的模型相比具有較大的性能提升.
本文以設備故障檢測為應用背景,然后根據設備的數據信息,提出一種基于PSO_RF的雙向特征選擇和LightGBM的故障檢測方法并將其應用于X線攝影機故障檢測中,取得了不錯的效果.本文中,對原始數據進行數據清理等預處理后,采用基于PSO_RF的雙向特征選擇方法進行特征選擇,刪除無關特征,然后利用LightGBM 訓練速度快、精度高等特點,構建了故障檢測模型.實驗結果表明,該模型在精確率、召回率、F1值以及模型訓練時間上有著很好的表現,可以為設備故障檢測提供依據,對設備的維護維修、提高設備利用率具有積極推動作用.