一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于机器学习的车载网络故障诊断方法

2023-02-10 19:11:36 来源:中国专利 TAG:


1.本发明涉及车载网络故障诊断技术领域,具体涉及一种基于机器学习的车载网络故障诊断方法。


背景技术:

2.支持向量机(support vector machine,svm)近几年来被广泛用于车载网络的故障诊断。例如,向诗晗等人提出采用鸽群算法训练优化svm模型,进而实现网络故障诊断(向诗晗;徐萍;石才;张旭;胡翔;张磊;余军;彭先军.基于鸽群算法优化支持向量机的网络故障预测方法及系统[p].湖北省:cn109391515a,2019-02-26.)。
[0003]
然而,svm的惩罚因子c和rbf核函数参数g的选择质量,直接影响最终的故障诊断结果。智能优化算法是一种有效svm模型参数优化方法。海鸥算法是一种模拟海鸥觅食行为的新型智能优化算法,同样可以应用于车载网络故障诊断问题。但是,海鸥优化算法存仍然存在以下不足:在确定种群位置时,海鸥个体的位置是随机确定的,这就使得算法具有一定的盲目性和随机性;海鸥算法的位置更新是根据目标物的位置,采用螺旋进攻的方式,向最佳位置移动,但是如果只是根据最佳目标位置进行移动,很容易使海鸥陷入局部最优解,当海鸥算法陷入局部最优解时,没有任何措施能帮助其跳出局部最优解,导致在采用海鸥算法进行车载网络故障诊断时,不能达到最佳的故障诊断效果。


技术实现要素:

