舰船科学技术  2023, Vol. 45 Issue (5): 97-101    DOI: 10.3404/j.issn.1672-7649.2023.05.018   PDF    
基于SVM-BP集成学习的舰船蒸汽动力系统故障诊断
郑鑫1,2, 陈辉1,2, 管聪1,2, 王瑞涵1,2     
1. 武汉理工大学 高性能船舶技术教育部重点试验室,湖北 武汉 430063;
2. 武汉理工大学 船海与能源动力工程学院,湖北 武汉 430063
摘要: 传统故障诊断算法用于舰船蒸汽动力系统非均衡类样本问题存在准确率低且误分类的情况,本文提出一种基于支持向量机-BP神经网络集成学习的故障诊断模型。使用主层次分析法降低原始数据集的特征维度以改善数据量之间的冗余问题,然后设计3个并行的支持向量机分类器进行故障诊断,将分类器的结果数据融合作为BP神经网络的输入,进行二次诊断,得到最终的结果。用仿真平台采集的样本数据进行验证并重复运行30次获取结果,最终模型平均召回率为84%、平均准确率为95.04%。对比传统诊断算法及常用集成算法,该方法的准确率以及少数类样本的召回率明显高于其他诊断方法。
关键词: 支持向量机     BP神经网络     集成学习     故障诊断     蒸汽动力系统    
Fault diagnosis of ship steam power system based on SVM-BP integrated learning
ZHENG Xin1,2, CHEN Hui1,2, GUAN Cong1,2, WANG Rui-han1,2     
1. Key Laboratory of High Performance Ship Technology of Ministry of Education, Wuhan University of Technology, Wuhan 430063, China;
2. School of Naval Architecture, Ocean and Energy Power Engineering, Wuhan University of Technology, Wuhan 430063, China
Abstract: Traditional fault diagnosis algorithms are used for the problem of unequilibrium samples of ship steam power system with low accuracy and misclassification, and this paper proposes a fault diagnosis model based on support vector machine-BP neural network ensemble learning. First, the main hierarchy method is used to reduce the feature dimension of the original dataset to improve the redundancy between data volumes. Then, three parallel support vector machine classifiers are designed for fault diagnosis, and the result data of the classifier is fused as the input of the BP neural network for secondary diagnosis to obtain the final result. The sample data collected by the simulation platform was verified and repeated 30 times to obtain the results, and the average recall rate of the final model was 84%,the average accuracy was 95.04%. Compared with traditional diagnostic algorithms and commonly used ensemble algorithms, the accuracy of this method and the recall rate of a few samples are significantly higher than those of other diagnostic methods.
Key words: support vector machine     BP neural networks     integrated learning     fault diagnosis     steam power system    
0 引 言

蒸汽动力系统设备众多、结构复杂,设备运行参数之间耦合度高,关联性强。传统的舰船故障识别只能依靠船员的经验判断,故障识别的及时性及准确率很难得到保障,无法满足实际要求[1]。因此,对于舰船蒸汽动力系统的智能化故障诊断意义重大。

随着机器学习在工业领域的发展与应用,舰船故障诊断领域的研究也大量开展。高建强等[2]提出多维BP神经网络的方法用于锅炉故障诊断,以锅炉管路泄漏为例,进行故障仿真试验,得出多维BP神经网络能快速有效地对故障进行诊断与响应。徐鹏等[3]提出采用附加动量−自适应学习速率调整,运用“小网络集群”的思路分别构建网络以进行故障识别和故障溯源的方法,并将提出的方法用于船舶动力系统给水泵转速异常的相关故障诊断,最后得出优化的算法明显优于普通的BP神经网络。受数学原理的限制,单一分类器在解决工业领域故障诊断问题时表现一般,虽通过对算法的超参数寻优得到最优诊断模型,但不能使模型突破准确率上限,最终的准确率不高,且单一分类器的诊断结果存在偶然因素的影响。此外舰船设备不可能长期处于故障工况运行,因此面对舰船领域故障诊断时存在非均衡数据集的问题。在面对非均衡数据集时单一分类器的故障识别准确率更低。

