APP下载

改进PSO_BP_Adaboost算 法在尺寸超差故障诊断中的应用

2018-11-09姜春英康玉祥叶长龙于苏洋

中国机械工程 2018年20期
关键词:权值分类器故障诊断

姜春英 康玉祥 叶长龙 于苏洋

沈阳航空航天大学机电工程学院,沈阳,110136

0 引言

在线智能监测技术可以对机械设备故障进行准确的分类和预测,对机械产品质量和生产成本的控制,以及安全高效的生产保证都有重要的意义。

国内外学者在智能故障诊断方法上进行了大量的研究工作。LEE等[1]研究了连续HMM(hid⁃den Markov model)故障诊断方法,并用于机械设备故障诊断。WIDODO 等[2]、SAMANTA[3]、YU等[4]对支持向量机、神经网络进行了深入研究,并用于齿轮、轴承等零件的故障诊断。PAYA等[5]进一步运用BP网络,实现了旋转机械的故障诊断。零件故障诊断问题可归为特征分类问题,鲍久圣等[6]构建BP网络模型用于焊接疵点的分类,得到了很好的效果。BP网络具有很好的适应能力和训练能力,但很难设置理想的连接权值和阈值。粒子群优化(particle swarm optimization,PSO)算法提升了BP网络的分类、回归等方面的性能,并在车牌号码识别[7]、发动机参数优化[8]等方面得到了较好的应用。

本文针对零件尺寸超差问题,提出了一种改进PSO_BP_Adaboost算法来解决分类收敛问题,将所提算法用于尺寸超差故障诊断。

1 BP_Adaboost算法改进模型

1.1 改进的PSO算法优化BP网络

PSO作为一种群体智能搜索算法,具有实现原理简单、全局搜索能力强等优点[7]。采用PSO算法优化网络的初始权值和阈值可以提高BP网络的性能[9⁃10]。传统的PSO算法通过下式实现粒子位置和速度的更新[12]:

式中,vid(t)、Xid(t)分别为 t时刻第 i个粒子的速度和位置;Pid、Pgd分别为第i个粒子的个体极值位置和粒子群全体极值;w为惯性权重因子;c1、c2为学习因子;Rnd1、Rnd2是0~1之间的随机数。

PSO算法通过“追踪”Pid和Pgd两个参数实现进化的目的。为了提高算法全局搜索能力,避免粒子陷入局部最优解,同时考虑到智能群体在搜索过程中会带有一定的随机性,将式(1)中的惯性权重w改为高斯随机数Rnd3来表示先前速度对当前速度的影响具有随机性。另外,为了表达当前位置和速度对下一个位置的随机影响程度,在式(2)增加了随机搜索因子η:

为了验证改进PSO算法的有效性,本文对改进PSO算法在研究者普遍使用的几个测试函数[11⁃12]上进行了测试,并将其与传统PSO算法进行比较。结果显示,改进的PSO算法无论是在迭代次数还是在精度方面都要优于传统的PSO算法,因此,可以用来优化BP神经网络的初始权值和阈值。测试结果见表1,部分测试函数适应度与迭代次数关系如图1所示。

表1 PSO算法测试结果表Tab.1 PSO algorithm test results table

图1 函数适应度曲线Fig.1 Function fitness curves

1.2 改进的BP_Adaboost算法模型

Adaboost算法[9⁃15]首先需要建立多个不同的弱分类器,然后将这些弱分类器组合成强分类器,以达到提高分类器泛化性能的目的。对于具有k个类别的多分类问题,传统的Adaboost算法通过提高前一个弱分类器错分样本的权值,同时降低被正确分类样本的权值,来找到多个错误率小于1/2的弱分类器。但是,随着弱分类器的增加,很可能导致弱分类器的错误率达不到要求,存在弱分类器数量不足、不能组合成为足够好的强分类器的可能。针对此问题,在汲取SAMME[16]算法经验的基础上,对Adaboost算法的权值分配策略进行了改进:

式中,at为第t个弱分类器的权值,t=1,2,…,K;K为总的弱分类器个数;εt为第t个弱分类器的错误率。

在原算法的基础上增加ln(K-t+1)。改进后,每个弱分类器的分类错误率只需满足εt≤(K-t+1)/(K-t+2)的要求即可。

运用改进的权值分配策略,采用经典的“一对一”多分类方法设计多分类器。具体算法如下。

输入:训练数据样本T={(xl,yl),…(xm,ym)},其中输入数据xi∈X,标签yi∈{1,2,…,N}。

输出:强分类器G(x),分类结果。

(1)for j=1:N-1

for k=j+1:N

将yj=j的数据样本设置为正类,yk=k的样本设置为负类。

(2)训练数据样本T的权值分布初始化:

(3)for t=1:

