非线性特征提取和LSSVM在化工过程故障诊断中应用

时间:2022-08-20 12:19:57

非线性特征提取和LSSVM在化工过程故障诊断中应用

摘 要:提出利用非线性特征提取(核主成分分析(KPCA)和核独立成分分析)消除数据的不相关性,降低维数。核主成分分析利用核函数把输入数据映射到特征空间,进行线性主成分分析计算提取特征;核独立成分分析在KPCA白化空间进行线性独立成分分析(ICA)变换提取独立成分。提取的特征作为最小二乘支持向量机分类器的输入,构建融合非线性特征提取和最小二乘支持向量机的智能故障分类方法。研究了该方法应用到某石化企业油生产过程的故障诊断中的有效性和可行性。

关键词:核独立成分分析;核主成分分析;最小二乘支持向量机;故障诊断

中图分类号: TP182

文献标志码:A

Application of nonlinear feature extraction and least square

support vector machines for fault diagnosis of chemical process

XU Liang

School of Automation, Guangdong University of Technology, Guangzhou Guangdong 510006,China

)

Abstract: The nonlinear feature extraction (Kernel Principal Component Analysis(KPCA) and kernel Independent Component Analysis (ICA)) was used to eliminate the uncorrelated component from input data, and reduce dimension in the paper. Kernel principal component analysis adopted a kernel function to map input data into feature space and calculate linear PCA. Kernel independent component analysis extracted independent component by linear ICA transformation in the KPCA whitened space. The extracted features were taken as the input of Least Square Support Vector Machine (LSSVM) classifier. Incorporating nonlinear feature extraction into LSSVM served as a new method for intelligent fault diagnosis. The proposed method was applied to the fault diagnosis of lubricating oil process for a petroplant. The effectiveness of the proposed method is verified.

Key words: kernel independent component analysis; Kernel Principal Component Analysis(KPCA); Least Square Support Vector Machine (LSSVM); fault diagnosis

0 引言

智能状态监测与诊断系统在许多领域广泛应用。状态监测与诊断是通过监测异常工况来识别和分类故障,找出故障产生原因,使失控状态回到正常状态[1]。分类是智能状态监测与诊断的一个关键环节。近年来,人们在化工过程的智能监测与故障诊断中,一直在探索合适的故障分类方法。以支持向量机(Support Vector Machines, SVM)为代表的统计机器学习方法的出现,为这类问题的解决提供了新途径。

支持向量机是由Vapnik[2]提出的一种研究小样本情况下机器学习规律的统计学习方法,它通过结构风险最小化原理来提高泛化能力,较好地解决了小样本、非线性、局部极小等实际问题。而Suykens等人[3]提出的最小二乘支持向量机(Least Squares SVM, LSSVM)是对标准SVM的扩展,采用具有等式约束并且满足KKT(KarushKuhnTucker)条件的规则化最小二乘函数作为损失函数,代替了SVM计算复杂的QP(QuadraticProgramming)问题,求解速度相对加快。

许多研究人员利用SVM和LSSVM构建故障分类器,取得不错分类效果。但由于化工过程的数据通常具有变量维数高、相关性强的特点。如果直接以这些数据作为分类器的输入量,将会使分类器的性能下降。为了提高分类器的精读,输入数据需要进行预处理。而特征提取作为分类器的预处理过程,受到广泛关注[4]。特征提取的目的是减少输入空间数据的维数(减少特征数),剔除多余和相关的信息,并将数据模式转换成更适合于后续分类工作所需的形式。

目前特征提取方法分为两类:一类是传统的线性特征提取方法,如主成分分析方法(Principal Component Analysis, PCA)和独立成分分析方法(Independent Component Analysis, ICA)[5];另一类,利用核函数实现非线性映射,把输入空间的数据转换到高维特征空间,然后在特征空间运用线性特征提取的算法,如基于核函数的PCA(Kernel Principal Component Analysis,KPCA)和基于核函数的ICA(Kernel Independent Component Analysis,KICA)方法[6]。KPCA不同于PCA直接计算特征值和特征向量,而是将其转化为求核矩阵的特征向量和特征值,避免了在特征空间求特征向量,而数据在特征向量上的投影转化为求核函数的线性组合,大大简化计算。KICA方法通过核函数实现白化过程,然后再进行线性独立成分分析。

