技术领域
本发明涉及一种复杂化工过程故障诊断与识别的方法,具体涉及一种基于多核学习的支持向量机的化工过程故障诊断方法。
背景技术
由于化工过程的日益复杂性,对化工系统的安全性和可靠性也有更高的要求,因此对化工过程进行实时监测极其重要。故障诊断与识别方法是保障化工过程安全稳定运行的重要技术手段。提高故障诊断与识别的准确率可以更好地通过监测系统的异常状态,准确定位故障点,及时对系统进行校正,从而确保化工过程的稳定性、可靠性和安全性,达到提升生产效率、产品质量和生产安全的目的。
发明内容
本发明的目的在于提供一种一种基于多核学习的支持向量机的化工过程故障诊断方法,该方法可提高判断化工过程是否出现故障的准确率。
本发明的目的通过以下技术方案来实现的:
一种基于多核学习的支持向量机的化工过程故障诊断方法,包括以下步骤:
(1)采集化工过程的正常数据和故障数据,组成原始数据集,将原始数据集进行归一化处理后分为训练数据集与测试数据集;
(2)将训练数据集分别转换成高斯核函数和多项式核函数;
(3)通过监督学习确定高斯核函数和多项式核函数的权重;
(4)将权重将高斯核函数和多项式核函数的权重线性组合,得到多核核函数,并根据多核核函数建立多核学习的支持向量机模型;
(5)将测试数据集输入多核学习的支持向量机模型中进行故障诊断与识别。
本发明进一步的改进在于,步骤(1)中归一化处理是利用min-max标准化将原始数据集标准化在[0-1]之间。
本发明进一步的改进在于,归一化处理采用式(1)进行:
其中,x
本发明进一步的改进在于,步骤(2)中高斯核函数为:
其中:
k
x
x
σ:高斯核的带宽。
本发明进一步的改进在于,步骤(2)中多项式核函数为:
k
其中:
k
x
x
T为对数据进行转置处理;
d为多项式的次数。
本发明进一步的改进在于,所述步骤(3)的具体过程为:对高斯核函数和多项式核函数进行监督学习,通过梯度下降法寻找正反两类数据最大软间隔面时的高斯核函数的权重w
本发明进一步的改进在于,步骤(4)的具体过程为:根据式(4),将高斯核函数和多项式核函数的权重线性组合转换为多核核函数;
其中:
MKL为多核核函数;
w
w
k
k
与现有技术相比,本发明具有的有益效果:本发明适用于现代复杂的化工过程的故障诊断,可以选择田纳西-伊斯曼(TE)过程故障作为方法验证依据,该过程具有一般性和代表性。通过对训练集数据进行min-max标准化,归一化在[0-1]之间。再分别转换成高斯核函数和多项式核函数,通过监督学习去找到正反目标对象的最大软间隔面,以得到各个核函数的权重,然后转换成一个新的多核核函数。通过F1-score、recall和模型精度ACC选择最优的多核SVM(MKL-SVM)故障诊断与识别模型。最后通过测试数据集利用多核多核学习的支持向量机模型实现故障诊断与识别。相对于其他基于数据驱动的故障诊断方法,本发明具有准确、客观,效率高等特点;该方法可以融合不同的核函数,避免了人为选择核函数造成的偶然性,能够提高现代复杂化工过程故障诊断与识别的效率。
附图说明
图1是基于多核学习的支持向量机的化工过程故障诊断与识别流程图。
图2是田纳西-伊斯曼过程流程图。
图3是MKL-SVM故障诊断与识别方法例图。
下面根据实施例对本发明作进一步说明
具体实施方式
下面结合附图对本发明进行详细说明。
本发明将不同的核函数通过监督学习给线性混合成一个多核核函数,从而使正反两类对象的软间隔面距离最大化,可提高判断化工过程是否出现故障的准确率。
一种基于多核学习支持向量机(MKL-SVM)的化工过程故障诊断与识别方法,其具体步骤如图2所示:
多核学习流程图分为两个同步进行的框架,其左边是理论过程,右边是对左边详细解释的数学方法过程。
理论过程:
1)采集化工过程的正常数据和故障数据;
2)将化工过程的正常数据和故障数据进行归一化处理;
3)将归一化处理后的数据转换成高斯核函数和多项式核函数;
4)通过监督学习确定高斯核函数和多项式核函数的权重,根据权重将高斯核函数和多项式核函数的权重线性组合,得到多核核函数;
5)根据多核核函数得到多核学习的支持向量机模型。
对应的数学过程为:
1)采集化工过程的正常数据和故障数据组成原始数据集,将原始数据集进行归一化处理后分为训练数据集与测试数据集;
2)将训练数据集分别转换成高斯核函数和多项式核函数;
3)监督学习确定正反两类数据最大软间隔面时的高斯核函数和多项式核函数的权重;
4)根据高斯核函数和多项式核函数的权重线性组合得到多核核函数,并以此建立多核学习的支持向量机模型;
5)将测试数据集放在多核学习的支持向量机模型中进行故障诊断与识别。
整个过程参见图1,包括离线模式和在线模式,其中,离线模式如下:
(1)采集化工过程的正常数据和故障数据(即来自实际化工过程中的不同传感器的具有很大值域差异的数据,传感器根据化工工厂实际操作情况而定),组成原始数据集,将原始数据集进行归一化处理后分为训练数据集与测试数据集;
(2)将训练数据集分别转换成高斯核函数和多项式核函数;
(3)通过监督学习确定正反两类数据最大软间隔面时的高斯核函数和多项式核函数的权重;
(4)根据权重将高斯核函数和多项式核函数的权重线性组合,得到多核核函数,并根据多核核函数建立多核学习的支持向量机模型;
在线模式如下:
(5)将测试数据集放在多核学习的支持向量机模型中进行故障诊断与识别。
其具体如下:
所述步骤(1)中归一化处理具体通过以下过程实现:
利用min-max标准化可以将原始数据集标准化在[0-1]之间。也称为离差标准化,可实现对原始数据的等比例缩放。数学表达如式(1)所示:
其中,x
所述步骤(2)通过以下过程实现:
将训练数据集分别转换成高斯核函数和多项式核函数。基于单核的支持向量机,其核心思想是在高维特征空间中找到一个令样本数据线性分开的划分超平面,使得正反两类数据之间的距离最大化。在样本数据非线性可分的情况下,可通过引入预先定义好的内积函数将数据从原始空间映射到高维特征空间,从而将线性学习器拓展为非线性学习器。预先定义好的内积函数为核函数。应用不同的核函数构造的支持向量机性能不同,常用的核函数有以下几类:
高斯核函数为:
其中:
k
x
x
σ:σ>0,为高斯核的带宽。
多项式核函数为:
k
其中:
k
x
x
T:对数据进行转置处理;
d:d≥1,为多项式的次数。
转换后的数据集为下一步的多核优化学习做打算。
所述步骤(3)通过以下两个子步骤实现:
(4.1)监督学习确定正反两类数据最大软间隔面时的各个核函数对应的权重。对步骤(2)得到的高斯核函数和多项式核函数进行监督学习,通过梯度下降法寻找正反两类数据最大软间隔面时的高斯核函数的权重w
(4.2)确定最优模型。根据步骤(4.1)获得的高斯核函数和多项式核函数的权重,根据公式(4),将其转换为一个线性的多核核函数,此时,正反两类数据可找到最大软间隔面。
其中:
MKL:线性组合后的多核核函数;
w
w
k
k
正反两类数据最大软间隔面对应的SVM模型为最优故障诊断与识别模型。
在监督学习过程中,需要根据每个特征集对应的分类器的性能指标确定目标对象最大软间隔面和最优模型,可以选择评价二分类器性能的F1-score作为指标量,F1-score通过结合精确度(Precision)和回忆度(Recall)评估模型的准确性,其表达式如(5)所示:
式(4)中的量根据混淆矩阵确定,混淆矩阵如表1所示。
表1混淆矩阵
其中,TP表示被正确分类的正常数据,FP表示被错误分类的正常数据,TN表示被正确分类的故障数据,FN表示被错误分类的故障数据。精确度和回忆度对应的数学表达式如式(6)所示:
为了证明提出的最优模型的故障诊断效果,可以将模型的准确率(Accuary,ACC)作为评价因素,对应的数学表达式如(7)所示:
所述步骤(5)具体过程:对测试数据集利用最优SVM模型进行诊断与识别,实现对化工过程故障的诊断。
模型的分类性能指标为F1-score、precision、recall和准确率ACC。
下面为具体实施例。
实施例
1.田纳西-伊斯曼(TE)过程能够代表一般的现代化工过程。本发明选择该过程数据作为方法验证依据。
如图3所示,TE过程主要由反应器、冷凝器、汽提塔、气液分离塔、压缩机等多个操作单元构成。TE过程共有四种气体反应物分别为:A、D、E和C,这4种反应物中分别都含有少数的惰性气体B。在催化剂的作用下,反应器中主要有4个同时进行的化学反应,其中的两个主化学反应生成的液态产物分别为产物G和产物H,同时会生成副产物F,化学反应方程如式(9)所示:
A(g)+C(g)+D(g)→E(liq)
A(g)+C(g)+E(g)→H(liq)
A(g)+E(g)→F(liq)
3D(g)→2F(liq) (9)
TE过程包括41个测量变量和12个控制变量,如下表2所示。工况包括一种正常工况和21种可操作的故障工况。21种工况下的采样时间间隔都设置为3分钟。在工业过程的正常工况下,过程运48小时产生的960个数据样本被采集作为正常数据样本;在所有21种过程的故障工况下,都是在过程稳定运行8小时后引入故障,故采集的960个数据样本中前面的160个数据样本不含有故障,后面800个数据样本含有故障。将在正常工况下采集的960个数据样本作为训练样本,所有含有故障的数据样本作为测试样本。故障模式1-7是关于TE过程变量的阶跃故障,故障模式8-12是变量的随机变化故障,故障模式13是化工反应动力学的慢漂移故障,故障模式14-15是相应的粘滞故障,故障模式16-20是未知故障,故障模式21为恒定位置故障。
表2田纳西-伊斯曼过程故障
2.数据标准化。原始数据都来自于多个传感器,每组数据都有各自的量纲、数据级别范围,为了将所有数据整合在一个数据矩阵中进行后续的聚类分析,需要对这些数据归一化。归一化将待分析的数据变成具有相对关系的可在同一数量级上进行衡量的相对数值,是一种缩小数值之间落差的有效方法。将TE数据的正常与故障工况数据分别组成预处理数据集,进行min-max标准化。
3.交叉验证产生平衡数据集。5倍交叉验证将训练集数据平均分成五部分,每一部分依次作为训练集,其他的作为测试集进行交叉验证,平衡数据集,避免原始数据不平衡而导致SVM模型精度低。
4.最优MKL-SVM模型确定。将数据集分别转换为高斯核函数和多项式核函数,通过监督学习,来找到目标对象最大软间隔面,以输出各个核函数的权重。然后转换成一个新的多核核函数。其21种故障的对应的核函数的权重如表3所示。
表3 21种故障的对应的核函数的权重
21种故障在线诊断与识别。将测试集数据在MKL-SVM模型中进行模型分类性能评估,输出F1-score、precision、recall和准确率ACC。并与单核的SVM(RBF-SVM、Poly-SVM)结果进行比较,其结果如表4、表5、表6和表7所示。
表4三种方法得到的准确率(ACC)的比较
表5三种方法得到的F1-score的比较
表6三种方法得到的precision的比较
表7三种方法得到的recall的比较
从表4可以看出,除了故障18,对于其它20种故障,MKL-SVM模型的故障识别的准确率均高于同条件下的单核的SVM(RBF-SVM、Poly-SVM)。对于21种故障,MKL-SVM模型的故障识别的平均准确率为0.892。
从表5可以看出,除了故障18,对于其它20种故障,MKL-SVM模型的故障识别的F1-score均高于同条件下的单核的SVM(RBF-SVM、Poly-SVM)。对于21种故障,MKL-SVM模型的故障识别的平均F1-score为0.891。
从表6可以看出,对于21种故障,MKL-SVM模型的故障识别的precision均高于同条件下的单核的SVM(RBF-SVM、Poly-SVM)。MKL-SVM模型的故障识别的平均precision为0.924。
从表7可以看出,对于21种故障,MKL-SVM模型的故障识别的平均recall低于同条件下的单核的SVM(RBF-SVM、Poly-SVM),为0.870。
对于SVM模型,当模型的性能较好时,除ACC和F1-score值较大,当precision值较大,相反,其recall值较小。由以上所有表,可知我们的MKL-SVM的性能相比与同条件下的单核的SVM(RBF-SVM、Poly-SVM)是较好的。
本发明通过将不同的核函数通过监督学习给混合成一个多核核函数,可提高判断化工过程是否出现故障的准确率。本方法简单易于实现,具有较好的故障诊断与识别能力。
机译: 基于广义多核学习支持向量机的模拟电路故障诊断方法
机译: 光伏二极管钳位三电平逆变器的决策树支持向量机故障诊断方法
机译: 光电二极管钳位三电平逆变器的决策树支持向量机故障诊断方法