林君萍
(福建船政交通職業(yè)學(xué)院,福建 福州 350007)
伴隨大數(shù)據(jù)時代的到來,工業(yè)大數(shù)據(jù)集呈現(xiàn)出海量性[1]、多源異構(gòu)性[2]和不平衡[3]等特征。數(shù)據(jù)的不平衡性表現(xiàn)為數(shù)據(jù)集中一類樣本的數(shù)量遠(yuǎn)多于另一類樣本的數(shù)量,給數(shù)據(jù)的預(yù)處理、分類、特征提取和數(shù)據(jù)挖掘帶來更大的難度[4]。以故障大數(shù)據(jù)分類和特征提取為例,如果少數(shù)類的故障數(shù)據(jù)樣本僅占1%或更低,少數(shù)類樣本容易被多數(shù)類樣本所忽略,但少數(shù)類樣本中往往也包含關(guān)鍵的和有價值的特征信息,由于數(shù)據(jù)集中多數(shù)數(shù)據(jù)樣本和少數(shù)數(shù)據(jù)樣本的比例失調(diào),增加了數(shù)據(jù)誤分類和特征提取錯誤的風(fēng)險[5]。針對于不平衡工業(yè)故障大數(shù)據(jù)的分類問題,張玉征等[6]提出一種截斷梯度特征法,通過對不同類別故障數(shù)據(jù)的梯度特征提取和分類,判斷故障數(shù)據(jù)的不平衡率并提出少數(shù)樣本的故障特征;曹鵬等[7]提出基于數(shù)據(jù)優(yōu)化與指標(biāo)評價的算法,預(yù)測少數(shù)樣本的比例、重要性并識別出少數(shù)樣的核心特征?,F(xiàn)有算法能夠從一定程度上優(yōu)化不同類別數(shù)據(jù)之間的比例,提升數(shù)據(jù)分類的準(zhǔn)確性,但在實際操作中難度較大,例如梯度的確定和評價指標(biāo)的選取依賴于多種因素,且具有一定的主觀性,當(dāng)不平衡率過高時數(shù)據(jù)分類的準(zhǔn)確率會隨之降低,給特征提取和識別造成更大的難度。徐毅等[8]提出基于深度置信網(wǎng)絡(luò)的數(shù)據(jù)訓(xùn)練模型,當(dāng)數(shù)據(jù)維度較低時不平衡數(shù)據(jù)分類準(zhǔn)確率尚且能夠得到保證,但隨著輸入模型的非線性數(shù)據(jù)維數(shù)的提高,數(shù)據(jù)訓(xùn)練中易引起過擬合進(jìn)而降低分類精度。為提升對不平衡大數(shù)據(jù)的分類精度,本文在借助K-means分類的基礎(chǔ)上,構(gòu)建了SVM-tree模型,并通過數(shù)據(jù)中心聚類和最優(yōu)超平面分類的方式,選取相關(guān)性更優(yōu)的數(shù)據(jù)樣本,并以此改善數(shù)據(jù)集的不平衡性,提升數(shù)據(jù)分類性能。
導(dǎo)致工業(yè)故障數(shù)據(jù)集中不同類別數(shù)據(jù)不平衡的原因,是存在數(shù)據(jù)小的劃分或數(shù)據(jù)不相交的情況,例如,數(shù)據(jù)集中如果有含噪數(shù)據(jù)[9],那么有用數(shù)據(jù)就容易被湮沒在噪聲環(huán)境之中。不平衡率(Imbalance Rate)[10-11]是衡量大數(shù)據(jù)集不平衡程度的指標(biāo)(假定故障集中只有兩種數(shù)據(jù)),記為IR。
(1)
其中,N1max為第一類數(shù)據(jù)的最大值,N2min為第二類數(shù)據(jù)的最小值,且滿足N=N1+N2,N是數(shù)據(jù)集中總體數(shù)據(jù)量。
工業(yè)大數(shù)據(jù)通常利用布置在機器周圍的傳感器采集獲取,來自環(huán)境的噪聲和系統(tǒng)的噪聲,會進(jìn)一步加劇少數(shù)樣本的稀缺性[12],因此濾除噪聲干擾是不平衡數(shù)據(jù)集分類處理和特征提取的重要步驟之一。本文選擇Tomek-links算法清除原始樣本中的噪聲,原始工業(yè)故障數(shù)據(jù)樣本集中的兩個不同類別的樣本點,分別表示為ai和bj,樣本點之間的歐式距離描述為d(ai,bi),如果不存在第三個樣本點ak或bq,滿足條件d(ai,ak) Step1 在采集的數(shù)據(jù)集中標(biāo)定已知樣本和待測樣本,其中待測樣本中含有噪聲源。 Step2 計算全部待測樣本和標(biāo)定樣本之間的歐式距離,并基于距離的遠(yuǎn)近做升序排列。 Step3 基于KNN算法的規(guī)則從待測樣本選定K個樣本,并利用多數(shù)投票規(guī)則確定待測樣本的類別和屬性。 Step4 需要考慮不同類別數(shù)據(jù)屬性對樣本類別的影響[13-14],引入數(shù)據(jù)屬性的權(quán)重系數(shù)ωi,并計算與第三個樣本點之間的距離(以樣本點xk為例進(jìn)行說明)。 (2) 加權(quán)計算之后再比較d(ai,ak)和d(ai,bj)之間值的大小,以判斷樣本點ak是否為噪聲數(shù)據(jù)樣本點。受KNN算法優(yōu)化的影響,K值為噪聲濾除算法的重要參數(shù),K值的選定要與輸入數(shù)據(jù)集的規(guī)模和不平衡率相匹配。如果K值過高,則會降低算法的噪聲濾除性能;如果K值過低,則會提升真實樣本的誤判率。 在處理不平衡數(shù)據(jù)集時,需要重點關(guān)注數(shù)據(jù)集的非線性特征[15]和數(shù)據(jù)維數(shù)[16],支持向量機(Support Vector Machine,SVM)在解決數(shù)據(jù)高維問題上具有較明顯的優(yōu)勢。由于SVM模型能夠?qū)?shù)據(jù)從低維映射到高維,可解釋性更強,且對數(shù)據(jù)的差距較為敏感,適用于解決高維不平衡數(shù)據(jù)集的分類問題。 利用SVM模型將去噪后的樣本映射到高維空間,先要將故障數(shù)據(jù)樣本集劃分為訓(xùn)練集和測試集,其中訓(xùn)練集的任務(wù)是訓(xùn)練分類模型并確定模型的參數(shù),測試集主要用于對不平衡數(shù)據(jù)樣本的的分類。SVM分類器無論是用于數(shù)據(jù)訓(xùn)練,還是數(shù)據(jù)分類,都需要對目標(biāo)樣本做初始化處理,降低不平衡數(shù)據(jù)集分類的復(fù)雜程度,并提高不平衡數(shù)據(jù)分類的效率。本文選用K均值聚類算法(K-means clustering algorithm)進(jìn)行迭代求解,設(shè)去噪后的不平衡數(shù)據(jù)集為Z,數(shù)據(jù)集中包含了n個有效樣本對象,即Z={z1,z2,…,zi,…,zn},每個樣本都包含了p維屬性,滿足條件zi∈Rp。K-means聚類指按照樣本的特征將n個樣本劃分成m個簇,每個簇的簇心為ck,k=1,2,…,m,K-means算法在分簇時仍然基于歐式距離法確定樣本之間的相似性程度,為避免在計算中出現(xiàn)負(fù)值,以樣本對象到簇心之間的距離平方和作為目標(biāo)函數(shù)E(ck)。 (3) 簇心通常為樣本集中處于最優(yōu)位置的數(shù)據(jù)樣本,目標(biāo)函數(shù)E(ck)值的大小對應(yīng)樣本到簇心距離值的大小,按照距離從小到大將全部樣本條件到距離最近的簇排序。受噪聲數(shù)據(jù)和新采集數(shù)據(jù)的影響,不平衡數(shù)據(jù)集的規(guī)模處于動態(tài)變化之中,因此數(shù)據(jù)分簇過程和簇心的選擇都會發(fā)生變化。當(dāng)需要重新選擇新的簇心和計算樣本到簇心的目標(biāo)函數(shù)值時,重復(fù)執(zhí)行上述步驟直到滿足終止迭代的條件為止。 基于K-means算法進(jìn)行樣本聚類后,極大地降低了SVM分類的復(fù)雜度,使SVM分類器具備了處理大規(guī)模故障數(shù)據(jù)集的能力。SVM分類器從三維視角利用超平面解決二分類問題。將不平衡數(shù)據(jù)集中的每一個樣本點都用一個二維坐標(biāo)表示: Z={(x1,y1),(x2,y2),…,(xk,yk),…,(xn,yn)}. (4) (5) yk(ωTxk+h)≥1. (6) SVM分類器模型需要借助核函數(shù)將低維數(shù)據(jù)映射到高維,并達(dá)到數(shù)據(jù)分類的目的。能成為核函數(shù)的條件是,其矩陣必須滿足對稱性的半正定矩陣條件,本文選用高斯函數(shù)G作為SVM分類器的核函數(shù): 其中,ζ是高斯核函數(shù)的帶寬,當(dāng)數(shù)據(jù)集的不平衡率值較大時,如數(shù)量多的樣本與數(shù)量少的樣本比值超過10 000,SVM的模型分類準(zhǔn)確率會出現(xiàn)嚴(yán)重的衰減。 為提高模型在高不平衡率模式下的分類準(zhǔn)確率,本文對經(jīng)典的SVM分類器進(jìn)行優(yōu)化,構(gòu)建SVM-tree模型?;贙-means聚類算法根據(jù)不平衡數(shù)據(jù)集的樣本特征將樣本集劃分為m個簇,SVM-tree算法模型的數(shù)據(jù)訓(xùn)練以簇為單位展開,簇心的集合也就是訓(xùn)練集中心點的集合為C={c1,c2,…,cj,…,cm},按照簇數(shù)量的多少和規(guī)模的大小,將C分為若干子類,為了算法簡便本文假定將C分為兩個子類C1和C2,X1和X2是與子類C1和C2對應(yīng)的訓(xùn)練子集。劃分多個子集以后即使不平衡率再高,例如超過了10 000,仍舊可以在X1和X2之間建立一個超平面,SVM-tree分類器樹型結(jié)構(gòu)設(shè)計見圖1。 圖1 SVM-tree分類器樹型結(jié)構(gòu) 將C分為兩個子類C1和C2,每個子類再向下細(xì)分,根據(jù)數(shù)據(jù)集的規(guī)模和不平衡數(shù)據(jù)集的比例劃分為若干個層次,子類劃分得越細(xì),SVM分類器的數(shù)據(jù)處理能力越強。在樹型結(jié)構(gòu)構(gòu)建過程中,以簇心集合C作為SVM-tree模型的根節(jié)點,兩個子類C1和C2作為第二層節(jié)點,節(jié)點可以繼續(xù)向上細(xì)化,樹狀模型的復(fù)雜度越高,節(jié)點子集的細(xì)化程度就越高。當(dāng)SVM-tree的葉節(jié)點不可再分,僅包含一個類別時,葉節(jié)點對應(yīng)的標(biāo)簽就是其所含類別的標(biāo)簽。在進(jìn)行樣本測試訓(xùn)練時,由于樣本的不平衡性會提升故障數(shù)據(jù)測試與分類的難度,此時從根節(jié)點出發(fā),利用SVM分類器的超平面判斷對全部數(shù)據(jù)分類,并判定下一層次子節(jié)點的歸屬問題。經(jīng)過多次的迭代和細(xì)化,直到葉節(jié)點不可再分就可以得到分類問題的最終結(jié)果。SVM-tree分類器訓(xùn)練完成以后,基于臨時樣本測試集檢測分類器的數(shù)據(jù)分類效果,如果能夠滿足相關(guān)額測試要求,則停止計算完成迭代;如果仍未達(dá)到不平衡數(shù)據(jù)集的檢測要求,則繼續(xù)細(xì)化分類器的結(jié)構(gòu),提升分類器的數(shù)據(jù)分類與檢測性能。 為保證實驗的可變性和可靠性,本文全部實驗均在相同環(huán)境下進(jìn)行,其中硬件參數(shù)的選擇和軟件工具的選擇分別見表1和表2。 表1 實驗硬件環(huán)境 表2 實驗用到軟件工具與版本 實驗用的數(shù)據(jù)集來自于UCI和KEEL的8組公開數(shù)據(jù),以體現(xiàn)出模型的泛化性能和適用性能,數(shù)據(jù)集的相關(guān)信息見表3。 表3 實驗數(shù)據(jù)集描述 SVM-tree不平衡大數(shù)據(jù)算法模型的構(gòu)建以K-means數(shù)據(jù)聚類為研究基礎(chǔ)。本文首先檢驗SVM-tree算法的數(shù)據(jù)聚類性能,數(shù)據(jù)聚類的誤差值越小,表明算法的穩(wěn)定性越強。以樣本數(shù)據(jù)集中的Pblock和Letter為例(這兩個數(shù)據(jù)集的規(guī)模較大,數(shù)據(jù)聚類的難度更大),分析SVM-tree算法的聚類誤差變化波動情況,借助Matlab工具軟件得到的統(tǒng)計仿真結(jié)果,見圖2和圖3。 圖2 Pblock數(shù)據(jù)集聚類結(jié)果仿真 圖3 Letter數(shù)據(jù)集聚類結(jié)果仿真 仿真結(jié)果顯示,SVM-tree算法對Pblock數(shù)據(jù)集和Letter數(shù)據(jù)集的聚類誤差值,均保持在較低的水平。在相同的實驗參數(shù)和實驗環(huán)境下,基于文獻(xiàn)[6]、文獻(xiàn)[7]和文獻(xiàn)[8]三種傳統(tǒng)算法和本文提出的SVM-tree算法,分別計算各分類算法針對不平衡數(shù)據(jù)集的分類準(zhǔn)確率值,數(shù)值統(tǒng)計結(jié)果見圖4至圖6。 圖4 文獻(xiàn)[6]算法下不平衡數(shù)據(jù)集分類準(zhǔn)確率統(tǒng)計 圖5 文獻(xiàn)[7]算法下不平衡數(shù)據(jù)集分類準(zhǔn)確率統(tǒng)計 在三種傳統(tǒng)不平衡數(shù)據(jù)算法下,不平衡率較低的數(shù)據(jù)集如Pima、haberman等,均能保持較高的數(shù)據(jù)分類準(zhǔn)確率;而當(dāng)工業(yè)大數(shù)據(jù)集的不平衡率較高時,如Flare、Yeast、Letter等,其數(shù)據(jù)分類準(zhǔn)確率出現(xiàn)了較為明顯的降低。尤其是不平衡率高且數(shù)據(jù)集規(guī)模大,算法分類性能的衰減較為明顯。而本文提出的SVM-tree算法模型,就是要改善大規(guī)模數(shù)據(jù)集和高不平衡率條件下的數(shù)據(jù)分類性能。由于SVM-tree樹狀模型的層次和復(fù)雜結(jié)構(gòu)可調(diào),因此模式的適應(yīng)性較強,在不平衡數(shù)據(jù)分類過程中成本代價也能夠得到較好的控制,針對8個數(shù)據(jù)集的分類準(zhǔn)確性統(tǒng)計見圖7。 圖7 本文算法下不平衡數(shù)據(jù)集分類準(zhǔn)確率統(tǒng)計 實驗數(shù)據(jù)統(tǒng)計結(jié)果顯示,針對于Flare、Yeast、Letter等不平衡率較高的工業(yè)大數(shù)據(jù)集,SVM-tree樹狀模型和分類算法,依然能夠獲得較高的分類準(zhǔn)確率。算法的運行效率也是評價不平衡大數(shù)據(jù)分類算法的重要指標(biāo)之一,最后對比驗證不同算法的數(shù)據(jù)分類運行時間,數(shù)據(jù)統(tǒng)計結(jié)果見表4。 表4 各分類算法的運行時間對比 統(tǒng)計數(shù)據(jù)結(jié)果顯示,SVM-tree分類算法在大規(guī)模數(shù)據(jù)集和不平衡率較高的數(shù)據(jù)集分類時的優(yōu)勢更加明顯,運行時間更短,算法運行效率相對于三種傳統(tǒng)分類算法優(yōu)明顯的提升和改善。 工業(yè)大數(shù)據(jù)集具有不平衡性特征,如果不平衡率過高會直接影響數(shù)據(jù)分類的準(zhǔn)確性。本文在經(jīng)典SVM算法的基礎(chǔ)上,利用K-means算法和子類劃分方式,對經(jīng)典SVM算法進(jìn)行優(yōu)化,并構(gòu)建了SVM-tree分類算法模型,提升了模型對不平衡率較高數(shù)據(jù)集數(shù)據(jù)處理能力。實驗結(jié)果表明,SVM-tree算法在數(shù)據(jù)聚類性能、不平衡數(shù)據(jù)集分類性能以及數(shù)據(jù)處理運行時間上具有優(yōu)勢。2 基于SVM-tree的不平衡數(shù)據(jù)集分類算法
2.1 K-means聚類
2.2 SVM-tree模型構(gòu)建與不平衡數(shù)據(jù)分類的實現(xiàn)
3 實驗結(jié)果與分析
3.1 實驗環(huán)境與數(shù)據(jù)集的選擇
3.2 實驗結(jié)果與分析
4 結(jié)語