集成学习在舰船领域中的应用较少,主要集中在其他工业领域。许玉格等[4]提出了一种基于Bagging集成算法的故障诊断模型,利用虚拟少数过采样算法(SMOTE)增加少数类样本的数量,保证样本分布的均衡性以及分类器间的多样性,提高了故障的识别率。张展等[5]将包括K近邻算法、支持向量机算法、决策树算法、随机森林算法及逻辑斯谛回归算法在内的5种子分类器,使用投票方法进行集成,将集成算法和单一算法进行比较分析。结果显示,集成算法的故障诊断的准确率有明显的提升。传统的集成算法并没有考虑到非均衡数据集这一问题,导致出现少数类样本学习力度不够,最终模型的准确率不高、误分类等情况。通过算法改进,将非均衡数据集纳入考虑,但是改进算法复杂,且诊断流程耗时过长。为此,本文提出将多个SVM算法并行运行,利用BP神经网络替代传统集成算法对诊断结果融合,实现原始数据集的二次学习,进行二次诊断,加强对非均衡数据集中少数类样本的学习力度,最终提高了少数类样本的召回率,还提升了模型的准确率及稳定性。

1 诊断模型

本文针对舰船蒸汽动力系统中锅炉端燃油辅助系统的故障问题设计了故障诊断模型。故障数据来源于GenSystem一体化仿真平台开发的蒸汽动力系统操作平台。该平台仿真了某一舰船完整的动力系统,具有模块管理及数据管理等功能模块,采用基于共享内存的数据通信模式,仿真平台构成如图1所示。

图 1 GenSystem模拟器仿真平台 Fig. 1 GenSystem simulator emulation platform

故障诊断模型由三大部分构成:1)原始数据预处理模块,完成数据预处理工作;2)第一层故障诊断模块,各分类器单独诊断并输出结果;3)第二层故障诊断模块,完成数据融合并基于融合结果完成最终诊断,获得模型诊断结果。诊断模型运行流程如图2所示。

图 2 故障诊断模型流程图 Fig. 2 Troubleshooting model flowchart
2 案例分析 2.1 非均衡数据集获取

以GenSystem舰船蒸汽动力系统仿真平台采集的状态参数作为原始数据集,利用数据管理模块中的实时与历史数据管理功能,将数据导出到本地使用。在实际运行过程中,舰船长时间处于正常工况运行,因此在采集试验数据时,做到与实际一致,即大部分为正常工况数据,少量为故障工况样本[6]

以锅炉燃烧供油量不足这一故障现象为例进行故障诊断,锅炉燃油系统如图3所示。在GenSystem仿真平台上进行全局化仿真,分别设置了燃油过滤器堵塞、汽轮燃油泵本体故障、汽轮燃油泵进气卡死、燃油总管泄漏4种工作中常见故障。根据图3分析,燃油供给与燃烧锅炉及风烟系统具有强耦合关系,在选择指标参数时应选择包含信息量全面的参数。在相应工作状态下,采集了汽包压力、汽包液位、过热蒸汽产量、饱和蒸汽产量、燃油总管流量、燃油总管温度、燃油总管压力、燃油泵出口压力、燃油泵汽轮机转速、燃油泵喷嘴前压力、炉膛进口燃油量、炉膛实际燃油消耗量12个参数。将采集的样本数据按照故障种类分为5组,分别为:正常工况(0)、燃油过滤器堵塞(1)、汽轮燃油泵本体故障(2)、汽轮燃油泵进气卡死(3)、燃油总管泄漏(4),样本分布如表1所示。

图 3 蒸汽动力燃油系统 Fig. 3 Steam-powered fuel system

表 1 原始数据样本分布 Tab.1 Sample distribution of raw data
2.2 数据预处理与分析

考虑到12种系统参数具有很大的量纲和数量级差异,对样本的特征数据集进行标准化处理,将样本数据映射到[0,1]的区间上,以避免样本数据的量纲单位或数量级相差太大对模型分类的准确率带来影响。

参数之间的相关性导致信息量堆叠冗余,会影响模型收敛的速度,采用PCA降低原始特征矩阵的维度,通过计算累计贡献率来确定降维后特征空间的维度。降维后,各个向量的主成分对应贡献率如表2所示。前3个主成分的累计贡献率达到了98.65%,包含了绝大部分原始特征数据集的信息。同时为了更好地进行数据分析,将原始12维空间经PCA降维到3维空间,不仅避开信息量的冗余,且信息量得到最大化保留,大大提高了模型的运算效率。

