一种基于KPCA-WOA-SVM火控系统故障诊断方法

2023-08-29 03:40李英顺阚宏达王德彪刘海洋
火炮发射与控制学报 2023年4期
关键词:贡献度鲸鱼适应度

李英顺,阚宏达,王德彪,刘海洋

(1.大连理工大学 控制科学与工程学院,辽宁 大连 116000;2.沈阳顺义科技有限公司,辽宁 沈阳 110000)

坦克是陆军主要武器装备[1],其火控系统先进与否直接决定着装甲装备的战场打击能力。火控计算机及传感器分系统作为坦克火控系统的中枢分系统,连接观瞄子系统、炮控子系统等各个子系统的源信号,火控计算机的运行状态直接影响到坦克的作战效率[2-3]。因此,对火控计算机的状态评估和故障诊断在坦克的故障预测与健康管理技术中显得愈加重要。

随着动态系统故障模式愈加复杂,基于物理模型的故障诊断方法由于模型的局限性使得对故障类型多样性的泛化能力不强,基于知识的故障诊断方法很大程度上依赖于人工经验和知识库的完善程度[4],目前基于数据驱动的故障诊断方法在各个领域得到迅速的发展。在小样本、非线性以及高维数据处理方面有着特有优势的支持向量机目前已经被应用到化工、电力、装备鉴定以及油液检测等各个领域的故障诊断[5-8]。在支持向量机(Support Vector Machine,SVM)中,核函数参数和惩罚因子是影响分类模型准确性的关键参数。文献[9]和[10]中分别提出应用粒子群优化算法和遗传优化算法参数寻优的支持向量机对滚动轴承做故障诊断,但粒子群优化算法和遗传优化算法都存在易陷入局部最优的问题。2017年Mirjalili等提出了一种新的元启发式算法即鲸鱼优化算法(Whale Optimization Algorithm,WOA),其优势在于可以更高效、更稳定地进行全局优化[11]。针对故障诊断中数据维度过多影响故障诊断速度的问题,数据降维与特征提取是一项重要的预处理工作,主成分分析作为一种使用普遍的特征提取算法被广泛应用于图像识别、故障诊断、文本分类等领域[12-14],核主元分析(Kernel Principal Component Analysis,KPCA)则是主成分分析的非线性扩展,文献[15]将KPCA算法用于化工过程的过程监控。

在上述研究基础上,笔者提出了一种基于KPCA-WOA-SVM的火控系统故障诊断方法,首先利用KPCA算法进行数据降维,再通过WOA优化的SVM故障诊断模型进行故障分类,相比于以往基于专家经验的人工故障诊断方法,提高了故障诊断的准确率和效率。

1 算法设计

1.1 KPCA算法

KPCA算法的思想是利用少数变量反映全部变量的大部分信息,并且这些少数变量所含的信息线性不相关[16]。

1)原理推导:假设对原始数据序列xk,k=1,2,…,n,进行非线性映射φ:R→F,可得到φ(xk),k=1,2,…,n,从而建立协方差矩阵,同时为求解该矩阵,引入核矩阵K,

(1)

K=XXT.

(2)

2)主元选取:设协方差矩阵的特征值分别为λ1≥λ2≥…≥λn≥0,特征值称为主元,对应的特征向量称为主成分,累计贡献度定义为所选顺序特征值与总特征值的比值:

(3)

式中,φp表示前p个主元的贡献度之和,代表前p个分量在所有分量中所占的比重,一般情况下,累计贡献度的阈值在80%~95%之间。

1.2 WOA

WOA是一种元启发式算法,其思想是通过模仿座头鲸的捕食行为进行参数寻优,与其他优化算法相比,具有泛化性能好、全局优化、参数少的优点。

1)环绕式围捕:当猎物被座头鲸发现时,座头鲸围困猎物的数学模型为

D=|F·X*(t)-X(t)|,

(4)

X(t+1)=X*(t)-A×D,

(5)

A=2a·r-a,

(6)

F=2r,

(7)

式中:X*表示当前鲸鱼个体最优位置;t表示迭代次数;A和F表示相关系数向量;r表示取值范围从0到1的随机向量;a表示在整个迭代过程中从2线性减少到0的规律值。

2)狩猎攻击:当鲸鱼以螺旋运动向猎物发起攻击时,位置更新的数学模型为

X(t+1)=D′·eel·cos(2πl)+X*(t),

(8)

D′=|X*(t)-X(t)|,

(9)

式中:D′表示鲸鱼和猎物之间的距离;e为一个常数;l为一个[-1,1]随机数。同时鲸鱼在游向猎物时还要缩小包围圈,在这种模型下,假设分别有50%的概率选择收缩包围和螺旋上升,其数学模型为

