严文武,潘 丰
(江南大学轻工过程先进控制教育部重点实验室,江苏 无锡 214122)
基于ICA-ELM的工业过程故障分类
严文武,潘 丰
(江南大学轻工过程先进控制教育部重点实验室,江苏 无锡 214122)
基于独立成分分析(ICA)的多变量统计过程监控主要用于故障检测,不能有效地进行故障分类。为此,结合极限学习机(ELM),提出一种ICA-ELM的故障分类方法。利用ICA提取故障特征,通过ELM学习算法训练神经网络,从而实现故障分类。采用 TE过程数据进行验证,实验结果表明,与概率神经网络和支持向量机相比,ICA-ELM算法的故障分类准确率更高,训练速度更快。
独立成分分析;极限学习机;故障分类;概率神经网络;支持向量机;TE过程
DO I:10.3969/j.issn.1000-3428.2015.10.055
为了实现更大的产能和更高的产品质量,工业系统变得越来越复杂,随之,现代工业过程监控受到越来越多的关注。目前比较流行的过程监控方法有多变量统计法、专家系统法和人工智能法等[1]。在多变量统计方法中最为普遍的是主成分分析法(Principal Component Analysis,PCA)和独立成分分析法(Independent Component Analysis,ICA)等[2]。独立成分分析最初是为了解决盲信号分离问题而被提出,后作为主成分分析法的延伸被引入多变量统计过程监控。与PCA方法相比,ICA方法不要求变量满足高斯分布,能够有效地利用信号中的高阶统计信息,提取内在独立特性成分,从而更有效地进行过程监控[3]。
ICA方法故障检测性能较好,但在故障识别分类方面有所欠缺。在工业过程故障诊断中,快速准确地进行故障分类有重要的意义,及时地识别故障类型有助于尽早排除故障,恢复正常生产。传统的智能故障分类方法有反向传播神经网络(Back Propagation Neural Network,BPNN)、概率神经网络(Probabilistic Neural Network,PNN)等,对于小样本分类有支持向量机(Support Vector Machine,SVM)。传统神经网络训练时间大多过于冗长,且训练参数选择复杂。支持向量机分类同样存在参数选择复杂的问题,且随着训练数据量的增加,算法计算量急剧
增加,所需训练时间过长,算法甚至难以实施。为此,本文提出一种ICA-ELM算法来实现快速简单的故障分类。极限学习机(Extreme Learning Machine,ELM)是一种针对单隐藏层前馈神经网络的快速机器学习算法,该算法训练速度快、参数简单易于实现,同时具有很好的范化能力[4]。本文通过TE化工过程仿真来测试ICA-ELM方法的可行性,并与PNN和SVM方法进行比较。
2.1 独立成分分析
独立成分分析(ICA)是信号处理领域在20世纪90年代后期发展起来的一项新处理方法,文献[5]提出了基于ICA的过程监控方法。
多导观测X是多个独立信号S通过混合矩阵A组合而成(X=AS),ICA的任务就是在S和A均未知的情况下,求解混矩阵W,使得X通过W得到的输出Y(Y=WX)是S的最优逼迫。
独立成分分析算法有很多,其中快速ICA算法(FastICA)因为收敛速度快、效果好而被广泛应用[6]。
2.2 极限学习机
极限学习机是一种针对于单隐含层前馈神经网络(Single-hidden Layer Feedforward Neural Network,SLFN)的学习算法。由文献[7-8]提出的极限学习机(ELM)算法克服了大多数基于梯度下降法神经网络训练慢、易陷入局部极小点、学习率敏感等缺点。该算法仅需设置隐含层神经元个数便可求得唯一最优解,整个算法一次完成,无须迭代,学习速度极快(通常是BPNN、SVM等速度10倍以上)。
ELM网络结构如图 1所示,是一个典型的SLFN结构,由输入层、隐含层和输出层构成,其神经元数分别为n,l,m。
图1 ELM网络结构
设连接隐含层的输入连接权矩阵为 w,隐含层阈值矩阵为b,输出权值矩阵为β,分别表示为:
其中,wi=[wi1,wi2,…,win];βi=[βi1,βi2,…,βim]。
设有 q组输入输出,则输入和输出矩阵分别为X=[χ1,χ2,…,χQ]n×q,T=[t1,t2,…,tQ]m×q,则有:
其中,χj=[χ1j,χ2j,…,χnj]T;g()为隐含层神经元激活函数(该函数无限可微)。可将式(2)表示成如下形式:
其中,TT为T的转置;H为神经网络的隐含层输出矩阵,形式如下:
ELM算法步骤如下:
(1)确定神经元个数。
(2)随机选取 w和 b,并计算隐含层输出矩阵H。
由上述算法步骤可以看出,ELM算法不需要在训练过程中调整 w和 b,只需设置好神经元个数,按以上算法一次性就能得到唯一全局最优解β^,不存在会陷入局部最优的问题。整个ELM算法参数选择简单,没有迭代过程,所以算法速度得到了极大提升。
ICA-ELM故障分类方法,首先利用独立成分分析提取独立故障特征,将所提取的故障特征作为神
经网络的输入,再通过ELM学习算法训练神经网络,从而实现故障分类。
ICA-ELM故障分类主要分为4大步,依次为数据预处理、ICA建模、ELM建模和分类测试,算法流程如图2所示。
图2 ICA-ELM故障分类
ICA-ELM具体算法如下:
(1)对所有数据作标准化处理,去均值后除标准差得到数据矩阵X。正常状态数据Xnormal经PCA去相关得Znormal:
其中,Q为PCA白化矩阵。
(2)对Znormal进行ICA分析,得到解混矩阵W。
其中,Snormal为正常状态独立成分;B采用FastICA算法[9]求得,则有解混矩阵W=BTQ。
(3)故障数据Xfault经W可得到故障特征Sfault= WXfault。设故障标签为 t=[0,0,…,1,0,0,…,0]T(即ELM网络输出),若为故障i,则对应故障标签第i个元素为1,其余为0。将Sfault和故障标签t分别作为单隐含层神经网络的输入和输出,采用ELM学习算法训练网络,得到相应网络参数。
(4)进行故障分类。待分类故障数据 Xtest经 W得到待分类故障特征Stest=WXtest,再由ELM网络分类得到故障标签,从而判断故障类型。
4.1 实验数据来源
实验数据来自Tennessee Eastman(TE)化工过程,该过程由美国伊斯曼化学品公司过程控制部提出,被广泛应用于连续过程的监视诊断研究。
TE过程包括41个测量变量和12个控制变量,预设有21个故障,具体见文献[10]。该实验选取前16个测量变量进行过程监控,并取正常状态和故障1,2,6,8,13,14数据作为实验数据。这6种故障的描述如表1所示。
表1 TE中的6种故障描述
4.2 ICA特征提取
从TE过程数据中选取前16个监控量进行ICA建模。首先对正常状态数据进行预处理,标准化得到 Xnormal,后用 PCA去相关化得到 Znormal,再使用FastICA算法求得解混矩阵W,最后得到正常状态独立成分Snormal=WXnormal。故障数据Xfault通过W可得故障状态独立成分Sfault=WXfault。将Sfault故障状态特征数据结合ELM算法实现故障分类。
ICA特征提取采用500组TE正常状态数据用于求得分离矩阵W。所选6种TE故障数据分为训练集和测试集,其中训练集每种故障有480组数据,测试集每种故障数据有800组数据。由此,可提取到故障训练集和测试集特征数据,分别记为 Sf-train和Sf-test。
4.3 ICA-ELM模型
为了实现ELM分类功能,给每类故障定义一个故障标签作为神经网的输出值t。设第i类故障标签为[0,0,…,1,0,0,…,0]T,该向量第 i个元素为 1,其余均为0。
ELM算法唯一需要确定的参数是神经元的个数,理论上神经元个数等于训练样本个数时,ELM网络可零误差逼近训练样本。在实际应用中,出于减少计算量和实际效果考虑,神经元个数都远小于样本数。
为了分析ELM隐含层神经元个数l对实际分类效果的影响,令l=100,110,120,…,1 000(一次增加10),分别进行10次测试,其中,ELM训练集和测试集分别为Sf-train和Sf-test,网络激活函数采用常用的S型函数为:
分析结果如图3所示,l值越大,训练集分类正确率越高,但测试集分类效果并非l越大越好。l= 450时,效果最好。因此,ELM需要在训练集和测试
集正确率间折中选择合适的隐含层神经元个数l。
图3 神经元个数对分类结果的影响
ICA-ELM模型整体流程如下:
(1)TE正常状态原始数据经标准化和PCA去相关化得到Znormal。
(2)Znormal经FastICA算法求得解混矩阵W。
(3)提取故障特征数据,得到训练集数据 Sf-train和测试集数据Sf-test,并在ELM网络训练之前作归一化处理。
(4)确定ELM神经元个数l=450。
(5)设ELM激活函数为g(χ)=1/(1+e-χ),随机选取输入层与隐含层连接权w和隐含层神经元阀值b,选定后不改变。
(7)测试集通过所得网络可求得对应输出t,由t可知故障类别数。
4.4 ICA-ELM分类效果
通过结合ELM算法,弥补了基于ICA多变量统计过程监控在故障分类方面的不足。ICA-ELM实际分类效果如图4所示。ICA-ELM故障分类正确率接近90%,效果较为理想。
图4 ICA-ELM分类结果
除了ICA-ELM方法进行故障分类外,其他方法也可实现故障分类的目的,比如ICA可结合概率神经网络(PNN)和支持向量机(SVM),这3种方法分类效果如表2所示。
表2 测试集分类效果 %
从表2可以看出,ICA-ELM,ICA-PNN和ICA-SVM这3种方法都能够有效地进行故障分类。其中,结合ELM方法的分类效果最好,平均分类正确率最高,达到90.0%。对于阶跃类型和阀粘滞型的故障,如故障1、故障2、故障6和故障14,3种方法都有97%以上的分类正确率。对于随机变量型的故障8,结合SVM方法的效果较好,这是由于SVM对于不易区分的类别(如故障8和故障13)有所偏重,故障8分类正确率高,而故障13分类正确率低,其中故障13更多地被错误归类为故障8。对于慢偏移型的故障13,结合ELM方法的效果较好。
表3为3种算法的分析。ELM算法结构简单,参数选择方便,无需迭代学习,所以故障训练和测试时间用时少,3种算法中最快。PNN算法是一种结合概率密度分类估计的并行处理神经网络[11],具有快速学习能力,PNN算法比ELM速度稍慢,速度也很快。PNN算法中隐含层神经元个数等于样本个数,而ELM神经元个数一般都远小于样本数。PNN样本个数越多,隐含层神经元个数越多,网络的逼近精度就越高,但也将导致网络复杂度随之提高。SVM算法参数较多,合理地选择参数对分类效果有重要的作用,为了确定这些参数以达到理想的分类效果,需要花费大量时间[12]。
表3 3种算法性能比较
本文提出一种将独立成分分析与极限学习机相结合的工业过程故障分类方法。利用ICA的故障提取能力和ELM的快速学习能力实现故障的快速分类。通过TE故障数据进行实验,结果表明,ICAELM方法分类效果和速度都较好,结构简单且参数选择方便,唯一参数隐含层神经元个数对分类效果有一定的可控性。但ICA-ELM方法仍有一定的改进空间。本文算法主要是针对线性独立成分分析,可以考虑采用非线性独立成分分析的方法来提取故障特征。本文ELM算法为离线固定型,当建模完成后,不能根据新的数据更新模型,可使用可在线更新的ELM算法。
[1] 李 晗,萧德云.基于数据驱动的故障诊断方法综述[J].控制与决策,2011,26(1):1-9.
[2] 周东华,李 钢,李 元.数据驱动的工业过程故障诊断技术——基于主元分析与偏最小二乘的方法[M].北京:科学出版社,2011.
[3] 樊继聪,王友清,秦泗钊.联合指标独立成分分析在多变量过程故障诊断中的应用[J].自动化学报,2013,39(5):494-501.
[4] 邓万宇,郑庆华,陈 琳,等.神经网络极速学习方法研究[J].计算机学报,2010,33(2):279-287.
[5] Kano M,Tanaka S,Hasebe S,et al.Monitoring Independent Components for Fault Detection[J].AIChE Journal,2003,49(4):969-976.
[6] 张 杰,刘 辉,欧伦伟.改进的FastICA算法研究[J].计算机工程与应用,2014,50(6):210-218.
[7] Huang Guangbin,Zhu Qinyu,Siew C K.Extreme Learning Machine:A New Learning Scheme of Feed Forward Neural Networks[C]//Proceedings of IEEE International Joint Conference on Neural Networks. Washington D.C.,USA:IEEE Press,2004:985-990.
[8] Huang Guangbin,Zhu Qinyu,Siew C K.Extreme Learning Machine:Theory and Applications[J].Neurocomputing,2006,70(1):489-501.
[9] Hyvärinen A,Oja E.Independent Component Analysis:Algorithm s and Applications[J].Neural Networks,2000,13(4):411-430.
[10] Chiang L H,Braatz R D,Russell E L.Fault Detection and Diagnosis in Industrial Systems[M].Berlin,Germany:Springer,2001.
[11] 缪素云,张 峰,李 蕊,等.基于概率神经网络的 TE过程故障诊断[J].自动化技术与应用,2011,30(5):78-80.
[12] 丁 勇,秦晓明,何寒晖.支持向量机的参数优化及其文本分类中的应用[J].计算机仿真,2010,27(11):187-190.
编辑顾逸斐
Industry Process Fault Classification Based on ICA-ELM
YAN Wenwu,PAN Feng
(Key Laboratory of Advanced Control for Light Industry Process,Ministry of Education,Jiangnan University,Wuxi 214122,China)
The process monitoring method with multivariate statistics based on Independent Component Analysis(ICA)is mainly used for fault detection,but it is not effective for fault classification.For this reason,combining with Extreme Learning Machine(ELM),a method called ICA-ELM for fault classification is proposed.ICA-ELM extracts the fault features with ICA,and then trains the networks with ELM,so as to realize fault classification.ICA-ELM is tested with Tennessee Eastman(TE)process data and compared with Probabilistic Neural Network(PNN)and Support Vector Machine(SVM).Experimental result show s that the accuracy of ICA-ELM is higher,training speed of ICA-ELM is faster.
Independent Component Analysis(ICA);Extreme Learning Machine(ELM);fault classification;Probabilistic Neural Network(PNN);Support Vector Machine(SVM);Tennessee Eastman(TE)process
严文武,潘 丰.基于ICA-ELM的工业过程故障分类[J].计算机工程,2015,41(10):290-294.
英文引用格式:Yan Wenwu,Pan Feng.Industry Process Fault Classification Based on ICA-ELM[J].Computer Engineering,2015,41(10):290-294.
1000-3428(2015)10-0290-05
A
TP39
国家自然科学基金资助项目(61273131);江苏省产学研联合创新基金资助项目(BY 2013015-39)。
严文武(1989-),男,硕士研究生,主研方向:控制理论与控制工程;潘 丰,教授、博士生导师。
2014-09-30
2014-11-03E-mail:yanw enwu1989@outlook.com