本文提出利用核特征提取(核主成分分析和核独立成分分析)对数据进行预处理,消除数据的不相关性和噪声,提取有效特征数据。提取的特征作为LSSVM分类器的输入,构建融合核特征提取和最小二乘支持向量机的故障分类方法。并研究该方法应用到某石化企业油生产过程的故障诊断中的有效性和可行性。

1 核特征提取方法

1.1 核主成分分析

Ц定一组中心化输入向量xt,t =1,2,…,l, xt∈Rn,∑ltxt=0,每个向量都是m维,且m

st=UTxt(1)お

其中U是m×m正交变换阵,第i列ui是协方差矩阵C的特征向量:C= 1l∑ljxtxTt 。Щ谎灾,PCA的首要问题是求解下面的特征值问题:

Е霜i=Cui; i =1,2,…,m(2)お

其中:λi是协方差阵C是特征值;ui是其相应的特征向量。然后对xt作正交变换就可得到st的分量:オ

st(i)=uTixt(3)オ

新成分st(i)就是主成分。如果根据特征值的大小按序排列特征向量,仅仅保留前几个特征向量,那么主成分的数目就可以减少,从而降低输入向量的维数。

核PCA是一种利用核函数把线性PCA推广到非线性的方法。核PCA的主要思想:通过映射函数,О咽淙胂蛄xt映射到高维特征空间φ(xt),然后在特征空间计算线性PCA[5]。

Ц定一组中心化输入向量xt, t =1,2,…,l, xt∈Rn,∑ltxt=0,每个向量都是m维,利用函数φ(•)в成涞教卣骺占洫Е(xt),ШPCA问题转换为求解下面的特征值问题:

Е霜iui=ui; i =1,2,…,l(4)お

其中:=1l∑ltφ(xt)φ(xt)T为协方差矩阵;λi是非零的特征值;ui是相应特征向量。Фㄒl×l 矩阵Kij = K(xj,xt)=(φ(xi)•φ(xj))。现在计算特征值问题仅仅取决于核函数,即:αi= Kαi,i =1, 2, …, l。进而,得到解(i,αi),相对于特征向量α1,α2,…,αn的特征值为λ1≥λ2≥…≥λn。

Ф杂诓馐匝本xt在特征空间F中向量Vi上的投影(也可以称为KPCA特征向量变换)为:

St(i)=(Vi•φ(xt))=∑nji(j)K(xj,xt)=

1λiαTi[K(x1,xt),K(x2,xt),…,K(xn,xt)]T(5)

其中i =1,2,…,p。

1.2 核独立成分分析

ICA可以把多变量随机信号分解成相互独立的统计成分,而且各分量也相互独立。随后被用于特征提取,可从混合信号中提取独立成分。其目的是把混合信号分解为相互独立的成分,并且分解后的各分量相互独立,而不仅仅是不相关,因而具有“去冗余”的特点。通常ICA模型可以表示为:

x=AS(6)お

其中:A是一个未知满秩阵,称为混合阵;S是独立成分矩阵;x是可观察变量矩阵。ICA模型的求解就是根据可观察变量矩阵x,估计独立成分矩阵S和混合阵A。也就是,寻找一个分离阵W,使得重构的矩阵ИУ拿扛龀煞窒嗷ザ懒,即:

=Wx(7)オ

Ф懒⒊煞值那蠼獾燃塾谄浞歉咚狗植肌S谑,最大化向量Wx的非高斯性,Ь涂傻玫蕉懒⒊煞帧ICA算法存在的主要问题是计算量非常大或收敛速度很慢。针对此问题,Hyvarinen提出基于负熵最大判据的快速ICA算法――FastICA[6],它是基于定点递推原理,并对任何类型的数据都适用, 同时它的存在使运用ICA 分析高维数据成为可能。FastICA算法计算之前,首先利用单位方差阵把测量变量转换为不相关变量,因为统计独立远比不相关严格。这一预处理过程就是中心化和白化过程。本文利用KPCA实现白化,然后在KPCA白化空间计算线性ICA,简化KICA的计算过程。

