夏榮耀 孟 靜 薛云燦 胡 勇
(1.河海大學物聯(lián)網工程學院;2.無錫機電高等職業(yè)技術學校;3.榮托昆普(無錫)科技有限公司)
球磨機是物料粉碎的重要設備,傳統(tǒng)的球磨機故障診斷一般采用靜態(tài)診斷法,通過經驗來判斷,但是隨著自動化科學的不斷發(fā)展,傳統(tǒng)診斷方法的缺陷凸顯。隱馬爾可夫模型(Hidden Markov Model,HMM)是應用較為廣泛的生成模型,最早應用于語音識別和自然語言處理中[1]。
由于HMM的隨機性和無后向性,在故障診斷識別中的應用越來越廣泛。PAITHANKAR等[2]針對HMM存在假設特定的統(tǒng)計分布函數來擬合故障時間數據的局限性,提出了一種基于神經網絡和遺傳算法的混合數據驅動方法,用于故障時間預測。LIU等[3]針對有軌電車燃料電池各種健康狀態(tài)的故障分類問題,提出了一種基于K均值聚類的離散HMM故障診斷策略,有效區(qū)分燃料電池的狀態(tài)。程曉龍[4]利用HMM解決齒輪箱故障分類的問題。薛紅濤等[5]利用基于Weibull分布模型和HMM的混合模型對輪轂電機機械進行了故障診斷,有效監(jiān)控輪轂電機的狀態(tài)。
本文針對HMM中算法隨機初始化參數導致算法不穩(wěn)定的問題,引入蝙蝠算法[6]對其進行改進,并提出了一種動態(tài)自適應方法[7]用以改善標準蝙蝠算法易陷入局部極值的情況;將改進的蝙蝠算法與HMM結合得到基于動態(tài)自適應蝙蝠算法的隱馬爾可夫模型,將其應用于球磨機的故障診斷中,以提高HMM的識別準確率。
HMM模型是關于時序的概率模型,具有雙隨機性的過程,分為可觀測隨機序列和隱式狀態(tài)序列。HMM的狀態(tài)序列和觀測序列可以用Q={q1,q1,…,qN},V={v1,v1,…,vM}表示,Q表示所有的狀態(tài)序列,V表示所有的觀測序列,N是所有的狀態(tài)數,M代表觀測數。HMM中還包括參數狀態(tài)轉移概率A、觀測狀態(tài)概率B、初始狀態(tài)概率向量π。用A、B、π來表示HMM模型,即λ=(A,B,π)。在實際應用中,HMM中一共有3個問題:概率計算問題,即在模型λ和觀測序列已知的情況下,計算觀測序列產生的概率,可以利用前向-后向算法進行求解;預測問題,在模型λ和觀測序列已知的情況,求最大概率發(fā)生的狀態(tài)序列,可以利用Viterbi算法[8]進行求解;學習問題,在確定的觀測序列下,計算HMM的參數,需保證計算得到的模型的概率最大,可以利用Baum-Welch算法進行求解。
HMM通常采用Baum-Welch算法進行訓練,Baum-Welch算法[9]用來解決HMM中較復雜的參數求解問題,本質上來說Baum-Welch算法采用的是EM算法原理。但是由于一般情況下,Baum-Welch算法中的隨機初始參數問題會導致算法陷入局部最優(yōu),影響HMM的訓練效果。本文利用改進的VBA算法來優(yōu)化Baum-Welch參數,采用優(yōu)化后的Baum-Welch算法訓練HMM,得到所需要的分類模型。
BA是模擬蝙蝠捕食過程能夠迅速找到全局最優(yōu)解的搜索算法[10]。下面給出了時間為t時的新解和速度更新規(guī)則由式(1)~式(3)給出:
式中,β∈[0,1]是隨機均勻分布的向量;x*是此刻蝙蝠搜索的最佳位置(解);fi∈[fmin,fmax]是聲波頻率。實驗時,可以根據實際需求來改變頻率范圍;局部搜索時,從目前搜索的解中找到一個最優(yōu)解,再通過隨機漫步的方式生成局部新解。蝙蝠覓食時,根據距獵物的方位來不斷更新響度和頻度,選擇最優(yōu)解,直到目標停止或者給定的條件得到滿足為止。
從式(2)可知,蝙蝠的速度更新系數為1,速度的更新方法簡單,搜索過程更容易,這樣會導致種群的僵化,從而降低種群的豐富性。蝙蝠種群無法維持局部搜索和全局探索過程的穩(wěn)定,無法得到想要的最優(yōu)解。受文獻[11]和文獻[12]的啟發(fā),本文提出改進的動態(tài)自適應權重函數
式中,t是蝙蝠當前迭代次數,Tmax為最大迭代次數。式(4)引入了一個正弦函數來改變蝙蝠的速度更新模式,使速度更新系數不再為1;在蝙蝠靠近獵物時,采用較小的自適應權重改變最優(yōu)的蝙蝠位置,使蝙蝠的局部搜索能力提高。公式最后加上數值1又加快了蝙蝠的總體速度。此時蝙蝠的速度變化范圍就從固定值變成了動態(tài)值,其變化范圍是[0,2],改進后的速度算式
對于全局尋優(yōu),本文采用柯西累積分布函數來提高蝙蝠的全局探索能力,柯西累積分布函數可以使蝙蝠個體產生突變,在此時突變個體周圍產生復雜的擾動,這樣蝙蝠能夠在更大范圍內更新自己的位置,不再陷入局部極值。標準蝙蝠算法中是隨機參考蝙蝠位置的,使用柯西逆累積分布函數改進BA的全局搜索能力,函數式為
將式(3)改成
2.3.1 基于VBA算法的HMM實現(xiàn)步驟
為了解決Baum-Welch算法中的隨機初始參數問題,本文利用上節(jié)改進的VBA算法來優(yōu)化Baum-Welch參數,采用優(yōu)化后的Baum-Welch算法訓練HMM,得到所需要的分類模型。圖1表示改進HMM的實現(xiàn)流程,首先需要對數據進行歸一化處理,從中劃分訓練樣本和測試樣本;其次利用基于動態(tài)自適應蝙蝠算法優(yōu)化HMM模型參數進行訓練,直到達到設定的訓練精度和迭代次數;最后利用不同類型的測試數據訓練模型得到結果。
2.3.2 仿真實驗與結果分析
通過鳶尾花公共數據集測試驗提出的基于動態(tài)自適應蝙蝠算法的隱馬爾可夫模型的有效性,并與標準的HMM和基于蝙蝠算法的HMM進行比較。實驗中用數字1、2、3來表示鳶尾花的3個種類,每個種類中隨機選擇40條作為訓練樣本,10條作為測試樣本。分別用標準HMM、基于BA的HMM(BA-HMM)以及基于改進BA的HMM(VBA-HMM)對數據集進行測試分類,測試不同算法對于分類識別的正確率。3種方法的測試結果與準確率對比見表1,模型獨立運行10次情況下的3種模型的正確率對比見圖2,VBA-HMM與HMM、BA-HMM在測試集上測得的識別精度和實驗運行的時間見表2。
從表1可以看出,與標準HMM和基于BA的HMM相比,VBA-HMM在處理鳶尾花數據的分類問題上表現(xiàn)較好。
從圖2可以看出,VBA-HMM的準確率要高于HMM和BA-HMM,且模型每次測量的結果都較高,誤差不大,可以看出VBA-HMM增強了HMM的穩(wěn)定性。
從表2可以看出,與標準HMM和BA-HMM相比,VBA-HMM方法在分類問題的識別精度方面分別提高了0.023和0.050,運行時間分別減少了0.586 9 s和0.064 2 s。
將振動信號等分成20組,對每組信號分別計算時域特征參數,即幅值、標準差、峭度指標、裕度指標、脈沖指標、波形指標,形成6×20的特征向量序列,用Baum-Welch算法訓練HMM的模型參數。本研究選取狀態(tài)數N=4,初始狀態(tài)概率分布假設為π=[1,0,0,0]。從實際運行狀態(tài)可知,隱含狀態(tài)是無跨越左右型馬爾可夫鏈,即正常狀態(tài)向內圈故障、外圈故障和滾動體故障轉移。針對這些故障狀態(tài),分別構建球磨機的4種VBA-HMM診斷模型。設置迭代步數為100步,故障類型迭代曲線見圖3,軸承故障診斷結果見圖4。
從圖3可以看出,4種模型在迭代次數為40時趨于穩(wěn)定值,說明VBA-HMM具有很好的學習性能。
利用4種球磨機的診斷狀態(tài)訓練數據訓練VBAHMM,可以得到球磨機軸承的不同模型。故障診斷時,向訓練好的模型中輸入振動信號的特征向量序列,采用前后向算法計算不同模型的對數似然概率。4種球磨機軸承運行狀態(tài)的診斷結果見圖4。
從圖4可以看出,VBA-HMM能夠準確地區(qū)分球磨機的各種狀態(tài),除滾動體故障有一次誤診外。對不同的球磨機狀態(tài)進行30次試驗測試,不同狀態(tài)下的診斷結果見表3。
從表3可以看出,VBA-HMM具有較高的診斷準確率,且分類效果較佳。
(1)球磨機軸承故障診斷。為了驗證本研究提出的VBA-HMM診斷模型的準確性和可行性,將球磨機軸承故障診斷數據作為測試用例,選擇其中數據的20%作為測試樣本,并與標準HMM、BA-HMM進行對比。
從表4可以看出,與標準HMM和BA-HMM相比,VBA-HMM在球磨機故障診斷中的識別精確率更高,HMM故障診斷分類正確率為86.0%,BA-HMM故障診斷分類正確率為91.0%,而VBA-HMM的正確率高達97.5%,因此可以驗證本課題提出的模型的有效性。
(2)球磨機軸承的驅動端和風扇端故障診斷。運用上述3種方法對球磨機軸承的驅動端和風扇端故障進行了判斷,結果見表5。
從表5可以看出,VBA-HMM在軸承驅動端和風扇端的故障診斷識別精度都高于其他2種方法,因此,可以驗證此方法在故障診斷上的實用性。
本研究將改進的蝙蝠算法與隱馬爾可夫模型相結合(VBA-HMM),采用公開的鳶尾花數據集測試基于動態(tài)自適應蝙蝠算法的隱馬爾可夫模型分類性能,并與HMM、BA-HMM相對比,驗證了VBA-HMM分類的精度高且運行時間短,也表現(xiàn)了VBA-HMM魯棒性高的優(yōu)點。最后將VBA-HMM方法用于球磨機的故障診斷中,得出了較高的識別精度,并對標準的HMM和BA-HMM分別做了診斷測試,從而驗證所提的VBA-HMM方法的實用性。