徐 凯,张会妨
(1.新乡职业技术学院 数控技术学院,河南 新乡 453000;2.新乡职业技术学院 教务处,河南 新乡 453000)
随着科学技术的发展,工程数据处理与挖掘技术的进步为复杂系统的控制和可靠性的提高提供了可能性[1-3]。
对机械设备中的关键零部件进行有效分析,进而对设备进行缺陷识别,这已经成为工业界广泛关注的问题[4]。滚动轴承在机械设备中承担旋转、支承和传递载荷等功能,而套圈沟道的表面缺陷直接影响着轴承服役的性能和寿命。因此,研究轴承沟道的缺陷识别具有重要意义[5]。
近几年来,随着传感器技术的发展,大量的监测数据被记录了下来。针对零部件观测数据呈现大规模、非线性、高维度的特点,为了充分利用观测到的数据,目前采取的较流行的方法是利用机器学习构建模型,从而实现特征与输出结果的非线性映射。由于算法的输出与输入的特征关系密切,并非所有的输入都是有效信息,因此,需要对原始信号特征进行特征选择[6]。特征选择是从原始特征中选择出一些有效特征,其目的是降低数据集维度,过滤冗余特征,提高算法的表现性能。由于在初始特征提取阶段无法确定原始信号特征对机器学习模型预测结果的影响程度,因此,需要尽可能保留更多采集到的信号特征,这导致构建影响轴承表面完整性的特征集合呈现复杂特性,极大地增加了训练成本。史杨梅等人[7]基于小波多尺度分析和极度梯度提升树(XGBoost),提出了一种融合特征选择相结合的轴承故障诊断算法,实现了故障有效特征选择的目的,提高了轴承故障的识别精度。侯钰哲等人[8]将灰狼优化算法与过滤法相结合,提出了一种轴承缺陷识别方法,实现了冗余特征过滤的目的,显著提高了轴承缺陷识别的准确率。范春旸等人[9]提出了一种基于平均精确率减少的故障特征选择方法,并借此对轴承故障进行了分析,结果表明该方法能够选择出对轴承状态较为重要的特征,实现对原始数据进行降维的目的,提高了轴承状态的识别准确率,并且具有较好的普适性。
上述这些方法虽然能够实现轴承故障特征选择的目的,但只考虑了特征与标签之间的潜在关系,而忽略了特征之间的复杂关系。
进行故障特征筛选后,采用合适的机器学习算法,能够有效地提高机械表面缺陷的识别精度。GUAN Shan-yue等人[10]将频域信号的特征与遗传算法(genetic algorithm,GA)、支持向量机(support vector machine,SVM)相结合,用以识别机械表面的缺陷信息,取得了一定的成效。侯智等人[11]采用前馈神经网络(back propagation,BP),建立了主成分与沟道表面粗糙度之间的映射关系模型,并且有效地提高了轴承套圈沟道磨削过程的质量监控能力。刘文芳等人[12]将数字信号处理与支持向量机相结合,实现了对机械表面缺陷位置进行准确计算的目的。曾昭洋等人[13]采用多维尺度法(multidimensional scaling,MDS)和主成分分析法(principal component analysis,PCA),对轴承内圈沟道表面粗糙度的数据进行了研究,分析了数据之间的关系,探索了航空发动机主轴轴承运行时的滑蹭特性。
上述研究结果表明:虽然机器学习方法被广泛用于轴承沟道的缺陷检测,但是在该领域,针对自动化参数调整方法的研究却相对较少。
针对这些问题和不足,笔者提出一种基于RFE-BXGBoost的轴承套圈沟道表面缺陷的识别模型。
首先,针对轴承沟道表面缺陷信号特征的高维度监测特征,笔者采用递归特征消除法(recursive feature elimination,RFE)[14]对信号特征进行筛选;然后,将筛选后的特征作为经过改进的极度梯度提升树模型的输入,建立轴承套圈沟道的缺陷识别模型,以期实现对轴承套圈沟道缺陷的准确识别。
RFE[15]是一种基于模型训练结果进行特征选择的贪婪优化算法,可以用于对轴承沟道的监测特征进行排序,选出最优的特征,以此来构建轴承的缺陷类别识别模型,有效减少影响轴承沟道缺陷识别精度的冗余特征,提高学习器对轴承沟道缺陷的识别性能。
RFE通过反复迭代,在每次迭代时保留最佳特征或剔除影响程度最低的监测特征,进行下次迭代时,通过使用上一轮未被选择的监测特征构建新的模型,直到所有影响轴承沟道表面缺陷识别精度的特征被充分利用。
笔者根据保留或者剔除缺陷特征的顺序对监测特征进行排名,从而获得构成代表轴承沟道信息的最佳监测特征集合。
XGBoost算法由CHEN Tian-qi等人[16]提出,致力于让提升树突破自身计算极限,以达到快速运算、提升性能的目的。
和传统的梯度提升算法相比,XGBoost进行了改进,能够比其他使用梯度提升的集成算法更加高效,具有强大的预测性能。
XGBoost被用于轴承套圈沟道的缺陷识别,能够充分利用代表轴承沟道特征集合的有效信息,在提高识别精度的同时降低过拟合的风险。
其整体迭代的数学表达式为:
Hk(xi)=Hk-1(xi)+fk(xi)
(1)
式中:Hk(xi)为k棵树上i号样本的预测结果;Hk-1(xi)为第i号样本在前k-1棵树上的预测结果;fk(xi)为第i号样本在第k棵树上的预测结果。
XGBoost的训练流程如图1所示。
图1 XGBoost的训练流程
在训练过程中,XGBoost实现了树模型的学习能力和过拟合风险之间平衡的目的。
其目标函数数学表达式为:
(2)
(3)
式中:T为每棵树中的叶子节点数量;w为叶子权重。
对XGBoost而言,fk只和单个样本的预测精度有关,T与树的结构有关,wj与精度和树结构都有关系。
因此,由二阶泰勒展开式可得:
(4)
(5)
式中:gik和hik分别为第k棵树上第i个样本的一阶导函数和二阶导函数。
对于任意的叶子节点j上的样本i,在数值上fk(xi)=wj。
因此,对于整棵树有:
(6)
(7)
最终,获得的XGBoost目标函数为:
(8)
通过对式(8)中的wj求偏导,使其为0,可得:
(9)
将最优的wj代入到原目标函数中,可得所有叶子节点的损失为:
(10)
对于一片叶子节点而言,有:
(11)
在分支的过程中,希望目标函数越小越好,因此可以获得:
(12)
式中:Gain为信息增益;R为右孩子节点;L为左孩子节点;P为父节点。
针对轴承沟道的监测数据呈现大规模、非线性、高维度的特性,笔者基于RFE和XGBoost算法,构建了一种改进的机器学习算法RFE-BXGBoost轴承套圈沟道缺陷识别模型。
该模型组成如图2所示。
图2 RFE-BXGBoost轴承套圈沟道缺陷诊断模型
在RFE-BXGBoost中,笔者首先利用递归特征减少法的交叉验证(recursive feature elimination cross validation,RFECV)对监测信号进行特征选择,确定最恰当的代表轴承沟道的信息子集;然后,根据确定后的信息子集,利用贝叶斯优化的XGBoost轴承套圈沟道缺陷识别的弱分类器,使用有放回随机抽样对构建的弱分类器进行随机采样,以进一步降低轴承套圈沟道缺陷识别模型的方差;最后,基于随机采样的结果,使用投票法获得最终的轴承套圈沟道缺陷识别结果。
在实际工程中,由于设备仪器、网络信号等因素,传感器采集到的数据存在异常值、缺失值,以及量纲不统一等问题,若直接将原始数据用于构建轴承套圈沟道缺陷识别模型,会导致预测结果与真实结果误差较大。
因此,要对采集到的数据进行预处理。笔者需对获取的监测数据集进行min-max归一化处理,将数据压缩至(0,1)之间。
首先,笔者使用RFECV确定影响轴承套圈沟道的最佳特征数据集,将经过预处理后的信息特征作为XGBoost的输入,实现RFECV的初始化;
然后,根据XGBoost计算的权重对该轴承沟道的监测特征进行排名,获得初始化的特征重要性的排序结果;
最后,采用自适应过滤法[17]获得能够代表轴承沟道表面缺陷的特征信息,从而实现对监测特征最佳子集进行选择的目的。
笔者将经过RFECV选择出来的监测特征作为XGBoost输入进行训练,将输出的样本缺陷类别与该样本的真实类别进行对比,不断缩小迭代得到的输出误差,从而更新权重矩阵;
采用贝叶斯优化算法对XGBoost的超参数进行优化,得到训练好的弱分类器,使用有放回随机抽样对构建的弱分类器进行随机采样,以获得训练好的模型;将测试集代入训练好的XGBoost模型,最终得到轴承套圈沟道表面缺陷类型的预测结果。
笔者选取准确率(accuracy)、召回率(recall)、精确度(precision)、F1-Score对缺陷诊断的结果进行评价。
其计算公式如下:
(13)
(14)
(15)
(16)
式中:TP为真实为正样本,预测为正样本;FN为真实为正样本,但是预测为负样本;FP为实际值为负样本,预测为正样本;TN为实际值为负样本,预测为负样本;accuracy为分类模型所有判断正确的结果占总观测值的比重;precision为预测样本,为正样本中的真实样本,为正样本所占的比例;recall为真实标签,为正样本中预测正确的样本所占的比例;F1-Score为precision和recall的调和平均数。
此处的实验均在Anaconda环境下,程序由python 3.7进行编写。
程序的运行硬件环境如表1所示。
表1 程序运行硬件环境
为了验证RFE-BXGBoost的有效性,笔者还使用了传统的机器学习算法,包括自适应提升法(AdaBoost)[19]、随机森林[20]、梯度提升树[21]。机器学习框架使用了“sklearn”、“XGBoost”及“hyperopt”库函数。
此处使用传统算法的参数均为默认参数。
此处使用的轴承套圈数据来自某轴承制造企业(其利用超声检测技术获得了轴承振动信号)。
根据文献[18],笔者在加速度传感器获得的振动信号的基础上,采用频域积分法获得了位移信号,并使用温度传感器采集获得了非振动信号的数据。
轴承型号部分参数如表2所示。
表2 轴承的基本参数
部分信号采集设备如图3所示。
图3 测试现场图
在图3中,笔者通过加速度传感器和温度传感器进行了数据采集,传感器采样频率为12 kHz,每秒采集12 000个点;针对每个轴承,笔者取12 000个数据点为一个样本。
基于文献[19-20]所述的特征衍生思想,笔者针对所获得的位移信号和温度信号,利用时域和频域分析,获取了数据统计特征和数据分布特征,通过超声检测获得了损伤的类型、损伤程度等特征。
笔者提取的部分信号特征如图4所示。
图4 部分参数信号特征
笔者最终获得包含24个特征的实测数据集,共1 655个数据样本,无异常值;并根据不同缺陷类型为获取的信号特征确定标签。
图4中,数据集特征包括温度、位移信号的时域和频域的均值、方差、峭度、偏斜度。
笔者由超声检测获得表面光度、缺陷轴向边界大小、缺陷周向边界大小、缺陷最小轴向边界距离、缺陷深度等。
缺陷类别包括凹陷刮痕、凸起变形、其他缺陷这3个类别。
该数据样本中,以划痕为代表的其他类别最短划痕长度大于2 mm,凹陷区域直径大于3 mm,深度大于等于0.5 mm,凸起直径大于2 mm,高度大于0.3 mm。
为避免样本不平衡对模型精度造成的影响,3种缺陷类别所占总体样本比例近似为1∶1∶1。笔者通过随机划分获得1 324条训练样本,331条测试样本。
4.2.1 不同特征子集下的预测结果
此处笔者对轴承套圈实测数据集进行了min-max归一化处理,将处理好的原始数据作为XGBoost的输入,实现RFECV的初始化;将获得的特征子集作为贝叶斯优化的XGBoost算法进行训练,将测试样本代入到模型中,获得测试的识别精度。
不同的特征子集下,测试集的识别精度如图5所示。
图5 不同样本子集的评分
图5中,XGBoost被用于RFECV的基模型,当子数据集中的特征包含14个时,在测试样本上的准确率、召回率、精确度、F1-Score均达到最大值;当特征数量超过14时,衡量指标均有下降,并且趋向平稳趋势。
因此,可以确定选出的最佳子集含有14个特征。笔者将其作为贝叶斯改进的自适应提升法(Bayesian AdaBoost,BAdaBoost)预测模型的输入。
4.2.2 贝叶斯优化前后的精度对比
此处,贝叶斯优化[21]被用于XGBoost的超参数调整,它利用过去目标的评估结果建立替代函数,以找到目标函数的最小值。与网格搜索相比较,优化模型参数的过程更加简单,运行的速度更快,可以提高超参数调整的效率。该实验要追求最大的F1-Score构建目标函数。
贝叶斯的调参范围与结果如表3所示。
表3 部分参数调参范围
由表3可知:在笔者使用的数据集中,random_sample的参数为50,subsample的调参结果为0.8,表示当贝叶斯优化下的XGBoost组成的弱分类器的总数为50,被用于有抽样放回的比例为整体的0.8时,可获得最优结果。
实验结果如图6所示。
图6 使用贝叶斯优化前后的对比
从图6中可以看出:使用贝叶斯优化后,模型的识别精度相对于原始模型能够有效提升。
使用贝叶斯优化算法和随机网格搜索的结果如表4所示。
表4 不同优化算法的计算结果
从表4中可知:贝叶斯优化算法在保证了精度的同时,其计算时间也大幅度下降,时间减少了27.86%。
4.2.3 不同算法的影响
为了探究不同算法在该轴承套圈沟道缺陷诊断数据集上的预测精度,笔者将RFE-BXGBoost算法和AdaBoost、随机森林、梯度提升树分别进行对比。
实验结果如图7所示。
图7 不同算法的对比结果
由图7可知:在该数据集上,采用传统机器学习算法表现最优的是GBDT,对于准确率、召回率、精确度,F1-score这4个指标,RFE-BXGBoost相较梯度提升决策树(gradient boosting decision tree,GBDT)仍然有较为明显的提升,分别提高了6.38%、5.24%、5.79%、5.52%。
这说明,笔者所建立的模型能够准确识别出缺陷的类别。
RFE-BAdaBoost在测试集上的混淆矩阵如表5所示。
表5 RFE-BXGBoost在测试集上的混淆矩阵
由表5可知:RFE-BXGBoost能够用于准确地识别出划痕类型缺陷和其他类型的缺陷。
GBDT在测试集上的混淆矩阵如表6所示。
对比表5和表6可知:RFE-BXGBoost能够用于准确地识别出划痕类型缺陷和其他类型的缺陷,对于凸起的缺陷类型的预测精度则有所下降。
一个有趣的现象是:凸起缺陷和划痕缺陷较为容易被混淆,RFE-BAdaBoost对划痕的误识别有了极大的改善;
在笔者所使用的测试集中,对划痕识别的准确率为0.875,相对于GBDT提高了12.5%;而对于凸起缺陷的识别,RFE-BAdaBoost则相对于GBDT提高了2.8%。
针对轴承套圈沟道缺陷诊断问题,笔者提出了一种改进的轴承沟道表面缺陷识别模型。
首先,基于特征衍生的思想,对轴承沟道的时域、频域等特征进行了提取,面对高维度的特征,使用XGBoost作为RFE的基学习器,对影响轴承沟道表面缺陷最佳特征子集进行了选择,且将其作为弱分类器的输入;然后,使用有放回随机抽样方式,对贝叶斯优化下XGBoost模型组成弱分类器进行了选取,并在此基础上,使用投票法获取了最终的表面缺陷识别结果;最后,根据实际的轴承沟道缺陷数据,对上述的算法模型进行了实验验证。
研究结果表明:
1)利用XGBoost作为RFE的基分类器,在考虑特征之间复杂潜在关系的同时,对轴承套圈沟道样本进行特征选择,可以减少数据规模,从而改善数据高维度的问题;
2)根据特征选择的结果,利用贝叶斯优化建立了XGBoost轴承套圈沟道缺陷识别的弱分类器模型,可实现弱分类器参数自动化调整的目的。在实测数据集中,相较于随机网格搜索算法,计算时间降低了27.86%,F1-Score提高了1.7%;
3)利用随机抽样对弱分类器进行有放回抽样。根据抽样结果可知,利用投票法可降低模型的方差,提高模型的泛化能力。经由轴承套圈实测数据集进行实例验证,结果表明,RFE-BXGBoost算法对轴承沟道缺陷类别识别准确率为0.9,F1-Score为0.879,其性能相较于传统机器学习算法具有明显提升,证明了该方法可以对轴承圈沟道进行有效的缺陷识别。
在实际工程中,由于噪声的影响及特征种类的增加,会增加轴承表面缺陷识别的难度。因此,在未来的研究工作中,笔者将使用更多样本、监测特征及特征衍生方法,创建大规模特征,挖掘潜在关系,以完成轴承缺陷的识别任务。