(10)

(11)

(12)

1.3 SVM

SVM是机器学习中一种代表性的分类算法,处理线性可分及非线性不可分的数据中都具有良好的分类表现[17]。为求解非线性问题,SVM引入了核函数k(x,z),其中径向基函数能将原始数据映射到高维空间中,表达式为

(13)

引入核函数后,SVM的分类决策函数为

(14)

针对投影到高维空间后某些样本点依然存在不可分的问题,在分类模型中引入松弛变量ξi进行优化调整,同时对损失部分引入惩罚因子C,引入松弛变量ξi与惩罚因子C后得到的新模型为

(15)

将其转换为对偶问题

(16)

式中:ai和aj表示拉格朗日乘子;yi和yj表示训练样本类别,yi和yj∈{-1,1};惩罚因子C用来衡量学习机器的复杂程度:如果C取值过大,易出现过拟合现象,SVM模型会趋于复杂,运行时间加长,运算效率下降;如果C取值太小,数据样本的拟合程度降低,SVM模型则易出现欠拟合现象。

2 火控系统故障诊断方法

坦克火控系统各部件结构复杂,参数众多,同时各个参数间的关联错综复杂、彼此相互影响,因此,需要对原始测量参数进行特征提取和数据降维。首先,取不同状态下待测部件各引脚测得的信号值作为健康状态评估的性能参数,采用核主元分析计算主元,并依据累计贡献度的阈值选取主元进行数据降维。然后,取降维后的特征数据作为支持向量机的训练样本输入,同时使用鲸鱼优化算法寻求最优参数,建立故障诊断模型。

2.1 KPCA特征提取方法

由于现代特种车辆都集成了高度自动化设备,直接使用特种车辆的全部性能参数会造成对故障诊断的不便,更多的性能参数增加诊断难度和诊断时间,因此,在进行特种车辆故障诊断前对特种车辆所有性能参数进行特征参数提取是非常有必要的。笔者采用KPCA降维方法,将一组具有相关性的高维变量转化为另外一组互不相关的新的低维变量,去除整个变量中的相关性,尽可能多地保留原变量中的有用信息。算法流程图如图1所示。

步骤1将原始数据归一化到[0,1]区间,使不同类别数据具有相同的度量尺度。

步骤2计算训练数据和测试数据对应核矩阵K与Ktest。

步骤3根据式(1)对协方差矩阵数学变换,应用核技巧计算特征值和特征向量。

步骤4依据累计贡献率的阈值选取对应主元,并根据选取的主元完成训练数据和测试数据的特征提取。

2.2 WOA-SVM故障诊断方法

在野外复杂的环境与条件下,随着坦克使用次数和使用时间的增加,坦克火控系统各子部件的服役性能具有一定的生命周期,超出期限可能会发生一定的故障。支持向量机可以依据采样的正常样本数据和故障样本数据,建立合适的故障诊断模型,由于核参数σ和惩罚因子C对模型的建立有决定性的影响,对于C和σ的选取,笔者采用鲸鱼优化算法,故障诊断流程如图2所示。

步骤1相关参数初始化。初始化鲸鱼的群体大小、最大迭代次数、X*(t)维数等,其中X*(t)={σ,C}。

步骤2适应度计算。将当前X*向量作为C,σ参数,从而建立SVM 模型,将当前模型下5折交叉验证的准确率的相反数作为鲸鱼优化算法的适应度函数值,找到适应度值最小的鲸鱼个体,将其位置存在X*中。

步骤3位置更新。如果|A|<1,按照式(10)更新X*;如果|A|>1,按照式(12)更新X*。

步骤4位置评估。根据步骤3更新的最新鲸鱼个体位置再次计算适应度值,将当前适应度值与最小适应度值对比。如果小于最优适应度值,将此鲸鱼位置作为X*;如果大于最优适应度值,则返回步骤3循环计算。

步骤5循环终止。判断循环次数是否达到最大迭代次数,若是,停止循环,返回X*的向量即为支持向量机的最优参数C和σ;若不是,则返回步骤2继续寻优。

步骤6建立故障诊断模型。将上述优化得到的最优参数C和σ与经过KPCA降维处理后的训练数据输入到SVM中建立故障诊断模型,而后输入数据进行故障诊断。

3 实验验证

以火控系统中火控计算机及传感器分系统的电源模块为验证对象。电源模块的信号主要包括:经由5 A保险丝供电的26 V主电源、经由滤波器给火控计算机电源板供电和连接观瞄系统的26 V分电源、以及电源板生成的电压值分别为+15 V和-15 V的电压信号。实验选取了+15 V、-15 V、分电源26 V、主电源26 V在各自引脚测得的13个端口的信号值作为电源模块的13个性能,如表1所示。