①在训练样本的权值分布下,训练PSO优化后的BP神经网络作为第t个弱分类器ht(x)。

②计算ht(x)的误差率:

③计算ht(x)的权值分配系数:

④更新训练数据样本的权值分布:

式中,Zt为归一化因子。

end

(4)得到最终的强分类器G(x)输出分类类别

M为设置弱分类器的个数。

end

end

1.3 改进PSO_BP_Adaboost算法

改进PSO_BP_Adaboost算法的流程如图2所示,算法采用MATLAB软件在UCI数据集(选用研究者普遍使用的几个数据集)[17]Pen⁃Digits、Letter、Wine上进行测试。数据集的有关信息如表2所示。

图2 PSO_BP_Adaboost算法流程图Fig.2 PSO_BP_Adaboost algorithm flow chart

表2 测试数据集信息表Tab.2 Test data set information table

传统BP_Adaboost算法和PSO_BP_Ada⁃boost算法在相同迭代次数时的分类误差如图3~图5所示,可以看出本文所提算法在弱分类器个数和测试误差方面都优于传统的BP_Adaboost算法。

图3 两种算法在Wine数据集上的误差Fig.3 Error of two kinds of algorithms on Wine data set

图4 两种算法在Pen-Digits数据集上的误差Fig.4 Error of two kinds of algorithms on Pen-Digits data set

图5 两种算法在Letter数据集上的误差Fig.5 Error of two kinds of algorithms on Letter data set

2 加工尺寸超差故障诊断实例

2.1 参数选择

采用三坐标测量仪检测汽车发动机缸盖上的孔直径。该型缸盖上分布6个不同位置的孔,为减小计算量,任意选取4个孔的测量值作为BP网络的输入。

根据对加工零件尺寸超差故障的分析,以及对每次故障记录数据的判断,将该零件尺寸超差故障产生的原因分为刀具的磨损和机床/操作者/环境因素。

本文对零件加工尺寸数据进行处理,将数据分为3类进行分析,表3所示为零件尺寸类别标签及类别名称。

表3 测试数据分类表Tab.3 Test data classification table

2.2 建立模型

选取检测记录的150组数据模型进行训练,随机选取其中100组数据作为训练样本数据,50组数据作为测试样本。

本文中PSO_BP_Adaboost算法有4个输入、1个输出,4个输入分别为直径1、直径2、直径3、直径4,1个输出为“一对一”分类方法中设置的正类或负类,即输出为{+1,-1}。

设置BP网络的结构为4⁃10⁃1,即输入层由4个神经元、隐含层有10个神经元、输出层有1个神经元。整个BP神经网络共有4×10+10×1=50个权值和10+1=11个阈值,则PSO算法要优化的参数个数为50+11=61。BP神经网络采用MATLAB自带的函数newff创建,训练次数为100,训练目标为0.001,学习率设置为0.1。

在PSO算法优化BP网络的过程中,PSO算法的进化次数为10,种群规模为10。

优化的BP_Adaboost算法中,采用10个BP网络作为弱分类器组成一个强分类器,测试样本数据共有3类,根据“一对一”分类算法,共需要3×(3-1)/2=3个强分类器,总共需要3×10=30个弱分类器。

2.3 结果分析

训练好模型后,本文选取的50组测试数据中,只有1组测试结果与实际情况不相符,正确率达到98%。图6为传统BP_Adaboost算法和PSO_BP_Adaboost算法的误差率比较图,可以看出本文所提方法误差较小。表4所示为本文所提方法与SVM、Adaboost.M1算法的测试结果。结果显示,针对所选的测试数据,本文所提方法较SVM和Adaboost.M1算法有更高的分类正确率,说明本文所提方法可以用于零件尺寸超差故障诊断。

图6 两种算法误差率Fig.6 Two algorithm error rates

表4 不同分类算法测试结果Tab.4 Test results of different classification algorithms %

3 结论

提出了改进的PSO算法及Adaboost算法,应用PSO算法快速寻优的特点,优化BP神经网络的连接权值和阈值,通过训练多个优化后的BP神经网络弱分类器组合成Adaboost强分类器。对所建立的强分类器算法,采用某一零件的测量尺寸数据进行验证。试验结果表明,本文所提的算法正确率较高,性能较好,可以用于零件尺寸超差故障的分类检测。

猜你喜欢

权值分类器故障诊断
一种融合时间权值和用户行为序列的电影推荐模型
基于包络解调原理的低转速滚动轴承故障诊断
基于特征选择的SVM选择性集成学习方法
基于深度优先随机森林分类器的目标检测
数控机床电气系统的故障诊断与维修
强规划的最小期望权值求解算法∗
程序属性的检测与程序属性的分类
基于差异性测度的遥感自适应分类器选择
基于权值动量的RBM加速学习算法研究
基于量子万有引力搜索的SVM自驾故障诊断