基于二分法的KPCA核参数优选

2024-03-12 15:18刘春燕闫广峰张雪莲
内江师范学院学报 2024年2期
关键词:误报率二分法神经网络

刘春燕, 闫广峰, 林 成, 张雪莲

(内江师范学院 a.物理与电子信息工程学院 b.地理与资源科学学院, 四川 内江 641100)

0 引言

对过程工业系统进行实时的故障检测,及时发现并排除故障是确保系统安全、运行可靠的关键[1].目前,过程工业故障检测主要有基于分析模型的方法[2-3]、基于定性经验知识的方法[4-5]和基于数据驱动的方法[6-7]等.随着过程工业各个环节中大量新型仪表和传感技术的应用,大量的过程数据被采集并保存,基于数据驱动的方法已成为故障检测领域的研究热点[8].主元分析(principal component analysis,PCA)是其中的经典方法,具有计算步骤简单、计算速度快等优点.然而,PCA是一种线性变换方法,对大部分过程工业的监控效果较好,但对非线性系统却存在线性分解方法压缩和提取不充分、监视结果不可靠等问题.对此,Schoblkopf等[9]提出了 KPCA算法.该方法利用核函数来提取样本的非线性特征分量,提高了非线性系统的检测效果[10-11].对于不同类型的非线性问题,KPCA可以通过使用不同的核函数来处理,在实际应用时,核函数中有些参数需提前确定,且其取值会直接影响KPCA算法故障检测结果的准确性和可靠性.

对核参数的选择问题,Müller等[12]采用交叉验证法进行选取.由操作者根据经验确定最优核参数的可能取值,这对初学者很难把握.Jia等[13]采用遗传算法来选取核参数.该方法在建模过程中需使用大量系统工作于各种故障状态下的数据,但在实际的过程工业中,不可能使系统长时间处于故障运行状态,因此,想要获取大量的故障数据十分困难.Ji等[14]采用BP神经网络方法来选取核参数.该方法只需要使用正常数据建模,且可根据应用场景选择不同的神经网络,比其他基于神经网络的非线性模型更容易建模,但其计算量较大,需花费大量的时间来进行神经网络的训练.Xiao等[15]指出边缘正常样本的重建误差应区别于非边缘正常样本的重建误差,使这个区别最大的值即为核参数的最佳取值.该方法能较好地检测到故障,但其误报率较高.为此,本文基于二分法思想,提出一种新的KPCA核参数优选方法,在确保故障检测效果的前提下,能准确、快速地确定核参数的取值,提高KPCA方法的实用性.

1 核主元分析

KPCA的基本思想是将原始输入数据通过非线性核函数映射到一个高维特征空间,然后在高维特征空间中作线性主元分析,由此将输入空间中的非线性问题转化为高维特征空间中的线性问题.

设输入数据阵为Xj∈Rm(j=1,2,…,N),其中N为样本数,m为变量数,通过非线性映射函数φ将原始空间的数据映射到高维特征空间F,映射后观测向量xj映射为φ(xj).设映射φ(xj)在高维特征空间中是去均值的,则协方差矩阵为

设协方差矩阵CF的特征值为λ,相应的特征向量为v,则有

λv=CFv.

(1)

特征向量v可由数据集线性表示,因此,存在系数αi(i=1,2,…,N),使得特征向量v满足关系

因此,式(1)可简化为

Nλa=Ka,

式中,a=[α1,…,αn]T;K为N×N的核矩阵,且[K]ij=Kij=〈φ(xi),φ(xj)〉,即Kij表示φ(xi)、φ(xj)的点积.

由此,对KPCA,高维特征空间中的主元分析问题,转换成了对核矩阵的特征值分解问题,映射φ(x)在特征向量vk上的投影可表示为

(2)

从以上KPCA的基本原理可以看出,其进行故障检测,首先要选择核函数以计算核矩阵K.高斯核函数是目前使用最广泛的核函数,其表达式为

