王 姣,劉海燕
(大連交通大學 軟件學院,遼寧 大連 116028)
隨著集成制造技術(shù)的不斷進步,數(shù)控機床也逐漸向高智能、高速度、多功能、網(wǎng)絡(luò)化的方向發(fā)展。同時,在數(shù)控機床中刀具的故障也逐漸成為生產(chǎn)過程中的瓶頸之一。
支持向量機的機器學習方法通過結(jié)構(gòu)風險最小化歸納原理來控制學習單元的VC 維上界,同時,支持向量機能夠有效解決例如小樣本,非線性和高效模式識別的實際問題。支持向量機還具有神經(jīng)網(wǎng)絡(luò)無法比擬的優(yōu)點,網(wǎng)絡(luò)結(jié)構(gòu)和神經(jīng)網(wǎng)絡(luò)相比較容易確定,收斂速度相對較快,并且訓練時不需要大量數(shù)據(jù),而遺傳算法也同時具有很多優(yōu)點[1-3],該方法以生物進化為原型,具有很好的收斂性,在有計算精度要求時,計算時間少,魯棒性高。所以,適合應用于參數(shù)的選擇和優(yōu)化[4-6]。實驗結(jié)果表明,兩種方法結(jié)合對于故障診斷切實有效,為刀具故障的診斷提供了一種新的方法。
支持向量機的原理就是通過核函數(shù)將需要輸入的向量映射到一個高維特征間,接著選擇分類決策函數(shù),然后在新的高維特征空間中構(gòu)造最優(yōu)分類面[7]。最終得到分類結(jié)果。基于支持向量機的狀態(tài)識別步驟如下:
(1)按照一定的準則和診斷策略對前期提取出的能夠準確表達設(shè)備狀態(tài)的信息,進行訓練。
(2)輸出分類結(jié)果。
(3)根據(jù)分類的結(jié)果確定設(shè)備的狀態(tài)。分類問題求解時,需要選擇不同的映射核函數(shù),相似性和相似程度的評價標準就不同現(xiàn)在常用的核函數(shù)有:
多項式核函數(shù):
其中C ≥0,d 為任意正數(shù)。Gauss 徑向基核函數(shù):
Sigmoid 核函數(shù):
其中α >0,β >0。
在樣本較小的情況下,SVM 能夠由得到有效的分類結(jié)果。SVM 的狀態(tài)識別系統(tǒng)就是類似于一個黑匣子的模型,所以在應用的過程中往往不必關(guān)心該模型內(nèi)部的具體結(jié)構(gòu)是怎么樣的,因此我們只需要關(guān)注輸出和輸入。同時,輸出和輸入之間的映射結(jié)構(gòu)是由支持向量機算法完成的。
遺傳算法從代表問題可能潛在的解集的一個種群出發(fā),然而,一個種群是由經(jīng)過基因編碼的一定數(shù)目的個體組成。每個個體實際上是染色體帶有特征的實體。染色體作為遺傳物質(zhì)的主要載體,因此,在一開始需要實現(xiàn)從表現(xiàn)型到基因型的映射即編碼工作。由于仿照基因編碼的工作很復雜,我們往往進行簡化,初代種群產(chǎn)生之后,按照達爾文的關(guān)于生物進化的關(guān)于適者生存和優(yōu)勝劣汰的原理,逐代進化逐步產(chǎn)生出越來越好的近似解。
利用遺傳算法進行求得最優(yōu)解時,要根據(jù)實驗要求進行數(shù)據(jù)建模。本實驗在求得遺傳算法的適應函數(shù)時,就要進行數(shù)學建模[8]。本文選取斜率指數(shù)模型進行建模。首先在單輸入及單極點的情況下,新的數(shù)學模型為:
在多輸入多極點的情況下,數(shù)學模型為:
對于(5)式,其中a 表示系統(tǒng)的控制常量,b 表示線性變化的趨勢項,h 代表系統(tǒng)極值點的位置,p 表示極值點的高度,w 表示機制點的寬度,n 為輸入項的數(shù)目,m 為n 維空間的峰值的數(shù)目。因為該數(shù)學模型是由斜率函數(shù)和指數(shù)函數(shù)構(gòu)成,所以,稱該模型是斜率指數(shù)型模型(SEM)。
在建立數(shù)學模型后,接下來就要對參數(shù)求解,在本實驗中我們將應用最小二乘條件下的優(yōu)化解方法。因為該優(yōu)化解方法能夠考慮到綜合誤差又能考慮到局部的最大誤差。一般來說,如果假設(shè)實驗數(shù)據(jù)集為y 對于給定的y,設(shè)模型為:
采用最小二乘條件下的優(yōu)化解方法找到:
上式中的最小解就可以得到a,b,h,p,w. 其中式(7)為本實驗遺傳算法的適應度函數(shù)。
為了驗證支持向量機和遺傳算法在數(shù)控機床刀具故障的應用可行性,我們對刀具在正常工作和磨損的兩種狀態(tài)下的數(shù)據(jù)進行分類比較識別。本文以文獻[9]中表1 中的部分數(shù)據(jù)作為樣本數(shù)據(jù),表2 中的部分數(shù)據(jù)作為測試數(shù)據(jù),并將本文涉及的方法運用到刀具磨損狀態(tài)識別中去。
表1 C 的取值對實驗結(jié)果的影響
當C = 8000 時,σ2的取值對實驗結(jié)果的影響。
表2 σ2 的取值對實驗結(jié)果的影響
用MATLAB 的工具箱對實驗結(jié)果和預期結(jié)果進行比較。
圖1 MATLAB 對采用SVM 實驗結(jié)果與預期結(jié)果對比圖
從以上實驗結(jié)果可以看出,支持向量機的正確率和我們所期望的相比較,有相當高的準確率。當C= 8000,σ2= 0.01 時的訓練時間、分類間隔、支持向量個數(shù)和分類正確率都趨于穩(wěn)定,且達到了92.5%的分類正確率。C 是支持向量機分類器的重要控制參數(shù),從理論上講,在確定的數(shù)據(jù)子空間中。C 的取值越小,表示對經(jīng)驗誤差的懲罰越小。正確選取懲罰因子C 和σ2是至關(guān)重要的,也是比較繁瑣的過程?,F(xiàn)在C和σ2選取的過程是試湊,是多次試驗反復比較的結(jié)果。所以,為了能夠在較短的時間內(nèi)找到合適的參數(shù)值,我們用遺傳算法來對支持向量機的核函數(shù)的參數(shù)進行快速優(yōu)化。
(1)應用遺傳算法,首先要解決編碼問題,編碼質(zhì)量的好壞將直接影響到后續(xù)實驗的進行。在本實驗中我們應用二進制編碼方法對個體進行編碼。在編碼之前要先了解一下染色體結(jié)構(gòu)。
圖2 染色體結(jié)構(gòu)示意圖
圖中Fi表示是否被選做支持向量機的輸入。若值為1 則選中,為0 表示落選。C 表示懲罰因子。K 表示核函數(shù)的參數(shù)。適應度函數(shù)總是非負的,而且其值越大越好。從本實驗而言,設(shè)計的適應度函數(shù)為f(a,bi,hj,pi,j,wi,j)= ∑(S-y)2,經(jīng)研究分析,得出較少的故障特征和較高的診斷精度所對應的適應值也較高。那些能夠用較少的故障特征來獲得診斷精度的個體就會以較大的概率被遺傳到下一代。
(2)對種群初始化,一般對于遺傳算法而言,初始個體是隨機產(chǎn)生的,并不是個體的數(shù)目越大越好也不是越小越好。如果數(shù)目較大,收斂過程比較慢,比較難以得到最優(yōu)解,如果數(shù)目太小,就會出現(xiàn)收斂的局部最優(yōu)化問題??傊瑐€體的選擇要視具體情況而定,選擇合適的個體數(shù)目。
(3)計算個體的適應度,在依據(jù)個體的表現(xiàn)性設(shè)定支持向量機的懲罰參數(shù)以及相應的核函數(shù)之前,一定不要忘記先對其進行解碼。
(4)確定參數(shù)和遺傳算子,為了避免適應度較高的個體在較短的時間內(nèi)占據(jù)種群以及避免適應度較差的個體停止進化,首先在確定遺傳算子前,要對個體的適應度進行排序,然后按一定的比例進行復制[10],最后確定交叉概率。在遺傳算法中交叉率一般在0.4 到0.99,這樣能夠產(chǎn)生新的個體,一般設(shè)定為0.0001 到0.1,這樣既能產(chǎn)生新的個體,又可以維持種群的多樣性,防止早熟現(xiàn)象的出現(xiàn)。
本實驗用MATLAB 工具箱設(shè)定參數(shù)并得到最優(yōu)解。本實驗設(shè)定樣本的個數(shù)為30,迭代次數(shù)為20,染色體長度為10.交叉概率為0.6。變異因子為0.001,當滿足進化條件時終止,從而得到最優(yōu)化的染色體以及適應度為1.08,與之對應的懲罰函數(shù)C 的最優(yōu)解為8203,核函數(shù)的參數(shù)σ2為0.01,故障的精度為96.4%。
為了比較本文方法的優(yōu)越性,特別設(shè)計了RBF神經(jīng)網(wǎng)絡(luò)的故障診斷方法。選取相同的測試和訓練樣本,進行分解,提取各個節(jié)點的能量并組成特征向量,然后利用RBF 神經(jīng)網(wǎng)進行刀具故障診斷。與本文方法的比較結(jié)果見表3??梢钥闯?,RBF 神經(jīng)網(wǎng)絡(luò)的故障診斷方法不能有效的區(qū)分正常與故障的兩種刀具狀態(tài),并且仿真過程中,支持向量機在收斂速度和分類性能上,尤其是在小樣本分類情況下,要明顯優(yōu)于RBF 神經(jīng)網(wǎng)絡(luò)。從時間角度比較,由于本文采用遺傳算法進行參數(shù)優(yōu)化,和RBF 神經(jīng)網(wǎng)絡(luò)相比較有效地節(jié)省了實驗的時間,提高了效率,見圖3,圖4。
圖3 RBF 進行刀具磨損量識別結(jié)果圖表3 本文方法和RBF 方法比較
圖4 SVM 進行刀具磨損量識別結(jié)果圖
方法 樣本數(shù) 測試樣本數(shù)分類結(jié)果正常數(shù)分類結(jié)果故障數(shù)準確率SVM 20 20 17 19 92.5%RBF 20 20 14 13 62.5%
本文提出的基于支持向量機和遺傳算法方法的各自優(yōu)點以及數(shù)控機床中出現(xiàn)的故障特點,同時把本文的方法和RBF 神經(jīng)網(wǎng)絡(luò)方法加以比較。結(jié)果發(fā)現(xiàn),支持向量機和遺傳算法的結(jié)合明顯優(yōu)于RBF 神經(jīng)網(wǎng)絡(luò)。為數(shù)控機床的刀具診斷提供了一種切實有效的方法。
[1]賈偉廣,胡丹,車暢. 基于小波分析 和支持向量機的刀具故障診斷[J]. 組合機床與自動化加工技術(shù),2010(12):65-70.
[2]金珠,馬小平. 基于云模型的最接近 支持向量機增量學習方法[J]. 計算機應用研究,2011,28(5):1165-1191.
[3]張學工. 關(guān)于統(tǒng)計學習理論與支持向 量機[J]. 自動化學報,2000,26(1):33-42.
[4]劉勇,康立山,陳毓屏. 非數(shù)值并行算法——遺傳算法[M]. 北京:科學出版社,2000.
[5]Samanta B.Artificial networks and genetic algorithms for gear fault detection[J]. Mechanical System and Signal Processing,2004(18):1273-1282.
[6]Zhang L,Jack I B,Nandi A K.Fault detection using genetic progrming[J]. Mechanical System and Signal Processing,2005(19):271-289.
[7]閻平凡,張長永. 人工神經(jīng)網(wǎng)絡(luò)與模擬進化計算[M]. 北京:清華大學出版社,2005.
[8]趙世平,廖俊必,袁中凡. 基于遺傳算法的實驗數(shù)據(jù)建模[M]. 哈爾濱:哈爾濱工業(yè)大學出版社,2005.
[9]路勇. 加工工況信息遠程監(jiān)測與刀具損識別技術(shù)的研究[D]. 哈爾濱:哈爾濱工業(yè)大學,2000.
[10]雷英杰,張善文,李續(xù)武,等. Matlab 遺傳算法工具箱及應用[M]. 西安:西安電子科技大學出版社,2005.