?

基于改進的K-means聚類和深度神經網絡的軸承故障診斷算法研究

2023-12-26 12:47孟洪顏胡玉坤王艷春
黑龍江大學工程學報 2023年4期
關鍵詞:標簽軸承聚類

孟洪顏,胡玉坤,馮 雙,周 冬,王艷春,*

(1.齊齊哈爾大學 通信與電子工程學院,黑龍江 齊齊哈爾 161006;2.黑龍江大學 電子工程學院,哈爾濱 150080;3.朝陽師范高等??茖W校,遼寧 朝陽 122600;4.齊重數控裝備股份有限公司電控設計部,黑龍江 齊齊哈爾 161005)

0 引 言

滾動軸承作為機械工業的關鍵基礎部件,廣泛應用于航空航天、冶金、電力汽車工業、數控機床等領域。滾動軸承是旋轉機械中容易發生故障的零部件之一[1]。在工業物聯網大型機械的故障中,軸承缺陷占比達40%;在小型機械故障中,軸承缺陷的占比為90%[2]。滾動軸承一般由內圈、外圈、滾動體和保持架組成,當出現部分損壞或缺陷時,輕則設備產生噪聲、振動異常,重則導致故障停機,影響生產,造成財產和經濟損失,因此對于旋轉機械的軸承進行及時的監測和故障診斷至關重要[3]。

依據數據是否有標簽,機器學習的方式可分為有監督學習和無監督學習。有監督學習方法在訓練模型時需要特征數據和數據所對應的標簽。而無監督學習方法只需要特征數據,不再需要與之對應的標簽,省去了大量人工標注的工作[4-5]。聚類算法是無監督學習中常用的算法,已有研究采用K-means及改進的K-means聚類算法進行軸承故障診斷的模式識別,在此基礎上進行神經網絡的無監督學習或半監督學習。文獻[6-7]介紹了采用K-means方法從振動信號中學習特征,用來降低特征參數的空間維數。文獻[8-10]研究的高速列車或旋轉部件的軸承,采用不同的信號特征提取方法。文獻[11-13]針對軸承振動數據量大,K-means聚類的局限,分別提出了Bi-K-Mean聚類算法、基于Spark的并行蟻群優化(ACO)-K-Means聚類算法、K-means++的無監督學習機制和改進的混合遺傳算法K 值聚類,提高聚類的效率,并用于軸承系統的診斷。文獻[14]從軸承振動信號提取時頻域信號,用K-means聚類算法定義不同的退化狀態,建立卷積神經網絡識別模型。文獻[15]采用自編碼器結構進行特征提取,將距離度量學習和K-means聚類方法集成到無監督學習神經網絡結構中,該方法不僅在標記數據較少的半監督學習任務中取得了良好的診斷性能,而且適用于純無監督學習問題。文獻[16]針對從原始數據中提取的特征值,使用K-means算法獲取標簽,將原始振動數據轉換為小正方形圖像,送入到設計的CNN神經網絡模型中進行旋轉系統的磨損水平分類和診斷。雖然上述和K-means有關的算法已用于軸承的故障的模式識別,但相關的K-means算法實現復雜或收斂不佳。

針對上述問題,考慮到實際工作場景中,面對軸承振動數據量大,占用資源較多等問題,提出基于改進的K-means聚類和深度神經網絡的軸承故障診斷算法,針對K-means采用隨機初始化聚類中心,易造成故障類別間重疊、分類隨機的缺點。擬采用抽取小樣本分層聚類,采用濾波和統計密度的方法找出簇的中心點,進行初始化中心的K-means聚類。同時,建立基于聚類偽標簽的深度神經網絡滾動軸承故障診斷的模型,使用具有偽標簽的新數據集對模型進行訓練和優化;使用常用的聚類評價指標和加入噪聲的方法,研究了提出算法的聚類性能和模型的準確性、穩定性。

1 方法介紹

1.1 K-means聚類算法

K均值聚類算法是 Macqueen 在 1976 年提出的一種無監督學習方法[4,17],該算法需要隨機生成或指定k個中心點,可通過對數據的迭代計算找出聚類中心,依據樣本間的相似性將樣本聚集到k個簇中,簡單高效地找出簇與簇的中心。

算法的基本流程如下:

1)設樣本X= (x1,x2,…,xn),每個樣本有m個維度的特征,Xi=(x1,x2,…,xm),樣本為n*m的矩陣。隨機選取(指定)k個樣本數據,得到初始聚類中心集C= {c1,c2,…,ck} 。

2)計算每個樣本到每個初始聚類中心的歐氏距離:

(1)

