基于支持向量机的故障诊断方法研究
2015-04-27吕锋李华李延忠李凌燕
吕锋,李华,李延忠,李凌燕
(1.河北师范大学电子系,石家庄 050024;2.石家庄铁道大学电气与电子工程学院,石家庄 050043;3.石家庄供电公司,石家庄 050010)
基于支持向量机的故障诊断方法研究
吕锋1,李华1,李延忠2,李凌燕3
(1.河北师范大学电子系,石家庄 050024;2.石家庄铁道大学电气与电子工程学院,石家庄 050043;3.石家庄供电公司,石家庄 050010)
摘 要:针对故障诊断中存在的故障样本不完备问题,提出一种基于支持向量数据描述(SVDD)与支持向量机(SVM)相结合的故障诊断方法。该方法首先以正常状态下的数据样本与已知故障数据样本为整体建立数据描述模型、依据已知故障数据样本建立支持向量分类机模型,然后对输入的测试数据样本采用SVDD进行拒绝与接受处理,被接受的样本再利用支持向量分类机进行具体类别诊断;被拒绝的样本则为未知故障类型。数值试验表明,该方法可以有效处理故障样本不完备的故障诊断问题,能够对已知故障类型进行准确判断,并对未知故障类型给出提示,具有一定的实践意义。
关键词:支持向量数据描述;支持向量机;故障诊断
本文引用格式:吕锋,李华,李延忠,等.基于支持向量机的故障诊断方法研究[J].新型工业化,2015,5(4):34-39
0 引言
故障诊断过程本质上是一个故障模式分类过程。在故障诊断领域中,通常只能获取正常运行状态以及一些常见故障类型的数据样本,很难全面的收集到足够多的故障训练样本集,罕见故障类型的数据样本是缺失的,造成故障样本不完备情况,这为传统的故障诊断方法带来了难题。这些罕见的故障类型可能为其它故障类型的诱因或者其本身就会为设备带来极大的破坏,使得设备难以正常运行。我们希望能够对已经获取数据样本的故障类型作出具体判断,对未知的故障类型也能给出提示,为设备的维护带来便利,节约维修时间与维修成本[1-3]。
支持向量数据描述(Support Vector Data Description,SVDD)最早是于1999年由tax等人结合SVM思想提出一种单值分类器,具有鲁棒性强、计算速度快等优点。区别于SVM构造超平面需要两类样本,SVDD只需一类样本即可实现超球面的构建。本文应用SVDD,不需要缺失的故障数据样本,仅仅依靠能够获取的正常运行状态以及一些常见故障类型的数据样本为整体构建单值分类器,对设备的运行状态进行初步诊断,对是否发生缺失样本对应的未知故障类型作出判断,但无法识别出具体的故障类型[4,5]。本文针对故障诊断中存在的故障样本不完备问题,提出了SVDD与SVM相结合的故障诊断方法。该方法在处理故障样本不完备的故障诊断问题中取得了良好的效果,能够对已知故障类型进行准确判断,并对未知故障类型给出提示,具有一定的实践意义。
1 支持向量数据描述
假设训练样本中包含N个目标样本{ xi, i=1, 2, , N }。实际问题中,目标样本往往不是集中分布的,而是存在个别目标样本点距离球心距离较其它目标样本点距离球心距离大很多,在构造超球体时,如果想要包含全部目标样本点,则会将一些异常数据(非目标样本)包含在内,导致分类准确度降低。为了增强其分类的鲁棒性,这里引入松弛变量ζi,则超球体的数学描述为:
其中,C为一个常数,常把其称作惩罚因子,起控制对错分样本惩罚程度的作用,以实现错分样本的比例与算法复杂程度之间的折中。
式(1)是一个典型的二次规划问题,可以通过引入拉格朗日乘子对其进行求解,把式(1)的优化问题改写为拉格朗日函数的形式有:
其中αi≥0, βi≥0为拉格朗日系数。分别对R、a、ζi求偏导得:
将式(3)代入式(2),可得式(1)优化问题的对偶形式:
在实际计算中,多数αi的值为0,在计算中将被忽略。只有少数αi的值不为0,其所对应的xi称为支持向量。超球体的a与R只与支持向量有关,与其它样本没有关系。其中:
对于任何一个测试样本点z,如果满足:
则测试样本为目标样本,反之为非目标样本。
在上面的计算中,用到了向量的内积运算xi·xj,可以引入核函数K(xi, xj)代运算,将低维空间中的非线性问题转化为高维空间中的线性问题。问题转化为求最优解:
测试样本z为目标样本只需满足:
常用的核函数有线性核函数、多项式核函数、径向基核函数。应用SVDD构造出能够有效描述已知目标样本的最小特征超球体,作为其是否发生未知故障类型的依据。当测试样本为目标样本时,则测试样本被传递给SVM进行具体模式识别,反之将其确定为未知故障类型。
2 支持向量机
给定一个样本集{xi, yi},xi为输入向量,yi是对应的输出。对于线性不可分问题,则可通过引入核函数K(xi, xj)将低维空间中的数据映射到高维空间,将原低维空间中的线性不可分问题转化为高维空间中的线性可分问题。对于二值分类问题,相应的分类决策函数可表示为:
SVM本身是用来解决两分类问题的,本文通过“一对一”的方法将二类SVM拓展到多类分类问题。对于N类分类问题,需要构造个两类SVM分类器,每一个训练好的分类器用于区分两个类别,个两类分类器采用投票法来确定测试样本的具体类别。
3 基于SVDD与SVM的故障诊断方法
在样本缺失情况下,传统的分类器在进行故障诊断时会出现较大的误判,主要原因是传统
其中Si为第i类故障样本,N为正常数据样本,other代表其它类型,本文把缺失样本归于此类。假设有一类故障样本缺失,利用上式对超平面进行构建,有:
这时虽然存在一类故障样本缺失,但是将其归于了other类别,对分类超平面的主体部分影响不大。特殊情况下,假如只有正常样本数据,而没有任何故障样本,则式(10)变为:
此时other代表所有的故障类型,这样改进较为符合实际问题,有利于提高诊断正确率。针对故障诊断中存在故障样本不完备问题,本文提出了基于SVDD与SVM相结合的故障诊断方法,提高了故障样本不完备情况下的故障诊断率,取得了良好的效果。故障诊断具体步骤如下:
step 2:利用样本集D所包含的正常样本与k类故障样本对SVM进行训练,构建SVM多值分类器。
如果ω=1么测试样本z属于D(正常类或某一已知故障类),需继续step 4操作;反之,ω=0明测试样本z属于未知故障类别,诊断过程结束。
step 4:当step 3中,判别函数值ω=1时,则利用step 2构建的SVM多值分类器对测试样本z第二步诊断,对测试样本z的具体类别进行判断。本文采用“一对一”型SVM多分类算法,具体操作不再赘述。
4 试验分析
图1 级联H桥五电平逆转器电路图Fig.1 five-level inverters circuit for cascade H bridge
为了验证上述方法的有效性,对一级联H桥五电平逆变器的故障数据进行分析,级联H桥五电平逆变器的电路图如图1所示。共设置了1个正常模式,8类故障模式(均为IGBT的单个开路故障),共9个类别,分别用代码N、P1、P2、P3、P4、P5、P6、P7、P8表示。采集逆变器正常时的数据与8类故障数据各50组,组成试验数据集。
实验仿真环境采用Matlab 2011b与LibSVM及LibSVM—svdd—3.17软件包搭建。试验中SVM类型为C-SVM,并采用“一对一”方法构造多分类支持向量分类机模型。核函数选用RBF径向基核函数。试验假设有三类故障数据(P6、P7与P8)缺失,构造故障样本不完备环境,用于检验基于SVDD与SVM相结合的故障诊断方法在样本不完备时故障诊断性能,并与单独采用SVM故障诊断方法在样本不完备时故障诊断的性能进行了对比。
4.1SVDD与SVM相结合的故障诊断性能试验
因有三类故障数据(P1、P2与P3)缺失,故利用SVDD进行第一步诊断时,训练样本只包括N、P4、P5、P6、P7、P8数据类型,而测试样本则包括N、P1、P2、P3、P4、P5、P6、P7、P8等全部数据类型。设N、P4、P5、P6、P7、P8的训练集标签均为1,完成SVDD超球面的构建;N、P4、P5、P6、P7、P8的测试集标签均设为1,P1、P2、P3的测试标签均设为-1(-1即代表训练集已有类型以外的未知故障类型),从而检测SVDD在样本不完备时的故障诊断性能。因为SVDD第一步诊断的目的是检测是否发生未知故障类型,SVM第二步诊断是为了对已知数据故障类型作出具体判断,所以,利用SVM进行第二步诊断时N、P4、P5、P6、P7、P8的训练集标签与测试集标签均设为3、4、5、6、7、8。随机抽取N、P4、P5、P6、P7、P8各30组数据作为SVDD与SVM的训练集,剩余120组数据与随机从P1、P2、P3中各抽取20组共180组数据作为SVDD的测试集。
图2 SVDD-SVM模型中SVDD测试结果与实际值比较Fig.2 The difference between the test results of SVDD and the actual value in SVDD-SVM model
由图2可以看出,缺失故障样本全部被诊断为-1类别(此处标签为-1的类别代表P2与P3,实际情况下代表所有的缺失样本故障类型),且标签为1的样本被误判的很少,较好地实现了故障的第一步诊断。
第一步诊断后,利用建立好的SVM模型,再将第一步诊断中诊断类别为“1”的样本对其进行测试,进行第二步诊断,实现故障类型的具体识别,设置参数C=0.05,g=0.015。测得ACC=100.0%。测试结果与真实结果比较如图3所示。
图3 SVDD-SVM模型中SVM测试结果与实际值比较Fig.3 The difference between the test results of SVM and the actual value in SVDD-SVM model
4.2单独采用SVM的故障诊断性能试验
仍然假设三类故障数据(P1、P2与P3)缺失,利用正常数据N及已知故障数据P4、P5、P6、P7、P8,建立SVM分类模型。仍以SVDD与SVM相结合的故障诊断性能试验中随机抽取的N、P4、P5、P6、P7、P8各30组数据作为SVM的训练集,剩余120组数据与随机从P1、P2、P3中各抽取20组共180组数据作为测试集。N、P4、P5、P6、P7、P8的训练集标签分别设为3、4、5、6、7、8,N、P1、P2、P3、P4、P5、P6、P7、P8的测试集标签设为3、1、2、0、4、5、6、7、8。
设置参数C=0.05,g=0.015,利用训练集中共180组数据建立好SVM模型后,再利用测试集数据对其进行测试,测得ACC=66.67%。测试结果与真实结果比较如图4所示。
由图4可以看出,虽然已知数据N、P4、P5、P6、P7、P8对应类型均诊断正确,但是对于缺失数据P1、P2、P3对应的实际类型却全部被误判为其它类别,对缺失样本故障诊断准确率为零。诊断结果错误率较高,为故障的定位与及时准确维修带来干扰。
5 结论
综上所述,在部分故障样本不完备情况下(本文假设为有三类故障样本缺失),采用独立SVM分类机对其进行故障诊断,对缺失样本故障诊断准确率为零,且将其诊断为其它故障类型,为设备的及时维护带来阻碍与干扰。而采用SVDD与SVM相结合的方法对此情况进行故障诊断时,虽然对缺失样本的实际故障类型不能作出具体判断,但是将其诊断为正常与已知故障类型以外的其它类别,能够及时告知维护人员设备已经处于故障状态,且为未知故障,以便及时检修维护,减小损失。在实际生产中,对于任何的运行设备,不可能获得其全部故障类型数据,因此当有部分故障样本缺失时,采用一般的SVM方法进行故障诊断误报率明显增大。本文针对故障样本不完备情况,提出了SVDD与SVM相结合的故障诊断方法,通过实验验证了SVDD 与SVM故障诊断方法较独立SVM分类机故障诊断方法在故障样本不完备情况下有较大优越性与可行性。
参考文献:
[1]庄哲民, 殷国华, 李芬兰, 等.基于小波神经网络的风力发电机故障诊断[J].电工技术学报, 2009, 24(4): 224-248.Zhuang Zhemin, Yin Guohua, Li Fenlan, et al.Fault Diagnosis of Wind Power Generation Based on Wavelet Neural Network[J].transactions of china electrotechnical society, 2009, 24(4): 224-248.
[2]Qian Yuliang, Zhang Hao, Peng Daogang, et al.Fault diagnosis for generator unit based on RBF neural network optimized by GAPSO[C].IEEE 8th international conference on natural computation.Chongqing, China, 2012: 223-236.
[3]D.Tax, R.Duin.Support vector data description[J].Pattern Recognition Letters, 1999, 20(11): 1191-1199.
[4]D.Tax and R.Duin.Support Vector Data Description[J].Machine Learning, 2004, 54(1): 45-66.
[5]Ernani M Z, Azirani A A.A method based on analytical hierarchy process for generator fault diagnosis[C].2010 IEEE proceedings of International Conference on Solid Dielectrics.2010: 1-4.
A Study of Fault Diagnosis Method Based on SVM
LV Feng1, LI Hua1, LI Yanzhong2, LI Lingyan3
(1.Electronic department, Hebei Normal University, Shijiazhuang 050024, China; 2.School of Electrical and Electronics Engineering, Shijiazhuang Tiedao University, Shijiazhuang 050043, China; 3.Shijiazhuang Power Supply Company, Shijiazhuang 050010, China)
Abstract:Aiming at the fault samples incomplete problems existing in the fault diagnosis, we put forward a kind of fault diagnosis method based on Support vector data description (SVDD) and Support vector machine (SVM).This method firstly set up normal data samples with known fault data samples for whole data description model, on the basis of known fault data samples based support vector classification machine model, based on a known fault data samples to build support vector machine model, Then the test data of the input sample SVDD is adopted to deal with the refused or accept,acceptable sample using the SVM to classify specific diagnosis; The rejected samples are unknown fault type.Numerical experiments show that this method can efficiently solve the fault diagnosis problem of incomplete fault samples, while the unknown fault type giving prompt better implementation of known fault types of specific judgments, which has certain practical significance.
Keywords:support vector data description; support vector machine; fault diagnosis.
DOI:10.3969/j.issn.2095-6649.2015.04.05
作者简介:吕锋(1958-),女,教授,主要研究方向:电气安全技术,电气控制及故障诊断等
*基金项目:国家自然科学基金资助(60974063, 61175059); 河北省自然科学基金资助 (NO: F2014205115)。
Citation: LV Feng, LI Hua, LI Yanzhong, et al..A Study of Fault Diagnosis Method Based on SVM [J].The Journal of New Industrialization, 2015, 5(4): 34‒39.