DOI:10.19392/j.cnki.16717341.201720167
摘要:目前,歐美及日本等國學者針對各種刀具磨損現象提出了比較多的刀具磨損監測理論與方法,這些刀具磨損監測方法與理論其核心思想是建立刀具磨損識別關鍵在于刀具磨損量特征值的模式識別所采用算法。本文通過對數控銑刀特征值的處理上,采用了一種支持向量機的模式識別方法,并結合目前一種最新的蝙蝠算法,對其特征值進行參數優化,并對比采用蝙蝠算法的支持向量機刀具磨損識別方法與不采用蝙蝠算法支持向量機的刀具磨損模式識別方法,兩者在識別效果上前者識別有效性有了較大的提高。
關鍵詞:數控銑刀;支持向量機;蝙蝠算法;模式識別
在數控銑削加工中,其過程是通過銑刀切除多余材料來完成零件的加工,其切削特點為一種不連續切削過程,切削用量較大,因此銑刀極易發生破損而影響加工過程甚至導致零件廢品。而數控銑刀磨損的發生過程是一個動態、細微過程,人工監測刀具磨損很難實現較好的效果。
為此,國內外眾多學者對于數控銑刀具磨損量動態實時監測采用了多種現代化監測手段來完成刀具的磨損量實時監測來判斷刀具的磨損狀態。如國內學者西南交通大學的劉芽車刀磨損量監測中采用了多傳感器信息融合算法,分別應用了BP神經網絡、RBF神經網絡、支持向量機三種方法分別對刀具磨損量特征值數據進行識別[1];李敏在神經網絡的基礎上利用粒子群對神經網絡的參數進行了優化完成了刀具磨損量特征值數據進行識別;聶鵬等利用Elman神經網絡對于刀具磨損量特征值數據進行識別,均取得了一定的成果。
特別是學者劉芽在車刀磨損量特征值數據整合中對比BP神經網絡、RBF神經網絡、支持向量機三種典型的融合算法,從診斷精度、訓練時間長短、對于核函數選擇的難易性及依賴程度上進行了對比分析,發現在刀具磨損量特征值數據融合眾多方法中,支持向量機診斷精度最高、訓練時間最短、對于核函數的依賴性低,因此本文是基于支持向量機融合算法,另外國內學者嘗試用遺傳算法、粒子群優化算法等算法對神經網絡的參數進行了優化,如學者李敏通過BP神經網絡與粒子群優化后的BP神經網絡對同一個刀具磨損量特征值融合的兩種方法比較,發現兩種方法均能正確的反映刀具磨損狀態,但是兩種方法在測試樣本上的均方誤差是有差別的,粒子群優化神經網絡誤差更小,識別準確率更高[2]。
1 支持向量機方法簡介
支持向量機是統計學中用于機器學習的比較新的形式,由統計學中的結構風險最小化原則提出的,其處理核心要解決兩方面的問題:一方面在于最優超平面的構造,另外一方面在于非線性問題的處理。
1.1 最優超平面的構造
最優分類面示意圖
線性可分的最優平面的構造是基于這樣的定義:設兩類樣本集xi,yi,xi∈Rn,yi∈-1,+1,i=1,…,l,
式中:
L—樣本總數;
N—樣本空間的維數;
Y—為樣本的類別標志;
如上圖所示,描述為二維兩類線性可分,圖中實心點為一類,空心點為另一類,并設多維空間中點、直線、平面,以及超平面,統一作為超平面,記作H,用法向量表示其方向。另外H1、H2為通過兩類樣本中離超平面最近的直線,直線與H的距離稱之為分類距離。H的表達式為:
w·x+b=0(公式1)
在線性可分情況下,其訓練樣本集
T=x1,y1,…,xl,yl∈x×yl,xi∈x=Rn,yi∈y=-1,1,i=1,…,l;構造求出變量w和b的最優化問題:
minw,b12w2(公式2)
yiw·xi+b≥1,i=1,…,l
求得最優解w和b;構造分劃超平面w·x+b=0,由此求得決策函數:
fx=sgnw·x+b(公式3)
1.2 核函數
核函數方法可以解決將線性不可分的分類問題,n維空間中的線性不可分的隨機矢量x映射到某一高維特征空間,并使高維特征空間具有對應的線性算法,核函數不同,則支持向量機算法不同,目前核函數使用比較多的有三種。
表41 常用的核函數
常用的核函數公式
q次多項式函數Kx,xi=x·xi+1q
徑向基函數核函數Kx,xi=exp-x-xi2σ2
Sigmoid函數Kx,xi=tanhvx·xi+a
就刀具多傳感器支持向量機研究而言,無法確定什么樣的函數為最好,因為對于上述三種核函數甚至其他如小波函數等作為核函數,對向量機而言結果都極為相似,所以選擇哪一種核函數對于向量機并不重要。
1.3 支持向量機一對多分類器構造方法
考慮到本文銑刀磨損量監測系統的實際情況,應該選用一對余類算法。
一對余類算法,對于k(k≥2)類SVM分類問題,構造了k個兩類分類器,自然地將k分類問題轉化為k個兩類SVM分類問題。設有l個訓練數據為(x1,y1),…,(xi,yj),其中,xi∈RD,yj∈{1,…,k}為xi的類別標號,i=1,2,…,l。第i個SVM需要解決下面的最優化問題:
minwi,bi,ξi12wiTwi+C∑1j=1ξij(公式4)
其約束條件為:
wiTΦxj+bi≥1-ξij,yj=iwiTΦxj+bi≤-1+ξij,yj≠i
其中ξij≥0;j=1,…,l(公式5)
得到k個決策函數:w1TΦx+b1,…,wkTΦx+bk。測試x屬于決策函數輸出值最大的那一類,即x的類屬為:
argmaxi=1,2,…kwiTΦx+bi(公式6)
2 優化支持向量機參數——蝙蝠算法介紹
2.1 支持向量機算法缺陷
支持向量機方法雖然在解決小樣本問題方面、解決維數災難問題方面、避免出現局部極小值方面體現了較好的泛化性,但因為靠經驗選擇核函數、懲罰因子,因此工作量較大,且很難找到函數全局最優值,使得精度方面很難提升。
對于支持向量機的核函數、懲罰因子參數優化方法的研究上,國內外的學者主要通過一些智能方法進行上述兩者參數的優化,如王克奇、陸梓端等利用遺傳算法的全局尋優、搜索能力強等優點對核函數、懲罰因子參數進行優化,取得了較好的精度、優化了計算時間;國內一些學者利用粒子群算法優化核函數、懲罰因子參數,相比較支持向量機方法在正確性上得到了提升,因此通過各種智能算法優化核函數、懲罰因子成為改善支持向量機分類效果的較為有效的途徑,本文基于此種方法為基本出發點,結合當前比較有效的蝙蝠算法,優化了核函數、懲罰因子,并驗證了這種方法的可行性和更好的分類準確性、穩定性。[3]
2.2 蝙蝠算法簡介
蝙蝠算法誕生于2010年,是一種元啟發式優化算法 ,簡稱BA,此算法假設條件如下:每個位置xi上的蝙蝠的隨機飛行速度為vi,其頻率、響度、脈沖發射率分別為Fi、Ai、Ri,如發現獵物,則對應的Fi、Ai、Ri會產生變化,從而得到獵物的方向、速度和距離。
(1)蝙蝠速度和位置更新公式
在高維搜索空間中,xti表示t時刻第i只蝙蝠的位置,vti表示此時刻的速度,則在下一時刻蝙蝠xt+1i和vt+1i更新公式如下:
Fi=Fmin+Fmax-Fmin×Rand(公式7)
vt+1i=vti+xti-xbest×Fi(公式8)
xt+1i=xti+vt+1i(公式9)
式中:Fi—聲波的頻率;
xti—t時刻第i只蝙蝠的位置;
vti—此時刻的速度
Rand∈0,1由隨機產生的最佳位置,為當前全局最優解。
(2)響度和脈沖速率
A(i)和R(i)若在更新過程中發生更新迭代。A(i)趨近于零時,意味著蝙蝠i剛剛發現一只獵物,在接近獵物的過程中,A(i)不斷降低而R(i)增加。具體更新公式如下:
At+1i=α×Ati(公式10)
Rt+1i=R0i×1-expγt(公式11)
其中:0<α<1,γ>0,都為常數。
2.3 蝙蝠算法的支持向量機參數優化
(1)以銑刀磨損量特征值數據根據三因素正交表及新刀狀態、輕微磨損量狀態、穩定磨損量狀態、急劇磨損狀態各按0.5:0.5設置為學習樣本集A、測試樣本集B。
(2)設置算法各項參數如下表所示:
表2 設置初始參數表
參數名稱最大迭代次數N蝙蝠種群大小SOL脈沖的響度A發射速率R實驗次數Ni
參數值500200.250.510
(3)根據經驗設置懲罰參數C設置范圍為[10,1000],RBF核參數δ為[0.01,10]。
(4)通過公式xmin+Rand1,D×xmax-xmin初始化種群,種群維數為D=33。
(5)以參數組合(C,δ)在訓練樣本A上訓練,將測試樣本在訓練樣本A訓練出來的模型上測試,以分類準確率為適度值。
(6)以下表3公式進行脈沖頻率更新、蝙蝠飛行速度更新、蝙蝠個體的更新,從而產生新的蝙蝠個體。
表3 更新公式1
脈沖更新公式飛行速度更新公式蝙蝠個體的更新
Fi=Fmin+Fmax-Fmin×Randvt+1i=vti+xti-xbest×Fixnewi=xold+ε×At
(7)當Rand1>Ri,Rt+1i=R0i×1-expγt。式中0<α<1,γ>0,對蝙蝠最優個體XBEST進行擾動,以新個體替換當前蝙蝠;當Rand2
表4 更新公式2
脈沖頻度R(i)更新公式脈沖音強A(i)更新公式
Rt+1i=R0i×1-expγtAt+1i=α×Ati
(8)當到達最大迭代次數 N時,算法流程一個循環結束,輸出最優參數;否則轉到(4)繼續執行。
3 基于蝙蝠算法支持向量機銑刀磨損量監測系統效果分析
通過上述流程,得到最優參數XBEST,在支持向量機用訓練樣本上訓練,用訓練的模型在測試樣本上測試。參數優化后的支持向量機在銑刀磨損量識別方面的效果從兩個方面即迭代收斂過程、對二種(默認參數、蝙蝠算法優化參數)支持向量機在銑刀磨損量特征值分類的最優分類精度進行評價:表5為默認參數、蝙蝠算法優化參數支持向量機在最優分類精度效果評價。
通過表5,可以看出在基于蝙蝠算法優化的SVM的銑刀磨損量監測系統在分類精度上要高于默認參數的SVM的銑刀磨損量監測系統,在蝙蝠算法優化懲罰參數C=1000,RBF核參數δ=0.0218時在銑刀磨損量方面的分類精度最高,達到9870%,并且比默認參數下的支持向量機分類精度高出1082%。說明蝙蝠算法優化SVM在銑刀磨損量識別方面有較好的效果和可行性。
參考文獻:
[1]劉芽.基于EEMD和支持向量機的刀具狀態監測方法研究[D].成都:西南交通大學,2012.
[2]唐亮,傅攀,李敏.基于小波包和PSO優化神經網絡的刀具狀態監測 [J].中國測試,2016,(3).
[3]李枝勇,馬良,張惠珍.蝙蝠算法在多目標多選擇背包問題中的應用[J].計算機仿真,2013,30(10):350353.
作者簡介:尹勇(1982),男,江蘇連云港人,碩士在讀,講師,主要從事機械制造、工業機器人等方面的教學與研究。