KICA的白化过程计算如下[5]:式(4)中的特征空间协方差Иб嗫杀硎疚:

=1lQQT

其中Q=[φ(x1),…,φ(xl)],Э晒乖Gram矩阵R=QTQ,Rij=φ(xt)Tφ(xt)=(φ(xi)•φ(xj))= K(xj,xt)。

定义R的特征向量和特征值分别为: V={γ1,γ2,…,γl},Λ={λ1,λ2,…,λl},Э杉扑阏交特征向量Е陋j为:オ

Е陋j=1λjQγj;j =1,2,…,m(8)オ

Фㄒ寰卣B={β1,β2,…,βm}=QVΛ-1/2,则白化矩阵P可由式(9)计算:オ

P=B(1lΛ)-1/2=lQVΛ-1(9)

则白化过程可由式(10)计算:

r=PTφ(x)=lΛ-1VTQTφ(x)=lΛ-1VT[K(x1,x),K(x2,x),…,K(xl,x)]=lΛ-1VTRx(10)

在KPCA变换空间寻找一个混合分离阵W,实现独立成分的提取,即:=Wx=Wr。д庖还程有许多算法来实现ICA计算。本文采用基于定点递推原理的快速ICA算法――FastICA。KICA特征提取有两个过程:白化过程使用KPCA,然后在KPCA白化空间再进行线性ICA变换。

┑1期 ┬砹:非线性特征提取和LSSVM在化工过程故障诊断中应用

┆扑慊应用 ┑30卷

2 最小二乘支持向量机

Ц定样本数据为(x1, y1),(x2, y2),…,(xl, yl),其征提取后的输入点xi∈RN,yi∈{-1, 1},是类别标号,分别对应类1和类2,这是一个标准分类问题。オ

在优化目标中,LSSVM的损失函数为误差Е为iУ亩次项,用等式约束方程代替标准SVM中的不等式约束方程。因此,优化问题可以通过求解一组线性方程组解决,则其优化问题[3]为:

Иmin J =12wTw+ C2∑li = 1ξ2i (11)オ

其约束方程为:

yi [wT•φ(xi)+ b] = 1-ξi,i =1, 2, 3, …, l (12)オ

为推导式(12)的对偶形式,引入Lagrange乘子Е联i,Ц据目标函数和约束条件建立如下Lagrange函数:

L(w,b,α,ξ)=12wTw+C2∑li=1ξ2i-

∑li=1αi{yi(wTφ(xi)+b)-1+ξi}

Фw,b,ξ和αi分别求偏导,则得到一组线性方程组,即:オ

ЕYYT0αb=I0(13)

其中:

Е=yiyjφ(xi)φ(xj)+δi, jC

δi, j=

1, i=j

0, i≠j

Y=(y1,y2,…,yl)T(14)

根据式(14)解得最优解Е*Ш酮b*,Р⒍ㄒ濯K(x,xi)=φ(x)•φ(xi)Т替非线性映射。最后得到LSSVM分类器的决策函数为:

f(x) = sgn(∑li = 1α*i yi K(x,xi ) + b*)(15)オ

核函数K(x,xi)是满足Mercer条件的任意对称函数。两类典型的核函数,多项式(Ploy)核函数:

KP=K(x,z)=(a+b〈x•z〉)dお

其中:a和b是常数;d为自由度。Ц咚咕断蚧(Radial Basis Function,RBF)核函数:

KR=K(x,z)=exp(-γx-z2)お

其中Е锚是核宽度。根据不同的分类问题,可以选择不同的核函数,获取最优的分类效果。

