基于SVM的间歇过程故障检测
2020-04-30张静静
张静静 王 磊
(河北建筑工程学院,河北 张家口 075000)
0 前 言
现代生产过程正逐渐向着生产小批量、多品种、高附加值的间歇过程转型,但由于间歇过程的不可逆性,生产过程中一些参数控制不当,就会使产品质量不过关、甚至会危及人身财产安全的[1].建立间歇过程模型,是分析和优化整个间歇过程,保障生产安全,提高生产效率和产品质量,减少损失扩大收益的重要手段.
SVM是一种以结构风险原则替代以往经验风险原则的新方法,它能解决“维数灾难”,找到全局最优解,利用核函数代替高维空间的映射,且可以抓住关键样本,剔除大量冗余样本,并有较好的鲁棒性和强泛化能力,利用SVM方法进行间歇过程建模较于其他方法具有突出优点.LabVIEW平台以图形化的语言代替传统的文本编程语言,编程直观调试简单,且其提供多种语言脚本节点,能方便的通过混合编程实现间歇过程SVM建模程序.
本文在LabVIEW平台上通过混合编程实现间歇过程支持向量机建模算法程序.利用Pensim青霉素发酵仿真软件对模型进行实验测试和评价.
1 间歇生产过程
随着经济多元化的发展,市场对强非线性、时变动态对象的要求越来越高,生产小批量,多品种,高附加值产品方面有显著优势的间歇过程逐步得到重视.间歇过程具有非线性、时变性和关联性等特点,要对其进行进一步的优化和控制[2].首先,建立理想模型.然而,只有一些比如物理、化学参数,可以进行在线测量,而在实际发酵过程中的其它更重要的更复杂的参数.更重要的是,能够获取的样本数据往往是有限的,这些情况使得对其进行建模变得更加复杂[3].目前在间歇过程建模中,主要是机理分析模型和统计分析模型[4-5].
ANN具有大规模并行、分布式处理、自学习等优点,广泛应用与间歇过程建模中.Niu等建立了基于偏最小二乘ANN(PLS-ANN)的诺西肽发酵模型,得到了较好的输出预测值.ANN的基础是经验风险,会导致过拟合,学习收敛速度慢,且适应性较差.
2 支持向量机SVM线性分类原理
支持向量机最初是针对分类问题提出的,本问需解决的对间歇过程这一非线性过程的问题建模实际上是回归问题,它与分类问题结构基本相同,仅是输出y的取值范围不同:分类问题中,输出只允许取有限值,两类问题中一般为±1.
在线性可分的分类问题中,SVM旨在找到其中的最优超平面:使分类间隔最大的分类超平面l:
ωTx+b=0
(1)
使样本集满足:
yi(ωTx+b)-1≥0,i=1,2,…,l
(2)
ωT为权重向量,也是超平面的法向量,b为偏置.如图1.
图1 线性可分问题的最优超平面
最优超平面使得两类点中离l最近的点与l的距离最大,即使分类间隔描述如下:
(3)
求最优超平面的问题可转化为求解下列优化问题:
(4)
得到最优解ω*,b*,带入分类直线ωTx+b=0,得到决策函数
f(x)=sgn(((ω*)Tx)+b*)
(5)
这一关于ω,b的优化问题可用Lagrange定理转化为对偶问题求解:
(6)
其中αi为拉格朗日乘子,对ω,b分别求导并分别带入公式3.2.1.5可得相应对偶最优化问题:
(7)
式为二次函数在不等式约束条件下的极值问题(Quadratic Programming,QP),根据KKT(Karush-Kuhn-Tucker)条件该问题的解必满足:
αi{yi(ωTx+b)-1}≥0,i=1,2.…,l
(8)
求解上述问题后可得到决策函数:
(9)
3 青霉素发酵过程建模
3.1 样本数据来源
本文使用Pensim仿真平台来获得SVM的训练样本数据集.青霉素发酵过程为典型的间歇过程,在此平台上可简易实现青霉素发酵过程的一系列仿真,其仿真数据可以作为SVM的训练数据来使用.
除了设置仿真时间和采样时间外,Pensim仿真平台还可以对青霉素发酵过程中的很多输入参数和变量进行设定,本文对初始条件和参数的设置如表1所示.
表1 Pensim初始条件设定值选择
输出变量有六个:包括底物浓度、菌体浓度、产物浓度、溶解氧浓度、排气二氧化碳浓度和反应器体积,其中最为重要的是青霉素浓度(Penicillin conc.).仿真结果如图2.
图2 Pensim仿真平台主要输出数据
最终建模完成后,可将SVM模型的预测输出曲线与Pensim的仿真曲线进行对比,从而判断模型是否达到预期要求.
3.2 故障检测
Pensim可用来模拟青霉素发酵的过程中的粟故障或者管道泄露等异常情况.
如图,若设定基质浓度的百分比误差超过1.5%时发生故障,则下图的20h左右发生一次故障.
图3 故障检测
利用SVM进行故障检测的基本思想就是利用正常状态下的数据建立某过程的模型,然后获得该过程的某一时刻的在线监测数据,输入该模型,计算出下一采样时刻的可能输出,与正常数据预测值进行一系列计算,这些计算可以是绝对差值、百分比误差,等等,人为的对这些我们关心的数据设定阀值,当其超过一定的限度时,我们就认为该过程发生故障,因此,在一个采样点到下一个采样点之间若发生故障,这两个采样点之间的时间就可供人们分析和处理可能的故障,保证系统正常运行.
4 总结与展望
本文针对间歇过程引出故障检测概念,并从支持向量机机理出发,在LabVIEW平台上通过混合编程实现间歇过程支持向量机建模算法程序.最后,利用Pensim青霉素发酵仿真软件产生的仿真数据对青霉素发酵过程进行建模,并进行实验测试和评价.仿真结果可证明本文提出方法的有效性.