孙 晨,文 龙,李新宇,高 亮+,丛建臣
(1.华中科技大学 数字制造装备与技术国家重点实验室,湖北 武汉 430074;2.中国地质大学(武汉) 机械与电子信息学院,湖北 武汉 430074;3.山东理工大学 机械工程学院,山东 淄博 255000)
随着智能制造技术的发展,现代设备日益复杂化。面对繁琐的工业流程和海量的工业数据,现代装备对可靠性、安全性和可维护性的要求不断增强[1]。基于数据驱动的故障诊断方法成为时下研究的热点[2-3]。但是在实际生产中,设备故障发生的频率远远小于正常情况,不同类型的故障发生频率也不同,导致故障样本与正常样本数据体量不均衡,该问题被称为数据不平衡问题,广泛存在于各种工程行业中[4]。故障样本作为少数类,数量稀少、分布复杂,使得数据驱动的方法无法充分学习故障样本的特征,影响了故障诊断的效果。
针对数据不平衡问题,现有研究主要从数据、算法和集成学习3个层面来解决,其中,数据层面的重采样技术是使用最广泛的方法之一[5]。重采样方法通过复制或合成少数类样本、删除多数类样本,改善原有样本的分布情况,不需要针对特定问题修改分类器[6],因此更具有通用性。合成少数类过采样(Synthetic Minority Over-sampling Technique, SMOTE)[7]是最具代表性的重采样方法,通过对少数类合成新样本的方式获得分布均衡的数据集。
重采样与分类器的组合,是处理故障诊断不平衡问题的通用流程。SANTOS等[8]将SMOTE和Bagging方法结合,用于风力发电机齿轮箱的故障诊断;BUSTILLO等[9]针对多齿轮工具的破损检测,研究多种算法的组合,得出SMOTE和逻辑回归的组合结果最优;MAO等[10]使用SMOTE方法对少数类样本进行过采样,对多数类样本进行欠采样以平衡数据集,最后使用在线顺序极限学习机(Online Sequence Extreme Learning Machine, OSELM)来诊断轴承故障;TAO等[11]采用SMOTE方法生成少数类样本,然后使用原始样本和生成样本训练SVM进行轴承故障诊断。
然而,在使用重采样方法解决故障诊断中的不平衡问题时,需要根据特定的问题选择合适的方法,并调整k近邻、采样策略等超参数。现有研究大多基于经验选择重采样方法,手动调整参数,这一过程不但依赖丰富的专家经验,而且调试过程耗费大量时间[12]。
自动机器学习技术可以针对特定问题自动选择合适的算法、优化超参数,克服人工选择和调参的不足,成为了当前研究的热门[12]。网格搜索、随机搜索、贝叶斯优化等自动机器学习技术也被应用于解决不平衡问题:AL-RIFAIE等[13]将不平衡数据经过SMOTE和随机欠采样方法处理,再使用网格搜索选择最优参数配置的SVM进行分类;ZUGHRAT等[14]采用基于自助法的混合采样技术,获得分布均衡的数据集,然后使用网格搜索优化SVM算法的参数;CAI等[15]将SMOTE方法用于分布不均衡的乳腺癌数据集中,并使用贝叶斯优化对集成学习的基分类器进行参数调优。
综上所述,现阶段应用重采样方法解决不平衡故障诊断问题时,仍然需要手动选择模型和人工调参。在已使用自动机器学习的不平衡分类问题中,研究主要集中在优化分类算法的超参数,而针对重采样法仍然停留在手动选择和手动调参阶段。
本文将自动机器学习技术用于故障诊断的数据不平衡问题,提出一种基于贝叶斯优化的自动不平衡故障诊断方法,解决在不同数据分布下,重采样算法和分类器的组合算法选择和超参数优化问题(Combined Algorithm Selection and Hyperparameter optimization problem, CASH)[16]。该方法首先构建了一种分层多模型的参数空间,包括采样层和分类层,在这两层中可分别设置多个备选的模型及其超参数;其次,使用基于树形结构Parzen估计器(Tree-Structured Parzen Estimator, TPE)的贝叶斯优化器对参数空间中的模型进行组合选择和超参数优化;最后将所得的最优配置模型在测试集上进行预测,评价模型的性能。所提方法在UCI(university of California Irvine)标准数据集上进行了实验,结果表明该方法极大地提高了分类器在不平衡数据上的分类性能,且效果较传统的随机搜索方法更好;所提方法在凯斯西储大学(Case Western Reserve University,CWRU)轴承数据集和帕德博恩大学(Paderborn)轴承数据集上进行了实验,设置了多种不平衡情况的数据集,结果表明该方法与随机搜索方法相比,能够用更短的时间得到性能更好的结果,优化过程也更加稳定,提升了参数优化的效率。
根据对原始不平衡数据的处理方式,重采样方法可以分为欠采样、过采样和混合采样法[4]。VAN HULSE等[17]通过大量实验发现,不同类型的重采样法适合于不同的分类器,选择合适的算法组合可以提升分类效果。在不平衡故障诊断问题中,数据随着运行条件的变化而呈现不同程度的分布。针对不同的数据分布选择合适的算法组合不但费事费力,而且依赖大量的专家经验。
本文提出一种基于贝叶斯优化的自动不平衡故障诊断方法,通过自动机器学习技术获得参数空间中的最优配置组合,解决现有不平衡故障诊断中基于人工经验选择模型、调试参数出现的低效问题。方法流程如图1所示,主要包括数据预处理、分层多模型的参数空间配置、基于TPE模型的训练与优化、性能评估4个步骤。
为了提高模型对故障数据的预测准确性,本文对故障诊断数据的原始一维信号进行数据预处理,主要包括特征提取和标准化。
特征提取包括一维振动信号进行片段采样、经过信号处理从中提取故障特征等过程。表1列出了本文所用的3类故障特征,主要包括时域特征、频域特征和时频特征。
表1 故障信号特征
在获得故障特征后,对所提取特征进行数据标准化,消除因原变量量纲不同和数值差异太大带来的影响,数据标准化过程如式(1)所示。
(1)
在数据预处理阶段,将原始数据集分为训练集和测试集。训练集用于训练模型,选择出最优配置的超参数组合;测试集用于评估经过优化之后算法的最终性能。
本文设置了一种分层多模型参数空间,探索重采样和分类器的组合选择和超参数优化问题。如图2所示,参数空间分为重采样层和分类器层,分别设置了多个备选的算法及其超参数。重采样层包含多种重采样方法,分类器层包含常见的机器学习模型,整个参数空间为树状结构。
针对特定的不平衡问题,为了获得最优的算法组合和超参数配置,需要对重采样层和分类器层的模型及超参数进行组合优化。首先将重采样层和分类器层的模型做笛卡尔积,如式(2)所示,获得模型空间Α,如图3所示。
Α=Res×Clf=(res1,…,resi)×(clf1,…,clfj)
={(res1,clf1),…,(resi,clfj)}。
(2)
式中:Res=(res1,…,resi),Clf=(clf1,…,clfj)分别为重采样层和分类器层的所有备选模型。记A(i,j)=(resi,clfj)为重采样模型resi和分类器模型clfj的算法组合。
算法组合A(i,j)=(resi,clfj)中的每个模型都包含若干超参数,设置每个超参数的待搜索范围,可得A(i,j)的超参数空间θ(i,j),如式(3)所示:
θ(i,j)=(θresi∪θclfj)。
(3)
进一步地,由模型空间Α生成的超参数空间Θ可用公式(4)表示,具体结构如图3所示。
Θ=θ(1,1)∪…∪θ(i,j)。
(4)
式中θresi和θclfj分别表示重采样模型resi和分类器模型clfj的超参数空间。
针对分层多模型的参数空间配置,模型训练和优化的一般过程如式(5)所示:
(5)
本文采用自动机器学习技术中的贝叶斯优化模型,选择TPE为代理模型[19],用于构建模型的训练与优化过程。TPE模型能有效应对多种复杂的超参数配置情况,算法流程如下所示。
算法1基于TPE的贝叶斯优化模型。
2. for n=1,2,3,…,do
3. 使用代理模型TPE,计算先验数据集Dn中每组超参数的后验分布
4. 最大化采集函数α,寻找下一组参数配置xn+1
5. 计算yn+1=f(xn+1)
6. 扩充数据集Dn+1=(Dn,(xn,yn))
7.end for
(1)代理模型 本文选择TPE为代理模型,有别于传统的基于p(y|x)建模的贝叶斯优化模型,如基于高斯过程和基于随机森林的贝叶斯优化,TPE对p(x|y)和p(y)建模,能够处理更加复杂的超参数分布。TPE将每个参数的先验分布转换成高斯混合分布,再基于已观测值修改后验分布,从已有的y计算分位数y*,对大于y*和小于y*的数据,分别建立条件概率密度公式,如式(6)所示:
(6)
式中:y*为基于已观测y计算得到的分位数,本文取y*为第一分位数,即将已观测的y由小到大排列后第25%的数字;l(x)和g(x)为服从高斯过程的概率密度函数,其中l(x)表示y (2)采集函数 TPE模型选择的采集函数为EI[20],定义如式(7)所示: (7) (8) 取每次训练结果的相反数为贝叶斯优化的目标函数,经过多次迭代,选择其中性能最优的算法组合作为最终模型。 在性能评估阶段,本文将经过模型训练与优化得到的最优组合用于测试集的分类。在传统的分类学习中,常用的评价指标是精确度但精确度用于类别不平衡数据训练时,会导致分类器向多数类样本偏移,无法反映算法在不平衡数据上的性能。 因此,本文选用的评价指标为F1-score,如式(9)所示: (9) F1-score是查准率precision和查全率recall的调和平均数,分别如式(10)和式(11)所示。F1-score可以综合考察模型在不平衡数据上的表现。 (10) (11) UCI数据集是不平衡学习领域的标准数据集[21],本文从UCI数据集中选择了5个标准数据进行实验,各个数据集的具体信息如表2所示。 表2 实验所用UCI数据集信息 实验采用5折交叉验证法,原始样本分为5个数量相同且不重叠的子集,每次选择其中1个作为验证集,剩余4个作为训练集,得到5组训练—测试数据集。为避免训练中的过拟合和过度优化,仅针对训练集使用重采样法,测试集仍为原始分布。 在分层多模型的参数空间设置上,本文在分类器层选择堆叠自编码器(Stacked Auto Encoder, SAE)、支持向量机(Support Vector Machine, SVM)、多层感知机(Multi-Layer Perceptron, MLP)和LinearSVM为备选模型,在重采样层选择SMOTE、NCL[22]、Borderline-SMOTE[23]、SMOTETL[24]和SMOTEENN[25]为备选模型。表3列出了上述算法待优化的超参数、作用描述及参数搜索范围。整合所有的参数范围,获得待优化的超参数空间。 表3 待优化的超参数范围及其描述 续表3 为了证明所提方法的有效性,本文设置了两种对比实验:①与使用默认配置的分类器进行对比,默认配置如表4所示;②与随机搜索方法进行对比,随机搜索方法参数空间如表2所示。实验采用Hyperopt库进行超参数优化,采样方法采用Imbalanced-Learn库实现,SAE算法基于Tensorflow编写,其余机器学习算法通过sklearn库实现。所有程序均在AMD 3500X和RTX 2060s下运行。 表4 分类器的默认配置 续表4 为了对比两种超参数优化方法的性能,实验将迭代次数统一设置为50,重复10次,不同参数优化方法使用的参数空间相同。此外,由于参数空间较为复杂,采用网格搜索遍历所有组合需要耗费大量时间,实验对机器学习分类器进行了简易的搜索:将SVM、MLP、SAE和LinearSVM四种分类器的默认配置直接用于不平衡数据的分类,取平均值。重复10次,记录实验结果如表4所示。两种超参数优化方法经过10次优化,所得结果的箱型图如图4所示。 如表5所示为3种不同方法在5个不平衡标准数据集下的结果对比,分别为:所有模型使用默认配置所得结果(即单模型结果)、经过随机搜索优化后的结果、经过贝叶斯优化后的结果。以单模型结果为基础,可以发现随机搜索和所提方法在所有5个数据集上均提升了原有的分类结果。在Oil和yeast_me2两个不平衡比较大的数据集上性能提升效果最为明显,这体现了分层多模型参数空间的有效性。针对特定的数据集,选择采样算法和机器学习的组合进行训练和优化,消除了单个分类器在不平衡数据上的分类偏差。贝叶斯优化方法在5个数据集上的结果均值都高于随机搜索方法,对单模型的性能提升效果更好。 表5 结果对比 在图4a~图4e表示的所有5个数据集上,贝叶斯优化方法的箱盒所处位置更高,证明所提方法的整体性能更好。在Ecoli、Spectrometer、Oil和yeast_me-2数据集上,所提方法箱盒图的上边缘(最大值)明显高于随机搜索方法,在libras_move数据集上,所提方法箱盒图的上边缘(最大值)与随机搜索方法接近,但整体优于随机搜索方法且所得结果的分布更加集中,这证明了所提方法可以基于已优化结果搜寻出下一个性能更好的点,避免了陷入局部最优解。 本章将所提方法用于故障诊断的不平衡数据集,分别在凯斯西储大学轴承数据集和帕德博恩大学轴承数据集上进行了实验。 3.1.1 数据集描述 凯斯西储大学(CWRU)轴承数据中心的公开标准数据集,是故障诊断领域最常用的标准数据集[26]。如图5所示为轴承数据采集装置,使用电火花技术在3个位置获得了缺陷故障,分别是外圈故障(OF)、内圈故障(IF)和滚珠故障(RF),每种缺陷故障有3种尺寸的损伤直径:0.18 mm,0.36 mm和0.54 mm。作为参考,正常状态(Normal)下的信号也得到了采集。因此,数据集共有10种状态,分别表示为:OF0.18,OF0.36,OF0.54,IF0.18,IF0.36,IF0.54,RF0.18,RF0.36,RF0.54,Normal。 3.1.2 实验设置 实验采用的故障数据集经过数据预处理,将一维振动信号转换为37个故障特征。数据集有9个故障类和1个正常类,训练集中每个类别有4 000个样本,测试集中每个类别有800个样本。 为研究基于贝叶斯优化的模型在分布不平衡的故障数据下的表现,本文在分布均衡的训练集上生成了多种的不平衡数据集,如表6所示。正常类样本为多数类样本,其余9种故障样本为少数类样本,且少数类样本数量相同。表6中ρ表示正常类样本数和单个故障类样本数的比值。 表6 多种不平衡分布的训练集 实验采用的参数空间配置与算法实现与标准数据集实验相同。 3.1.3 实验结果分析 为了对比两种超参数优化方法的性能,实验将迭代次数统一设置为50,重复10次,不同参数优化方法使用的参数空间相同,如表2所示。作为对比,4个默认配置的分类器模型也被用于CWRU不平衡数据集中,取4种方案的均值,重复10次,记录结果如表7所示。 表7 超参数优化方法在CWRU数据集上的结果对比 续表7 从表7可以看出,单模型在CWRU不平衡数据集上的性能更加稳定。与标准数据集实验相比,CWRU不平衡数据集上的少数类样本数量相对丰富,使得分类器能够更加充分地学习到故障特征。但随着ρ的增加,单模型的分类性能也有所降低。与单模型分类的结果相比,使用随机搜索和贝叶斯优化的分类方法在不同数据分布下的结果更加稳定,受ρ的影响更小。基于贝叶斯优化的方法和基于随机搜索的方法在5种数据分布下的分类结果相近,但在所有5个数据集下基于贝叶斯的方法结果更好,且每50次优化所用时长更短,即该方法可以用更短的时间得到结果更好的超参数配置。 如图6所示为两种超参数优化方法在5种数据集上结果的箱型图。从图6a~图6e表示的5个数据集可以看出,贝叶斯方法的整体结果更好,且上限更好。在图6b~图6e上,随机搜索方法出现了较多的异常值,表明该方法的稳定性较差,相比之下,贝叶斯优化方法的箱盒高度更低,结果分布更加集中。 综上分析,基于贝叶斯优化的方法在CWRU不平衡数据集上能够更高效、稳定地得到更优的结果。 3.2.1 数据集描述 帕德博恩大学轴承数据集是故障诊断领域的标准数据集,来自帕德博恩大学KAT数据中心[27]。实验的硬件如图7所示,用4个不同的工作参数进行实验,每个实验重复进行20次,收集振动信号进行分析,采样率为64 kHz。KAT数据集可按照健康状况分为3类:K0系列(K001~005)为健康状况、KA系列(KA04,KA05,KA16,KA22,KA30)为轴承外圈损坏、KI(KI04,KI14,KI16,KI18,KI21)为轴承内圈损坏。 3.2.2 实验设置 实验所用数据集同样经过特征提取和标准化处理。数据集共有2个故障类和1个正常类,训练集每类9 000个样本,测试集每类900个样本。实验设置多种不平衡分布的训练集,如表8所示。 表8 多种不平衡分布的训练集 实验所用参数空间配置和算法实现与标准数据集实验相同。 3.2.3 实验结果分析 两种超参数优化方法的迭代次数统一设置为50,重复10次,使用超参数空间如表9所示。作为对比,4个默认配置的分类器也被用于KAT不平衡数据集中,取四种分类器结果的均值,重复10次,记录结果如表9所示。 表9列出了在多种不平衡条件下不同方法在KAT数据集上的结果对比。从表9可以看出,单个分类模型在不同分布下的KAT数据集上的结果也相对稳定,随着ρ的增加,模型性能有小幅降低,当少数类样本比较稀少(ρ=100)时,结果有明显的降低。相比之下,基于超参数优化的两种方法维持了更加稳定的性能。基于贝叶斯优化的方法在5种数据分布下的结果略高于随机搜索方法,但每50次优化所用时间更短,效率更高。 表9 超参数优化方法在KAT数据集上的结果对比 如图8所示为两种超参数优化方法在5种数据集上的结果箱型图。从图8a~图8e可以看出,两种优化方法的结果十分接近,在图8a、图8b、图8d、图8e的数据集上,基于贝叶斯优化的方法箱盒高度更低,分布更加集中,而随机搜索方法存在一定数量的异常值,结果分布并不集中。 针对故障诊断中的数据不平衡问题,本文研究了基于自动机器学习的不平衡故障诊断方法,提出了基于TPE的不平衡故障诊断方法,主要包括数据预处理、参数空间配置、模型训练与优化和性能评估4个步骤。所提方法构建了一种分层多模型的参数空间,可以设置多个备选的重采样和分类器模型,并配置器其超参数,然后使用TPE方法对模型的训练过程进行优化,将获得的最优配置模型用于测试集的评估。本文在5个UCI标准数据集和2个轴承故障诊断数据集上进行了实验,结果表明,本文所提方法可以提升分类器在不平衡数据上的结果;与随机搜索相比,性能提升幅度更大,在故障数据集上所用时间更短,结果更加稳定。同时,所提方法也存在不足之处,主要适用于不平衡比较大、数据量适中的数据集,对于不平衡比例较小或者数据量大的数据集,需要在计算成本和性能提升之间做出权衡。 不平衡问题的难点在于稀少数据在空间中的复杂分布特性。当前仅用不平衡比这一个指标无法完全描述数据的分布特点,未来可以研究多种数据复杂度指标,探究不平衡数据的分布特性对分类器决策边界的影响。1.4 性能评估
2 标准数据集实验
2.1 数据集描述
2.2 实验设置
2.3 结果分析
3 故障诊断数据集实验
3.1 CWRU数据集
3.2 KAT数据集
4 结束语