利用LSSVM构建多类分类器,Э刹捎靡欢远喾掷喾椒,该方法对于k类分类问题,构造k个2类分类器。然而,采用这种方法,对于LSSVM而言,需要求解一组变量个数等于训练数据个数的线性方程组。当训练样本很大时,求解一个问题的时间开销也就很大。考虑到计算时的效率,П疚亩杂kЮLSSVM分类器采用一对一分类方法,Э晒乖k(k-1)/2个标准分类器。オ

3 实验

3.1 实验背景和数据获取

为了使本文的实验可靠,更有应用价值。本文所有实验数据都来自实际工业过程数据。数据选自2005年10月至2007年3月,某石油化工企业的油装置生产运行状态的测量数据[7]。影响油精制生产过程,造成系统运行不稳定的因素主要有:温度、压力、流量和液位。因此,与系统运行相关的有四类,324个测量变量,每个变量有2~5种信号。

本文的实验条件:HP台式机,双核Pentium D 2.8GHz CPU,内存1B024MB;开发和测试工具Matlab 7.0。FastICA算法来自cmm.ensmp.fr/~bach,其他算法都用Matlab编写。

3.2 结果和讨论

1)特征提取。

本实验数据来自糠醛精制的抽出液汽提子系统。通过对历史数据分析,获取了710个样本,来自13个测量变量,其中正常数据200个样本,故障模式有9种,每种模式有40个样本,如图1所示,原始输入数据的前三个成分(Cs1,Cs2和Cs3),其中类别9是正常数据。由于输入数据具有冗余、重叠以及不可分等特征,因此这些数据不能直接进入分类器,否则会影响分类器的性能。为了克服这些缺点,需要使用特征提取方法抽取有用特征以及降低原始空间输入数据的维数。

KPCA选用RBF核函数,核宽度Е锚=2;KICA也选用RBF核函数,核宽度Е锚=16,提取了30个独立元。图2是使用核特征提取方法后,前三个成分的投影。由图2(a)可见(PCs1、PCs2和PCs3表示前三个主成分),数据的无序、重叠等现象几乎消除,9个模式能够很好分开,同一模式的数据已经聚类。由于KPCA可以消除原始数据中不相关数据,提取高阶信息,因此,基于KPCA的特征提取的可分性,每种模式的聚集性更好。由图2(b)可见(ICs1、ICs2和ICs3表示前三个独立成分),使用KICA的特征提取结果,部分故障模式可分开,部分还相互重叠。原因在于:故障模式1、故障模式2和故障模式3都是同一种类型故障(液位故障),它们的数据都在同一个值域范围之内;故障模式5和故障模式7,虽然属于不同类型的故障(流量和温度故障),但是它们的无量纲数据的值域范围相近,因此有部分重叠。从这个实验看出,相比KPCA,KICA的特征提取的可分性较差。

图片

图1 原始输入数据的前三个成分

图片

图2 使用KPCA和KICA的特征提取

2)训练和分类。

选择多项式和RBF作为LSSVM的核函数,有三个参数需要确定:d,C,γ。д庑┎问的值与LSSVM分类器的性能密切相关,因此,如果参数选择的不合适,会引起“过学习”或“欠学习”问题。然而,使用k重交叉验证选择核参数,就可以避免这个问题。オ

训练和分类的过程如下:首先,输入数据不经过特征提取,训练LSSVM,然后分类;其次,输入数据经过不同的非线性特征提取方法处理后,再作为LSSVM的训练和测试数据,并考察改变核参数和分类策略,对分类结果的影响。

表1没有进行特征提取,分类准确率不高。原因是:不相关和冗余特征的存在,影响了分类的效果。表2、3是输入数据经非线性特征提取后,再进行分类。由表可见,分类的准确率有了很大提高,可以达到100%,从而也说明特征提取可以消除冗余特征,提取有用特征,改善分类器的性能。

表格(有表名)

表1 LSSVM故障分类(没有特征提取)

Kernel 核参数分类げ呗

分类准确率%

训练测试

训练时间

(LSSVM)/s

Poly(d ,C)

(2,1)1v110095.32.96

(2,1)1va10095.44.65