表 2 PCA-主成分累计贡献率 Tab.2 PCA - principal component cumulative contribution rate

图4为降维后5种工况的特征数据在三维空间中的分布。可以看出,工况3样本空间分布集中,且远离其他4组,故障诊断时容易识别;而其他4组中,工况1、工况2与工况0、工况4互相远离,有明显的分界,但工况1、工况2之间,工况0、工况4组之间不存在明显的间隙,尤其是工况0、工况4之间存在明显的交叉分布,故障诊断时容易出现误分类的情况。

图 4 样本的空间分布 Fig. 4 Spatial distribution of samples
2.3 试验对比

SVM在解决非线性问题时,需要通过核函数将数据映射到另一个高维空间上,以此为基础进行分类操作,SVM的核函数可分为:RBF(径向基函数)、Poly(多项式核函数)、Linear(线性核函数)。SVM在对非均衡数据集进行分类时容易出现误分类,导致召回率低的现象[7]。经过研究发现,是因为少数类样本量有限,算法对其学习的力度不够,不能完全挖掘出样本包含的信息量。因此,设计3个并行的以核函数种类为区分的SVM,通过不同的方式挖掘数据集的特征信息,保证提取信息的多样性,加大对数据集包含信息的挖掘程度,将3个并行的SVM的预测结果融合,将融合结果作为BP神经网络的输入,对数据的信息进行二次挖掘学习,得到最终的诊断结果。作为对比,与3个SVM单独诊断、常规Bagging集成算法和单一BP神经网络诊断的结果进行比较。3个弱分类器更多的参数选择如表3所示。

表 3 SVM-参数设置 Tab.3 SVM-parameter settings

将样本数据按8∶2的比例划分训练集和测试集,模型分别训练后,得到3个单独的SVM故障诊断模型,将测试集代入进行验证,得到模型的故障识别准确率,并绘制混淆矩阵,评估模型性能,如图5所示。

图 5 3个SVM弱分类器的混淆举证 Fig. 5 The confusion matrixes of the three SVM weak classifiers

使用Bagging法对3个弱分类器的预测结果集成,依据集成模型的诊断结果绘制混淆矩阵,如图6所示。

图 6 Bagging集成算法的混淆举证 Fig. 6 The confusing matrixes of bagging integration algorithms

设计单独试验的BP神经网络的参数,如表4所示。用划分的训练集训练模型后用测试集进行模型验证,依据测试集诊断结果绘制混淆矩阵,如图7所示。

表 4 BP神经网络参数设置 Tab.4 BP-parameter settings

图 7 BP神经网络模型的混淆举证 Fig. 7 The Confusing matrixes of BP neural network models

验证本文提出的故障诊断模型,将上述的3个SVM并行运行,将划分好的训练集通过K折验证获取子训练集,分别用于训练3个SVM,用训练好的3个SVM对测试集进行特征提取,得到3组特征提取结果,将得到的结果通过矩阵拼接融合,最后将融合得到的新特征矩阵作为BP神经网络的输入,进行深层次的数据挖掘,进行二次诊断,最后得到模型故障诊断的结果,绘制混淆矩阵如图8所示。

图 8 基于SVM-BP集成模型的混淆举证 Fig. 8 The confusing matrixes based on the SVM-BP integration model

重复上述测试30次,来对比各个诊断模型的稳定性,表5为各个诊断模型的平均准确率、准确率的方差及对工况4的平均召回率,图9为各个模型的准确率曲线。

表 5 各模型的分类结果 Tab.5 The classification results for each model

图 9 各个模型准确率曲线 Fig. 9 The accuracy curves for each model