K(xi,xj)=〈φ(xi),φ(xj)〉=exp(-‖xi-xj‖2/c),

(3)

式中,c为核参数,表示高斯函数的宽度,在实际应用中需要提前设定.

分析式(3)的高斯核函数,可以发现:

(1)当c→∞时,‖xi-xj‖2/c→0.即φ(xi)=φ(xj),正常样本与正常样本、正常样本与故障样本无限接近,在一定程度上会模糊正常样本、故障样本之间的差异,以至于会将故障样本错认为是正常样本而引起漏报,使漏报率很高.

(2)当c→0时,‖xi-xj‖2/c→∞.即φ(xi)⊥φ(xj),正常样本与正常样本、正常样本与故障样本的间距均被放大,而正常样本间的距离过大,会导致正常样本被错认为是故障样本而引起误报,使误报率很高.

由此可见,核参数c的取值会直接影响到KPCA算法故障检测的性能.因此,利用有效的方法找到合适的核参数c来平衡漏报率、误报率,对提高KPCA算法故障检测结果的准确性和可靠性是十分重要和必要的.

2 基于二分法的KPCA核参数选择

二分法[16]是一种在有序数组中查找特定元素的简单、快速的搜索算法.其基本思想是:对区间[a,b]上连续且满足f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,实现区间的两个端点逐步向零点逼近,进而得到零点的近似值.

基于二分法进行KPCA核参数优选,首先要给出核参数c的候选区间[cmin,cmax],以及可接受的误报率(false alarm rate,FAR)Ω的范围[FARmin,FARmax],其中,要求核参数c取值cmin、cmax时,对应的误报率FARcmin和FARcmax分别位于Ω的两侧.接着,将正常样本分为两部分,分别用作训练集Xtr和测试集Xte.然后,将采用二分法求取的新c′带入KPCA算法,求得测试样本的误报率,并判断误报率是否落入预定的Ω范围内.若在,则认为此时的核参c′为最佳核参数,若不在,则依据二分法更新c′,再继续代入KPCA中计算误报率,直至核参数c′对应的误报率落入Ω内.为叙述方便,称其为基于二分法的KPCA核参数优选方法(optimal KPCA kernel parameters selection method based on dichotomy,DKPS-KPCA).具体步骤如下:

(1)将正常样本分为两部分,分别用作训练集Xtr和测试集Xte;

(2)对训练集Xtr,将c′=(cmin+cmax)/2带入KPCA算法,求得统计量T2和SPE的阈值,对测试集Xte,求得统计量T2和SPE,将T2、SPE任一统计量超限认作出现故障,计算c′对应的FARc′;

(3)若FARc′落在给定的Ω范围内,即FARc′∈[FARmin,FARmax],取c′为核参数的最终取值,算法结束,否则执行步骤4);

(4)若cmin、(cmin+cmax)/2对应的FAR分别位于Ω的两侧,令cmax=(cmin+cmax)/2,cmin保持不变,执行步骤(2),否则执行步骤(5);

(5)若(cmin+cmax)/2、cmax对应的FAR分别位于Ω的两侧,令cmin=(cmin+cmax)/2,cmax保持不变,执行步骤(2).

其中,T2是主元得分的标准平方和[17],其定义为:

T2=[t1,…,tk]Λ-1[t1,…,tk]T,

式中,tk为通过式(2)计算的主元,Λ-1为由与前k个主元所对应的特征值所组成的对角矩阵的逆阵.

当检验水平为α时,T2的阈值为:

式中,N为总的样本个数,k为所选主元个数.

SPE用于测量数据偏离核主元分析模型的程度,定义为:

当检验水平为α时,SPE的阈值为

式中,s为SPE的方差,m为SPE均值.

利用DKPS-KPCA法得到最佳核参数后,便可进行在线故障检测,具体过程如下:

(1)离线建模.

步骤1 计算训练样本的均值、方差,将数据标准化;