式中:xi為第i個樣本 (1≤i≤n);cj為第j個簇中心,1≤j≤k;xit為第i個樣本的第t個特征,1≤t≤m;cjt為第j個簇中心的第t個特征。

3)按照樣本到簇中心距離的大小分配到距離最近的簇中心所在的簇內,得到k個簇{C1,C2,…,Ck} 。

重新計算簇的中心點,中心點坐標就是簇內所有樣本的各維度的均值,計算公式為

(2)

式中:cl為第l個聚類中心,1≤l≤k;|Cl|為第l個類簇中樣本的個數;xi為第l個簇中第i個樣本,1≤i≤Cl。

4)重復步驟2)和步驟3),直至類中簇的中心無變化或達到指定迭代次數。

1.2 改進的K-means聚類算法

K-means聚類算法是一種典型的無監督機器學習方法,但在對滾動軸承振動數據進行聚類時,發現聚類中心隨機、故障類別重疊等問題。針對上述問題,提出隨機從樣本中抽取5%的小樣本進行分層聚類,對簇中的數據進行濾波操作,濾除簇的邊緣點,統計濾波后每個簇的數據的密度,選取密度最大的點為K-means聚類的初始中心點,然后按照1.1節中K-means聚類算法進行數據聚類。改進的K-means算法的流程如下:

1)輸入樣本集D={x1,x2,…,xm};簇數為k。

2)初始化每個樣本為1簇,Cj={xj,j∈{1,2,…,m}},計算兩個點的歐氏距離d(Ci,Cj),得到距離矩陣M。

3)如果當前簇個數q大于k時,找出距離矩陣中最近的兩個簇Ci*和Cj*,將兩者進行合并Ci*=Ci*∪Cj*,將j*后面的簇的序號j=j*+1,并進行更新。

4)刪除距離矩陣M中的j*行和j*列,重新計算Ci*到其它簇的距離,更新距離矩陣M。

5)將q=q-1,循環步驟3)~步驟5),直到q=k,返回樣本簇的劃分集合C={C1,C2,…,Ck}。

6)對每一個簇Ci∈{C1,C2,…,Ck},計算簇內兩個點的歐氏距離d(xi,xj),其中{xi∈Ci,xj∈Ci;i≠j},得到距離矩陣M。

7)獲取簇Ci類內最大距離di_max,設置過濾的半徑Ri=0.2*d_max,統計d(xi,xj)

8)獲取簇Ci的ρi中最大的密度ρimax,對應的樣本即是簇的中心點xip。

9)依次獲取所有簇的中心點,創建Points={x1p,x2p,…,xkp}。

10)初始化K-means聚類算法的中心點為Points,執行1.1中的2)~4)直到聚類完成。

通過觀察上述的算法流程,可得:步驟1)~步驟5)實現小樣本的分層聚類功能,步驟6)和步驟7)實現簇的濾波,濾除簇的邊緣噪聲點。步驟8)~步驟10)實現初始化中心的K-means聚類,返回樣本的所有分類,簇的序號即是數據集的偽標簽,偽標簽可進行基于偽標簽的半監督學習的深度神經網絡建模。

1.3 深度神經網絡模型

深度神經網絡(Deep Neural Network,DNN)與神經網絡區別在于:包含多個隱含層,網絡變深,具有強大的學習能力,能夠學習數據深層次的特征。1986年,Hinton G E提出了反向傳播算法(Back propagation)[18],解決了多層感知機的復雜計算問題,為后來提出的各種深度神經網絡的研究和發展給出了理論指導和計算公式。深度神經網絡的基本結構見圖1。包含輸入層、2個隱含層和輸出層,每層之間通過全連接的方式連接,隱含層的層數可根據實際需要設計。

圖1 神經網絡結構Fig.1 Neural network structure diagram

由圖1可見,多層神經網絡模型,其中包括:輸入層X={x1,x2,…,xn};隱含層Y={y1,y2,…,yn};輸出層O={o1,o2,…,ol};隱含層與輸出層之間的權重W={w1,w2,…,wj,…,wl}。深度神經網絡工作中的前饋網絡和方向傳播原理為

1)前饋網絡

對于隱含層,各隱含層神經元輸出yj有:

(3)

對于輸出層,各個輸出層神經元ok有:

(4)

式(3)、式(4)中,神經元的激活函數f(·)根據應用的需要可選擇Relu函數,Tanh函數和Sigmoid函數等,共同構成了多層神經網絡的前饋網絡的模型。

2)反向傳播

當神經網絡的輸出結果O與實際結果D存在誤差,誤差的定義為

(5)

