正在加载图片...
张海刚等:基于全局优化支持向量机的多类别高炉故障诊断 .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·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有