工程科学学报,第39卷.第1期:39-47,2017年1月 Chinese Journal of Engineering,Vol.39,No.1:39-47,January 2017 D0L:10.13374/j.issn2095-9389.2017.01.005;htp://journals.usth.edu.cm 基于全局优化支持向量机的多类别高炉故障诊断 张海刚12),张森12)四,尹怡欣12) 1)北京科技大学自动化学院,北京1000832)北京科技大学钢铁流程先进控制教育部重点实验室,北京100083 ☒通信作者,E-mail:zhangsen(@usth.cdu.cn 摘要针对高炉故障诊断系统快速性和准确性的要求,提出基于全局优化最小二乘支持向量机的策略.首先,采用变尺度 离散粒子群对最小二乘支持向量机的参数和故障特征的选取进行优化:然后,利用核主元分析法对选取的特征向量进行压缩 整理:最后,构造了以Fisher线性判别率为标准的启发式纠错输出编码.仿真结果表明,通过对故障训练样本有意义地分割重 组,用较少的最小二乘支持向量机分类器,得到较高的故障判断准确率且增强了整个系统的实时性 关键词高炉:故障诊断:最小二乘分析:支持向量机:全局优化 分类号T549 Multi-class fault diagnosis of BF based on global optimization LS-SVM ZHANG Hai-gang2),ZHANG Sen)YIN Yi-xin2) 1)School of Automation and Electrical Engineering,University of Science and Technology Beijing,Beijing 100083.China 2)Key Laboratory of Advanced Control of Iron and Steel Process (Ministry of Education),University of Science and Technology Beijing,Beijing 100083,China Corresponding author,E-mail:zhangsen@ustb.edu.cn ABSTRACT Aiming at the requirement of high speed and precision in blast furnace fault diagnosis systems,a new strategy based on global optimization least-squares support vector machines (LS-SVM)was proposed to solve this problem.Firstly,the variable metric discrete particle swarm optimization algorithm was employed to optimize the feature selection and LS-SVM parameters.Secondly,the feature vector was compressed by kernel principal component analysis.Finally,the heuristic error correcting output codes were con- structed on the basis of Fisher linear discriminate rate.In the fault diagnosis scheme,fewer IS-SVM classifiers were applied through meaningful partitions and recombination of fault training samples.Simulation results show that the proposed fault diagnosis method can not only improve the fault detection accurate rate,but also enhance the timeliness of the entire system. KEY WORDS blast furnaces;fault diagnosis;least-squares analysis;support vector machines;global optimization 钢铁工业是我国国民经济的基础产业和支柱产 到节能减排的目的.高炉炉况故障诊断在高炉自动化 业).高炉炼铁在钢铁工业中处于举足轻重的地位. 控制的研究中一直是热点话题,准确及时的故障诊断 高炉炼铁系统生产设备繁多,具有多耦合、大延时、非 技术能够确定高炉的稳定生产,降低故障所带来的经 线性等特点.尽管在高炉本体上安装了很多自动化的 济损失[2) 检测装置,然而由于高炉运行炉况复杂,无法建立准确 在高炉生产中,由于缺少准确的机理模型,往往从 的机理模型,在高炉自动控制决策过程中,仍将其当为 数据驱动角度建立高炉故障诊断模型).基于专家系 “黑箱”系统进行处理.高炉生产追求稳定,稳定炉况 统的故障诊断方法,计算机模仿专家经验,进行故障决 不仅能够保证铁水质量,而且能够提高煤气利用率,达 策[.虽然引进国外的专家系统有一定的效果,但是 收稿日期:2016-03-16 基金项目:国家自然科学基金资助项目(61333002,61673056)
工程科学学报,第 39 卷,第 1 期:39鄄鄄47,2017 年 1 月 Chinese Journal of Engineering, Vol. 39, No. 1: 39鄄鄄47, January 2017 DOI: 10. 13374 / j. issn2095鄄鄄9389. 2017. 01. 005; http: / / journals. ustb. edu. cn 基于全局优化支持向量机的多类别高炉故障诊断 张海刚1,2) , 张 森1,2) 苣 , 尹怡欣1,2) 1) 北京科技大学自动化学院, 北京 100083 2) 北京科技大学钢铁流程先进控制教育部重点实验室, 北京 100083 苣 通信作者, E鄄mail: zhangsen@ ustb. edu. cn 摘 要 针对高炉故障诊断系统快速性和准确性的要求,提出基于全局优化最小二乘支持向量机的策略. 首先,采用变尺度 离散粒子群对最小二乘支持向量机的参数和故障特征的选取进行优化;然后,利用核主元分析法对选取的特征向量进行压缩 整理;最后,构造了以 Fisher 线性判别率为标准的启发式纠错输出编码. 仿真结果表明,通过对故障训练样本有意义地分割重 组,用较少的最小二乘支持向量机分类器,得到较高的故障判断准确率且增强了整个系统的实时性. 关键词 高炉; 故障诊断; 最小二乘分析; 支持向量机; 全局优化 分类号 TF549 Multi鄄class fault diagnosis of BF based on global optimization LS鄄SVM ZHANG Hai鄄gang 1,2) , ZHANG Sen 1,2) 苣 , YIN Yi鄄xin 1,2) 1) School of Automation and Electrical Engineering, University of Science and Technology Beijing, Beijing 100083, China 2) Key Laboratory of Advanced Control of Iron and Steel Process ( Ministry of Education), University of Science and Technology Beijing, Beijing 100083, China 苣 Corresponding author, E鄄mail: zhangsen@ ustb. edu. cn ABSTRACT Aiming at the requirement of high speed and precision in blast furnace fault diagnosis systems, a new strategy based on global optimization least鄄squares support vector machines (LS鄄SVM) was proposed to solve this problem. Firstly, the variable metric discrete particle swarm optimization algorithm was employed to optimize the feature selection and LS鄄SVM parameters. Secondly, the feature vector was compressed by kernel principal component analysis. Finally, the heuristic error correcting output codes were con鄄 structed on the basis of Fisher linear discriminate rate. In the fault diagnosis scheme, fewer LS鄄SVM classifiers were applied through meaningful partitions and recombination of fault training samples. Simulation results show that the proposed fault diagnosis method can not only improve the fault detection accurate rate, but also enhance the timeliness of the entire system. KEY WORDS blast furnaces; fault diagnosis; least鄄squares analysis; support vector machines; global optimization 收稿日期: 2016鄄鄄03鄄鄄16 基金项目: 国家自然科学基金资助项目(61333002, 61673056) 钢铁工业是我国国民经济的基础产业和支柱产 业[1] . 高炉炼铁在钢铁工业中处于举足轻重的地位. 高炉炼铁系统生产设备繁多,具有多耦合、大延时、非 线性等特点. 尽管在高炉本体上安装了很多自动化的 检测装置,然而由于高炉运行炉况复杂,无法建立准确 的机理模型,在高炉自动控制决策过程中,仍将其当为 “黑箱冶系统进行处理. 高炉生产追求稳定,稳定炉况 不仅能够保证铁水质量,而且能够提高煤气利用率,达 到节能减排的目的. 高炉炉况故障诊断在高炉自动化 控制的研究中一直是热点话题,准确及时的故障诊断 技术能够确定高炉的稳定生产,降低故障所带来的经 济损失[2] . 在高炉生产中,由于缺少准确的机理模型,往往从 数据驱动角度建立高炉故障诊断模型[3] . 基于专家系 统的故障诊断方法,计算机模仿专家经验,进行故障决 策[4] . 虽然引进国外的专家系统有一定的效果,但是
·40· 工程科学学报,第39卷,第1期 其价格昂贵,并且国内大多数高炉检测设备落后,操作 次,与随机策略需要大量的分类器相比,有意义的重组 管理水平低,造成重要参数的数据不完整,不准确,导 显著减少了分类器的数量,从而得到较好的性能且提 致国外专家系统难以适合我国国情.文献[5]基于人 高了训练的速度: 工神经网络建立了高炉故障诊断模型,取得了不错的 我们首先详细介绍本文提出的全局优化最小二乘 效果.但由于其建立在大数定理的渐近理论之上,要 支持向量机分类算法,其次我们建立高炉智能故障诊 求学习样本足够多,收敛速度比较慢且容易陷入局部 断模型,最后展示基于真实生产数据的故障仿真结果 极值或过学习的困境,在实际应用中隐含层的层数及 1基于全局优化最小二乘支持向量机的多 每层神经元数目如何确定也无规律可循.李振[)将贝 叶斯技术运用到高炉故障诊断中,设计了因果关系贝 类别分类方法 叶斯网络诊断模型.然而高炉的智能故障诊断面临的 1.1最小二乘支持向量机 是典型故障样本少、特征参数呈非线性耦合且维数较 支持向量机(SVM)能较好地解决小样本、非线性 高的模式识别难题,所建立的贝叶斯模型往往达不到 以及高维数的模式识别问题.支持向量机通过结构风 期望的精度.除此之外,高炉处于复杂的工业生产环 险最小化原理来提高泛化能力,可以用于解决二元分 境中,样本数据往往受到噪声干扰,这要求故障诊断算 类问题,已在模式识别、信号处理和函数逼近领域得到 法有很强的鲁棒性.高炉故障具有不同的形式,属于 应用s-).最小二乘支持向量机(least-squares support 多分类问题,设计合理有效的故障检测分类器至关重 vector machine,LS-SVM)是Suykens和Vandewallets]在 要.同时高炉生产对于故障检测的及时性也有一定的 Vapnik的标准支持向量机的基础上提出的一种改进 要求)],及时准确的进行故障检测报警,不仅能够减少 方法.最小二乘支持向量机在优化问题中引入误差的 损失,而且能够保证高炉顺行,延长高炉寿命 平方项,用等式约束取代原先支持向量机的不等式约 本文针对冶炼过程中出现的悬料、崩料和管道行 束条件,将耗时的二次规划问题转化为线性方程组的 程三种典型故障,提出基于全局优化支持向量机的多 求解,大幅度地简化了训练过程. 类别高炉故障诊断方法.一方面,在智能故障诊断系 给定具有N个n维样本向量的训练集T={(x, 统的构建过程中,为了降低特征空间的维数,减少存储 y),(x22),…,(xw,yx)},其中x∈R是第k个输 空间的占用,提高机器学习的效率,需要对高炉的故障 入向量,y∈Y={1,-1}是第k个输人向量在二元分 特征参数进行自动的筛选.在数据预处理阶段,我们 类问题中的类标签.当样本在输入空间不能被线性分 采用核主成分分析(kernel principal component analy- 开时,选择一个非线性映射中(·):R→H,把样本向 ss,KPCA)方法对高炉故障特征数据进行降维处理, 量从输入空间R”映射到特征空间H.当在特征空间 保留和高炉故障关联性较高的特征数据,提高检测准 H构建最优超平面时,训练算法只需要计算该空间向 确率.另外核函数的参数选择和支持向量机的惩罚因 量间的内积,即中(x:)中(x),通过引人核函数K(x, 子影响着故障诊断系统的训练效果,为了避免人为设 x)=Φ(x:)中(x),使得高维空间的内积运算转化为 定参数的弊端,需要系统自发地对参数的最优值进行 原始输入空间核函数的计算.支持向量分类机的目标 寻找.本文在粒子群算法[)的基础上,提出变尺度离 是在特征空间中构建最优线性决策函数: 散粒子群参数优化方法,通过加强最优粒子的影响力, y(x)=sgn(wΦ(x)+b). (1) 增强了系统的稳定性.另一方面,高炉故障诊断本质 其中,(·)是从输入向量到高维特征空间的非线性映 上是多类别分类问题,而支持向量机是针对二元分类 射,仙是最优分类超平面的法向量,b为偏移量. 问题的学习方法,通常的处理方式是将复杂的多元分 假设训练集在特征空间中是线性可分的,最优分 类问题分解为多个简单的二元分类问题.纠错输出编 类超平面应满足如下条件: 码是一种分解重组多元分类问题的通用方法,其中一 y[wΦ(x)+b]≥1,k=1,2,…,N. (2) 对多、密集随机编码法与一对一、稀疏随机编码法分别 当训练集在特征空间中为线性不可分时,任何分类超 是经典的二元和三元编码方法的实例[).然而,以上 平面都必然有错误的划分,因此不能要求所有训练点 方法的编码矩阵是预先定义好的,在编码矩阵的创建 均满足约束条件(2).为此,对第个训练点(x,y)引 过程中,没有考虑到训练样本的数据特征,使得训练过 人松弛变量5≥0,把约束条件放宽为: 程具有一定的盲目性.本文采用以Fisher线性判别率 为标准的启发式纠错输出编码,该方法具有两个方面 (y[wΦ(x)+b]≥1-≥0,k=1,2,…,N; 的优势:首先,启发式的编码过程允许类集合按照最大 5≥0, k=1,2,…,N 的判别率重新组织,从而使编码矩阵的拓扑结构同一 (3) 对一和一对多方法固定的方式相比变得更加灵活.其 专=(5,2,…,专、)体现了训练集被错分的情况,而由专
工程科学学报,第 39 卷,第 1 期 其价格昂贵,并且国内大多数高炉检测设备落后,操作 管理水平低,造成重要参数的数据不完整,不准确,导 致国外专家系统难以适合我国国情. 文献[5]基于人 工神经网络建立了高炉故障诊断模型,取得了不错的 效果. 但由于其建立在大数定理的渐近理论之上,要 求学习样本足够多,收敛速度比较慢且容易陷入局部 极值或过学习的困境,在实际应用中隐含层的层数及 每层神经元数目如何确定也无规律可循. 李振[6]将贝 叶斯技术运用到高炉故障诊断中,设计了因果关系贝 叶斯网络诊断模型. 然而高炉的智能故障诊断面临的 是典型故障样本少、特征参数呈非线性耦合且维数较 高的模式识别难题,所建立的贝叶斯模型往往达不到 期望的精度. 除此之外,高炉处于复杂的工业生产环 境中,样本数据往往受到噪声干扰,这要求故障诊断算 法有很强的鲁棒性. 高炉故障具有不同的形式,属于 多分类问题,设计合理有效的故障检测分类器至关重 要. 同时高炉生产对于故障检测的及时性也有一定的 要求[5] ,及时准确的进行故障检测报警,不仅能够减少 损失,而且能够保证高炉顺行,延长高炉寿命. 本文针对冶炼过程中出现的悬料、崩料和管道行 程三种典型故障,提出基于全局优化支持向量机的多 类别高炉故障诊断方法. 一方面,在智能故障诊断系 统的构建过程中,为了降低特征空间的维数,减少存储 空间的占用,提高机器学习的效率,需要对高炉的故障 特征参数进行自动的筛选. 在数据预处理阶段,我们 采用核主成分分析( kernel principal component analy鄄 sis, KPCA)方法对高炉故障特征数据进行降维处理, 保留和高炉故障关联性较高的特征数据,提高检测准 确率. 另外核函数的参数选择和支持向量机的惩罚因 子影响着故障诊断系统的训练效果,为了避免人为设 定参数的弊端,需要系统自发地对参数的最优值进行 寻找. 本文在粒子群算法[7] 的基础上,提出变尺度离 散粒子群参数优化方法,通过加强最优粒子的影响力, 增强了系统的稳定性. 另一方面,高炉故障诊断本质 上是多类别分类问题,而支持向量机是针对二元分类 问题的学习方法,通常的处理方式是将复杂的多元分 类问题分解为多个简单的二元分类问题. 纠错输出编 码是一种分解重组多元分类问题的通用方法,其中一 对多、密集随机编码法与一对一、稀疏随机编码法分别 是经典的二元和三元编码方法的实例[7] . 然而,以上 方法的编码矩阵是预先定义好的,在编码矩阵的创建 过程中,没有考虑到训练样本的数据特征,使得训练过 程具有一定的盲目性. 本文采用以 Fisher 线性判别率 为标准的启发式纠错输出编码,该方法具有两个方面 的优势:首先,启发式的编码过程允许类集合按照最大 的判别率重新组织,从而使编码矩阵的拓扑结构同一 对一和一对多方法固定的方式相比变得更加灵活. 其 次,与随机策略需要大量的分类器相比,有意义的重组 显著减少了分类器的数量,从而得到较好的性能且提 高了训练的速度. 我们首先详细介绍本文提出的全局优化最小二乘 支持向量机分类算法,其次我们建立高炉智能故障诊 断模型,最后展示基于真实生产数据的故障仿真结果. 1 基于全局优化最小二乘支持向量机的多 类别分类方法 1郾 1 最小二乘支持向量机 支持向量机(SVM)能较好地解决小样本、非线性 以及高维数的模式识别问题. 支持向量机通过结构风 险最小化原理来提高泛化能力,可以用于解决二元分 类问题,已在模式识别、信号处理和函数逼近领域得到 应用[8鄄鄄9] . 最小二乘支持向量机( least鄄squares support vector machine, LS鄄SVM)是 Suykens 和 Vandewalle [8]在 Vapnik 的标准支持向量机的基础上提出的一种改进 方法. 最小二乘支持向量机在优化问题中引入误差的 平方项,用等式约束取代原先支持向量机的不等式约 束条件,将耗时的二次规划问题转化为线性方程组的 求解,大幅度地简化了训练过程. 给定具有 N 个 n 维样本向量的训练集 T = {( x1 , y1 ),(x2 ,y2 ),…,( xN ,yN )}, 其中 xk沂R n 是第 k 个输 入向量,yk沂Y = {1, - 1}是第 k 个输入向量在二元分 类问题中的类标签. 当样本在输入空间不能被线性分 开时,选择一个非线性映射 椎(·):R n寅H,把样本向 量从输入空间 R n 映射到特征空间 H. 当在特征空间 H 构建最优超平面时,训练算法只需要计算该空间向 量间的内积,即 椎(xi ) 椎( xj ),通过引入核函数 资( xi, xj) = 椎(xi)椎( xj ),使得高维空间的内积运算转化为 原始输入空间核函数的计算. 支持向量分类机的目标 是在特征空间中构建最优线性决策函数: y(x) = sgn (棕 T椎(x) + b). (1) 其中,椎(·)是从输入向量到高维特征空间的非线性映 射,棕 是最优分类超平面的法向量,b 为偏移量. 假设训练集在特征空间中是线性可分的,最优分 类超平面应满足如下条件: yk[棕 T椎(xk) + b]逸1,k = 1,2,…,N. (2) 当训练集在特征空间中为线性不可分时,任何分类超 平面都必然有错误的划分,因此不能要求所有训练点 均满足约束条件(2). 为此,对第个训练点( xk,yk ) 引 入松弛变量 孜k逸0,把约束条件放宽为: yk[棕 T椎(xk) + b]逸1 - 孜k逸0, k = 1,2,…,N; 孜{ k逸0, k = 1,2,…,N. (3) 孜 = (孜1 ,孜2 ,…,孜N )体现了训练集被错分的情况,而由 孜 ·40·
张海刚等:基于全局优化支持向量机的多类别高炉故障诊断 .41 可以构造出表述训练集被错划的程度.根据结构风险 识别算法中 最小化原则,最小二乘支持向量机在目标函数中选取 1.2.1纠错输出编码 2作为损失函数,寻找最优超平面的问题转化为下列 纠错输出编码(error correcting output codes, 二次规划问题 ECOC)是处理多元分类问题的通用框架,它能够通过 /minJ(a,5)=w'w+2名i, 1 编码减少数据样本维数,提高样本质量,从而可以保证 采用较少的支持向量机分类器建立故障诊断模型,解 s.l.y[wΦ(x)+b]=1-5≥0,k=1,2,…,N. 决支持向量机多元分类问题[).总体来讲,可以把纠 (4) 错输出编码方法分解为两个不同的阶段:编码和解码. 其中,c是为了均衡目标函数所引进的惩罚系数.求解 在编码阶段,对于一组给定类别的训练样本集合,为每 式(4),需引入Lagrangian函数L(w,b,专;a.)即 个类别设计一套单独的码字(代表每个类的编码的比 L(0,b,5;a)=J八w,5)- 特序列),码字的每个位置标示了某一类的训练样本 在相应的二元分类器中的标签归属.在解码阶段,寻 ∑a[w'(x)+b]+-l. (5) 找与实验样本分类结果最匹配的码字,指定输人向量 其中a为Lagrangian乘子.根据Karush-Kuhn-Tucker 的类别标签,从而得到最终的分类决策.通过拆分重 (KKT)优化条件[o]可得 组原始的类别集合并且将二元分类方法嵌入以实际问 (0L=0→w= 立a(x 题为导向的纠错编码设计过程,有效的解决了复杂的 d w 多分类问题 aL 在编码步骤中,对于给定的待学习的N类样本集 ab =0=立=0, k1 合,在为每个类分配一行独一无二的长度为n的码字 RaL =0→4=c5,k=1,2,…,N, (6) 时,形成了n个不同的二元分类问题.码字的每个比 agk 特位根据某类训练样本集在相应二元分类器的归属, aL =0=→y[wΦ(x)+b]+5-1=0, 被编码为+1(正例)或者-1(负例).将码字按照矩 d&k 阵的行向量排列起来,可以得到一个二元的N×n编 =1,2,…,N 码矩阵M,其中M,∈{-1,+1}.在此基础上,Allwein 引人某个核函数K(·)后,最优化问题最终转化成式 等[)在编码过程中引入了0符号,这意味着在某些分 (7)线性方程组的求解 类器中某些类的样本是不被考虑的,通过忽略这些类 0 1 b 的样本对分类器的影响,三元的纠错输出编码结构丰 K(x1,x)+ K()+- 富了类别划分的多样性,最后得到三元编码矩阵M, 其中Mg∈{-1,0,+1. 在解码步骤中,应用n个二元分类器,可以得到每 K(Xxx)+- ·K(x,xx)+ 个测试样本长度为n的输出编码,根据输出编码与各 C (7) 个码字之间的距离测度可以决定其类别的归属。常用 解方程组得到最优解α‘=(α,a,,…,a)和b·得 的距离测度是汉明距离,对于任意的测试样本的分类 到决策函数 结果可以用如下公式表示 y=sgn [ -sign(Mf(x))l aiyik(x,x;)+b (9) L.2 Fisher线性判别纠错输出编码 其中,f(x)表示测试样本在第j个分类器中的分类 高炉故障形式多样,不同故障有不同的表现形式. 结果[ 在本文中,我们考虑三种高炉典型故障形式:悬料、崩 为了寻找码字长度简短并具有高分辨力的编码矩 料和管道行程,是一种多分类问题.在实际的应用过 阵,总体的算法描述如下: 程中,支持向量机被证明是强有力的二元分类方 第一步,创建列向量编码二叉树,利用以Fisher线 法).然而,当需要处理多元分类问题时,支持向量 性判别率为标准的浮动搜索法,递归地寻找第k个父 机不能直接用来处理这种信息.在支持向量机算法处 节点的类集合S,中具有最大判别率的两个分区{, 理多分类问题中,往往将多元分类问题转化为一对多 oil. 的二元分类问题.然而这种转化往往会增加分类器的 第二步,根据得到的分割结果{p,9}为编码矩 个数,增加训练时间.在这一小节中,我们介绍Fisher 阵M的第k列赋值. 线性判别纠错输出编码,并将其应用到高炉的多故障 其中,第一步创建了列向量编码二叉树.表1描
张海刚等: 基于全局优化支持向量机的多类别高炉故障诊断 可以构造出表述训练集被错划的程度. 根据结构风险 最小化原则,最小二乘支持向量机在目标函数中选取 孜 2 作为损失函数,寻找最优超平面的问题转化为下列 二次规划问题 min 棕,b,孜 J(棕,孜k) = 1 2 棕 T棕 + 1 2 c移 N k =1 孜 2 k, s. t. yk[棕 T椎(xk) + b] = 1 - 孜k 逸0, k = 1,2,…, { N. (4) 其中,c 是为了均衡目标函数所引进的惩罚系数. 求解 式(4),需引入 Lagrangian 函数 L(棕,b,孜;琢k)即 L(棕,b,孜;琢k) = J(棕,孜k) - 移 N k = 1 琢k{yk[棕 T椎(xk) + b] + 孜k - 1}. (5) 其中 琢k 为 Lagrangian 乘子. 根据 Karush鄄鄄Kuhn鄄鄄Tucker (KKT)优化条件[10]可得 鄣 L 鄣 棕 = 0圯棕 = 移 N k = 1 琢k yk椎(xk), 鄣 L 鄣 b = 0圯移 N k = 1 琢k yk = 0, 鄣 L 鄣 孜k = 0圯琢k = c孜k, k = 1,2,…,N, 鄣 L 鄣 琢k = 0圯yk[棕 T椎(xk) + b] + 孜k - 1 = 0, k = 1,2,…, ì î í ï ï ï ï ï ï ï ï ï ï N. (6) 引入某个核函数 资(·) 后,最优化问题最终转化成式 (7)线性方程组的求解 0 1 … 1 1 资(x1 ,x1 )+ 1 c … 资(x1 ,xN)+ 1 c 左 左 埙 1 资(xN,x1 )+ 1 c … 资(xN,xN)+ 1 é ë ê ê ê ê ê ê ê ù û ú ú ú ú ú ú ú c b 琢1 左 琢 é ë ê ê ê ê ê ù û ú ú ú ú ú N = 0 y1 左 y é ë ê ê ê ê ê ù û ú ú ú ú ú N . (7) 解方程组得到最优解 琢 * = (琢 * 1 ,琢 * 2 ,…,琢 * N ) 和 b * 得 到决策函数 y = sgn [ 移 N k = 1 琢 * k y * k 资(x,xi) + b ] * . (8) 1郾 2 Fisher 线性判别纠错输出编码 高炉故障形式多样,不同故障有不同的表现形式. 在本文中,我们考虑三种高炉典型故障形式:悬料、崩 料和管道行程,是一种多分类问题. 在实际的应用过 程中,支 持 向 量 机 被 证 明 是 强 有 力 的 二 元 分 类 方 法[11] . 然而,当需要处理多元分类问题时,支持向量 机不能直接用来处理这种信息. 在支持向量机算法处 理多分类问题中,往往将多元分类问题转化为一对多 的二元分类问题. 然而这种转化往往会增加分类器的 个数,增加训练时间. 在这一小节中,我们介绍 Fisher 线性判别纠错输出编码,并将其应用到高炉的多故障 识别算法中. 1郾 2郾 1 纠错输出编码 纠 错 输 出 编 码 ( error correcting output codes, ECOC)是处理多元分类问题的通用框架,它能够通过 编码减少数据样本维数,提高样本质量,从而可以保证 采用较少的支持向量机分类器建立故障诊断模型,解 决支持向量机多元分类问题[12] . 总体来讲,可以把纠 错输出编码方法分解为两个不同的阶段:编码和解码. 在编码阶段,对于一组给定类别的训练样本集合,为每 个类别设计一套单独的码字(代表每个类的编码的比 特序列),码字的每个位置标示了某一类的训练样本 在相应的二元分类器中的标签归属. 在解码阶段,寻 找与实验样本分类结果最匹配的码字,指定输入向量 的类别标签,从而得到最终的分类决策. 通过拆分重 组原始的类别集合并且将二元分类方法嵌入以实际问 题为导向的纠错编码设计过程,有效的解决了复杂的 多分类问题. 在编码步骤中,对于给定的待学习的 N 类样本集 合,在为每个类分配一行独一无二的长度为 n 的码字 时,形成了 n 个不同的二元分类问题. 码字的每个比 特位根据某类训练样本集在相应二元分类器的归属, 被编码为 + 1(正例) 或者 - 1(负例). 将码字按照矩 阵的行向量排列起来,可以得到一个二元的 N 伊 n 编 码矩阵 M,其中 Mij沂{ - 1, + 1}. 在此基础上,Allwein 等[13]在编码过程中引入了 0 符号,这意味着在某些分 类器中某些类的样本是不被考虑的,通过忽略这些类 的样本对分类器的影响,三元的纠错输出编码结构丰 富了类别划分的多样性,最后得到三元编码矩阵 M, 其中 Mij沂{ - 1,0, + 1}. 在解码步骤中,应用 n 个二元分类器,可以得到每 个测试样本长度为 n 的输出编码,根据输出编码与各 个码字之间的距离测度可以决定其类别的归属. 常用 的距离测度是汉明距离,对于任意的测试样本的分类 结果可以用如下公式表示 y^ = arg min r = 1,2,…,N移 n j = [ 1 1 - sign(Mrj f j(x)) ] 2 . (9) 其中,f j ( x) 表示测试样本在第 j 个分类器中的分类 结果[14] . 为了寻找码字长度简短并具有高分辨力的编码矩 阵,总体的算法描述如下: 第一步,创建列向量编码二叉树,利用以 Fisher 线 性判别率为标准的浮动搜索法,递归地寻找第 k 个父 节点的类集合 Sk 中具有最大判别率的两个分区{渍 1 k, 渍 2 k}. 第二步,根据得到的分割结果{ 渍 1 k,渍 2 k } 为编码矩 阵 M 的第 k 列赋值. 其中,第一步创建了列向量编码二叉树. 表 1 描 ·41·
·42· 工程科学学报,第39卷,第1期 述了创建列向量编码二叉树的算法.每一个树节点定 IC.C.C.C.C.C.C.C] 义了一个类集合分割的问题,每个节点的分割必须满 足使判别率最大化的条件.通过最大化数据x和为分 C.C.C] 割结果所创建的类标签d之间的交互信息可以得到最 终的列代码.算法中d是一个离散的随机变量,因此 IC.C (C.C.C 给定类集合S的一个分割结果{p,}=BP(S),d N 按如下形式定义: C..C IC 1, C d=d(x,BP(S))= if xECIC;EPL, (-1,if xEC;IC;Ei C (10) 表1列向量编码二叉树创建方法 Table 1 Binary tree creation methods of column vectors 图1八元分类问题列向量编码二叉树 列向量编码二叉树 Fig.1 Binary tree based on column vector coding for the 8-class classification problem 初始化:创建类集合{c的初始分制{6,} {e6,6}=1⑦,{C,C2,…,Cv.1 L0={6},k=1 步骤1S。是L4-1的第一个元素,L=L4-1/S。 解码 步骤2寻找最优的二元分割:BP(S) 1.=吗(x,d(BP(S)) 其中1(·)是交互信息准则,x是训练样本向量,d是与 C 分类标签相关的离散随机变量. C, 步骤3L2={U},如果11>1,ie{1,2} C C. 步骤4如果1L1≠0 别 C k=k+1返回步骤1 C C 将二叉树视为寻找码字的手段,第二步是填充纠 C. 错输出编码矩阵的过程.利用除了叶节点外的每个根 h hs 节点得到的列代码,组成了编码矩阵M.列代码作为 LS-SVM二元分类器 矩阵M的列向量依次排列.为了创建每一个列代码, 可以使用父节点和子节点的关系进行描述.对于给定 图2纠错输出编码矩阵 的类C,和节点k的类集合k:{pUp},其中pi和p Fig.2 Coding matrix for the error correction output 分别是节点k的子节点,矩阵M按如下方式填充: 类器h区分{C,C6}和{C2}. 0, ifC,年p:; 1.2.2 Fisher线性判别浮动搜索法 M(r,i)= +1,ifC,∈9; (11) 在本小节,我们设计了一种Fisher线性判别率为 (-1,if c,eo. 标准的启发式纠错输出编码,并将其运用到判别纠错 注意到列的数量n和内部节点的数量一致.容易 输出编码算法中.该算法能够利用较少的支持向量机 得出,在任何的二叉树中,如果叶节点的数量是N。,内 分类器,实现高炉故障的多分类问题 部节点的数量是N。-1,因此可以确定码字的长度是 回顾表1中描述的算法,为了将类集合分割成两 N。-1. 个部分,需要一个最大化判别率的过程。但是,最好的 图1展示了一个八元分类问题列向量编码二叉树 分割子集需要在所有可能的分割中无遗漏的寻找,由 构造的过程 于这种方法是不切实际的,所以必须使用一种次优的 图2显示了判别纠错输出编码矩阵的结果.其中 策略.浮动搜索方法是一种次优的顺序搜索方法,能 白色的方格表示相应的位置被编码为+1,黑色的方格 够缓解穷举搜索法在进行分割选择时,产生的高额计 表示-1,灰色的方格表示0.因此,C。类的码字是{1, 算代价.而且,这种方法允许搜索方向是变化的,从而 0,-1,0-1,0,1}.编码矩阵的第i列定义了一个二元 解决了许多顺序搜索方法的主要限制. 分类问题,将相应的二元分类器h,进行训练.例如,分 表2中的方法为顺序前向浮动搜索法(sequential
工程科学学报,第 39 卷,第 1 期 述了创建列向量编码二叉树的算法. 每一个树节点定 义了一个类集合分割的问题,每个节点的分割必须满 足使判别率最大化的条件. 通过最大化数据 x 和为分 割结果所创建的类标签 d 之间的交互信息可以得到最 终的列代码. 算法中 d 是一个离散的随机变量,因此 给定类集合 Sk 的一个分割结果{ 渍 1 k,渍 2 k } = BP( Sk ),d 按如下形式定义: d = d(x,BP(Sk)) = 1, if x沂Ci | Ci沂渍 1 k, - 1, if x沂Ci | Ci沂渍 2 k { . (10) 表 1 列向量编码二叉树创建方法 Table 1 Binary tree creation methods of column vectors 列向量编码二叉树 初始化: 创建类集合{ci}的初始分割{渍 1 0 ,渍 2 0 } {渍 1 0 ,渍 2 0 } = {芰,{C1 ,C2 ,…,CNc }} L0 = {渍 2 0 },k = 1 步骤 1 Sk 是 Lk - 1的第一个元素,L忆k = Lk - 1 / Sk 步骤 2 寻找最优的二元分割:BP(Sk) {渍 1 k ,渍 2 k } = arg max BP(Sk ) (I(x,d(BP(Sk)))) 其中 I(·)是交互信息准则,x 是训练样本向量,d 是与 分类标签相关的离散随机变量. 步骤 3 Lk = {L忆k胰渍 i k},如果| 渍 i k | > 1,坌i沂{1,2} 步骤 4 如果| Lk |屹0 k = k + 1 返回步骤 1 将二叉树视为寻找码字的手段,第二步是填充纠 错输出编码矩阵的过程. 利用除了叶节点外的每个根 节点得到的列代码,组成了编码矩阵 M. 列代码作为 矩阵 M 的列向量依次排列. 为了创建每一个列代码, 可以使用父节点和子节点的关系进行描述. 对于给定 的类 Cr 和节点 k 的类集合 k:{渍 1 k胰渍 2 k },其中 渍 1 k 和 渍 2 k 分别是节点 k 的子节点,矩阵 M 按如下方式填充: M(r,i) = 0, if Cr埸渍i; + 1, if Cr沂渍 1 i ; - 1, if Cr沂渍 2 i ì î í ïï ïï . (11) 注意到列的数量 n 和内部节点的数量一致. 容易 得出,在任何的二叉树中,如果叶节点的数量是 Nc,内 部节点的数量是 Nc - 1,因此可以确定码字的长度是 Nc - 1. 图 1 展示了一个八元分类问题列向量编码二叉树 构造的过程. 图 2 显示了判别纠错输出编码矩阵的结果. 其中 白色的方格表示相应的位置被编码为 + 1,黑色的方格 表示 - 1,灰色的方格表示 0. 因此,C6 类的码字是{1, 0, - 1,0 - 1,0,1}. 编码矩阵的第 i 列定义了一个二元 分类问题,将相应的二元分类器 hi 进行训练. 例如,分 图 1 八元分类问题列向量编码二叉树 Fig. 1 Binary tree based on column vector coding for the 8鄄class classification problem 图 2 纠错输出编码矩阵 Fig. 2 Coding matrix for the error correction output 类器 h5 区分{C5 ,C6 }和{C2 }. 1郾 2郾 2 Fisher 线性判别浮动搜索法 在本小节,我们设计了一种 Fisher 线性判别率为 标准的启发式纠错输出编码,并将其运用到判别纠错 输出编码算法中. 该算法能够利用较少的支持向量机 分类器,实现高炉故障的多分类问题. 回顾表 1 中描述的算法,为了将类集合分割成两 个部分,需要一个最大化判别率的过程. 但是,最好的 分割子集需要在所有可能的分割中无遗漏的寻找,由 于这种方法是不切实际的,所以必须使用一种次优的 策略. 浮动搜索方法是一种次优的顺序搜索方法,能 够缓解穷举搜索法在进行分割选择时,产生的高额计 算代价. 而且,这种方法允许搜索方向是变化的,从而 解决了许多顺序搜索方法的主要限制. 表 2 中的方法为顺序前向浮动搜索法( sequential ·42·
张海刚等:基于全局优化支持向量机的多类别高炉故障诊断 ·43· floating forward selection,SFFS).这种方法以空的类集 产的需求.在此我们采用粒子群算法(particle swarm 合X。开始并在新集合的判别率增加时被逐渐填充. optimization,PSO)对于最小二乘支持向量机分类器的 在填充阶段,对于类集合X.最有意义的类被纳入进 学习参数进行优化.粒子群算法起源于对鸟群寻找食 来.在条件排除步骤,如果判别率继续增长则最差的类 物行为的模仿].标准粒子群优化算法主要针对连 被移除 续参数进行搜索运算,但高炉全局参数优化是离散的 表2顺序前向浮动搜索法 组合优化问题,为此需采用离散粒子群优化算法 Table 2 SFFS method 假设一个由m个粒子组成的群体在D维的搜索 SFFS算法 空间以一定的速度飞行,粒子i在第:次迭代中的状态 输人: Y={y少j=1,2,…,D/能够使用的类集合/ 属性设置如下:x=(xa,xa,…,xn),xa∈[L4,Ua]为 输出: X4={xj=1,2,…,IYI,x∈Y 第i个粒子(i=1,2,…,m,d=1,2,…,D)的维位置矢 初始化: X。=☑:k=0 量,L4和U,分别为搜索空间的下限和上限,根据适应 终止条件: 当判别率不再增长J(X2)≈J(X-1) 度函数计算x:当前的适应值,即可衡量粒子位置的优 第一步(填充) x`=吗XU) 劣;y,=(a,a,…,n),a∈[Dn,ax]为i粒子的的 Xi,1=XUx',k=k+1 飞行速度,即粒子移动的距离,和分别为最小和 第二步(排除) x”=arg maxJ(X-x) 最大速度;P.=(PaPa,Pn)为粒子自身迄今为止搜 如果(X-x“)>J八X-1)那么 素到的最优位置;P,=(P,…PD)为整个粒子群迄今 X+1=X-x“,k=k+1 为止搜索到的最优位置.对于离散组合优化问题,粒 返回第二步,否则返回第一步 子在每一个维度均被限定为0或1,更新粒子的位置 意味着改变某一位的状态为0或1,对于速度矢量,其 为了避免高维空间庞大的计算量,选择Fisher线 相应位表示的是x取0或1的概率,在每次迭代中,粒 性判别率作为分割类集合的标准.假设C,和C2是二 子根据以下等式更新速度和位置: 分类问题的两个类.定义Fisher线性判别率为 v(1+1)=wv(t)+cr(Pia-xa())+ J(w)=- m1-m212 (16) (12) c2'2(Pm-xu(t)). s+5号 (1,p<sigmoid(v(t+1)); 式中m,和m2是样本的均值,s,和s2是C,和C2各 xa(t+1)= (0,p=sigmoid(v(t+1)). (17) 自的方差.定义类内散射矩阵S。和类间散射矩阵 式中:是迭代次数;r2和p为[0,1]之间的随机数, S。为: 用于保持群体的多样性;C1和c2为学习因子,使粒子 S=是x-m,)x-m'+王(x-m)x-m)八, 具有自我总结和向群体中优秀个体学习的能力,从而 S.=(m1-m2)(m1-m2). 向自己的历史最优点以及群体内历史最优点靠近,通 (13) 常取c1=c2=2;0为惯性权重,其大小决定了粒子对 根据上面的结果,J(w)可以被写成 当前速度继承的多少,选择一个合适的有助于粒子 wS w 群算法均衡它的探索能力与开发能力:sigmoid数是常 J(w)= wSw (14) 用的一种模糊函数,其表达式为 类间散射矩阵S,可以被看作是一个类的密度指标. 1 并且,类间散射矩阵S。可以被看作是一个类的位置指 S(t)=sigmoid(())=1+exp( 标因此,可以定义判别率 (18) 在离散粒子群优化方法(discrete particle swarm 15) optimization,DSP0)中,每个粒子平等的更新,忽视了 1.3变尺度离散粒子群 最优粒子的优势.在现实世界中,大多数社会性动物 高炉生产环境复杂,生产数据往往遭到工业噪声 都存在等级现象,最好的个体往往享受着某些特权 的干扰,这对于故障识别算法有强鲁棒性的要求.另 因此根据粒子的表现好坏,应采用不同的进化策略. 外,高炉运行状态繁多,各种炉况之间相互转化,设计 首先,运用式(18)计算概率向量,即prob=Sa 稳定可靠的故障分类器至关重要.最小二乘支持向量 然后,根据如下原则更新粒子的概率向量,位置矢量和 机分类算法中学习参数的选择,对于故障分类精度影 速度矢量:(1)对于获胜的粒子,根据式(16)和式(17) 响严重.合适的学习参数不仅能够提高分类器的故障 分别更新其概率向量,位置矢量和速度矢量:(2)对于 识别精度,而且能够保证分类器稳定运行,满足高炉生 失败粒子,速度矢量和位置矢量按如下等式更新
张海刚等: 基于全局优化支持向量机的多类别高炉故障诊断 floating forward selection, SFFS). 这种方法以空的类集 合 X0 开始并在新集合的判别率增加时被逐渐填充. 在填充阶段,对于类集合 Xk 最有意义的类被纳入进 来. 在条件排除步骤,如果判别率继续增长则最差的类 被移除. 表 2 顺序前向浮动搜索法 Table 2 SFFS method SFFS 算法 输入: Y = {yj | j = 1,2,…,D} / / 能够使用的类集合/ / 输出: Xk = {xj | j = 1,2,…, | Y | ,xj沂Y} 初始化: X0 = 芰;k = 0 终止条件: 当判别率不再增长 J(Xk)抑J(Xk - 1 ) 第一步(填充) x + = arg max x沂Y - Xk J(Xk胰x) Xk + 1 = Xk胰x + ,k = k + 1 第二步(排除) x - = arg max x沂Xk J(Xk - x) 如果 J(Xk - x - ) > J(Xk - 1 )那么 Xk + 1 = Xk - x - ,k = k + 1 返回第二步,否则返回第一步 为了避免高维空间庞大的计算量,选择 Fisher 线 性判别率作为分割类集合的标准. 假设 C1 和 C2 是二 分类问题的两个类. 定义 Fisher 线性判别率为 J(棕) = | m1 - m2 | 2 s 2 1 + s 2 2 . (12) 式中 m1 和 m2 是样本的均值,s1 和 s2 是 C1 和 C2 各 自的方差. 定义类内散射矩阵 S棕 和类间散射矩阵 Sb 为: S棕 =移x沂C1 (x - m1) (x - m1) T +移x沂C2 (x - m2) (x - m2) T , Sb = (m1 - m2) (m1 - m2) T { . (13) 根据上面的结果,J(棕)可以被写成 J(棕) = 棕 T Sb棕 棕 T S棕棕 . (14) 类间散射矩阵 S棕 可以被看作是一个类的密度指标. 并且,类间散射矩阵 Sb 可以被看作是一个类的位置指 标. 因此,可以定义判别率 J忆 = trSb trS棕 . (15) 1郾 3 变尺度离散粒子群 高炉生产环境复杂,生产数据往往遭到工业噪声 的干扰,这对于故障识别算法有强鲁棒性的要求. 另 外,高炉运行状态繁多,各种炉况之间相互转化,设计 稳定可靠的故障分类器至关重要. 最小二乘支持向量 机分类算法中学习参数的选择,对于故障分类精度影 响严重. 合适的学习参数不仅能够提高分类器的故障 识别精度,而且能够保证分类器稳定运行,满足高炉生 产的需求. 在此我们采用粒子群算法( particle swarm optimization, PSO)对于最小二乘支持向量机分类器的 学习参数进行优化. 粒子群算法起源于对鸟群寻找食 物行为的模仿[15] . 标准粒子群优化算法主要针对连 续参数进行搜索运算,但高炉全局参数优化是离散的 组合优化问题,为此需采用离散粒子群优化算法. 假设一个由 m 个粒子组成的群体在 D 维的搜索 空间以一定的速度飞行,粒子 i 在第 t 次迭代中的状态 属性设置如下:xi = ( xi1 ,xi2 ,…,xiD ),xid沂[ Ld ,Ud ] 为 第 i 个粒子(i = 1,2,…,m,d = 1,2,…,D)的维位置矢 量,Ld 和 Ud 分别为搜索空间的下限和上限,根据适应 度函数计算 xi 当前的适应值,即可衡量粒子位置的优 劣;vi = ( vi1 ,vi2 ,…,viD ),vid沂[ vmin ,vmax ]为 i 粒子的的 飞行速度,即粒子移动的距离,vmin和 vmax分别为最小和 最大速度;pi = (pi1 ,pi2 ,…,piD )为粒子自身迄今为止搜 索到的最优位置;pg = (pg1 ,…,pgD )为整个粒子群迄今 为止搜索到的最优位置. 对于离散组合优化问题,粒 子在每一个维度均被限定为 0 或 1,更新粒子的位置 意味着改变某一位的状态为 0 或 1,对于速度矢量,其 相应位表示的是 xid取0 或1 的概率,在每次迭代中,粒 子根据以下等式更新速度和位置: vid (t + 1) = wvid (t) + c1 r1 (pid - xid (t)) + c2 r2 (pgd - xid (t)). (16) xid (t + 1) = 1, 籽 < sigmoid(vid (t + 1)); 0, 籽逸sigmoid(v { id (t + 1)). (17) 式中:t 是迭代次数;r1 、r2 和 籽 为[0,1]之间的随机数, 用于保持群体的多样性;c1 和 c2 为学习因子,使粒子 具有自我总结和向群体中优秀个体学习的能力,从而 向自己的历史最优点以及群体内历史最优点靠近,通 常取 c1 = c2 = 2;w 为惯性权重,其大小决定了粒子对 当前速度继承的多少,选择一个合适的 w 有助于粒子 群算法均衡它的探索能力与开发能力;sigmoid 数是常 用的一种模糊函数,其表达式为 Sid (t) = sigmoid(vid (t)) = 1 1 + exp( - vid (t)) . (18) 在离散粒子群优化方法 ( discrete particle swarm optimization, DSPO)中,每个粒子平等的更新,忽视了 最优粒子的优势. 在现实世界中,大多数社会性动物 都存在等级现象,最好的个体往往享受着某些特权. 因此根据粒子的表现好坏,应采用不同的进化策略. 首先,运用式(18) 计算概率向量,即 probid = Sid . 然后,根据如下原则更新粒子的概率向量,位置矢量和 速度矢量:(1)对于获胜的粒子,根据式(16)和式(17) 分别更新其概率向量,位置矢量和速度矢量;(2)对于 失败粒子,速度矢量和位置矢量按如下等式更新. ·43·