由式(5)可知,神經網絡的輸出誤差E是關于各層的權值的函數,因此可通過調整各層權值來改變誤差E的大小。采用梯度下降的方式對w和v進行求解,即求得w和v使得誤差E最小。

(6)

(7)

其中,η為學習率,j=0,1,2,…,n;k=1,2,3,…,l;i=0,1,2,…,n。

1.4 基于偽標簽的半監督深度神經網絡模型

提出了基于偽標簽的半監督深度神經網模型,訓練該模型使用的是1.3節中提出的改進K-means聚類算法得到的偽標簽數據,用訓練好的的神經網絡模型進行無標簽驗證集分類,將調優后的網絡模型用于滾動軸承的故障診斷?;趥螛撕灥陌氡O督深度神經網絡訓練流程見圖2。

圖2 半監督學習的深度神經網絡程序訓練流程Fig.2 Deep Neural network training flowchart for semi-supervised learning

1.5 本文的技術路線

技術路線是建立在改進的K-means聚類算法和基于偽標簽的半監督深度神經網絡算法研究之上,主要包括:數據的預處理模塊、改進的K-means聚類算法模塊、基于偽標簽的半監督深度神經網絡算法模塊和算法的評價4個部分,見圖3。

圖3 技術路線的流程Fig.3 Flow chart of the technical route

數據來源于美國凱斯西儲大學提供的標準的軸承測試數據(CWRU Bearing Data Center)[17]。對CWRU軸承數據進行預處理,包括:讀取CWRU軸承數據,選取6種典型的故障,每種故障建立400*300維的數據向量,對上述數據向量進行時域和頻域的信號處理,得到28維特征向量;利用改進的K-means聚類算法處理特征向量,得到特征向量的偽標簽,建立特征向量和偽標簽相對應的新數據集;用具有偽標簽的數據集訓練基于偽標簽的半監督深度神經網絡,訓練并優化該神經網絡;通過向特征向量中加入噪聲,研究算法的聚類效果和抗噪聲的性能。

2 實驗研究

2.1 改進K-means算法的性能研究

仿真實驗數據取自美國凱斯西儲大學提供的標準的軸承測試數據[17]。選取的是SKF60205軸承,在轉速1 797 r·min-1(約30 r·s-1)時,對正常、滾動體故障、內圈故障、外圈3點鐘故障、外圈6點鐘故障、外圈12點鐘故障的6種軸承振動信號進行分析。故障直徑為0.007英寸,數據采集的頻率為12 kHz。軸承旋轉一圈約采樣12 kHz/30 r·s-1=400個數據,可作為有故障的一個周期公共的長度,實驗中6類故障數據的讀取最大長度為120 000個數據,每一類可將數據截取為400*300的數據集合。

軸承的振動數據是一維的時序信號,采用時域信號處理的方法獲16個時域特征指標,再將信號變換到頻域,得到12個頻域指標[17,19]。16個時域特征指標(F1~F16)具體包括:平均值、絕對均值、最大值、最小值、峰峰值、方根幅值、平方均方根、方差、標準差、偏度、峭度、波形因子、裕度因子、脈沖因子、峰值因子、變異指數。時域特征中平均值、均方根值的穩定性好,對早期故障不敏感;峭度、峰值、裕度因子和脈沖因子對故障比較敏感,但穩定性差。12個頻域指標(F17~F28)包括:平均能量、重心頻率、均方頻率、頻率方差、均方根頻率、幅值方差、幅值偏度指標、幅值峭度指標、頻率標準差、頻率歪度、頻率峭度、平方根比率。頻域特征中平均能量反應了振動能量的大小,重心頻率、均方頻率、頻率方差反應了主頻帶的位置,最后的8特征反應了頻譜的集中程度。由此可見,提取的時域和頻域的信號代表了信號的不同的特征,由此也可反向推斷出故障的類型。提取時域、頻域指標參數見表1。

表1 時域頻域指標

分別使用K-means算法和改進的K-means算法對表1中的特征數據進行聚類,并加入噪聲后的數據再次進行改進K-means聚類。K均值算法的運算中,聚類結果與初始化的簇中心有關,而類內距離(Within Cluster Distance,WC)和類間距離(Between Cluster Distance,BC)是評價聚類效果的評價標準,同時總體的衡量聚類模型的優劣指標score,給出三者的計算公式[20]。聚類算法中,WC越小越好,相反BC越大越好,score越大越好。三者的實驗結果見表2,對比可知K-means的聚類效果更好,改進的K-means次之,有噪聲的最差。其降維可視化后的結果見圖4、圖5和圖6。

表2 兩種聚類結果評價

圖4 真實標簽的聚類Fig.4 Clustering of true labels

