关于一种数控铣刀磨损量监测识别新算法研究
2017-07-10尹勇
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),男,江苏连云港人,硕士在读,讲师,主要从事机械制造、工业机器人等方面的教学与研究。