步骤2 采用DKPS-KPCA法求得合适的核参数c值;

步骤3 将c带入高斯核函数中,计算训练样本集的核矩阵K;

步骤7 计算统计量T2和SPE的阈值.

(2)在线监测.

步骤8 对待测试的在线样本,用步骤1的均值、方差,对其进行标准化;

步骤9 计算[Kt]ij=Kt,ij=〈φ(xi),φ(xj)〉,其中i=1, 2,…,Nt,j=1,2,…,N,Nt为在线测试数据样本个数;

步骤12 计算T2、SPE统计量,并与其阈值进行比较,判断系统是否发生故障.

3 算例分析

采用TE过程数据进行实验分析,评估DKPS-KPCA方法的可行性和有效性.为此,首先用枚举法分析不同核参数c取值下的KPCA算法TE过程故障检测性能,据此找到最优的核参数取值;然后以枚举法结果为参考,分别利用DKPS-KPCA方法、BP神经网络法得到的核参数进行TE过程的故障检测分析.

3.1 TE过程

TE过程[18]是由美国工程师Downs和Vogel创建的实际化工过程仿真平台,其产生的数据具有时变、强耦合和非线性特征,目前被广泛用于评估复杂过程工业故障检测模型的性能.TE过程根据实际生产过程中遇到的问题设定了21种故障,并公开了正常工况及出现故障1—21时的数据.这些过程数据可从网上下载,也可通过simulink搭建系统模型,调用仿真程序来采集.

3.2 实验结果分析

实验中,通过搭建系统模型,调用仿真程序来采集数据,共进行了10次不同的仿真.每次仿真运行48 h,隔3min采集一次数据,因此,每次运行共产生960个观测数据.在这10次仿真中,有一次是模拟系统运行于正常状态,其余9次模拟系统运行于如表1所示的不同故障状态.利用正常工作状态下采集的数据优化KPCA中的核参数c,故障工作状态下采集的数据测试优化后核参数c的检测性能.对于故障状态下采集的数据,前160个数据为正常数据,后800个为故障数据.设定T2、SPE统计量的控制限为95%,累计方差贡献率为85%.实验在CPU为Intel i5-4590 3.3 GHz的环境下利用MATLAB R2012a进行.

首先,核参数c在[10,2 000]内以10为步长依次取值,采用枚举的方式用KPCA算法对各c值条件下TE过程中的故障进行检测分析.分别统计使得各故障检测错误率最低的核参数c取值情况,结果如表1所示.

表1 枚举法求得的最佳核参及对应检测结果

为了进一步探究核参数对KPCA算法效果的影响特点,以故障14为检测对象进行检测,结果如图1所示.

(a) 检测结果整体

(b)局部放大

从图1的检测结果可以发现:① 随着核参数c取值增大,检测错误率总体上呈下降趋势,但并不是单调递减的.核参数c在[10, 210]区间取值时,检测错误率随着c取值的增大而减小;在区间[220, 320]及[480, 510]取值时,检测错误率取得最小值;在[330, 470]和[520, 2 000]区间取值时,检测错误率在小范围内波动,时高时低.由此可知,在实践中,要找到合适的核参数c比较困难,且一定存在核参数c使KPCA算法进行故障检测时取得检测错误率最低值.② 故障检测错误率最小值为0.104 2%,最大值可达83.333 3%,核参数的取值对故障检测效果有较大的影响.

在DKPS-KPCA算法中,预设核参c的取值范围为[1, 2 000],可接受的误报率Ω范围为[0.5%, 1%],核参数c的计算过程如表2所示:

表2 核参数c的计算过程