[0004]
为解决上述问题,本发明提供一种基于机器学习的车载网络故障诊断方法,克服了现有海鸥算法存在的几点不足,能够显著提升车载网络故障诊断的效果。
[0005]
为实现上述目的,本发明提供了如下的技术方案。
[0006]
一种基于机器学习的车载网络故障诊断方法,包括以下步骤:
[0007]
提取待诊断的车载网络故障原始数据中的故障特征;
[0008]
将5折交叉验证svm的分类准确率作为目标函数,并确定惩罚因子c和rbf核函数参数g的上下限;
[0009]
基于海鸥算法,通过高斯映射初始化海鸥种群位置,即初始化每个海鸥的惩罚因子c和核函数参数g,并根据目标函数,计算最优适应度值和最优海鸥位置;
[0010]
引入蝴蝶优化算法的位置更新机制,改进原海鸥算法的位置更新方式,并进行位置更新,获取更新后的最优适应度值和最优海鸥位置;
[0011]
对最优海鸥位置进行双向sine变异,将变异前后适应度值最优的海鸥位置,作为更新后的最优海鸥位置;
[0012]
根据预设的最大迭代次数依次更新最优海鸥位置,确定最优海鸥位置,即获得对应最优的惩罚因子c和核函数参数g;
[0013]
将最优的惩罚因子c和核函数参数g作为svm模型参数构建车载网络故障诊断模型;
[0014]
将车载网络故障诊断的特征向量,输入到训练后的车载网络故障诊断模型,获得故障诊断结果和测试准确率。
[0015]
优选地,所述通过高斯映射初始化海鸥种群位置,包括以下步骤:
[0016]
通过高斯映射产生随机数:
[0017][0018]
利用产生的高斯随机数x
t
初始化海鸥位置ps(t)为:
[0019]
ps(t)=(ub-lb)
×
x
t
lb
[0020]
式中,mod(
·
)为求余函数,lb为海鸥寻优下边界;ub为海鸥寻优上边界。
[0021]
优选地,所述引入蝴蝶优化算法的位置更新机制,改进原海鸥算法的位置更新方式,并进行位置更新,包括以下步骤:通过海鸥迁徙行为和海鸥全局攻击行为进行海鸥位置更新。
[0022]
优选地,所述海鸥迁徙行为,包括以下步骤:
[0023]
采用附加变量a计算海鸥的新位置,来避免与其他海鸥碰撞:
[0024]cs
(t)=a
×
ps(t)
[0025]
a=f
c-(t
×
fc/miter)
[0026]
式中:cs(t)为不与其他海鸥存在位置冲突的新位置;ps(t)为海鸥当前位置;t为当前迭代次数;miter为最大迭代次数;a为海鸥在给定搜索空间中的运动行为;fc为控制系数,取值从2降到0;
[0027]
向最佳位置所在的方向移动:
[0028]ms
(t)=b
×
(p
bs
(t)-ps(t))
[0029]
b=2
×
a2×
rd[0030]
式中:ms(t)为最佳位置所在的方向;p
bs
(t)为最佳位置;b为负责平衡全局和局部搜索的随机数;rd为[0,1]范围内的随机数;
[0031]
到达新的位置:
[0032]ds
(t)=|cs(t) ms(t)|
[0033]
式中:ds(t)是海鸥的向新位置移动的距离。
[0034]
优选地,所述海鸥全局攻击行为,包括以下步骤:
[0035]
通过螺旋运动不断改变攻击角度和速度,螺旋运动行为表示为:
[0036][0037]
式中:r为每个螺旋的半径,θ为[0,2π]范围内的随机角度值;u和v为螺旋形状的相关常数;e为自然对数的底数;
[0038]
引入蝴蝶优化算法的位置更新机制,改进后的海鸥位置更新公式如下:
[0039][0040]
式中:fs(t)=c
·iα
;ps(t 1)为更新后的第t 1次迭代的海鸥位置;p
bs
(t)表示第t次迭代的最佳位置;ps(t)为第t次迭代的海鸥位置;fs(t)为第t次迭代的海鸥散发出来的香味;α是[0,1]之间的一个随机数;λ是[0,1]之间的一个随机数;r1和r2为[1,n]之间的随机整数,和分别为随机选择的第r1和r2个海鸥的位置,r1≠r2;rand为[0,1]之间的随机数;p为切换概率,用于切换海鸥位置更新的公式;c是感知形态因子,为(0,1)之间的一个随机数;i是刺激因子;a是功率指数,为(0,1)之间的一个随机数;
[0041]
计算适应度值:
[0042]
fitness(t)=ff(ps(t 1))
[0043]
式中,ff(
·
)为计算适应度值时的适应度函数。
[0044]
优选地,所述对最优海鸥位置进行双向sine变异,包括以下步骤:
[0045]
对于维度j,根据当前迭代次数计算sine混沌值,并等概率切换正负方向:
[0046]
sinvalue=sin(πx0)
[0047][0048]
式中,rand为0到1的随机数;x0为迭代序列值;
[0049]
对最优位置进行变异扰动:
[0050]
p
bs(j)
(t 1)'=p
bs(j)
(t 1) sinvalue
×
p
bs(j)
(t 1)
[0051]
式中:p
bs(j)
(t 1)表示第t次迭代的最优位置p
bs
(t 1)的第j维;
[0052]
贪婪更新:
[0053][0054]
每个维度都进行变异后,停止变异。
[0055]
本发明提出一种基于机器学习的车载网络故障诊断方法,包括以下有益效果:
[0056]
该方法通过引入高斯映射进行海鸥种群位置的初始化,可以提升种群位置分布的均匀性和多样性,进而算法的稳定性得以增强;该方法对海鸥的位置更新方式进行了改进,引入蝴蝶优化算法的位置更新机制来改进海鸥位置更新方式,综合考虑了不同位置更新模式、本次迭代海鸥最优位置、种群内部的其他海鸥位置等因素更新海鸥位置,实现了算法搜索范围的增大,算法的适应性得以增强;该方法对最优海鸥利用双向sine混沌映射变异,实现了算法在后期跳出局部最优解的能力。
附图说明
[0057]
图1是本发明实施例的一种基于机器学习的车载网络故障诊断方法的流程图;
[0058]
图2是本发明实施例的车载网络实验平台;
[0059]
图3是本发明实施例的故障诊断结果图。
具体实施方式
[0060]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0061]
实施例1
[0062]
本发明的一种基于机器学习的车载网络故障诊断方法,针对soa存在的几个问题,提出增强型海鸥优化算法(improve seagull optimization algorithm,isoa)优化svm并用于车载网络的故障诊断,即:一种基于机器学习的车载网络故障诊断方法的流程如图1所示,具体步骤如下:
[0063]
s1:对车载网络故障的原始数据进行故障特征提取,得到车载网络故障诊断的特征向量,构建车载网络故障诊断的数据集,将数据集分为训练数据集和测试数据集。
[0064]
s2:建立基于增强型海鸥算法优化svm的车载网络故障诊断的目标函数funtion。因为是利用训练数据集计算svm的分类准确率,所以可以将训练数据集的5折交叉验证svm的分类准确率作为目标函数,并确定svm模型的惩罚因子c和rbf核函数参数g的上下限。
[0065]
s3:参数设置。海鸥种群的大小(即海鸥个体的数量)n;迭代的最大次数(即迭代停止的条件)miter;海鸥寻优下边界lb;海鸥寻优上边界ub
[0066]
s4:基于海鸥算法,通过高斯映射初始化海鸥种群位置,即初始化每个海鸥的惩罚因子c和核函数参数g,并根据目标函数,计算最优适应度值和最优海鸥位置:
[0067]
通过高斯映射随机数x
t
产生:
[0068][0069]
利用产生的高斯随机数x
t
初始化海鸥位置ps(t)为:
[0070]
ps(t)=(ub-lb)
×
x
t
lb
[0071]
式中,mod(
·
)为求余函数,lb为海鸥寻优下边界;ub为海鸥寻优上边界。
[0072]
s5:海鸥迁徙行为:
[0073]
在迁移过程中,算法模拟海鸥群如何从一个位置移动到另一个位置。在这个阶段主要包含三个行为:避免碰撞,向最佳位置方向移动和靠近最佳位置。
[0074]
采用附加变量a计算海鸥的新位置,来避免与其他海鸥碰撞:
[0075]cs
(t)=a
×
ps(t)
[0076]
a=f
c-(t
×
fc/miter)
[0077]
式中:cs(t)为不与其他海鸥存在位置冲突的新位置;ps(t)为海鸥当前位置;t为当前迭代次数;miter为最大迭代次数;a为海鸥在给定搜索空间中的运动行为;fc为控制系数,取值从2降到0;
[0078]
向最佳位置所在的方向移动:
[0079]ms
(t)=b
×
(p
bs
(t)-ps(t))
[0080]
b=2
×
a2×
rd[0081]
式中:ms(t)为最佳位置所在的方向;p
bs
(t)为最佳位置;b为负责平衡全局和局部搜索的随机数;rd为[0,1]范围内的随机数;
[0082]
到达新的位置:
[0083]ds
(t)=|cs(t) ms(t)|
[0084]
式中:ds(t)是海鸥的向新位置移动的距离。
[0085]
s6:海鸥攻击行为:
[0086]
海鸥在攻击猎物过程中,通过螺旋运动不断改变攻击角度和速度,螺旋运动行为表示为:
[0087][0088]
式中:r为每个螺旋的半径,θ为[0,2π]范围内的随机角度值;u和v为螺旋形状的相关常数;e为自然对数的底数。
[0089]
原始海鸥算法中,只利用最优海鸥位置进行引导,来更新海鸥位置,为了更加有效的提高海鸥的全局搜索能力,引入蝴蝶优化算法算法的位置更新机制来改进海鸥位置更新方式,综合考虑了根据切换概率选择不同位置更新模式、本次迭代海鸥最优位置、种群内部的其他海鸥位置等因素更新海鸥位置,避免每次迭代中出现局部最优,进而提高海鸥算法的全局搜索能力。
[0090]
引入蝴蝶优化算法的位置更新机制,改进后的海鸥位置更新公式如下:
[0091][0092]
式中:fs(t)=c
·iα
;ps(t 1)为更新后的第t 1次迭代的海鸥位置;p
bs
(t)表示第t次迭代的最佳位置;ps(t)为第t次迭代的海鸥位置;fs(t)为第t次迭代的海鸥散发出来的香味;α是[0,1]之间的一个随机数;λ是[0,1]之间的一个随机数;r1和r2为[1,n]之间的随机整数,和分别为随机选择的第r1和r2个海鸥的位置,r1≠r2;rand为[0,1]之间的随机数;p为切换概率,用于切换海鸥位置更新的公式;c是感知形态因子,为(0,1)之间的一个随机数;i是刺激因子;a是功率指数,为(0,1)之间的一个随机数。
[0093]
计算适应度值:
[0094]
fitness(t)=ff(ps(t 1))
[0095]
式中,ff(
·
)为计算适应度值时的适应度函数。
[0096]
s7:记录当次迭代中最优海鸥。
[0097]
s8:对最优海鸥位置进行双向sine变异,将变异前后适应度值最优的海鸥位置,作为更新后的最优海鸥位置。
[0098]
根据当前迭代次数计算sine混沌值,并等概率切换正负方向:
[0099]
sinvalue=sin(πx0)
[0100][0101]
式中,rand为0到1的随机数;x0为迭代序列值;
[0102]
对最优位置进行变异扰动:
[0103]
p
bs(j)
(t 1)'=p
bs(j)
(t 1) sinvalue
×
p
bs(j)
(t 1)
[0104]
式中:p
bs(j)
(t 1)表示第t次迭代的最优位置p
bs
(t 1)的第j维;
[0105]
贪婪更新:
[0106][0107]
每个维度都进行变异后,停止变异。
[0108]
s9:记录当次迭代中最优海鸥。
[0109]
s10:重复执行s6~s9,根据预设的最大迭代次数依次更新最优海鸥位置,确定最优海鸥位置,即得到svm的最优参数c
best
和g
best