通过以上混淆矩阵对比可以看出,对工况0~工况3,参与对比的6种诊断模型很好地识别分类出来。根据图4可知,因为前4种工况的空间分布分散,意味着4种工况的数据样本之间差异性很大,各模型根据已有的样本能够充分挖掘每种工况的信息量,故前4种工况的召回率都很高。但是对于工况4,6种诊断模型的区别很大,参与对比的5种诊断模型都存在很严重的误分类现象。分析图4可知,工况4和工况0的空间分布比较重合,说明工况4和工况0样本所包含的信息具有很强相似性,在故障样本数量远少于正常工况样本数量的情况下,模型对工况4样本的数据特征学习力度不够,容易出现将工况4样本学习分类为工况0的情况,即容易出现误分类现象。传统的Bagging集成学习算法中,通过对并行的SVM的结果进行投票筛选,遵循少数服从多数原则,该方法一定程度上提高了工况4的分类正确率,但总的来说,3个并行的分类器学习力度都不足,会出现3个SVM同时分类错误的情况,因此传统的Bagging集成法诊断时通常是对3个错误的分类结果进行投票,并没有加强对原始数据集的学习力度,故集成诊断的结果也是错误的,所以虽有提升,但幅度很小,诊断结果依旧不佳。而本文提出的利用BP神经网络替代传统的集成手段,将3个SVM的输出的概率分布矩阵进行融合,进一步学习提取融合矩阵的特征,利用BP神经网络的误差反向传播、不停迭代更新权值及阈值,对概率分布矩阵进行线性运算,实现对原始数据的特征二次挖掘,进一步对数据的特征进行学习,得到最后的诊断结果。通过以上混淆矩阵的对比可知,此方法很大程度上提高了模型对相似度高的少数样本类工况的分类正确率。

图9表5表明,本文提出的基于SVM-BP集成学习的故障诊断模型针对蒸汽动力燃油系统故障诊断有好的效果,工况4的平均召回率达到了84%,较SVM算法提成了一倍有余,较常用的Bagging集成学习算法提升了16%,模型的准确率也明显优于其他模型。

3 结 语

本文以舰船蒸汽动力系统锅炉的燃油辅助系统故障为对象,针对非均衡数据集故障识别存在的准确率低及少数类样本误分类等问题,通过对样本空间分布以及传统故障诊断方法出现问题的原因进行分析,提出了基于SVM-BP集成学习的故障诊断模型。经过试验分析并对比证明,最终得到了如下结论:

1)原始非均衡数据集中的各个特征参数数据存在信息堆叠冗余的问题,使用PCA能在降低原始特征维度及复杂度的同时很好地保留原始数据集包含的信息量。经过PCA降维后保留了3个主成分,累计贡献率为98.65%。

2)本文提出的基于SVM-BP集成算法在非均衡数据集上表现良好,通过对数据集的多次信息挖掘,得到最终的诊断结果。经过30次重复试验,对少数类样本(工况4)的平均召回率为84%,模型的平均准确率为95.04%,相较参与对比的诊断模型,该方法的准确率及少数类样本的召回率明显高于其他诊断方法。

基于SVM-BP集成算法的准确率以及少数类样本的召回率明显高于其他诊断方法,该方法提高了蒸汽动力系统锅炉燃油供给故障诊断准确率,具有一定的理论参考和应用价值。

参考文献
[1]
王瑞涵, 陈辉, 管聪. 基于机器学习的船舶机舱设备状态监测方法[J]. 中国舰船研究, 2021, 16(1): 158-167. DOI:10.19693/j.issn.1673-3185.02150
[2]
高建强, 陈鹏. 多维BP神经网络在锅炉故障诊断中的应用[J]. 热力发电, 2011, 40(4): 77-80. DOI:10.3969/j.issn.1002-3364.2011.04.077
[3]
徐鹏, 杨海燕, 程宁, 等. 基于优化BP神经网络的船舶动力系统故障诊断[J]. 中国舰船研究, 2021, 16(z1): 106-113. DOI:10.19693/j.issn.1673-3185.02453
[4]
许玉格, 赖春伶, 罗飞. 基于不平衡分类的Bagging集成污水处理故障诊断[J]. 华南理工大学学报(自然科学版), 2018, 46(8): 107-115.
[5]
张展, 韩华, 崔晓钰, 等. 基于多种模型集成学习的制冷系统故障诊断[J]. 热能动力工程, 2020, 35(5): 153-162. DOI:10.16146/j.cnki.rndlgc.2020.05.022
[6]
刘东启, 陈志坚, 徐银, 等. 面向不平衡数据分类的复合SVM算法研究[J]. 计算机应用研究, 2018, 35(4): 1023-1027. DOI:10.3969/j.issn.1001-3695.2018.04.014
[7]
张剑飞, 王真, 崔文升, 等. 一种基于SVM的不平衡数据分类方法研究[J]. 东北师大学报(自然科学版), 2020, 52(3): 96-104. DOI:10.16163/j.cnki.22-1123/n.2020.03.014