RBF(C,γ)

(1,2)1v110097.63.78

(1,2)1va10097.55.99

表格(有表名)

表2 KPCA+LSSVM故障分类结果

Kernel 核参数分类げ呗

分类准确率%

训练测试

训练时间

(LSSVM)/s

Polyd=2

1v110099.42.57

1va10010011.75

RBFЕ锚=12

1v11001004.15

1va100100101.87

表格(有表名)

表3 KICA+LSSVM故障分类结果

Kernel 核参数分类げ呗

分类准确率%

训练测试

训练时间

(LSSVM)/s

Polyd=2

1v11001003.04

1va1001004.09

RBFЕ锚=4

1v11001004.06

1va1001007.15

由表2、3可见,分类过程选用KICA进行特征提取优于选用KPCA。原因在于ICA提取的独立成分不仅仅是不相关而且是独立的,而独立成分比不相关更易于分类。相比PCA的样本协方差,ICA的负熵更多地考虑了数据的高阶信息。然而,в捎诔跏蓟旌戏掷胝W0取值的随意性,У贾履P偷难盗肥奔浜脱盗沸Ч也带有随意性,会影响实际应用效果。

LSSVM的性能依赖于所采用的核函数的类型。而核函数的选择与输入空间的数据有关。表1~3是选择不同核函数的分类结果。在这些表中,d是多项式核的自由度,γ是RBF核的核宽度。

由表2、3可见,选用RBF核函数的分类准确率普遍高于选用多项式核函数。在分类策略的选择上,不论是1v1和1va,如果核参数相同,则分类准确率几乎相近,不过选用1va的分类策略,需要更多时间训练分类器。从这一角度,也说明分类器的性能主要依赖于核参数的选择。但是,也可看出通过选择不同的核函数,则相应方法的分类准确率是不同的。因此,相比线性特征提取基于核的特征提取方法,在应用方面有更大的优势。通过核参数的选择,可以改进特征提取的效果,使数据的分布更易于后续的分类工作。而由实验可知,选择适当的核参数对分类性能有着至关重要的影响。

4 结语

本文研究非线性特征提取和最小二乘支持向量机在化工过程故障诊断的应用。KPCA利用核函数使输入数据映射到特征空间,并实现线性PCA计算;在KPCA白化空间,KICA沿着投影方向提取独立成分。采用LSSVM构造多类分类器,并研究选用不同核函数和分类策略对分类结果的影响。通过实际获取的某石化公司油生产过程测量数据,验证非线性特征提取的可分性,以及采用非线性特征提取能够改善LSSVM分类器的性能。实验结果表明,非线性特征提取和LSSVM可作为智能故障诊断的一种替代方法。

参考文献:[1] RENGASWAMY R, VENKATSUBRAMANIAN V. A syntactic pattern recognition approach for process monitoring and fault diagnosis [J]. Engineering Application of Artificial Intelligent, 1995, 8(1):35-51.

[2] VAPNIK V N. Statistical learning theory [M]. New York: John Wiley and Sons Inc,1998.

[3] SUYKENS J A K, VANDEVALLE J. Least squares support vector machine classifiers[J]. Neural Processing Letters, 1999,9(3):293-300.

[4] CAO L J, CHUA K S, CHONG W K, et al. A comparison of PCA, Kernel PCA and ICA for dimensional reduction in support vector machine[J]. Neurocomputing, 2003, 55(1):321-336.

[5] ACHMAD W, YANG B S. Application of nonlinear feature extraction and support vector machines for fault diagnosis of induction motors[J]. Expert Systems with Applications, 2007, 33(1):241-251.

[6]HYVARINEN A, ORJA E. Independent component analysis: Algorithm and applications[J]. Neural Network, 2000, 13(4), 411-413.

[7] 许亮. 基于核函数和知识的化工过程安全运行智能支持系统研究[D]. 广州:华南理工大学, 2007.

上一篇:优化Linux网络处理性能的软中断处理机制 下一篇:基于MC75的信息支持设备短消息平台研究