周璐婕,黨建武,2,王瑜鑫,張振海
(1.蘭州交通大學(xué) 自動化與電氣工程學(xué)院,甘肅 蘭州 730070; 2.甘肅省人工智能與圖形圖像處理工程研究中心,甘肅 蘭州 730070; 3.蘭州交通大學(xué) 土木工程學(xué)院,甘肅 蘭州 730070; 4.中鐵西北科學(xué)研究院有限公司,甘肅 蘭州 730070)
列車運行控制系統(tǒng)是保障列車安全、高速運行的核心,列控車載設(shè)備是列車運行控制系統(tǒng)的重要組成部分。車載設(shè)備結(jié)構(gòu)復(fù)雜,維修時間緊迫,對其進(jìn)行快速、準(zhǔn)確的故障定位,關(guān)系著列車運行效率和安全。車載設(shè)備運行過程中會產(chǎn)生應(yīng)用事件日志(Application Event log, AElog),該日志以文本形式記錄了車載各個模塊正?;蚬收蠒r的運行狀態(tài)語句,技術(shù)人員通過分析車載日志掌握車載設(shè)備每一時刻的狀態(tài)信息。目前鐵路現(xiàn)場對車載設(shè)備的故障診斷仍依賴人工經(jīng)驗,診斷難度大、故障處理效率低。如何對車載日志進(jìn)行文本信息挖掘,實現(xiàn)車載設(shè)備故障的智能診斷是當(dāng)前亟待解決的問題。
車載設(shè)備故障智能診斷主要包括對文本數(shù)據(jù)的特征提取和故障分類兩部分。在現(xiàn)有研究中,文獻(xiàn)[1-2]基于人工記錄的車載設(shè)備故障追蹤表,分別采用主題模型和詞頻-逆向文件頻率算法對故障文本信息進(jìn)行特征選擇,并通過貝葉斯網(wǎng)絡(luò)實現(xiàn)故障分類。但故障追蹤表記錄不規(guī)范、不易獲取有用信息,并且利用貝葉斯對所提取的故障特征進(jìn)行分類時,要求特征屬性間條件獨立,這點很難滿足。文獻(xiàn)[3]利用向量空間模型(Vector Space Model, VSM)實現(xiàn)車載日志文本數(shù)據(jù)的結(jié)構(gòu)轉(zhuǎn)化,基于粗糙集理論進(jìn)行特征選擇,最后用神經(jīng)網(wǎng)絡(luò)實現(xiàn)故障分類。但VSM存在嚴(yán)重數(shù)據(jù)稀疏問題,使分類器面臨維災(zāi)難,從而大幅降低分類性能,且VSM無法表示文本的語法和語義特征。文獻(xiàn)[4]通過Word2vec工具將車載日志信息轉(zhuǎn)化為詞向量,采用長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)和反向傳播(Back Propagation, BP)神經(jīng)網(wǎng)絡(luò)的級聯(lián)結(jié)構(gòu)實現(xiàn)車載設(shè)備故障分類。雖然詞向量可較好地解決維災(zāi)難和特征表現(xiàn)力不強等問題,但LSTM以鏈狀結(jié)構(gòu)組成陣列時對文本深層特征的挖掘能力不強[5]。綜上,目前的研究多集中于人工特征選擇及淺層分類模型,不具備從數(shù)據(jù)中自動抽取和組織信息的能力,且故障分類算法多基于類別平衡假設(shè),對正常數(shù)據(jù)多于故障數(shù)據(jù)的車載日志直接分類會造成故障類識別率低,達(dá)不到診斷目的。
近年來,一種深度學(xué)習(xí)算法卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)成為研究熱點,并被應(yīng)用于文本特征提取與分類中[6-7]。Kim[8]提出經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)文本分類模型,通過多個卷積核提取文本特征,利用全連接神經(jīng)網(wǎng)絡(luò)對特征分類。Kalchbrenner等[9]利用動態(tài)卷積神經(jīng)網(wǎng)絡(luò)提取語句特征,同樣結(jié)合全連接神經(jīng)網(wǎng)絡(luò)實現(xiàn)文本分類任務(wù)。利用卷積神經(jīng)網(wǎng)絡(luò)能有效挖掘文本的局部特征和全局特征,對原始輸入數(shù)據(jù)有更強的表達(dá)能力。但卷積神經(jīng)網(wǎng)絡(luò)對不均衡數(shù)據(jù)十分敏感[10],直接利用全連接層對不均衡樣本進(jìn)行分類,將造成多數(shù)類的分類精度高,少數(shù)類分類精度低,影響分類效果。
因此,本文通過對列控車載設(shè)備故障進(jìn)行分析,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)勢,實現(xiàn)車載日志的特征提取,并將其作為后續(xù)分類器的輸入;針對車載日志數(shù)據(jù)中類別分布不均衡的問題,設(shè)計一種隨機森林(Random Forest, RF)與代價敏感學(xué)習(xí)相結(jié)合的分類器,在隨機森林算法中引入代價因子來平衡樣本之間的數(shù)目差異,使之成為以基于最小代價為目標(biāo)的代價敏感分類器,從而提高故障類的分類精度;為確定模型的有效性,選取某鐵路局提供的列控車載日志數(shù)據(jù)進(jìn)行實驗驗證。
我國CTCS-3級列控車載系統(tǒng)由車載主機和外圍設(shè)備組成,通過外部接口與動車組、動態(tài)監(jiān)測等外部設(shè)備連接,其典型組成結(jié)構(gòu)見圖1。其中主控單元包括C3控制單元車載安全計算機(ATPCU)和C2控制單元車載安全計算機(C2CU)[11]。
圖1 CTCS3-300T型列控車載設(shè)備組成
車載設(shè)備故障主要集中于BTM、ATPCU、VDX、繼電器、測速測距單元等部位,每個模塊又包含多種故障類型。在列車運行時,車載安全計算機會自動記錄并保存應(yīng)用事件日志。日志以文本形式記錄了車載各個模塊正常或故障工作時的運行狀態(tài)語句,同一故障類型運行狀態(tài)語句表述形式多樣,相同表述也會出現(xiàn)在多個故障類型中。車載設(shè)備常見的故障模塊、故障類型以及部分運行狀態(tài)語句見表1。
每份AElog文件可保存250條運行狀態(tài)語句,以提示指令為節(jié)點可將這些語句分為40段左右。在一份記錄了車載故障的AElog文件中,多數(shù)是正常運行語句,僅有1~2段包含模塊故障狀態(tài)語句。因此,車載日志正常與故障數(shù)據(jù)間存在明顯不均衡性,而實現(xiàn)故障語句的精準(zhǔn)定位并對故障類型進(jìn)行判別是車載故障診斷的核心。
表1 車載設(shè)備故障類型及運行狀態(tài)語句
圖2 CNN-CSRF診斷模型的整體架構(gòu)
基于CNN-CSRF模型的車載設(shè)備故障診斷整體架構(gòu)見圖2,它包括車載日志的數(shù)據(jù)處理、特征提取和故障診斷三部分。其中:數(shù)據(jù)處理部分是對AElog文件中的運行狀態(tài)語句進(jìn)行結(jié)構(gòu)化處理,將文本轉(zhuǎn)換為計算機可識別的向量形式;特征提取部分利用數(shù)據(jù)處理后所得到的樣本對CNN進(jìn)行訓(xùn)練,訓(xùn)練好后,可將每個樣本相應(yīng)的特征向量自動提取出來;故障診斷部分是將上一步提取的樣本特征向量送入代價敏感隨機森林(Cost Sensitive Random Forest, CSRF)分類器實現(xiàn)故障的精確分類。
車載日志以文本形式記錄,需要將文本轉(zhuǎn)化為計算機可識別的數(shù)字形式。
(1) 文本預(yù)處理。對車載日志統(tǒng)一數(shù)據(jù)模式,按順序依次提取運行狀態(tài)語句,將每段語句作為一組樣本,以詞為單位對樣本進(jìn)行分詞處理。為減少文本噪聲,過濾停用詞和符號。
(2) 文本分布式表示。Mikolov等[12]利用Word2vec將詞轉(zhuǎn)化為向量空間中低維、稠密的實值向量來實現(xiàn)文本分布式表示,且向量空間相似度可表示文本語義相似度。本文參考Word2vec中的CBOW模型,以經(jīng)過預(yù)處理的運行狀態(tài)語句作為訓(xùn)練語料,通過當(dāng)前任意詞的上下文預(yù)測當(dāng)前詞來構(gòu)造語言模型。如圖2的CBOW模型所示,輸入當(dāng)前詞上下文詞向量,經(jīng)特征映射,在輸出層結(jié)合Hierarchical Softmax算法利用Huffman樹實現(xiàn)目標(biāo)優(yōu)化。Huffman樹以語料庫中所有詞作葉子節(jié)點,以詞頻作其相應(yīng)權(quán)值,用二進(jìn)制編碼表示根節(jié)點到該詞的路徑,將路徑中的每個分支看成一次二分類,每次分類產(chǎn)生一個概率,目標(biāo)是使預(yù)測詞二進(jìn)制編碼概率最大。模型優(yōu)化函數(shù)為[12]
(1)
式中:C為語料庫;Context(w)為當(dāng)前詞上下文;w為當(dāng)前詞;P為概率函數(shù)。
利用隨機梯度上升法對CBOW模型進(jìn)行優(yōu)化。通過該模型,可訓(xùn)練出車載日志中每個詞語固定長度的向量表示,且日志中詞語語義相似度與所得詞向量表示的余弦距離成正比,能最大程度保留車載日志的語義特征,減少語義信息損失。
CNN是在人工神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上引入了由卷積層和池化層構(gòu)成的特征提取器,經(jīng)卷積操作自動提取更具差異性的特征,經(jīng)池化、局部感受野和權(quán)值共享等操作減少網(wǎng)絡(luò)復(fù)雜度和參數(shù)量?;贑NN的車載日志特征提取模型見圖2中的特征提取部分。
(1) 輸入層:令xi∈Rd為2.2節(jié)中經(jīng)CBOW模型訓(xùn)練所得車載日志中第i個詞的d維向量表示;將一段運行狀態(tài)語句中所有的詞語按詞出現(xiàn)的順序依次拼接,組成一組樣本的文本矩陣A∈Rn×d,n為樣本集中最長運行狀態(tài)語句段的長度,不足長度n的語句用0補齊。
(2) 卷積層:對文本矩陣A經(jīng)卷積核w∈Rh×d進(jìn)行卷積操作
ci=f(w·xi:i+h-1+bi)
(2)
式中:ci為卷積操作所提取的局部特征;f為非線性激活函數(shù)ReLU;xi:i+h-1為矩陣A由第i個詞到i+h-1個詞組成的向量矩陣,h為卷積核寬度;bi為偏置項。當(dāng)用卷積核w對一組樣本完成卷積后,將ci依次排列,即可生成特征集合C∈Rn-h+1。
由于每組樣本詞語數(shù)量不同,為更全面提取特征,本文采用多種不同寬度的卷積核以獲取不同詞數(shù)級別的語義特征。
(3) 池化層:對卷積后的特征集合進(jìn)行最大池化操作,獲得局部特征中最重要的特征,同時減少網(wǎng)絡(luò)權(quán)值數(shù)量,降低計算復(fù)雜度,即
tj=max{C}
(3)
式中:tj為各不同寬度卷積核提取的特征值,j=1,2,…,m,m為卷積核總數(shù)。將所得tj依次排列可構(gòu)成全局特征向量T∈Rm。
(4)
式中:Pk為屬于第k類故障的概率;W和B分別為全連接層的權(quán)重矩陣和偏置項;Y為故障類別數(shù)量。
本文用反向傳播算法通過最小化交叉熵?fù)p失函數(shù)訓(xùn)練CNN,根據(jù)隨機梯度下降法計算梯度,使用Adadelta更新準(zhǔn)則[13]來更新學(xué)習(xí)率。并且在模型的卷積運算之后以及全連接層的激活函數(shù)之前加入批歸一化處理。CNN訓(xùn)練好后,可利用卷積層和池化層從輸入的車載日志中自動提取特征向量。
CNN本身就是一個分類器,但作為神經(jīng)網(wǎng)絡(luò)的一種,存在過擬合問題且對樣本的不均衡性很敏感。使用CNN直接對車載日志的特征向量進(jìn)行分類會造成多數(shù)正常類識別率高,少數(shù)故障類識別率低的問題。為彌補CNN的不足,本文結(jié)合CSRF進(jìn)一步提高CNN的性能。如圖2所示,將訓(xùn)練好的CNN全連接分類部分用CSRF取代,用剩下的卷積和池化層從車載日志中自動提取特征,以此特征作為CSRF的輸入,經(jīng)CSRF算法實現(xiàn)分類。
CSRF是在RF的決策樹屬性分裂度量中引入誤分類代價,對少數(shù)類賦予較高代價,多數(shù)類賦予較低代價,以此來平衡樣本間的數(shù)目差異。
RF是包含多棵決策樹的集成分類器,先通過Bagging算法隨機有放回地取樣,之后隨機選擇每棵決策樹在節(jié)點分裂時需要考慮的特征數(shù)量,在隨機選擇的特征子空間進(jìn)行模型訓(xùn)練,最后對多棵決策樹的分類結(jié)果進(jìn)行投票,根據(jù)少數(shù)服從多數(shù)的方式?jīng)Q定樣本類別。由于在選擇樣本和特征空間時引入了隨機性,因此可較好地避免過擬合問題,提高分類精度。以分類回歸樹(Classification and Regression Tree, CART)作為RF的基分類器,CART為自頂向下遞歸二分過程,采用Gini指數(shù)表示不純度,并用于選擇分裂屬性。用I(t)表示結(jié)點t的不純度,其Gini指數(shù)可表示為
(5)
式中:p(j|t)為結(jié)點t上的數(shù)據(jù)屬于第j類的概率;J為類別總數(shù)。
假設(shè)將父結(jié)點t分裂為左右兩個子節(jié)點tL和tR,以結(jié)點處不純度落差作為決策樹屬性的分裂度量,該落差為
2.2 線性范圍與最低定量限 5-羥色胺線性回歸方程為:Y=0.009 1X-0.003 9,r=0.999,線性范圍為 0.10~100.00 ng/mL,最低定量限為 0.10 ng/mL;5-HIAA 線性回歸方程為:Y=0.000 6X+0.003 2,r=0.999,線性范圍為 1.00~1 000.00 ng/mL,最低定量限為 1.00 ng/mL。
(6)
式中:N、NL和NR分別為落在父節(jié)點及左右子節(jié)點的樣本數(shù)量。為計算不純度落差,需計算每個結(jié)點處的不純度I(·),能最大化ΔI(t)值的屬性則為最佳分類屬性。
針對不均衡數(shù)據(jù),CSRF是在CART屬性選擇的過程中引入代價敏感學(xué)習(xí),讓RF在避開過擬合的同時有效處理不均衡數(shù)據(jù)。在代價敏感學(xué)習(xí)中對不同的分類錯誤賦予不同代價,使得誤分總代價最小。根據(jù)貝葉斯風(fēng)險準(zhǔn)則[14],計算樣本x被誤分為類別i的最小期望代價為
(7)
式中:C(i|j)為將j誤分為i的代價;p(j|x)為把樣本x分為j的概率。
在CART屬性分裂中引入誤分類代價,即在Gini指數(shù)中引入代價因子,結(jié)合公式(5)和公式(7)得代價Gini指數(shù)為
(8)
用誤分類代價下降值ΔIc(t)代替不純度落差ΔI(t),選擇使誤差分類代價下降最快的屬性。
(9)
在求解誤分類代價下降值ΔIc(t)時,不同類別的代價因子C(i|j)通常根據(jù)各領(lǐng)域的知識得到。本文采用Wang等[15]定義的代價因子作為車載故障分類的指標(biāo),將正確分類的代價定義為0,正常類的誤分類代價定義為1。故障類的誤分類代價取決于不均衡比例,即C(i|j)=a/b,a為正常樣本數(shù)量,b為故障樣本數(shù)量。
CNN-CSRF模型實現(xiàn)車載故障診斷的主要步驟如下:
Step1將車載日志經(jīng)數(shù)據(jù)處理后形成的向量矩陣作為CNN的輸入樣本,將樣本按一定比例隨機分為訓(xùn)練和測試樣本。
Step2用訓(xùn)練樣本對CNN進(jìn)行訓(xùn)練,訓(xùn)練結(jié)束后將樣本相應(yīng)的特征向量自動提取出來。
Step3利用上步提取的特征向量對CSRF進(jìn)行訓(xùn)練。
(1) 將特征向量樣本經(jīng)Bagging算法隨機有放回地取樣得到n個樣本子集。
(2) 用每個子集作訓(xùn)練樣本構(gòu)造一棵CART決策樹,構(gòu)造時每次從所有候選特征中隨機選取k個特征,在該特征空間按式(9)計算誤分類代價下降值ΔIc(t),每次選擇最大的ΔIc(t)對結(jié)點進(jìn)行分裂。
(3) 將所有決策樹構(gòu)成RF,通過少數(shù)服從多數(shù)的投票機制決定樣本類別。
Step4測試階段用訓(xùn)練好的CSRF取代訓(xùn)練好的CNN全連接部分,將測試樣本輸入僅含卷積和池化層的CNN中,獲得測試樣本特征向量,再將此向量經(jīng)訓(xùn)練好的CSRF實現(xiàn)故障分類。
實驗數(shù)據(jù)來自某鐵路局電務(wù)段提供的2017年8月至2019年4月的車載日志以及相關(guān)的故障資料。以表1所示的故障為例進(jìn)行診斷,實驗數(shù)據(jù)集包括2 572組正常運行樣本(正常運行狀態(tài)記作類別N)和580組故障樣本(故障類別記作F1~F20),故障樣本的分布見圖3。按照樣本類別,隨機選取數(shù)據(jù)集中每一類的75%組成訓(xùn)練集(包括訓(xùn)練和驗證),25%組成測試集,并且在訓(xùn)練階段采用五折交叉驗證。使用Python語言,以theano做底層框架,keras做頂層框架實現(xiàn)模型和算法。
圖3 故障樣本分布情況
車載設(shè)備故障診斷的本質(zhì)是多分類問題,混淆矩陣能夠可視化地表現(xiàn)各個類別的分類結(jié)果,矩陣中的每一行代表樣本所屬的實際類別,每一列代表分類器對樣本的識別結(jié)果?;诨煜仃嚳梢赃M(jìn)行準(zhǔn)確率Accuracy、精確率Precision和召回率Recall的計算。準(zhǔn)確率表示樣本中被識別正確的比例。由于車載日志的不均衡性,存在故障類識別率低但總體準(zhǔn)確率很高的情況,所以用準(zhǔn)確率作評價指標(biāo)不能完全反應(yīng)模型的性能優(yōu)劣。而精確率和召回率可以分別從查準(zhǔn)和查全兩個角度對分類結(jié)果進(jìn)行評價,因此選用精確率和召回率作為K分類模型的評價指標(biāo),計算表達(dá)式為[16]
(10)
(11)
式中:Pi和Ri分別為類別i的精確率和召回率;nij為類別i被分為類別j的樣本個數(shù);nji為類別j被分為類別i的樣本個數(shù)。
F-Measure綜合考量了召回率和精確率,可以評測模型整體性能優(yōu)劣[16]。
(12)
對CNN-CSRF模型里的CNN部分,使用訓(xùn)練集并采取批量訓(xùn)練模式來進(jìn)行訓(xùn)練。實驗設(shè)置Word2vec訓(xùn)練的詞向量維度為300,CNN卷積核寬度分別為3、4、5,每組卷積核數(shù)目為100,迭代次數(shù)為100,批處理尺寸為64。訓(xùn)練時CNN在不同迭代次數(shù)(epoch)下的平均精確率、召回率以及F-Measure的變化趨勢見圖4??梢钥闯鲭S著迭代次數(shù)的增加,各項評價指標(biāo)逐漸上升。在訓(xùn)練達(dá)到80次后結(jié)果趨于穩(wěn)定,模型得到充分訓(xùn)練,達(dá)到良好的訓(xùn)練效果。
圖4 訓(xùn)練階段CNN在不同迭代次數(shù)下的評價指標(biāo)變化趨勢
針對CNN-CSRF模型里的CSRF部分,為了使其達(dá)到良好的訓(xùn)練效果,需要調(diào)整2個主要的超參數(shù):隨機選擇的特征數(shù)m和決策樹數(shù)目n。本文通過控制單一變量的實驗方法來確定最佳參數(shù)。先將決策樹數(shù)目n固定為100,在m=[0.1,0.2,…,1.0]的范圍內(nèi)調(diào)整隨機選擇的特征數(shù)數(shù)目,并觀察驗證集上精確率、召回率以及F-Measure的變化,實驗結(jié)果見圖5。從圖5可以看出,當(dāng)特征數(shù)為0.4時效果最好。之后將m固定為0.4,在n=[20,40,…,160]的范圍內(nèi)調(diào)整決策樹數(shù)目,實驗結(jié)果見圖6。由圖6中精確率、召回率以及F-Measure隨不同決策樹數(shù)目的變化趨勢可知,在n為100時效果最佳。因此將隨機選擇的特征數(shù)設(shè)為0.4,決策樹數(shù)目設(shè)為100。
圖5 不同特征數(shù)對應(yīng)的評價指標(biāo)
圖6 不同決策樹數(shù)目對應(yīng)的評價指標(biāo)
為驗證故障診斷模型對車載故障的識別能力和診斷效果,本文選用混淆矩陣可視化地展示診斷模型對各類別的判別結(jié)果。圖7和圖8分別展示了CNN模型和CNN-CSRF模型在測試集上的混淆矩陣,矩陣坐標(biāo)中1~20代表故障F1~F20樣本,N代表正常樣本。對比圖7和圖8可以看出,由于樣本的不均衡性,導(dǎo)致少數(shù)故障類容易被錯分到正常類,但相較于CNN模型,CNN-CSRF模型提高了少數(shù)故障類的識別率,同時也提高了正常類的識別率。各模型對全部測試樣本分類情況的性能比較見表2,可以看出CNN-CSRF模型在精確率、召回率和F-Measure等指標(biāo)中均優(yōu)于CNN模型。CNN-CSRF模型利用了卷積神經(jīng)網(wǎng)絡(luò)可以自動提取數(shù)據(jù)特征的優(yōu)勢,同時在CSRF分類器中結(jié)合了代價敏感學(xué)習(xí)來平衡樣本之間的數(shù)目差異,對不平衡數(shù)據(jù)的整體分類有一定的改善效果。
圖7 CNN模型的混淆矩陣
圖8 CNN-CSRF模型的混淆矩陣
表2 CNN和CNN-CSRF模型性能比較
為進(jìn)一步驗證CNN-CSRF模型的整體效果,將本文模型與其他分類模型在測試集上進(jìn)行對比。實驗主要包括兩類,第一類將代價敏感隨機森林方法與其他機器學(xué)習(xí)方法進(jìn)行對比,驗證各機器學(xué)習(xí)算法對不平衡數(shù)據(jù)的分類能力,主要包括支持向量機(Support Vector Machine, SVM)、邏輯回歸(Logistics Regression, LR)、k近鄰(k-Nearest Neighbor,KNN)以及隨機森林等,以上模型均以未經(jīng)過特征提取的詞向量作為輸入。文獻(xiàn)[10]中指出,不平衡問題的解決方法分為兩種:一種為基于數(shù)據(jù)層的方法,包括過采樣和欠采樣;另一種為基于算法層的方法,包括代價敏感學(xué)習(xí)以及集成學(xué)習(xí)。本文從算法層的角度來解決車載記錄數(shù)據(jù)不平衡的問題,因此將基于數(shù)據(jù)層的方法做為第二類對比實驗,包括將合成少數(shù)類過采樣技術(shù)(Synthetic Minority Oversampling Technique, SMOTE)與CNN結(jié)合,隨機欠采樣(Random Under-Sampling, RU)與CNN相結(jié)合,以及利用單獨的卷積神經(jīng)網(wǎng)絡(luò)對詞向量進(jìn)行特征提取與分類。不同診斷模型性能比較見表3。
表3 不同診斷模型性能比較
從表3的診斷效果可以得出:在第一類以未經(jīng)特征提取的詞向量作為輸入的SVM、LR、KNN和RF模型中,LR和KNN對樣本分布不平衡非常敏感,召回率較低,查全效果不佳,影響了整體的分類效果;SVM發(fā)揮了良好泛化性的特點,分類性能有所提高;RF的分類效果最好,該模型在決策樹的基礎(chǔ)上采取了集成學(xué)習(xí)策略,增強了模型的泛化能力,相較于其他3種機器學(xué)習(xí)模型更適合不平衡數(shù)據(jù)的分類。在效果最優(yōu)的RF模型中引入代價因子來構(gòu)建CSRF模型,該模型在召回率上相較于RF模型提升了6.16%,查全效果有所提升,說明引入代價敏感學(xué)習(xí)可以改善分類器對不平衡數(shù)據(jù)的學(xué)習(xí)能力。在第二類實驗中,首先使用單獨的CNN模型對詞向量進(jìn)行特征提取和分類,CNN對數(shù)據(jù)不平衡的問題較為敏感,分類效果欠佳。從數(shù)據(jù)層的角度出發(fā),利用SMOTE和RU對樣本進(jìn)行采樣,將采樣后的數(shù)據(jù)作為CNN的輸入,再利用CNN實現(xiàn)特征提取與分類。這兩種方法都可以降低數(shù)據(jù)間的不平衡程度,這一點有利于分類器的學(xué)習(xí),提升了CNN的分類效果。但采樣法的隨機性較大,實驗結(jié)果不穩(wěn)定,并且本文的實驗數(shù)據(jù)為文本型,利用過采樣方法生成的新數(shù)據(jù)可解釋性差,一個小的擾動會影響整個句子的含義,不利于特征提取。CNN-CSRF組合模型在精確率、召回率以及F-Measure等指標(biāo)上均優(yōu)于其他模型,這是因為該模型可以利用卷積神經(jīng)網(wǎng)絡(luò)從上下文詞向量中自動提取有效的特征,該特征可以更好地反應(yīng)詞語之間的相互關(guān)系,之后通過CSRF從算法層的角度進(jìn)一步提高模型的泛化性和對不平衡數(shù)據(jù)的分類能力,也避免了過擬合問題,因此整體分類性能最佳。
但在上述所有網(wǎng)絡(luò)訓(xùn)練階段,相較于單一的分類模型,CNN-CSRF組合模型的計算復(fù)雜度最高,在利用CNN進(jìn)行特征提取時,卷積層的參數(shù)微調(diào)過程占用了大量時間。卷積層的計算復(fù)雜度可表示為O(N·D·H·Hm),其中N為訓(xùn)練樣本數(shù),D為輸入特征維度,H×1為卷積核維度,Hm為卷積核數(shù)目。利用所提取出特征向量對CSRF進(jìn)行訓(xùn)練時,該過程的計算復(fù)雜度為O(k·n·m·r),其中k為特征向量樣本數(shù)目,n為決策樹數(shù)目,m為決策樹中每個節(jié)點隨機選擇的特征數(shù)數(shù)目,r為決策樹深度。因此,本文模型是以增加計算復(fù)雜度為代價提升分類性能,該問題在下一階段的研究中有待進(jìn)一步改進(jìn)。
(1)針對列控車載故障診斷的研究,本文以車載日志為數(shù)據(jù),提出一種基于卷積神經(jīng)網(wǎng)絡(luò)與代價敏感隨機森林相結(jié)合的診斷模型。通過對車載日志進(jìn)行分詞和基于CBOW模型將日志轉(zhuǎn)換為詞向量,實現(xiàn)文本數(shù)據(jù)的結(jié)構(gòu)化轉(zhuǎn)換。再利用CNN的卷積和池化操作自動提取車載日志特征,經(jīng)CSRF模型引入代價因子對不平衡數(shù)據(jù)進(jìn)行處理并對所提取特征進(jìn)行分類輸出。
(2)通過對某鐵路局車載日志數(shù)據(jù)進(jìn)行實驗,采用精確率、召回率和F1-Measure等指標(biāo)對模型進(jìn)行評估,結(jié)果表明,CNN-CSRF模型不僅可以自動提取有效特征,還能通過CSRF平衡樣本之間的數(shù)目差異,進(jìn)一步提高模型的診斷性能,是一種有效的車載故障診斷模型。