圖5 K-means聚類Fig.5 K-means clustering

圖6 改進的K-means聚類Fig.6 Improved K - means clustering

(8)

(9)

(10)

由圖4、圖5和圖6對比可見,K-means聚類將原本屬于一類的分成了兩類,將原本屬于兩類的分成了一類,相比之下提出的改進K-means聚類算法較好的區分出了所有的類別,改進的K-means算法分類效果優于K-means算法。

2.2 深度神經網的性能研究

深度神經網絡模型采用的多層全連接的神經網絡模型,包括1個輸入層,5個全連接的隱含層、4個drop_out層和1個輸出成,drop_out層的設置是為了防止模型的過擬合,丟棄率設置為0.2。其結構見表3。輸入的數據是經過PCA降維后的前9個維度,每1個隱含單元(包括全連接層和drop_out)可視為一個特征提取單元,輸出層的輸出是每種故障的概率。

表3 神經網絡模型參數

對比圖7和圖8的數據可見,輸入為有噪聲數據的改進K-means網絡模型收斂速度最快,3種模型在訓練集上的精度均達到98%,并保持穩定,說明改進K-means聚類深度神經網絡故障診斷模型收斂速度快、精度高、具有較好的魯棒性。

圖7 訓練精度變化曲線Fig.7 Training accuracy curves with iterations

圖8 損失函數變化曲線Fig.8 Loss function value curves with iterations

模型訓練好后,用驗證集的數據集對模型進行驗證,記錄相應的精度和損失率,同時用真實標簽映射到偽標簽,得出相對于真實標簽數據的準確率,驗證集測試結果見表4。由表4可見,用改進的K-means聚類算法訓練的深度神經網絡模型在偽標簽的數據集上的準確率為98%,比K-means聚類的模型的98.7%低0.7%,但是在映射到真實數據上的準確率為96%,比K-means聚類的提高了4.7%。提出的模型對于加入噪聲的數據具有更好的精度、損失率和真標簽的準確率。

表4 驗證集測試結果

綜上所述,加入噪聲的改進深度神經網絡模型在驗證集上表現的性能更好,充分說明了改進的K-means聚類算法分類的性能優于K-means算法,同時加入噪聲后的聚類模型的魯棒性更好,在進行驗證集測試時,精度均大于訓練集的測試精度。

2.3 實驗結果分析

在改進K-means的性能探究中,雖然提出的改進K-means算法在WC、BC和score 3個指標上均比K-means算法要稍差一些,但提出的算法與真實數據的聚類輪廓更為接近。出現上述現象的原因是:改進的算法中指定了聚類的中心阻礙了K-means隨機尋找最優聚類的幾率,避免在全部數據上的過擬合。實驗中發現,優化初始聚類中心點、在數據中加入噪聲均使WC、BC和score不佳,出現這樣異常結果的原因可能是噪聲數據使得數據的質量變差,同時降低了K-means算法和提出的改進K-means算法的聚類性能,但提出的算法去除了噪聲點干擾和收斂性更好,因此使得訓練的神經網絡模型的魯棒性得以提高。

在深度神經網絡模型的性能探究中,通過觀察和實驗結果分析,可得出加入噪聲的改進K-means聚類深度神經網絡故障診斷模型表現出了優越的性能,在收斂速度和預測準確率(真實標簽)表現較為突出,說明該模型具有良好的魯棒性;也再次證明了本文提出加入噪聲的改進K-means聚類算法在滾動軸承故障診斷問題上具有良好的性能。

3 結 論

結合分層聚類和K-means聚類的特點,提出了加入噪聲的改進K-means聚類算法進行高維度的軸承振動特征數據的聚類處理。通過對比實驗發現,指定K-means聚類中心、在數據中加入高斯白噪聲會降低WC、BC和score聚類評價指標,但可降低了K-means聚類的隨機誤差,加速算法的收斂速度和防止過擬合,提高分類的準確性。同時,在聚類偽標簽的基礎上建立深度神經網絡模型,通過半監督學習的方式進行了模型的訓練和驗證,實驗結果顯示模型的準確率高達96.2%,能夠100%的區分軸承的正常狀態和故障狀態,具有較高的穩定性。

猜你喜歡
標簽軸承聚類
軸承知識
軸承知識
軸承知識
軸承知識
無懼標簽 Alfa Romeo Giulia 200HP
不害怕撕掉標簽的人,都活出了真正的漂亮
基于DBSACN聚類算法的XML文檔聚類
基于高斯混合聚類的陣列干涉SAR三維成像
標簽化傷害了誰
基于多進制查詢樹的多標簽識別方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合