标题:
遗传编程法在变压器问题整治内的运用
[打印本页]
作者:
m1_ljp
时间:
2012-9-7 16:57
标题:
遗传编程法在变压器问题整治内的运用
基于GP判别函数法的基本原理结构和分类规则变压器的绝缘故障诊断本质上属于模式分类问题,即以代表问题信息的特征向量为输入,通过某种模型表示的分类规律将其划分为不同的类别。判别函数法分类的原理是通过一个能代表分类规律的函数将特征向量所代表的高维空间向量投影到一维空间,根据函数值的不同区间实现对原始特征向量进行分类的目的。当这个函数的形式是特征向量中各个分量的线性组合时,称为线性判别函数。线性判别函数只适用于待分类问题为线性可分的情况,而对于大多数本质上线性不可分的模式分类问题,这个函数的形式通常是复杂的和非线性的。 对于一个具有类别C0、C1的二分类问题,设其对应的特征向量X={x1,x2,,xn},GP算法采用树状的层次结构,通过函数结点和终结点的某种组合构成具有非线性映射关系的判别函数,如所示。在逐代进化过程中,GP算法根据个体的适应度值大小,通过遗传操作算子自动调整函数的结构组合形式和参数,最终得到能够表达输入特征向量与对应类别之间内在隐含关系的判别函数fGP(X),它代表的映射关系是将原始的输入特征向量空间映射到一维空间的两个区域,分别对应于待分类的两个类别。不失一般性,两个区域的边界通常设为零值。
适应度函数个体的误差程度GP算法通过适应度值反映个体解决问题的能力。判别函数分类性能的好坏表现在训练样本经过判别函数映射后的函数值落入正确区间的多少以及映射后落入错误区间的函数值与分类边界的距离。因此,本文采用训练样本中被错误分类样本映射后的函数值与分类边界之间的距离总和来衡量个体的误差程度。为了避免映射后的函数值分布在零值的分类边界附近,引入松弛参数d(d0)计算类C0、C1中的训练样本在由判别函数分类过程中的误差程度:E0=0fGP(X)-d,XC02fGP(X)>-d,XC0(2)E1=0fGP(X)d,XC12fGP(X) 惩罚项过拟合和过学习现象的发生一般与解的复杂度相关。为了避免GP算法在进化过程中产生过于复杂的判别函数表达式,减少过拟合和过学习的发生,根据最小描述原理<9>,本文将判别函数表达式中结点的数量作为衡量个体复杂度的惩罚指标之一。同时,特征向量经过判别函数映射后函数值的方差分布也反映了判别函数表达式的复杂程度,复杂程度较低的结构形式具有较小的类内方差。因此,本文中采用如下的综合惩罚项PGP用于折衷判别函数表达式的复杂程度和分类的准确程度,PGP=CS(20+21)N0+N1(5)式中:C为指定的惩罚系数;S为GP函数表达式中函数结点和终结点的个数总和;20和21分别为属于类C0、C1的样本经过判别函数表达式计算后的均方差。
适应度函数基于以上对GP中个体的误差程度和惩罚项的分析,本文采用如下的适应度函数形式:FGP=EGP+PGP(6)1.3遗传操作GP算法中的遗传操作主要由复制、交叉和变异算子组成。由于个体采用树状结构表示,因此,交叉算子发生在两个个体的子树之间,如所示。常用的变异算子有两种,一种是该结点变异为符合语法的另外一个结点,如所示;另一种是该结点及其子树变异为另外一个随机生成的子树,此变异方式不同于交叉算子在于新生成的子树可能从未出现在整个群体中,有利于增加个体基因的多样性。
GP算法流程(1)初始化设置GP运行参数。包括树的最大深度,树的最大结点数,初始个体的树生成方式,群体的规模,最大进化代数,遗传操作中复制、变异、交叉概率等;(2)对GP的群体进行遗传交叉、变异、复制操作,生成新的个体;(3)计算FGP;(4)根据个体选择规则从群体中选择进入下一代的个体;(5)若适应度值满足设定条件、或者进化代数达到预先设定的最大值、或者连续几代的适应度值无法改善时,则算法结束,输出最终解;否则进化代数+1,返回(2)。
变压器绝缘故障的分层诊断模型基于GP的判别函数法本质上是以二分类法为基础的,对于包含多个类别的分类问题,需要结合问题的实际情况采用适当的分层模型来实现。本文中分层模型的层次划分原则是先将待分类的所有类别按某种性质合并为两个新的类别,使新类别的类内差异相对较小,而类间差异相对较大;然后依此原则逐步对新类别所包含的各个类别再继续进行划分。
采用这种分层原则的好处是能够突出类别间特征信息的相似性和相异性,提高分类准确率。在分析变压器故障特征的基础上,结合变压器故障DGA数据库的样本数据结构,本文按照故障的性质将故障类型分为放电故障和过热故障,其中放电故障包含高能放电和低能放电,过热故障包含高温过热和中低温过热。采用如所示的分层模型逐步对变压器故障进行诊断。首先,判别函数GPC1用于区分过热与放电故障,然后用判别函数GPC2、GPC3分别对高能放电与低能放电、高温与中低温故障进行诊断,最终实现对绝缘故障类型的判定。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0