表1 数据源引脚信号表

原始数据中正常状态和故障状态下共计250组数据,共分为5类,其中正常状态50组数据,标签类别标识为1;+15 V电源故障50组数据,标签类别标识为2;-15 V电源故障50组数据,标签类别标识为3;26 V分电源故障50组数据,标签类别标识为4;26 V主电源故障50组数据,标签类别标识为5,如表2所示。

表2 原始数据分类表

3.1 基于KPCA电源模块参数的数据降维

选取上述5类训练样本共计125组数据,根据KPCA建立协方差矩阵,计算矩阵特征值与特征向量并依据特征值计算贡献度与累计贡献度。累计贡献度对应的Pareto图如图3所示,由于贡献度的大小代表所选取的特征值与特征向量携带全部数据信息的比例,正常情况下累计贡献度的取值范围为80%~95%。

设定累计贡献度分别为40%、60%、70%、80%、85%、90%、95%,而后分别将经特征提取后的数据输入到支持向量机中,参数寻优均使用5折交叉验证和网络搜索的方法,实际累计贡献度和测试样本准确率以及选取的顺序主元如表3所示,其中1~2表示选取前两个主元,其他同理。

表3 累计贡献度对比表

根据表3可知,在相同条件下,累计贡献度在给定范围内,当设定值为0.8时,测试样本的分类准确度为94.4%,达到最大值,对应选取的顺序主元为1-5,数据维度也相对较少。基于此,设定累计贡献度为0.8,原始的电源模块数据经过特征提取后由原来的13维降到5维,便于后续的故障诊断分析。

3.2 基于WOA-SVM电源模块的故障诊断

选取上述中经过KPCA降维后的125组训练样本建立SVM故障诊断模型,对于惩罚因子C以及核参数σ的选择采用鲸鱼优化算法,设定鲸鱼优化算法的最大迭代次数为100,种群数目为20。同时为比较该优化算法的性能优劣,另选取粒子群优化算法(Particle Swarm Optimization,PSO)、遗传算法(Genetic Algorithm,GA)两种元启发式优化算法,设定相同的初始条件。3种元启发式优化算法的迭代过程如图4所示,从图中可以看出,WOA优化算法的最佳适应度为96.8%,在第4次迭代即可达到最优值;GA优化算法的最佳适应度为95.2%,在第28次迭代到最优值,但是在第2次迭代和第21次迭代易陷入局部最优;PSO优化算法的最佳适应度为96%,在第44次迭代达到最优值,但是在第2次迭代易陷入局部最优。对比GA与PSO优化算法,WOA优化算法不容易陷入局部最优,更加稳定且能够较快达到最佳适应度值。

经过KPCA降维后的125组测试样本输入到已建立的故障诊断模型中,故障诊断结果如图5所示。从图5中可以看出,WOA-SVM模型故障分类准确度为95.2%,程序整体运行时间为4.36 s;GA-SVM模型故障分类准确度为93.6%,程序整体运行时间为5.91 s;PSO-SVM模型故障分类准确度为93.6%,程序整体运行时间为9.15 s。

考虑到误差因素,分别对每种算法进行了10次故障预测实验,以其均值作为最终的故障诊断结果,相比GA-SVM与PSO-SVM故障诊断模型,WOA-SVM故障诊断模型的训练分类准确率与测试分类准确率都可以达到等同或更高的分类水平,同时在运行时间上有着相当的优势,如表4所示。

表4 SVM模型故障诊断结果对比表

4 结束语

火控系统的故障诊断与状态评估是一项复杂的系统工程,针对多维度运行状态数据,KPCA算法可以降低数据维度,提高支持向量机故障诊断的效率,WOA可以对SVM的参数全局优化,更加快速、稳定地寻找最优解,同时SVM可以有效地处理多分类问题。笔者以电源模块为例,所提出的基于KPCA-WOA-SVM的故障诊断方法可以做到快速、准确诊断,同时也为火控系统其他模块的故障诊断提供了借鉴。

猜你喜欢
贡献度鲸鱼适应度
小鲸鱼
改进的自适应复制、交叉和突变遗传算法
迷途鲸鱼
鲸鱼
充分把握教育对经济社会发展的贡献度
基于贡献度排序的肾透明细胞癌串扰通路分析
鲸鱼岛——拖延症
基于空调导风板成型工艺的Kriging模型适应度研究
需求侧资源促进可再生能源消纳贡献度综合评价体系
中国对外贸易对经济增长贡献度探索——基于VAR模型的分析