本发明属于故障诊断领域,具体的涉及基于elm算法的水下航行器电路故障诊断方法。
背景技术:
近年来,故障诊断领域发展迅速,各种故障诊断方法层出不穷,故障诊断的精确度也逐步提高。电气设备故障诊断,新能源汽车故障诊断,无人飞行器故障诊断,以及可扩展的故障诊断方法等等。
在现有技术中,传统的诊断方法是采用传统的人工神经网络,网络的隐层节点参数是通过一定的迭代算法进行多次优化并最终确定的。这些迭代步骤往往会使参数的训练过程占用大量的时间。并且,现有算法很容易产生局部最优解,从而使网络训练过程的效率得不到保证。
目前的对于水下航行器电路故障诊断方法较少,而且现有的少数的诊断方法中,要么处理速度过慢,要么故障样本需求量过大,要么成本太高,并且没有合适的方法去减小干扰因子的影响力。
技术实现要素:
本发明要解决的技术问题在于,克服现有技术的不足,提供基于elm算法的水下航行器电路故障诊断方法,其可以在样本较少的情况下,对较快速和准确的对水下航行器电路进行诊断。
本发明所涉及的基于elm算法的水下航行器电路故障诊断方法,包括以下步骤:
搜集水下航行器电路的故障现象和故障原因,建立样本数据集;
根据样本数据集,采用elm算法对学习网络进行训练,得到学习模型;
给学习模型输入新的数据;
利用最近相邻匹配算法,将学习模型的输出结果与已知故障类型进行匹配;
根据匹配结果诊断水下航行器电路。
进一步地,所述采用elm算法对学习网络进行训练,之后还包括,
利用最近相邻匹配算法,将训练中学习网络的输出结果与已知故障类型进行匹配,得到学习模型的误差值;
判断学习模型的误差值是否在允许范围内:
若学习模型的误差值在允许范围内,则进入给学习模型输入新的数据;
若学习模型的误差值不在允许范围内,则返回采用elm算法对学习网络进行训练。
更进一步地,所述搜集水下航行器电路的故障现象和故障原因,建立样本数据集,具体包括:
搜集水下航行器电路的故障现象和故障原因;
将所述故障现象和故障原因分别等效为现象样本数据和原因样本数据;
对所述现象样本数据和圆心样本数据进行标准归一化处理,分别得到故障现象数据集和故障原因数据集;
将故障现象数据集和故障原因数据集构成样本数据集。
再进一步地,所述根据样本数据集,采用elm算法对学习网络进行训练,得到学习模型,包括:
设样本数据集为(x,j),所述x代表故障现象数据集,j代表故障原因数据集;
根据样本数据集为(x,j),计算学习网络的输出值;
构建所述学习网络的输出方程,所述输出方程为学习模型。
还进一步地,对所述现象样本数据和圆心样本数据进行标准归一化处理的公式为:
公式(1)中,μ为样本数据的均值,σ为样本数据的标准差;即:
又进一步地,所述计算学习网络的输出值,公式为:
公式(4)中,βi为输出值的权重;g(ai,bi,x)表示第i个隐层节点的输出;此处的ai,bi为第i个径向基函数节点的中心和影响因子。
在上述技术方案中,所述g(ai,bi,x)通过下列公式求得:
g(ai,bi,x)=g(bi||x-ai||)(5)。
优选地,所述学习网络的输出方程为:
hβ=j+e(6)
公式(6)中,
其中,ai,bi的值在[-1,1]区间内随机给定,β是在随机给定的ai,bi基础上的最优输出权重。
优选地,
所述最近相邻匹配算法的公式为:
s0(k)-si(k)/range(s(k))表示当前学习网络输出的第k个指标与已知故障类型的第k个指标的不相似度,即匹配结果;ωk表示当前指标在评价故障类型时所占的比重。
优选地,所述根据匹配结果诊断水下航行器电路,具体包括:
若e(s0,si,w)≥0.9,就判定当前故障类型为当前匹配的已知故障类型。
在本发明中,首先,采用elm算法,其运算速度快,需求的节点数较少,解决了传统算法成本高的问题;其次,采用最近相邻匹配算法,对elm的输出与故障类型进行合理的匹配,降低了干扰因子的影响,提高了匹配的精确度。
elm算法是在单隐层神经网络基础上发展起来的,极大的提高了单隐层神经网络的数据处理速度。elm算法是神经网络研究中的一种算法,是一种泛化的单隐层前馈神经网络。
elm算法的隐层节点参数是随机选取的,在训练过程中无需调节,只需要设置隐含层神经元的个数,便可以获得唯一的最优解;而网络的外权(即输出权值)是通过最小化平方损失函数得到的最小二乘解。这样网络参数的确定过程中无需任何迭代步骤,从而大大降低了网络参数的调节时间。与传统的训练方法相比,该方法具有学习速度快、泛化性能好等优点。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例方法的框架图;
图2是本发明实施例的方法流程图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
如图1和图2所示,本发明涉及的基于elm(极限学习机)算法的水下航行器电路故障诊断方法,其特征在于,包括以下步骤:
101、搜集水下航行器电路的故障现象和故障原因,建立样本数据集;
1011、搜集水下航行器电路的故障现象和故障原因;
1012、将所述故障现象和故障原因分别等效为现象样本数据和原因样本数据;
1013、对所述现象样本数据和圆心样本数据进行标准归一化处理,分别得到故障现象数据集和故障原因数据集;
1014、将故障现象数据集和故障原因数据集构成样本数据集。
102、根据样本数据集,采用elm算法对学习网络进行训练,得到学习模型;
201、利用最近相邻匹配算法,将训练中学习网络的输出结果与已知故障类型进行匹配,得到学习模型的误差值;
202、判断学习模型的误差值是否在允许范围内:
若学习模型的误差值在允许范围内,则进入给学习模型输入新的数据;
若学习模型的误差值不在允许范围内,则返回采用elm算法对学习网络进行训练。
103、给学习模型输入新的数据;
104、利用最近相邻匹配算法,将学习模型的输出结果与已知故障类型进行匹配;
105、根据匹配结果诊断水下航行器电路。
所述根据样本数据集,采用elm算法对学习网络进行训练,得到学习模型,包括:
设样本数据集为(x,j),所述x代表故障现象数据集,j代表故障原因数据集;
根据样本数据集为(x,j),计算学习网络的输出值;
构建所述学习网络的输出方程,所述输出方程为学习模型。
对所述现象样本数据和圆心样本数据进行标准归一化处理的公式为:
公式(1)中,μ为样本数据的均值,σ为样本数据的标准差;即:
所述计算学习网络的输出值,公式为:
公式(4)中,βi为输出值的权重;g(ai,bi,x)表示第i个隐层节点的输出;此处的ai,bi为第i个径向基函数节点的中心和影响因子。
所述g(ai,bi,x)通过下列公式求得:
g(ai,bi,x)=g(bi||x-ai||)(5)。
因为构建的单隐层神经网络不能以零误差逼近数据样本,故对应于以上输出和实际输出之间也会伴随误差。因此所述学习网络的输出方程为:
hβ=j+e(6)
公式(6)中,
其中,ai,bi的值在[-1,1]区间内随机给定,β是在随机给定的ai,bi基础上的最优输出权重。
所述最近相邻匹配算法的公式为:
s0(k)-si(k)/range(s(k))表示当前学习网络输出的第k个指标与已知故障类型的第k个指标的不相似度,即匹配结果;ωk表示当前指标在评价故障类型时所占的比重。
若e(s0,si,w)≥0.9,就判定当前故障类型为当前匹配的已知故障类型。
本发明可用于针对水下航行器电路中交流配电板的故障诊断。有益效果在于:①利用极限学习机(elm)算法形成诊断网络,所需样本量少,计算速度快,避免了类似神经网络的大量迭代计算和参数设定;②利用最近相邻匹配算法,匹配成功率较高;③将可视化的故障判断进行了量化处理,从而由机器算法推断其故障类型。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。