一种故障特征选择方法及应用
文献发布时间:2023-06-19 18:27:32
技术领域
本发明涉及故障诊断技术领域,尤其涉及一种故障特征选择方法及应用。
背景技术
航空发动机是飞机的心脏。因为发动机故障而造成的航班延误或者被迫停飞等事件经常发生,其危害的严重性以及高昂的维修费用早已被人们普遍认识。因此,国内外航空界对发动机的故障诊断都进行过系统深入的研究,以便能根据监测参数预报故障的发生,找出故障的特征描述,并利用其进行故障检测、预报、分离、辨识,进而实现故障决策,包括故障特征提取、故障建模、故障检测等几个方面的内容,对航空发动机进行故障诊断,既有利于保证发动机地面试验的安全,也有利于减少维护费用,缩短试验时间。
特征选择是航空发动机故障诊断中的关键步骤,它不仅可以降低数据的维度、提高算法的学习效率,还能够从庞大的数据集当中筛选出对故障分类性能最有用的特征,从而提高诊断的准确率。关于特征子集的选择方面有很多种算法,大体上可以分为两类,分别是:过滤算法和包装算法两类。目前,随着群智能优化算法的出现和发展,越来越多的研究者开始利用群智能优化算法来作为包装式特征选择的搜索机制。蝗虫优化算法(GOA)通过模拟自然界中蝗虫种群的群体行为来解决问题,实验证明GOA在实际问题的解决当中有较好的效果。发明专利(CN112859855A,一种基于蝗虫优化算法的机器人多目标路径规划)公开了一种基于蝗虫优化算法的机器人多目标路径规划,是在含有静态障碍物的二维环境中获取机器人初始位置和目标位置之间的最优路径。由于蝗虫优化算法中每个蝗虫的位置更新是由自身当前位置、目标位置和其他蝗虫的位置共同决定。使用多目标函数来生成初始位置到目标位置的无碰撞最优路径,这些函数表示了最优化变量的最短距离、最小能耗和最小时间的影响。所使用的目标函数通过连接初始位置和目标位置在配置空间中产生无碰撞路径。
然而,本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术方案至少存在如下技术问题:
全局搜索能力弱、收敛速度慢以及容易陷入局部最优解。
发明内容
为了解决上述技术问题,本发明公开了一种基于非线性的二进制蝗虫优化算法的故障特征选择方法,其目的在于针对现有技术的蝗虫优化算法基于非线性的二进制改进,引入非线性递减参数以及基于个体适应度值的权重系数,应用于航空发动机故障特征子集的选择,非线性递减参数具有在开始阶段以快速的速率下降以及在后期的递减速度减缓的功能,从而使得在开始阶段可以快速向目标靠近,提高对航空发动机故障特征的全局搜索能力,提升收敛速度,在后期阶段对局部空间进行仔细搜索,避免陷入局部最优解的问题,本申请能够更好的平衡算法在全局搜索和局部搜索两方面的能力。
主要通过以下技术方案实现上述发明目的:
第一方面,基于非线性的二进制蝗虫优化算法的故障特征选择方法,包括:
获取航空发动机故障特征的原始数据集;
初始化故障特征种群数量、种群初始位置及蝗虫优化算法中的各参数;
计算故障特征种群内每个个体的适应度值,并将适应度值最大的个体的位置作为当前全局最优位置解,记为第一最优位置解,所述每个个体对应所述原始数据集中的每个故障特征;
根据
更新当前每个个体的位置;
计算故障特征种群内位置更新后的每个个体的适应度值,选取适应度值最大的故障特征种群的位置作为当前迭代的最优位置解,记为第二最优位置解;
根据所述第一最优位置解与所述第二最优位置解的比较结果更新当前迭代的最优位置解,并判断当前迭代次数是否达到预设的最大迭代次数,若是,则将更新后的当前迭代的最优位置解对应的个体属性选择确定为航空发动机故障特征的目标特征子集;否则返回执行步骤:更新非线性递减参数c。
第二方面,基于非线性的二进制蝗虫优化算法的故障特征选择装置,包括:
获取模块:用于获取航空发动机故障特征的原始数据集;
初始化模块:用于初始化故障特征种群数量、种群初始位置及蝗虫优化算法中的各参数;
适应度值计算模块:用于计算故障特征种群内每个个体的适应度值,并将适应度值最大的个体的位置作为当前全局最优位置解,记为第一最优位置解,所述每个个体对应所述原始数据集中的每个故障特征;适应度值计算模块还用于计算故障特征种群内位置更新后的每个个体的适应度值,选取适应度值最大的故障特征种群的位置作为当前迭代的最优位置解,记为第二最优位置解;
非线性递减参数更新模块:用于根据
位置更新模块:用于更新当前每个个体的位置;
最优位置解更新模块:用于根据所述第一最优位置解与所述第二最优位置解的比较结果更新当前迭代的最优位置解;
判断模块:用于判断当前迭代次数是否达到预设的最大迭代次数,若是,则将更新后的当前迭代的最优位置解对应的个体属性选择确定为航空发动机故障特征的目标特征子集;否则转到所述非线性递减参数更新模块。
第三方面,一种电子设备,所述设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于非线性的二进制蝗虫优化算法的故障特征选择方法的部分或全部步骤。
第四方面,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于非线性的二进制蝗虫优化算法的故障特征选择方法的部分或全部步骤。
第五方面,一种计算机程序产品,当所述计算机程序产品在处理器上运行时,实现上述基于非线性的二进制蝗虫优化算法的故障特征选择方法的部分或全部步骤。
相较于现有技术的有益效果:本发明通过引入非线性递减参数c,在算法开始阶段以较快的速率下降,使故障特征种群中的蝗虫个体能够迅速向目标靠近,从而提高算法全局搜索的能力,提升算法的收敛速度;而在算法的后期,c的递减速度减缓,这使得种群中的蝗虫个体能对周围的空间进行仔细的搜索,从而提高算法局部开发的能力,避免算法陷入局部最优。因此,利用非线性递减参数c,可以更好的平衡算法在不同时期的全局探索和局部开发的能力。
附图说明
图1为本发明实施例一提供的基于非线性的二进制蝗虫优化算法的故障特征选择方法的流程示意图;
图2为本发明实施例一提供的现有技术和本发明的非线性递减参数的曲线对比图;
图3为本发明实施例一提供的在基准测试函数F1上测试结果对比图,其中,(a1)~(e1)为本发明基于非线性的二进制蝗虫优化算法在基准测试函数F1上测试结果图,分别表示基准函数、蝗虫搜索历史、蝗虫轨迹、每次迭代所有蝗虫的平均适应度曲线、收敛曲线,(a2)~(e2)为现有技术的蝗虫优化算法在基准测试函数F1上测试结果图,分别表示基准函数、蝗虫搜索历史、蝗虫轨迹、每次迭代所有蝗虫的平均适应度曲线、收敛曲线;
图4(m)示出了本发明实施例一中基于非线性的二进制蝗虫优化算法的最优解均值,图4(n)使出了本发明实施例一中现有技术的蝗虫优化算法的最优解均值;
图5为本发明实施例二提供的基于非线性的二进制蝗虫优化算法的故障特征选择装置的结构示意图;
图6为本发明实施例三提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例一
需要说明的是,本发明实施例中特征选择问题可以理解为一个多目标优化问题,希望选择较少的特征数使分类器获得较高的分类准确率。本发明实施例利用改进的蝗虫优化算法来解决航空发动机故障诊断这一实际优化问题,在航空发动机故障诊断特征选择问题中,GOA种群中的每个个体都代表着数据集中的一组特征组合(特征子集),个体的维度由数据集中原始特征数(发动机数据集中传感器类型数)决定,并且每个个体向量均由0和1组成,1表示选择了该特征属性,0表示未选择该特征属性。
如图1所示,一种基于非线性的二进制蝗虫优化算法的故障特征选择方法,包括以下步骤:
步骤1、获取航空发动机故障特征的原始数据集。
步骤2、对原始数据集的数据进行预处理,包括剔除异常数据、归一化等,将各传感器数值作为属性数据,正常和故障作为标签数据,将得到的数据随机选取部分作为训练集,其余作为测试集。
步骤3、初始化故障特征种群数量、种群初始位置及蝗虫优化算法中的各参数;其中,各参数包括递减参数c的最大值、预设的最大迭代次数、故障特征种群内个体之间的吸引力强度以及吸引力尺度范围。
步骤4、计算故障特征种群内每个个体的适应度值,并将适应度值最大的个体的位置作为当前全局最优位置解,记为第一最优位置解,所述每个个体对应所述原始数据集中的每个故障特征。
根据故障特征种群内每个搜索个体中特征属性选择与否,对训练集相应属性数据和标签数据进行剔除,然后将训练集送入KNN分类器中训练,然后将测试集送入训练好的KNN分类器中,通过与测试集标签数据对比,计算得到分类器的准确率,然后计算出故障特征种群中每个搜索个体的适应度值,并选择适应度最高的个体位置作为当前全局最优位置解(即第一最优位置解)。
需要说明的是,在故障特征种群初始化时个体各维度的取值为[0,1]的随机数,因此为使种群中的个体向量均为0和1组成,本发明实施例中取个体各维度值大于0.65的值为1,其余值置0,得到由0和1组成的个体向量。为了以尽可能少的特征数获得尽可能高的分类准确率,评价个体好坏的适应度函数需同时考虑这两个因素,因此本发明实施例中采用的适应度函数定义如下:
其中,γ
分类器准确率如下式所示:
其中,TP、TN、P、N分别表示真正例、真负例、正和负样本数。
特征选择率的定义如下式所示:
其中,M为特征选择算法运行次数,D为原始数据集中的特征数,
步骤5、根据
步骤6、更新当前每个个体的位置。
步骤7、计算故障特征种群内位置更新后的每个个体的适应度值,选取适应度值最大的故障特征种群的位置作为当前迭代的最优位置解,记为第二最优位置解。
步骤8、根据所述第一最优位置解与所述第二最优位置解的比较结果更新当前迭代的最优位置解,并判断当前迭代次数是否达到预设的最大迭代次数,若是,则将更新后的当前迭代的最优位置解对应的个体属性选择确定为航空发动机故障特征的目标特征子集;否则返回执行步骤:更新非线性递减参数c。
需要说明的是,个体属性包括0和1,其中,1表示选择了该特征属性,0表示未选择该特征属性。
本发明实施例通过引入非线性递减参数c,在算法开始阶段以较快的速率下降,使故障特征种群中的蝗虫个体能够迅速向目标靠近,从而提高算法全局搜索的能力,提升算法的收敛速度;而在算法的后期,c的递减速度减缓,这使得种群中的蝗虫个体能对周围的空间进行仔细的搜索,从而提高算法局部开发的能力,避免算法陷入局部最优。因此,利用非线性递减参数c,可以更好的平衡算法在不同时期的全局探索和局部开发的能力。
在一个优选地实施例中,步骤6具体包括:
根据
自适应权重系数w随着个体适应度占全部个体适应度值的比重而变化,随着算法迭代的进行,可以避免种群中的个体逐渐处于自身的舒适区,因为当种群中的个体都处于舒适区时,个体就不再进行位置更新,此时种群中个体围绕在最优解周围,而非全部聚集于最优解所在的位置;因此,自适应权重系数w使得种群中的个体能在最优解附近进行移动,从而避免了算法易陷入局部最优的问题,进一步提高了算法寻优的精度。
在一个优选地实施例中,将d
通过上述s可将蝗虫个体所在空间划分为吸引区、排斥区与舒适区。但当个体之间距离大于10后,函数s的值接近0,此时将不再对该个体产生作用力,因此本发明实施例中限制种群中个体间的距离均在[1,4]范围之内。
在一个优选地实施例中,步骤6之后还包括:
步骤9、利用
步骤10、利用
由于传统的GOA只能用于处理连续优化问题,上述改进可以使得GOA更好的应用于航空发动机故障特征选择。在每次位置更新完成后,将位置数据都标准化为0或1,从而根据标准化后显示的结果更易判断是否需要保留下这个特征属性,从而选择飞机发动机故障特征子集,从而增强蝗虫优化算法的适用性。
在一个优选地实施例中,所述步骤8具体包括:
若所述第二最优位置解对应的适应度值小于所述第一最优位置解对应的适应度值,则保持将所述第一最优位置解作为当前迭代的最优位置解;否则,更新所述第二最优位置解作为当前迭代的最优位置解。
为进一步说明本发明基于非线性的二进制蝗虫优化算法的故障特征选择方法相较于现有技术(CN112859855A,一种基于蝗虫优化算法的机器人多目标路径规划)进一步提升了收敛速度以及寻优精度,下面将通过仿真测试进行对比。
仿真测试环境:Intel(R)Core(TM)i5-6500 CPU 3.2GHz内存8GB Windows7(64位)操作系统,所有算法均采用Matlab R2015b实现。引入基准测试函数
如图2所示,为现有技术和本发明的非线性递减参数的曲线对比图,可以看出,现有技术是在寻优开始阶段和寻优最后阶段都以较小的速率进行寻优,增加算法前期的搜索能力和后期的局部搜索能力。而本发明是在前期以较大的速率下降,后期以较小的速率下降;优点:前期可以很快的逼近最优解范围,然后在后期,个体能够对周围空间进行仔细的搜索,避免算法陷入局部最优的问题。因此,本发明实施例相较于现有技术能更好的提升收敛速度,平衡算法在不同迭代时期的全局搜索和局部搜索能力。
将本发明和现有技术的算法分别在基准测试函数F1上进行测试验证,得到如图3所示的结果。其中,根据图3中两者的收敛曲线对比可以看出,本发明基于非线性的二进制蝗虫优化算法的收敛速度明显比现有技术的蝗虫优化算法的收敛速度更快。
进一步的,如图4所示,本发明基于非线性的二进制蝗虫优化算法的最优解均值为0,优于现有技术中的算法寻优精度。
综上所述,无论是寻优精度还是收敛速度,本发明基于非线性的二进制蝗虫优化算法的故障特征选择方法均优于现有技术公开的技术方案。
实施例二
如图5所示,公开了基于非线性的二进制蝗虫优化算法的故障特征选择装置,包括:
获取模块:用于获取航空发动机故障特征的原始数据集;
初始化模块:用于初始化故障特征种群数量、种群初始位置及蝗虫优化算法中的各参数;
适应度值计算模块:用于计算故障特征种群内每个个体的适应度值,并将适应度值最大的个体的位置作为当前全局最优位置解,记为第一最优位置解,所述每个个体对应所述原始数据集中的每个故障特征;适应度值计算模块还用于计算故障特征种群内位置更新后的每个个体的适应度值,选取适应度值最大的故障特征种群的位置作为当前迭代的最优位置解,记为第二最优位置解;
非线性递减参数更新模块:用于根据
位置更新模块:用于更新当前每个个体的位置;
最优位置解更新模块:用于根据所述第一最优位置解与所述第二最优位置解的比较结果更新当前迭代的最优位置解;
判断模块:用于判断当前迭代次数是否达到预设的最大迭代次数,若是,则将更新后的当前迭代的最优位置解对应的个体属性选择确定为航空发动机故障特征的目标特征子集;否则转到所述非线性递减参数更新模块。
在一个优选地实施例中,位置更新模块具体用于:根据
在一个优选地实施例中,所述装置还包括:
位置变换模块:利用
位置离散化处理模块:利用
最优位置解更新模块具体用于:若所述第二最优位置解对应的适应度值小于所述第一最优位置解对应的适应度值,则保持将所述第一最优位置解作为当前迭代的最优位置解;否则,更新所述第二最优位置解作为当前迭代的最优位置解。
本发明实施例基于非线性的二进制蝗虫优化算法的故障特征选择装置是对应上述实施例一中基于非线性的二进制蝗虫优化算法的故障特征选择方法,由于上述实施例一中已经对其相关步骤进行了详细的说明,故在此装置中不再赘述。
实施例三
如图6所示,公开了一种电子设备,所述设备6包括存储器61、处理器62以及存储在所述存储器61中并可在所述处理器62上运行的计算机程序63,所述处理器62执行所述计算机程序63时实现基于非线性的二进制蝗虫优化算法的故障特征选择方法的部分或全部步骤。
实施例四
公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现基于非线性的二进制蝗虫优化算法的故障特征选择方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
- 一种面向硬盘故障预测的特征选择方法及硬盘故障预测方法
- 一种面向硬盘故障预测的特征选择方法及硬盘故障预测方法