陳湘中,萬爛軍+,李泓洋,李長云
(1.湖南工業(yè)大學(xué) 計算機(jī)學(xué)院,湖南 株洲 412007;2.湖南工業(yè)大學(xué) 智能感知與網(wǎng)絡(luò)化控制湖南省高校重點(diǎn)實(shí)驗(yàn)室,湖南 株洲 412007)
滾軸是機(jī)器中的易損部件,是否能夠準(zhǔn)確地診斷出其發(fā)生了何種故障及故障程度,對于滾軸的健康維護(hù)和安全運(yùn)行是非常重要的,目前已經(jīng)研發(fā)了多種滾軸故障診斷方法[1-5]。經(jīng)驗(yàn)?zāi)B(tài)分解[1,2]是常用的軸承故障診斷方法之一,該方法是直觀和后驗(yàn)的,但在使用過程中易產(chǎn)生過包絡(luò)、欠包絡(luò)以及端點(diǎn)效應(yīng)等問題。
聚類算法是一種非監(jiān)督學(xué)習(xí)方法,而K均值聚類算法[3,6,7]是最為經(jīng)典的基于劃分的聚類方法,采用距離作為相似性的評價依據(jù),距離越近,則相似度就越大。孟凡磊等[3]結(jié)合局部特征尺度分解與K均值聚類分析對滾軸進(jìn)行故障診斷,該方法是經(jīng)驗(yàn)?zāi)B(tài)分解的改進(jìn),解決了過(欠)包絡(luò)的問題。但K均值聚類算法通常隨機(jī)選擇K個初始的聚類中心來確定一個初始劃分,一旦初始聚類中心選取不合理,就容易陷入局部最優(yōu)解。蟻群優(yōu)化(ant colony optimization,ACO)算法具有強(qiáng)大的全局尋優(yōu)性和適應(yīng)能力強(qiáng)等優(yōu)點(diǎn),該算法已廣泛應(yīng)用在多個研究領(lǐng)域[8-11]。蟻群優(yōu)化算法的全局尋優(yōu)性可彌補(bǔ)傳統(tǒng)K均值聚類算法隨機(jī)選擇初始聚類中心的缺陷,從而使得聚類效果更佳。
鑒于此,在傳統(tǒng)K均值聚類算法的基礎(chǔ)上,提出一種基于蟻群優(yōu)化K均值聚類算法的滾軸故障預(yù)測方法,針對西儲大學(xué)的滾軸數(shù)據(jù)集進(jìn)行測試,結(jié)果表明所提方法能有效提高滾軸故障預(yù)測的準(zhǔn)確率和穩(wěn)定性。
ACO算法的靈感來自對真實(shí)蟻群覓食行為的觀察,螞蟻常??梢哉业绞澄镌搭^與螞蟻巢穴之間的最短距離,這是通過螞蟻攝入食物所沉淀的稱為信息素的化學(xué)物質(zhì)來實(shí)現(xiàn)的[8]。螞蟻利用自己對食物氣味來源的知識(啟發(fā)素)和對食物路徑的決定(信息素)來搜索路徑。螞蟻在路徑搜索過程中,通過存放自己的信息素來確定路徑,這會使得信息素蹤跡越來越密集,更有可能被其它螞蟻選擇。這是一種學(xué)習(xí)機(jī)制,螞蟻根據(jù)自己對路徑的認(rèn)識,最佳路徑將從巢穴向食物標(biāo)記。
如圖1所示,假設(shè)螞蟻想從A點(diǎn)移動到B點(diǎn),若無障礙物,它們將沿直線路徑(AB)移動(圖1(a))。若存在障礙物,螞蟻將隨機(jī)地轉(zhuǎn)向左(ACB)或轉(zhuǎn)向右(ADB)(圖1(b))。由于ADB路徑比ACB路徑短,沉積在ADB路徑上的信息素的強(qiáng)度大于ACB路徑,故吸引了更多的螞蟻來到此路徑(圖1(c))。
圖1 螞蟻尋找最短路徑示例
K均值聚類起源于信號處理,是最經(jīng)典的聚類分析方法,K均值聚類的核心目標(biāo)是將給定的樣本集D={x1,x2,…,xm} 劃分成k個簇,并給出每個樣本對應(yīng)的簇中心點(diǎn)[7]。該算法的步驟如下:
步驟1 數(shù)據(jù)預(yù)處理,如歸一化等。
步驟3 定義代價函數(shù),如式(1)所示
(1)
步驟4 令t=0,1,2,…為迭代次數(shù),重復(fù)步驟5和步驟6,直到J收斂。
步驟5 對于每一個樣本xi,根據(jù)式(2)將其分配到距離最近的簇
(2)
步驟6 根據(jù)式(3)重新計算每個類簇的聚類中心
(3)
K均值聚類算法在迭代時,若當(dāng)前J還不是最小值,先固定簇中心 {μk},通過調(diào)整每個樣本xi所在的類簇ci來讓J變小;然后固定 {ci},通過調(diào)整簇中心 {μk} 使J變小。交替循環(huán)這兩個過程,J單調(diào)遞減:當(dāng)J達(dá)到最小值時,{μk} 和 {ci} 均將收斂。
本文提出的滾軸故障預(yù)測方法主要由基于小波包分解的數(shù)據(jù)預(yù)處理、特征向量歸一化和基于蟻群優(yōu)化K均值聚類算法的故障預(yù)測模型訓(xùn)練這3部分組成,滾軸故障預(yù)測流程如圖2所示。
圖2 滾軸故障預(yù)測流程
在滾軸故障預(yù)測中,首先對滾軸原始振動數(shù)據(jù)進(jìn)行小波包分解,得到特征向量;接著對特征向量進(jìn)行歸一化,得到樣本集;然后將樣本集劃分為訓(xùn)練集和測試集。針對訓(xùn)練集中的數(shù)據(jù),采用蟻群優(yōu)化K均值聚類算法進(jìn)行滾軸故障預(yù)測模型的訓(xùn)練,得到滾軸故障預(yù)測模型;然后采用滾軸故障預(yù)測模型對測試集中的數(shù)據(jù)進(jìn)行測試,根據(jù)得到故障預(yù)測結(jié)果驗(yàn)證故障預(yù)測模型的有效性。
(4)
滾軸原始振動信號經(jīng)小波包分解后,得到多個由8個頻段能量值構(gòu)成的特征向量,這些特征向量可作為K均值聚類算法的輸入。
為了提高滾軸預(yù)測模型的訓(xùn)練速度,將滾軸振動數(shù)據(jù)經(jīng)三層小波包分解后得到的特征向量按式(5)進(jìn)行歸一化
(5)
式中:xi(i=1,…,8) 是特征向量中第i個頻段的能量值,xmax是特征向量中的最大值,xmin是特征向量中的最小值,x′i是第i個頻段歸一化后的結(jié)果。
故障預(yù)測模型訓(xùn)練流程如圖3所示,首先初始化螞蟻數(shù)量、集群數(shù)量和信息素值;其次為每個集群隨機(jī)初始化集群中心;然后根據(jù)振動數(shù)據(jù)的特征向量和聚類中心之間的距離(相似性)成反比的概率以及表示信息素水平的變量τ,將每個滾軸特征向量分配給集群。接下來,不斷更新聚類中心,當(dāng)?shù)螖?shù)大于1000或者迭代次數(shù)大于50且收斂方案重復(fù)次數(shù)大于20的時候,終止算法得出最佳解決方案。
圖3 故障預(yù)測模型訓(xùn)練流程
在基于蟻群優(yōu)化的K均值聚類算法中,聚類工作由眾多螞蟻協(xié)同執(zhí)行,對于每只螞蟻,讓每個特征向量Xn都屬于一個簇。根據(jù)信息素τ和啟發(fā)信息η,每只螞蟻將每個特征向量分配給簇i的概率為P,其計算公式如式(6)所示
(6)
式中:P(i,Xn)是在簇i中選擇特征向量Xn的概率,τ(i,Xn)是分配給簇i中特征向量Xn的信息素,α是控制τ(i,Xn)的影響的參數(shù);η(i,Xn)是分配給簇i中特征向量Xn的啟發(fā)信息,β是控制η(i,Xn)的影響的參數(shù)。啟發(fā)信息η(i,Xn)來自式(7)
(7)
式中:Ci是簇i的聚類中心,其中d(Xn,Ci) 是滾軸特征向量Xn和聚類中心Ci的歐氏距離。通過計算每個集群中滾軸振動數(shù)據(jù)的特征向量的平均值來獲取新的聚類中心,這將重復(fù)進(jìn)行,并保存迭代次數(shù)a的值。再判斷新的聚類中心是否收斂于舊的聚類中心,不收斂則將收斂方案重復(fù)次數(shù)b的值置為0。若收斂則在找到的m個方案中選擇幾率最大的解決方案作為最佳解決方案,并根據(jù)式(8)更新信息素值
τ(i,Xn)=(1-ρ)τ(i,Xn)+∑iΔτ(i,Xn)
(8)
式中:ρ是信息素?fù)]發(fā)因子 (0<ρ≤1),這表示早期的信息素將在迭代中消失。隨著更好的解決方案不斷被發(fā)現(xiàn),相應(yīng)的信息素也不斷被實(shí)時更新,其信息素對下一個解決方案具有更大影響。Δτ(i,Xn)在式(8)中是由成功的螞蟻添加到先前信息素的信息素量,其計算公式如式(9)所示
(9)
式中:Q是一個常數(shù),它與螞蟻添加的信息素的數(shù)量有關(guān);Min(k′) 是螞蟻k′得到的每兩個簇中心之間最小距離的和;Avgd(k′,i) 是螞蟻k′得到的每個特征向量與其簇心之間距離的平均和。
為驗(yàn)證本文提出的基于蟻群優(yōu)化K均值聚類算法的滾軸故障預(yù)測方法的有效性,對西儲大學(xué)的滾軸數(shù)據(jù)集[12]進(jìn)行了測試。本實(shí)驗(yàn)使用了40個測試數(shù)據(jù)集,其中正常數(shù)據(jù)集4個、滾動體故障數(shù)據(jù)集12個、內(nèi)圈故障數(shù)據(jù)集12個和外圈故障數(shù)據(jù)集12個。每個數(shù)據(jù)集包含10多萬條滾軸振動數(shù)據(jù),這些數(shù)據(jù)是在電機(jī)轉(zhuǎn)速為每分鐘1720轉(zhuǎn)至1797轉(zhuǎn)以及采樣頻率為12 kHz的工況下采集的原始振動數(shù)據(jù)。
實(shí)驗(yàn)平臺:一臺搭配了四核Intel Xeon E3-1225 v5 CPU和32 GB內(nèi)存的HP Z240 SSF工作站,Win 7系統(tǒng)和Matlab 2014a。
使用小波包分解對滾軸振動數(shù)據(jù)進(jìn)行特征提取,每種運(yùn)行狀態(tài)分別得到由8個頻段能量值組成的特征向量,特征提取部分?jǐn)?shù)據(jù)見表1。
表1 特征提取部分?jǐn)?shù)據(jù)
圖4-圖7是滾軸原始振動信號經(jīng)小波包分解后得到的能量譜,顯而易見,對于滾軸的不同運(yùn)行狀態(tài),其能量分布有所不同。在滾軸正常運(yùn)行狀態(tài)下,其能量分布主要集中在第1頻段,滾軸正常信號能量譜如圖4所示。在滾軸滾動體故障下,其能量分布主要集中在第1、3、7頻段,滾軸滾動體故障信號能量譜如圖5所示。在滾軸內(nèi)圈故障下,其能量分布主要集中在第3、7頻段,在第1、2、4、8頻段也有少部分能量分布,滾軸內(nèi)圈故障信號能量譜如圖6所示。在滾軸外圈故障下,其能量分布主要集中在第3、7頻段,滾軸外圈故障信號能量譜如圖7所示。
圖4 滾軸正常信號能量譜
圖5 滾軸滾動體故障信號能量譜
圖6 滾軸內(nèi)圈故障信號能量譜
圖7 滾軸外圈故障信號能量譜
本實(shí)驗(yàn)選擇了兩種不同的算法:傳統(tǒng)的K均值聚類算法(K-Means)以及蟻群優(yōu)化K均值聚類算法(ACO-K-Means),使用滾軸故障預(yù)測模型對測試集進(jìn)行實(shí)驗(yàn),計算兩種算法各自100次實(shí)驗(yàn)的平均故障預(yù)測準(zhǔn)確率。實(shí)驗(yàn)參數(shù)設(shè)置見表2。
表2 實(shí)驗(yàn)參數(shù)設(shè)置
兩種算法對應(yīng)的滾軸故障預(yù)測準(zhǔn)確率如圖8所示,采用傳統(tǒng)K均值聚類算法得到的故障預(yù)測準(zhǔn)確率為91.87%,而采用ACO-K-Means得到的故障預(yù)測準(zhǔn)確率達(dá)到了97.76%。采用傳統(tǒng)K均值聚類算法可能得到局部優(yōu)化,而采用蟻群優(yōu)化K均值聚類算法更可能得到全局優(yōu)化。
圖8 兩種算法對應(yīng)的滾軸故障預(yù)測準(zhǔn)確率
使用傳統(tǒng)K均值聚類算法得到的4個聚類中心和它們分別對應(yīng)的8個特征向量見表3,使用蟻群優(yōu)化K均值聚類算法得到的4個聚類中心和它們對應(yīng)的8個特征向量見表4。表3和表4中“1”是滾動軸正常運(yùn)行狀態(tài)的聚類中心,“2”是滾軸滾動體故障的聚類中心,“3”是滾軸內(nèi)圈故障的聚類中心,“4”是滾軸外圈故障的聚類中心。與表3比較,表4的聚類中心“2、3、4”均有變化。此外,也可通過更加直觀的聚類效果圖來進(jìn)行對比,如圖9和圖10所示。
圖9 使用K-Means得到的聚類效果
圖10 使用ACO-K-Means得到的聚類效果
表3 使用K-Means得到的聚類中心對應(yīng)的特征向量
表4 使用ACO-K-Means得到的聚類中心對應(yīng)的特征向量
使用傳統(tǒng)K均值聚類算法得到的聚類效果如圖9所示,可以看出滾軸正常狀態(tài)和內(nèi)圈故障的聚類效果較明顯,但滾動體故障和外圈故障的聚類效果卻不是很理想,這是因?yàn)檫@兩類故障的特征向量比較相似,聚類中心距離較近,反應(yīng)出的樣本整體效果很可能是局部最優(yōu),導(dǎo)致故障預(yù)測效果不佳。
使用本文提出的蟻群優(yōu)化K均值聚類算法得到的聚類效果如圖10所示,與圖9相比,可以看出滾軸外圈故障和滾動體故障的聚類中心有較明顯的變化,使用蟻群優(yōu)化K均值聚類算法能得到更優(yōu)的聚類中心,從而獲得更穩(wěn)定和更高的故障預(yù)測準(zhǔn)確率。
本文基于蟻群優(yōu)化K均值聚類算法,提出了一種滾軸故障預(yù)測方法。通過三層小波包分解得到了滾軸原始振動數(shù)據(jù)的特征向量,對特征向量進(jìn)行歸一化,提高了故障預(yù)測模型的訓(xùn)練速度。為避免陷入局部最優(yōu)解,引入蟻群優(yōu)化算法對傳統(tǒng)的K均值聚類算法進(jìn)行了改進(jìn),在該算法中每只螞蟻根據(jù)先前螞蟻留下的信息素來尋找最佳解決方案,得到了最優(yōu)的初始聚類中心。在西儲大學(xué)滾軸數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,相比基于傳統(tǒng)K均值聚類算法的滾軸故障預(yù)測,得到了更穩(wěn)定和更準(zhǔn)確的預(yù)測結(jié)果,準(zhǔn)確率達(dá)到了97.76%。
面對實(shí)際生產(chǎn)中快速增長的海量滾軸振動數(shù)據(jù),下一步將基于Spark平臺對蟻群優(yōu)化K均值聚類算法進(jìn)行并行化,以提高故障預(yù)測效率。