王振亚,刘 韬,王廷轩,杨永灿
(昆明理工大学机电工程学院,云南 昆明 650500)
轴承在各类制造业中应用广泛[1]。工程环境中因机械装备部件故障失效时间短、数据难以获取,以及不同工况和应用场景差异等原因,往往造成监测数据的不平衡问题。训练一个新的模型又会依赖大量数据和时间,不利于不同工况下故障诊断的推广[2]。数据不平衡问题会严重影响设备的故障诊断率,导致机械装备无法正常工作,严重者甚至损毁设备,严重影响生产效率,造成很大的经济损失。
目前,针对数据不平衡问题,国内外学者提出了不同种类的解决方法[3]。基于生成对抗式网络、迁移学习、对抗迁移等机器学习的数据增强模型层出不穷,但存在训练不稳定、干扰因素大、耗费时间、在实际工程中难以应用等问题;EML、SVM、CNN等处理不平衡数据的模式识别方法存在寻找稳定性弱、参数选择困难、在故障样本较少情况下难以应用的问题;过采样和欠采样技术因计算速度快、应用范围广等优点,仍是实际工程中应用最为广泛的处理手段[4-5]。随机过采样(random oversampling,RAMO)是通过随机选取少数类样本进行复制从而达到数据量上的均衡,但是该方法没有考虑到数据的分布,非常容易形成过拟合;随机欠采样(random underdamping,RAMU)是通过随机选取多数类的样本进行删除进而达到数据集的均衡,但是该方式很容易删除掉含有重要信息的样本点。Chawla等[6]提出了一种合成少数类过采样技术(synthetic minority oversampling technique,SMOTE),用来解决随机过采样存在过拟合的问题;Tomek’s Links是对数据集进行数据清洗的一种关键性技术,用来清洗因为过采样而产生的噪声数据以及数据重叠、堆集的情况[7]。提高不平衡数据的分类准确率是当前机器学习领域研究的热点之一[8]。
本文在轴承故障模拟实验中,运用了过采样与欠采样结合的数据处理技术。首先,对少数类样本使用高斯混合模型聚类算法进行聚类;其次,根据簇密度分布函数计算簇密度;最后,在每个簇中使用改进的 SMOTE 算法进行过采样,同时使用Tomek’s Links数据清洗技术进行类内清洗,达到类内平衡;得到类内平衡数据后再使用GMM-SMOTE算法进行过采样,同时运用Tomek’s Links数据清洗技术进行类间的清洗,得到不平衡技术处理好的新的样本训练集。运用主成分分析法(PCA)对所选特征进行降维处理,并结合文中提出的技术路线生成数据。实验结果表明,提出的方法对轴承故障数据不平衡条件下的数据生成和诊断具有较好的鲁棒性,该方法具有较好的工程应用前景。
为了提高少数类样本的生成质量,在下文所述理论的基础上提出了GMM-SMOTE算法。
1.1.1 SMOTE算法
合成少数类过采样技术SMOTE[6],是基于随机过采样算法的一种改进方案。由于随机过采样采取简单复制样本的策略来增加少数类样本,这样容易产生模型过拟合的问题,即使得模型学习到的信息过于特别而不够泛化,而SMOTE算法的基本思想是对少数类样本进行分析,并根据少数类样本人工合成新样本添加到数据集中。
SMOTE算法流程如下:
a.对于少数类中每1个样本x,以欧氏距离为标准计算它到少数类样本集中所有样本的距离,得到其k近邻。
b.根据样本不平衡比例设置1个采样比例以确定采样倍率N,对于每1个少数类样本x,从其k近邻中随机选择若干个样本。
c.对于x的每1个随机选出的近邻样本xj,分别与原样本按照式(1)构建新的样本。
xnew=x+rand(0,1)(xj-x)
(1)
x为原始不平衡故障数据样本集;xj为x的第j个邻近样本,j=0,…,N;xnew为过采样后新的样本集;rand为0到1之间的1个随机数。将新生成的样本集与不平衡数据集组合,生成平衡后的数据集。
1.1.2 高斯混合聚类模型
混合模型是一个可以用来表示在总体分布中含K个子分布的概率模型,换句话说,混合模型表示了观测数据在总体中的概率分布,它是一个由K个子分布组成的混合分布。混合模型不要求观测数据提供关于子分布的信息,来计算观测数据在总体分布中的概率[9]。
a.高斯分布(多元)。对于n维样本空间χ中的随机向量x,若x服从高斯分布,其概率密度函数为
(2)
μ为n维均值向量;Σ为n×n的协方差矩阵。根据式(2)能够清晰直观地了解到,高斯分布主要取决于2个因素:一是均值向量,二是协方差矩阵。
b.高斯混合分布为
(3)
c.高斯混合聚类。高斯混合聚类是首先假设样本集具有一些规律,包括以参数α作为比例分为k类,且每类内符合高斯分布。然后根据贝叶斯原理利用极大似然法同时求出决定分类比例的α和决定类内高斯分布的μ和Σ。最后将样本根据α、μ和Σ再次通过贝叶斯原理求出样本对应的分布簇。通过找到可以刻画样本的原型(α、μ和Σ参数),迭代得到α、μ和Σ参数的最优解。
1.1.3 GMM-SMOTE
GMM-SMOTE 算法流程如图1所示,主要包括3个步骤:高斯混合模型聚类;计算簇密度分布函数;根据簇密度分布函数确定采样权重。
图1 GMM-SMOTE算法流程
a.对于不平衡的少数类数据进行高斯混合模型聚类,得到簇划分。
b.根据式(4)计算簇的密度分布函数,得到不同簇所对应采样权重。原始少数类样本经过高斯混合模型聚类之后,得到不同簇,为了解决类内不平衡的问题,对于每个聚类簇,簇密度分布函数如式(4)所示,即为簇中所包含样本点的个数与其他所包含样本点构成的超球体体积的比例型函数[10]。
(4)
NCi为簇中样本点的个数;vol(S(ri))为簇中样本点构成的超球体体积;ri为簇中离质心最远的样本点到质心的欧氏距离;Ci为第i个簇。簇密度分布函数值越大,代表簇中的数据分布越密集。
c.根据步骤b得到的采样权重对不同簇进行SMOTE过采样,解决少数类样本簇内不平衡问题。
Tomek’s Links是对数据集进行数据清洗的一种关键性技术,可以用来清洗因为过采样而产生的噪声数据以及数据重叠、堆集的情况[7]。
样本A与样本B为2个不同的类别,当满足不存在其他样本C使得d(A,C) 图2 Tomek’s Link原理示意 本文着重探索不平衡技术在轴承故障中应用,即用少量数据训练出一个能够诊断多种故障类型模型研究。主要的技术路线可以分为数据预处理模块与不平衡技术应用模块。 本次实验选择UT6818的机械振动故障模拟实验台,如图3所示。利用模拟故障实验,采集故障类型为正常、外圈故障、内圈故障和滚动体故障4种信号(转速为600 r/min,采样频率为25.6 kHz)。 图3 故障模拟实验台 数据预处理模块对采集的信号进行特征提取、PCA特征降维,确定最终的不平衡数据集。 a.故障模拟实验台数据特征提取。为使不同类型的数据可以更好地代表各自的故障信息,将故障模拟实验台实验采集到的1×256 000的每组信号分为250×1 024的大小用于特征提取,在每1 024个点中提取时频域共11个特征指标,分别为有效值、标准差、裕度、峭度、峭度因子、能量、峰值指标、波形因子、脉冲因子、峰值系数和裕度因子。 经过特征提取后将变成大小为250×11的特征数据矩阵。 b.PCA特征约减。提取特征两两之间交互,通过绘制的特征提取散点图发现部分特征混淆,为提高数据处理速度,用主成分分析法对提取的11个特征进行特征约减处理,选择累计主元贡献率为98%的4个主成分[11]。经过PCA约减后保留的4个主成分贡献率如表1所示。 表1 主成分贡献率情况 c.不平衡数据集的构造。采集信号经过特征提取与PCA特征约减后,各工况的数据大小为250×4;选取故障类型为正常、外圈和滚动体故障160组,故障类型为内圈故障的20组作为少数样本,建立初始不平衡数据集。4种工况选取剩余的90组作为测试集。数据集的样本不平衡率为12.5%(不平衡率的计算为少数类数据20组与正常数量160组的比值)。不平衡数据集的情况如表2所示。 表2 不平衡数据集情况 故障模拟实验台采集的信号经过数据预处理模块后,将2种少数类样本(内圈和滚动体故障)通过该模块生成为充足数量样本。本模块为研究重点,不平衡技术模块的流程如图4所示。 图4 不平衡技术处理训练集模块 具体步骤如下: a.少数类高斯混合模型聚类进行簇划分,得到每个样本所对应的簇。 b.计算簇密度分布函数确定每个簇的采样权重,根据采样权重对每个簇进行GMM-SMOTE过采样,形成类内平衡的数据集。 c.根据初始不平衡率确定少数类与多数类的过采样倍率N,使用GMM-SMOTE进行过采样后,使用Tomek’s Links进行数据清洗,直至不再清洗掉生成样本为止,生成最终的训练集。若2种特征边界清晰,并不存在任何1组Tomek’s Links,则直接按照N生成,不会进行Tomek’s Links数据清洗。 d.将步骤c中生成的故障样本与其他3种正常数量的样本组成训练集,并送入SVM模型中训练,剩余的90组作为测试集进行算法验证。 采用数据预处理-不平衡技术的处理后,将平衡后的数据送入SVM模型[12]中进行故障诊断,并对实验结果进行规范合理、全面细致的检验。 a.根据传统为二分类问题混淆矩阵,建立轴承故障诊断中的多分类问题混淆矩阵。 分类的混淆矩阵如表3所示。TN、TI、TO、TR为各种工况被正确分类的样本;FIN为内圈故障工况被误判为正常工况的样本;FNI为正常工况被误判为内圈故障工况的样本。此混淆矩阵的信息以此类推。 表3 多分类混淆矩阵 通过查准率(precision)、G-mean和正确率(accuracy)等指标客观准确地评估诊断性能。其中,查准率表示为正常状态的查准率;G-mean为少数类分类精度与多数类分类精度的集合平均值,可以用来衡量数据集的整体性能;正确率则是支持向量机模型(SVM)的整体分类准确率。 b.费舍尔(Fisher)准则。费舍尔(Fisher)准则中,判别函数的系数是按照类内差异最小和类间差异最大同时兼顾的原则,来确定判别函数[13]。使用分散度作为标准偏差的度量,类内离散度矩阵Si如式(5)所示,总类内离散度矩阵Sw如式(6)所示,类间分散度矩阵SB如式(7)所示,其中mi为各类样本的均值向量。 (5) Sw=S1+S2 (6) SB=(m1-m2)(m1-m2)T (7) 通过Fisher准则,计算算法改进前后的类内距离以及不同工况下的类间距离,可以有效地说明算法改进前后生成数据的变化。此评价标准对实验结果分析非常适用。 故障模拟实验台数据经过技术路线处理后, 根据不平衡率确定过采样倍数N,利用初始过采样倍数N=4进行过采样,同时经过Tomek’s Links进行清洗,算法最终生成的样本个数(内圈故障)与Tomek’s Links清洗后保留的情况如图5所示。可以看出,最终生成的内圈故障样本为162个。当再次过采样时则生成648个样本,Tomek’s Links不再清除样本。 图5 算法样本生成情况 将算法生成的162个内圈故障样本与其他3种正常数量为160组的故障样本构成最终的训练集,送入支持向量机模型中进行训练,并用4种工况剩余的90组作为测试集进行验证,算法分类效果验证如图6所示。其中,标签0、1、2、3对应轴承的正常工况、外圈故障、内圈故障、滚动体故障4种故障类型。 由图6可知,SVM的分类准确率为98.28%,经过算法生成的故障样本训练后在分类器上具有良好的分类效果。 图6 SVM算法分类效果验证 改进后的算法与原始SMOTE算法的各个指标之间的对比如表4所示。通过表4可以看出,改进后的算法在G-mean值上由原来的89.16%提升到98.12%,提升了8.96%;SVM的分类准确率由90.01%提升到98.28%,提升了8.27%。评价指标的明显提升,充分说明了改进后的算法生成的故障样本具有更好的分类效果。 表4 算法改进前后指标变化 为了验证算法生成数据的有效性,得到更多算法改进前后类内类间的变化关系。根据Fisher准则,分别计算算法改进前后生成数据的类内间距和改进前后的不同类的类外间距,类内间距的变化如表5所示,不同类的类外间距如表6所示。 表5 算法改进前后类内间距(标准欧式距离)对比 表6 算法改进前后类外间距(标准欧氏距离)对比 通过改进前后的类内类间的间距,可以看出算法生成的数据各个特征之间类内间距下降,类外间距特征之间距离变大。改进后算法生成的数据具有更好的可分性。 本文利用模拟实验台数据,创建不平衡数据集并进行提出的技术路线处理后,得到生成得到故障样本数据,结合SVM模型进行故障诊断,可以得到以下结论: a.改进的SMOTE算法与Tomek’s Links数据清洗技术结合后的技术路线具有良好的数据生成效果,比原始SMOTE算法在分类准确率上提升了8.27%,特征的类内类间距也有较好的可分性,可以明显提高分类器的分类性能。 b.数据预处理-不平衡技术在设备数据不平衡条件下进行故障诊断取得了较好的诊断率,具有一定的实际工程应用性。2 基于数据预处理-不平衡技术处理的故障诊断方法
2.1 数据处理模块
2.2 不平衡技术应用模块
3 实验结果分析
3.1 评价指标
3.2 结果分析
4 结束语