[0110]
s11:将最优的惩罚因子c和核函数参数g作为svm模型参数构建车载网络故障诊断模型;将车载网络故障诊断的特征向量,输入到训练后的车载网络故障诊断模型,获得故障诊断结果和测试准确率。
[0111]
本实施例中:
[0112]
如图2所示为车载网络实验平台,该平台采用双总线拓扑结构,总线末端接端接器以防止阻抗不匹配而发生发射现象,网络上分别挂接车载网络协议分析仪1台、车载网络故障注入设备1台、网络节点6个等。在验证实验中,平台模拟车载网络6种典型状态,分别是:

网络正常;

网络断路;

近端端接故障;

远端端接故障;

双侧端接故障;

间歇性断路。
[0113]
采集车载网络每种状态2000组样本,并随机将其中1600组作为训练样本,剩余400组为测试样本。分别采用soa-svm和isoa-svm对车载网络进行故障诊断。soa算法中的参数为:n=50,maxiter=200,c和g的搜索范围均是在0-100之间,即lb=0,ub=100;isoa算法中的参数为:n=50,maxiter=200,c和g的搜索范围均是在0-100之间,即lb=0,ub=100。
[0114]
如图3所示,与soa-svm比较,isoa-svm对车载网络的6种状态的独立诊断精度均要高些;对于平均诊断精度,isoa-svm相比于soa-svm提高了7.03%。也就是说,isoa搜索得到的svm参数要优于soa搜索得到的svm参数。仿真结果表明,isoa算法比soa算法搜索能力更强,isoa-svm比soa-svm的诊断精确度更高,验证了方法的有效性。
[0115]
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献