首先计算核参数c取值为1和2 000的误报率,分别为0%和11.875%,位于Ω的两侧,符合初值的选取要求.因此,将1作为cmin、2 000作为cmax,得到新的c′=(cmin+cmax)/2=1 000,将其带入KPCA算法中求得其误报率为7.083 3%,不在可接受范围内,且cmin=1、(cmin+cmax)/2=1 000对应的误报率分别位于Ω的两侧,更新cmax=(cmin+cmax)/2=1 000,cmin=1保持不变.依据二分法再次更新c′=(cmin+cmax)/2=(1 000+1)/2=500,此时对应的误报率为1.979 2%,亦不在可接受范围内,且核参数取值1,500对应的FAR分别位于Ω的两侧,令cmax=500,cmin=1保持不变.以此类推,再次更新c′,直至核参数c′对应的误报率在Ω范围内,算法结束,最终求得核参数取值312符合条件.结合表1中枚举法的核参数优选结果,可以发现,DKPS-KPCA算法求得的最优核参数落在采用枚举法得到的各故障对应最佳核参数取值区间内.

为进一步检验DKPS-KPCA算法的优越性,首先采用文献[14]BP神经网络方法进行核参数选择分析,得到最佳核参数取值为c=308.然后,分别采用KPCA、PCA进行TE过程的故障检测,其中,KPCA算法分析时,核参数分别取DKPS-KPCA算法、BP神经网络法求得的核参数,以及随机选取的1 500、500、125.各方法的故障检测错误率如表3所示.

表3 故障检测结

进一步统计分别采用枚举法、DKPS-KPCA算法和BP神经网络法找到最佳核参数c所需的时间,结果如表4所示.

表4 各方法找到最佳核参数c所需时间

从表3、表4的结果可以看出,PCA方法很好地检测到了故障7,但对其他大部分故障的检测效果一般,尤其是对故障4、故障17的检测效果很差.对KPCA方法,核参数c取值125时,其对各种故障的效果均较差;当核参数取值1 500时,其对故障4、6、13、14、17的检测效果要优于PCA;当核参数取值500时,除故障2外其他故障,KPCA的检测效果均优于PCA.特别地,采用DKPS-KPCA算法求得的最优核参数c值312和BP神经网络法获得的c值308(与采用枚举法得到的最优核参数结果一致),KPCA方法的故障检测效果相同,且故障检测错误率均要低于c取值1 500、500和125,故障检测效果明显优于PCA方法.但结合表4可以发现,DKPS-KPCA算法找到最优核参数所需时间远小于BP神经网络方法,对大规模数据集故障检测,其实用性更强.此外,DKPS-KPCA算法原理简单、易于编程实现,较BP神经网络方法更容易被技术人员理解和掌握.

综合以上分析可以得出,KPCA方法的故障检测效果在很大程度上受核参数c取值的影响;核参数c取值不合理时,KPCA的故障检测效果不一定优于PCA方法;核参数c合理取值时,KPCA的故障检测效果明显优于PCA方法;DKPS-KPCA算法可以有效解决KPCA的核参数优选问题.

4 结语

本文提出一种基于二分法的KPCA核参数优选方法,初步的理论分析和实验研究表明,利用KPCA算法进行故障检测时,核参数c的取值会对检测结果的准确性和可靠性产生重要影响.若选用了不合理的核参数c,得到的故障检测结果将是不可靠的.因此,在采用KPCA算法进行故障检测时,应首先进行核参数的优选分析.提出的DKPS-KPCA算法可有效解决KPCA的核参数优选问题,利用其求出的核参数c实施KPCA故障检测,可以确保检测结果的准确性和可靠性.在核参数的优选过程中,只需使用正常数据建模,且可根据应用场景设置不同的可接受误报率范围,大大提高了KPCA方法的实用性.

猜你喜欢
误报率二分法神经网络
基于GRU-LSTM算法的物联网数据入侵检测分析
基于SSA-SVM的网络入侵检测研究
家用燃气报警器误报原因及降低误报率的方法
基于二进制/二分法的ETC状态名单查找算法
“二分法”求解加速度的分析策略
“二分法”求解加速度的分析策略
神经网络抑制无线通信干扰探究
估算的妙招——“二分法”
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用