楊慶勇,劉雪濤,倪 偉,徐 飛,蔣占四
(桂林電子科技大學(xué)機(jī)電工程學(xué)院,廣西 桂林 541004)
旋轉(zhuǎn)機(jī)械故障診斷是機(jī)械故障診斷十分重要的內(nèi)容。由于旋轉(zhuǎn)機(jī)械設(shè)備復(fù)雜,機(jī)械系統(tǒng)的故障研究受到了很大的限制,當(dāng)前旋轉(zhuǎn)機(jī)械的故障診斷研究大多針對其關(guān)鍵零部件軸承和齒輪[1]。傳統(tǒng)的旋轉(zhuǎn)機(jī)械故障診斷是基于信號時頻分析,如快速傅里葉變換、短時傅里葉變換、Wigner-Ville分布、小波變換、經(jīng)驗?zāi)B(tài)分解等信號時頻分析方法都具有各自的適用范圍[2]。近十幾年來,隨著大數(shù)據(jù)和人工智能技術(shù)的發(fā)展,基于模式識別的故障診斷技術(shù)得到了充分的發(fā)展,支持向量機(jī)、BP神經(jīng)網(wǎng)絡(luò)[3]、深度學(xué)習(xí)[4-5]、聚類分析[6-7]等方法廣泛的應(yīng)用到機(jī)械故障診斷領(lǐng)域,推動了智能故障診斷技術(shù)的發(fā)展。
仿射傳播聚類算法(AP)是2007年由Frey B J等提出的聚類算法[8],經(jīng)過十幾年的發(fā)展和研究,已有很多改進(jìn)的AP算法被提出。但AP算法具有局限性,在處理某些數(shù)據(jù)集會出現(xiàn)振蕩不收斂,處理高維數(shù)據(jù)計算速度慢的情況[9]。眾多學(xué)者對AP算法的研究和優(yōu)化主要集中在偏向度(P)[10]、阻尼系數(shù)[11]和相似度矩陣(S)三方面[12-14],有學(xué)者研究AP算法與其他聚類算法相結(jié)合的復(fù)合聚類算法[15-16 ]。Wang K等[17]提出一種自適應(yīng)的AP算法,該算法首先生成不同數(shù)目的聚類結(jié)果,再比較各聚類結(jié)果的輪廓系數(shù),選出輪廓系數(shù)最佳的聚類結(jié)果。Wei Z等[7]把AP算法應(yīng)用到滾動軸承故障診斷中,取得了很好的效果,但AP算法中的P值需要人為調(diào)整來達(dá)到最佳的聚類精度。上述對于AP算法中P值的改進(jìn)主要是如何快速地找到正確聚類數(shù)目下的P值,讓聚類的過程耗時更短。根據(jù)研究可以發(fā)現(xiàn),在很多數(shù)據(jù)集中不同的P值可以得到相同的聚類數(shù)目,對于如何在不同P值取得相同聚類數(shù)目的聚類結(jié)果集中選出最佳聚類結(jié)果少有研究。因此研究了一種指定聚類數(shù)目AP算法(SNAP)并應(yīng)用在滾動軸承故障診斷領(lǐng)域中,該算法首先找出所有不同P值下聚類數(shù)目相同的聚類結(jié)果,通過對比聚類結(jié)果的輪廓系數(shù),再挑選出輪廓系數(shù)大的聚類結(jié)果作為最終的聚類結(jié)果。
與一般聚類方法不一樣的是,AP算法把所有的數(shù)據(jù)樣本都看作潛在的聚類代表點(diǎn),所有樣本的初始權(quán)重都設(shè)置為一樣。AP算法主要有相似度矩陣S、偏向度P、歸屬度A、吸引度R以及阻尼因子λ[18]。相似度矩陣S是樣本間特征點(diǎn)之間的相似度,以歐式負(fù)距離來衡量,公式如下:
(1)
P是與聚類數(shù)目相關(guān)的參數(shù),AP算法不需要事先知道樣本類數(shù),改變P就可以控制聚類數(shù)目;歸屬度A和吸引度R是兩個傳遞信息的參數(shù),AP算法的分類就是根據(jù)這兩個參數(shù)來作為依據(jù),先計算出候選類代表k能夠作為數(shù)據(jù)i的類代表的吸引程度R(I,k) 和數(shù)據(jù)i認(rèn)同數(shù)據(jù)k為類代表的歸屬程度A(i,k),然后根據(jù)式(5)來判斷,值越大,表明數(shù)據(jù)k作為最終聚類中心的可能性越大,不斷循環(huán)迭代,直到超過初始化時設(shè)定的迭代次數(shù)最大值或者吸引度和歸屬度的值趨于穩(wěn)定即收斂( 聚類數(shù)目確定),只要滿足其中一個條件即可停止。下面是歸屬度A和吸引度R的一些計算公式:
(2)
(3)
(4)
E(i,k)=A(i,k)+R(i,k)
(5)
阻尼因子是為了防止算法迭代不收斂,取值范圍為[0.5,1]。
Rnew(i,k)=λRold(i,k)+(1-λ)Rnew(i,k)
Anew(i,k)=λAnew(i,k)+(1-λ)Anew(i,k)
(6)
運(yùn)用AP算法進(jìn)行聚類時,輸入的是S與P,而且需要預(yù)先設(shè)置最大迭代數(shù)、阻尼因子等參數(shù)的初值,輸出的是聚類的個數(shù)及索引向量。
由AP算法的原理可知,P是與聚類數(shù)目密切相關(guān)的一個參數(shù),改變P,則得到的聚類數(shù)目可能會改變。圖1是研究三類樣本數(shù)據(jù)在不同的P值與聚類數(shù)目、聚類精度的關(guān)系。實驗用到的AP算法相關(guān)參數(shù)設(shè)置:maxits=200;convits=50;lam=0.85;plt=0;details=0;nonoise=0。圖中的橫坐標(biāo)是P取S的均值倍數(shù),實驗迭代了20個倍數(shù),所用到的數(shù)據(jù)集由表1列出,Iris和Wine數(shù)據(jù)集由UCI機(jī)器學(xué)習(xí)數(shù)據(jù)庫中下載得到,Bearing為機(jī)械綜合故障模擬實驗平臺(MFS-MG)采集的滾動軸承數(shù)據(jù)集,在3.1節(jié)有詳細(xì)介紹。
表1 實驗數(shù)據(jù)集
由圖1可知P的確影響著聚類的數(shù)目,不同P值得到相同聚類數(shù)目得聚類結(jié)果,其精度也有差異。以滾動軸承數(shù)據(jù)為例,偏向度倍數(shù)取2~6時,聚類的數(shù)目都為5類,與樣本的實際分類一致,但分類的正確率有所變化,如表2所示。如何找出指定聚類數(shù)目下的最佳聚類結(jié)果,這是研究的重點(diǎn)。
圖1 P值與聚類數(shù)目、聚類精度的關(guān)系
在實際的聚類過程中,特征數(shù)據(jù)集的類別往往是未知的,基于內(nèi)部簇類有效性指標(biāo)是檢驗聚類結(jié)果最常用的方法[19],采取輪廓系數(shù)(SC)來評價聚類的結(jié)果具有一定的優(yōu)勢。SC適用于實際類別信息未知的情況,取值范圍[-1,1],取值越大,簇的密度越高,聚類結(jié)果越好。計算公式如下:
(7)
(8)
式中,a(i) 表示樣本i與它同類別中其它樣本的平均距離,b(i)表示樣本i與它距離最近不同類別中樣本的平均距離。對于一個樣本集合,所有樣本輪廓系數(shù)的平均值就是這個樣本的整體SC值。
針對指定聚類數(shù)目的條件下,如何找到聚類數(shù)目與指定數(shù)目相等并且聚類精度最高的對應(yīng)P的問題,設(shè)計出SNAP算法,該算法輸入的是指定的聚類數(shù)目number及樣本特征數(shù)據(jù)data,輸出的是聚類精度最高的聚類結(jié)果。算法偽代碼如表3所示,T表示P取幾倍的相似度矩陣均值,即P=T×mean(S),AP算法默認(rèn)P=mean(S)。算法可以分為三步走:第一步為不斷改變P值,T每迭代一次加1,即P迭代的步長為S的均值。當(dāng)聚類結(jié)果恰好等于指定的聚類數(shù)目時,記錄下當(dāng)前的T。第二步是找出聚類數(shù)目等于指定聚類數(shù)目的聚類結(jié)果,并且記錄下每次聚類結(jié)果的SC值,當(dāng)聚類結(jié)果數(shù)目小于指定聚類數(shù)目時,停止迭代。第三步是比較第二步記錄下的SC值,選擇SC值最大的聚類結(jié)果作為最終聚類結(jié)果。AP算法流程圖見圖2。
表3 算法偽代碼
圖2 指定聚類數(shù)目AP算法流程圖
實驗數(shù)據(jù)采用美國Spectra Quest公司生產(chǎn)的機(jī)械綜合故障模擬實驗平臺(MFS-MG)采集,主要結(jié)構(gòu)如圖3所示。
實驗數(shù)據(jù)的獲取、處理以及聚類特征的提取主要用文獻(xiàn)[7]中提到的方法,在12.8 kMHz采樣頻率下采集了5種工況下的軸承振動數(shù)據(jù),這5種工況分別是內(nèi)圈故障、外圈故障、滾動體故障、保持架故障和正常的軸承。首先把5種工況的振動信號中間部分穩(wěn)定信號各取30個樣本數(shù)據(jù),每個樣本數(shù)據(jù)為2048個采樣點(diǎn)的信號段,得到150個樣本數(shù)據(jù)。再對每個樣本數(shù)據(jù)提取時域、頻域和能量3個方面的特征,首先對每個樣本提取14種時頻域特征,得到150×14的特征樣本矩陣。
圖3 機(jī)械綜合故障模擬實驗平臺
每個樣本進(jìn)行小波包(WP)分解,對前8個分量進(jìn)行時頻域特征提取,得到150×112的特征樣本矩陣;再對小波包分解的8個分量進(jìn)行能量特征提取,得到150×8的特征樣本矩陣;最后把三種特征整合到一起,得到150×134的總特征樣本矩陣,這個特征矩陣就是聚類的輸入特征矩陣。
圖4 滾動軸承5個工況的部分振動信號圖
由3.1節(jié)得到滾動軸承5個工況下的聚類特征樣本矩陣150×134,總共150個樣本,134個特征。把特征矩陣作為原AP算法的輸入,相關(guān)參數(shù)maxits=200;convits=50;lam=0.85;plt=0;details=0;nonoise=0;偏向度也設(shè)置為默認(rèn)P=mean(S);得到的聚類結(jié)果如圖5所示,實際樣本只有5類,圖示結(jié)果分類混亂,聚類數(shù)目明顯增多。
當(dāng)指定類數(shù)為5時,把指定類數(shù)5和特征矩陣作為SNAP算法的輸入,當(dāng)聚類數(shù)目小于指定聚類數(shù)目時,迭代停止,根據(jù)表4可知,P取2~6倍數(shù)的相似度均值時,聚類數(shù)目等于指定數(shù)目,P取3~4時,輪廓系數(shù)最大,其聚類準(zhǔn)確度也最高,最佳聚類結(jié)果如圖6a所示。當(dāng)把滾動軸承5個工況下的樣本數(shù)據(jù)劃分為有故障的樣本數(shù)據(jù)和正常的軸承數(shù)據(jù)時,即指定分類數(shù)目為2,輸入分類數(shù)目2和特征矩陣,經(jīng)過運(yùn)算,不同的P得到的聚類結(jié)果一樣,如圖6b所示,類間差距明顯,經(jīng)過驗證其準(zhǔn)確率也是100%。
圖5 默認(rèn)偏向度下AP軸承數(shù)據(jù)聚類結(jié)果圖
表4 相似度均值倍數(shù)(T)對聚類結(jié)果影響
(a) 指定聚類數(shù)目為5 (b) 指定聚類數(shù)目為2圖6 指定聚類數(shù)目最佳聚類圖
為了驗證所提算法的有效性,對三類數(shù)據(jù)集分別用K-means、K-medoids和AP進(jìn)行處理,得出結(jié)果與SNAP處理所得結(jié)果進(jìn)行比較。聚類結(jié)果的評價指標(biāo)有ACC(精度)、SIL(輪廓系數(shù))、AMI(互信息)和Num(聚類數(shù)目),如表5所示。
表5 不同聚類算法對數(shù)據(jù)集處理結(jié)果比較
針對指定聚類數(shù)目的AP聚類問題,研究了如何在指定聚類數(shù)目下,運(yùn)行算法得到最佳聚類結(jié)果。提出指定聚類數(shù)目的AP算法(SNAP),該算法需要輸入所指定的聚類數(shù)目和樣本特征矩陣,輸出相對應(yīng)的聚類數(shù)目的樣本的標(biāo)簽。該算法的主要原理是首先找到指定聚類數(shù)目下不同偏向度的所有聚類結(jié)果,再通過比較所有聚類結(jié)果的輪廓系數(shù),把輪廓系數(shù)最大的聚類結(jié)果作為最終聚類結(jié)果。通過三種真實數(shù)據(jù)在K-means、K-medoids 、AP和 SNAP不同聚類方法下的聚類結(jié)果比較,證明指定聚類數(shù)目AP聚類算法可行且準(zhǔn)確率較高,并適用于未知標(biāo)簽的滾動軸承故障數(shù)據(jù)分類。聚類分析是機(jī)械智能故障診斷的一類重要方法,但并不是所有的聚類方法都可以直接應(yīng)用到故障診斷上,SNAP算法為其他聚類分析方法在智能故障診斷上的應(yīng)用提供新的改進(jìn)思路。