童紫扬,赵志强,黄惠文,马钦鹏,刘海锋
(1.广东海洋大学 海运学院,广东 湛江 524088;2.江苏科技大学 能动学院,江苏 镇江 212003)
船舶发动机作为船舶的核心装备,对船舶的航行安全至关重要。随着船舶发动机日趋智能化、自动化,其内部结构愈发复杂。本文以船舶发动机为研究对象,将基于粗糙集的属性约简、BP算法与故障诊断分析相结合,可提高故障诊断的准确率并降低故障诊断成本。依据已约简好的数据,将数据进行归一化,创建BP神经网络;在程序中设置训练参数,完成训练后进行仿真测试,得出5种工况的故障诊断的准确率[1-2],用以为船舶发动机故障诊断算法研究提供依据。
粗糙集对于问题的描述或处理比较客观,粗糙集理论不包含处理不精确或不确定原始数据的机制,它与概率论、模糊数学以及证据理论等处理不确定或不精确问题的理论有很强的互补性[3-4]。粗糙集约简有如下定义[5]:
1)具有完整的信息系统S,且S由以下4种元素构成:粗糙集论域U;属性集合R=C∪D(其中C为条件属性,D为决策属性);属性值域V;从U×R到V的信息函数f。可表示为S={U,R,V,f};
2)对任意非空属性子集B⊆R,若f(a,b)=f(c,b)成立,则称a,c关于B不可分辨关系,记作Ind(B);
3)1个信息系统S=(U,R),设某属性集P中任意1个属性都不能消除,且Ind(P)=Ind(R)(其中P⊆R),则称属性集合P是属性集合R的1个约简;
4)所有属性约简有不可消除属性的集合,称为R的核Core(R)。
1)数据处理
本文以船舶发动机的故障诊断为研究对象,列出了船舶发动机5种工况的原始数据,其中包括正常工况、中冷器效率降低、压气机效率降低、燃烧持续期延长和喷油量减少。
以条件属性编码C1~C15分别表示:功率、最大爆发压力、压气机流量、压气机出口温度、压气机出口压力、中冷器后温度、中冷器温差、中冷器后压力、中冷器压差、扫气温度、排气口温度、扫气压力、排气口压力、废气进涡轮机温度、废气出涡轮机温度[6]。原始数据如表1所示。
表1 船舶柴油机故障模拟原始数据示例
对5种工况的原始数据按照一定的标准来进行离散化处理,其中,0表示该数据值偏低,1表示该数据值处于正常范围,2表示该数据值偏高。离散化标准依据不同参数的标准值范围进行设定,对于没有明确标定范围的参数,则根据传感器标注的测量范围结合常规的传感器选定标准,进行测算后设定。
2)原始数据的属性约简
数据经过离散化处理后存在明显的冗余,需在离散化处理后剔除系统中存在的冗余属性,由此完成对数据进行约简。实验结果显示,约简后的数据决策表中仅剩7个条件属性编码:C1、C3、C4、C7、C12、C14、C15。
由此可知,不同工况的原始数据经过约简后,冗余属性被明显削弱了。将约简后的数据与BP神经网络相结合,运用到船舶发动机故障诊断算法的研究中,由于已经约简了不必要的数据,减少了原始数据的维度,船舶发动机故障诊断的准确率将明显提高。
导入约简后原始数据,可运用BP神经网络对船舶发动机故障进行识别和诊断。数据中包含5种不同的工况(故障工况分轻、重度,共9组数据)和7个维度的决策参数,可构建出输入节点数为7、输出节点数为3的BP神经网络结构[7]。每组数据包含了10个样本,其中70%的数据样本作为BP神经网络的训练集,30%的数据样本作为BP神经网络的测试集。数据导入后需进行归一化处理,设置中间结果的周期、学习率、最大迭代次数、目标误差等训练参数,其后可对数据参数进行训练,最后进行仿真测试。仿真测试共分5次进行,其中除正常工况外,其余4种工况又分为轻度和重度情况,共7种工况。各工况故障诊断结果如表2所示。
表2 故障诊断结果
可知,正常工况的平均识别率为92.00%;轻度、重度中冷器效率降低的平均识别率分别为90.00%、96.00%;轻度、重度压气机效率降低的平均识别率分别为86.00%、92.00%;轻度、重度燃烧持续期延长的平均识别率分别为88.00%、88.00%;轻度、重度喷油量减少的平均识别率分别为88.00%、92.00%。5次仿真测试总平均识别率为90.22%。
针对表中5次仿真测试的BP神经网络故障诊断识别率,可运用预测值与实际值的线性回归结果分析验证其准确度。图1为5次BP神经网络识别结果线性回归曲线图。
分析图1(a)可知,训练集、测试集的回归结果分别为89.893%、87.870%,验证的回归结果为79.411%,总回归结果为88.464%。由此可知,第1次BP神经网络故障诊断的总识别率较为准确。
同理,图1(b)中,训练集、测试集的回归结果分别为83.046%、81.014%,验证的回归结果为78.183%,总回归结果为81.702%。
图1 BP神经网络识别结果线性回归曲线图
第3次训练集、测试集的回归结果分别为91.419%、80.787%,验证的回归结果为97.125%,总回归结果为90.948%。由此可知,第2次BP神经网络故障诊断的总识别率较低,第3次BP神经网络故障诊断的总识别率较高。
第4次训练集、测试集的回归结果分别为83.742%、89.623%,验证的回归结果为71.901%,总回归结果为84.146%,第4次BP神经网络故障诊断的总识别率适中。
第5次训练集、测试集的回归结果分别为90.407%、86.411%,验证的回归结果为99.068%,总回归结果为91.395%。所得数据说明第5次BP神经网络故障诊断的识别率较高。
综合5次线性回归结果进行分析,可得出结论:使用BP神经网络对船舶发动机故障进行诊断可行。
本文强调了研究高效智能的船舶故障诊断技术的必要性,提出了属性约简与BP神经网络相结合的船舶故障算法诊断技术。通过属性约简对数据库中的数据进行处理,可提高数据的精简度,减少数据的冗余。在BP神经网络完成学习训练后导入经过约简的数据,BP神经网络可对船舶发动机故障进行识别和诊断。相较于传统故障诊断方法,算法诊断可靠性高,且更为简洁高效。
本文结合约简后的数据与BP算法,通过5次仿真测试,计算出船舶发动机在不同故障工况下的故障平均识别率,并通过线性回归结果分析,对仿真测试所得平均识别率进行验证。本文5次仿真测试结果显示,故障总平均识别率为90.22%。线性回归结果表明,本文使用的船舶故障算法诊断技术能够有效地诊断船舶发动机的故障原因,可为算法在船舶发动机故障诊断研究中的应用提供参考。