复杂电子设备故障预测的方法与流程

文档序号:11155770阅读:来源:国知局

技术特征:

1.一种复杂电子设备故障预测的方法,其特征在于,所述方法包括以下步骤:首先利用差别矩阵的属性约简方法建立复杂电子设备最小故障诊断特征子集,并对属性样本进行归一化处理;然后根据改进的遗传算法获得最佳神经元初始权值和阈值;对BP神经网络进行改进,动态调整学习速率,并用改进后的训练算法训练网络的连接强度;最后对预测的故障样本进行反归一化处理,得到复杂电子设备的故障样本的预测值。

2.如权利要求1所述的方法,其特征在于,所述方法具体包括以下步骤:

S1:将采集得到的复杂电子设备的原始数据通过特征提取获得每一个故障对应的所有故障征兆,选取能体现复杂电子设备状况的特征参数作为条件属性,发生故障的类型作为决策属性,对复杂电子设备的条件属性和决策属性进行编码,建立复杂电子设备的决策表T;

设C是复杂电子设备的条件属性,D是复杂电子设备的决策属性,所述条件属性是决策表T的差别矩阵,是一个n乘以n的方阵,设c(w)是记录w在属性c上的值,c∈C,Cij为差别矩阵中第i行第j列的元素,则差别矩阵C表示为:

<mrow> <msub> <mi>C</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>c</mi> <mo>&Element;</mo> <mi>C</mi> <mo>,</mo> <mi>c</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>&NotEqual;</mo> <mi>c</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mi>D</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>&NotEqual;</mo> <mi>D</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> <mi>D</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mi>D</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mo>...</mo> <mi>n</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

设A是属性约简后的条件属性集合,ak∈{cij},C0为核属性集合,基于差别矩阵进行属性约简:

1)定义集合B、集合Q、集合R,且设三者初始值均为空集;

2)将核属性集合C0中的内容复制到集合R中;

3)求出所有包含核属性的条件属性集合Q;

4)差别矩阵C变为(C-Q),将条件属性集合A中去除集合R后的内容复制到集合B中;

5)对所有的ak∈B,计算在C中属性出现次数最多的属性ak,并将其添加到集合R中;

6)返回步骤2,直至C为空;

此时集合R就是约简结果,即所述复杂电子设备最小故障诊断特征子集;

S2:输入样本归一化处理:

将S1中得到的复杂电子设备最小故障诊断特征子集作为输入的属性样本,则经过归一化处理后得到其中,x(ii)表示归一化前的属性样本值,y(ii)表示归一化后的属性样本中的最大值,xmax表示属性样本中的最大值,xmin表示属性样本中的最小值;

将归一化前的属性样本分成k组,设每组有m+1个值,前m个值作为BP神经网络输入节点的输入值,后一个作为输出节点的期望值;

S3:个体编码:

将所述复杂电子设备最小故障诊断特征子集作为输入层神经元,复杂电子设备的个体编码方式选择实数编码,每个个体均为一个实数串,由BP神经网络输入层与隐含层连接权值、隐含层阈值、隐含层与输出层连接权值以及输出层阈值4部分组成;

S4:建立适应度函数,并计算种群适应度:

根据个体得到的BP神经网络的初始权值和阈值,用训练样本训练BP神经网络后预测复杂电子设备系统输出,把预测输出和期望输出之间的误差绝对值和作为个体适应度F,计算公式为:

<mrow> <mi>F</mi> <mo>=</mo> <mi>t</mi> <mrow> <mo>(</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mo>(</mo> <mrow> <msub> <mi>d</mi> <mi>l</mi> </msub> <mo>-</mo> <msub> <mi>o</mi> <mi>l</mi> </msub> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中,n为神经网络输出节点数,dl为神经网络第l个节点的期望输出,ol为第l个节点的预测输出,t为系数;

S5:判断是否满足终止条件:

当连续繁殖W代的最优BP神经网络权值的适应度值没有变化时,则转步骤S9,否则转步骤S6,W为整数;

S6:选择算子:

a)设步骤S2得到的BP神经网络的权值的数目为N,每个权值的适应度为Fs,s=1,2,…,N,则计算BP神经网络的权值在下一代权值中的期望生存数目

<mrow> <msub> <mi>N</mi> <mi>s</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mi>N</mi> <mo>*</mo> <msub> <mi>F</mi> <mi>s</mi> </msub> </mrow> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msub> <mi>F</mi> <mi>s</mi> </msub> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

b)用Ns的整数部分确定各个对应BP神经网络的权值在下一代权值中的生存数目,其中表示取不大于Ns的最大整数,从而确定下一代权值中的个权值;

c)以为各个权值新的适应度,选择算子随机确定下一代权值中还未确定的个权值;

S7

使用BP神经网络权值的适应度值来衡量遗传算法的收敛情况,对于适应值高于预设阈值的解,取低于预设阈值的交叉率Pc和变异率Pm;对于低于预设阈值的解,取高于预设阈值的交叉率Pc和变异率Pm,使该解被淘汰掉,式(4)是交叉率Pc和变异率Pm随适应值的变化而自适应改变的计算方法:

<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mi>P</mi> <mi>c</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>k</mi> <mi>c</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>f</mi> <mi>c</mi> </msub> <mo>)</mo> </mrow> <mo>/</mo> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <mover> <mi>f</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>f</mi> <mi>c</mi> </msub> <mo>&GreaterEqual;</mo> <mi>f</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>k</mi> <mi>c</mi> </msub> <mo>,</mo> <msub> <mi>f</mi> <mi>c</mi> </msub> <mo>&lt;</mo> <mi>f</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>P</mi> <mi>m</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>k</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>f</mi> <mi>m</mi> </msub> <mo>)</mo> </mrow> <mo>/</mo> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <mover> <mi>f</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>f</mi> <mi>m</mi> </msub> <mo>&GreaterEqual;</mo> <mi>f</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>k</mi> <mi>m</mi> </msub> <mo>,</mo> <msub> <mi>f</mi> <mi>m</mi> </msub> <mo>&lt;</mo> <mi>f</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

其中,kc和km是小于1的常数,fc是要交叉的两个权值中适应值大的一个,fm是要变异的权值的适应值,fmax分别是群体的最大适应值和平均适应值,表示群体的收敛程度,该值越小,表明群体已趋向收敛;

S8:如果方法执行次数达到了预设进化次数的上限时群体仍不收敛,则结束,否则转步骤S4

S9:获取BP神经网络初始值,计算BP神经网络误差;

设BP神经网络中每一个样本p的输入输出模式的二次型误差函数定义为:

<mrow> <msub> <mi>E</mi> <mi>p</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>L</mi> </munderover> <msup> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>p</mi> <mi>k</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>O</mi> <mrow> <mi>p</mi> <mi>k</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>

系统的平均误差代价函数为:

<mrow> <mi>E</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>p</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>P</mi> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>L</mi> </munderover> <msup> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mrow> <mi>p</mi> <mi>k</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>O</mi> <mrow> <mi>p</mi> <mi>k</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>p</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>P</mi> </munderover> <msub> <mi>E</mi> <mi>p</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

上式(5)和(6)中,P为训练样本的数量,L为BP神经网络输出层的神经元数,dpk为BP神经网络输出层节点的期望输出,Opk为BP神经网络输出层节点的实际输出;

S10:动态调整学习速率:

选取BP神经网络输出层节点的实际输出和期望输出的平均绝对误差e1及其变化率e2两个变量:

<mrow> <msub> <mi>e</mi> <mn>1</mn> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mi>L</mi> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>L</mi> </munderover> <mo>|</mo> <msub> <mi>d</mi> <mrow> <mi>p</mi> <mi>k</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>O</mi> <mrow> <mi>p</mi> <mi>k</mi> </mrow> </msub> <mo>|</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>

e2=e1(t)-e1(t-1) (8)

其中,e1(t)和e1(t-1)表示第t和t-1时的平均绝对值误差;

学习速率η的表达式为:

η=f1(e1)+f2(e2) (9)

其中:

<mrow> <msub> <mi>f</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <msup> <mi>exp</mi> <mrow> <mo>-</mo> <msup> <mrow> <mo>(</mo> <mfrac> <msub> <mi>e</mi> <mn>1</mn> </msub> <msub> <mi>b</mi> <mn>1</mn> </msub> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msup> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <msub> <mi>f</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <mo>&CenterDot;</mo> <msup> <mi>exp</mi> <mrow> <mo>-</mo> <msup> <mrow> <mo>(</mo> <mfrac> <msub> <mi>e</mi> <mn>2</mn> </msub> <msub> <mi>b</mi> <mn>2</mn> </msub> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>11</mn> <mo>)</mo> </mrow> </mrow>

k1和k2为比例因子,调整f1和f2的比例;b1和b2为权重因子,修正f1和f2的权重;

S11:修改BP神经网络的权值:

设BP神经网络有r个输入节点,输出层有v个输出节点,隐含层有q个节点,ωgh是输入层和隐含层节点之间的连接权值,ωhu是隐含层和输出层节点之间的连接权值;

BP神经网络输入层的第g个节点的输入为netg=xg,输出为Og=netg

隐含层的第h个节点的输入为输出为Oh=f(neth);输出层的第u个节点的输入为输出为Ou=f(netu),其中,g=1,2,…,r,h=1,2,…,q,u=1,2,…,v;

定义反传误差信号

<mrow> <msub> <mi>&delta;</mi> <mi>j</mi> </msub> <mo>=</mo> <mo>-</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>E</mi> </mrow> <mrow> <mo>&part;</mo> <msub> <mi>net</mi> <mi>j</mi> </msub> </mrow> </mfrac> <mo>,</mo> <msub> <mi>&delta;</mi> <mi>k</mi> </msub> <mo>=</mo> <mo>-</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>E</mi> </mrow> <mrow> <mo>&part;</mo> <msub> <mi>net</mi> <mi>k</mi> </msub> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow>

输出层权值的调整公式为:

Δωjk=ηδkOj (13)

隐含层权值的调整公式为:

Δωij=ηδjOi (14)

S12:判断是否达到要求的精度,如果达到了BP神经网络要求的精度,则执行S13,否则执行S9

S13:判断是否完成训练次数,如果完成了训练的总次数,则保存已训练的样本;否则执行S9

S14:反归一化处理得到预测值:

针对BP神经网络训练后的样本,利用S2中的归一化公式进行反归一化运算,得到

<mrow> <mover> <mi>x</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>x</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> <mo>+</mo> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> <mi>y</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>15</mn> <mo>)</mo> </mrow> </mrow>

其中,表示复杂电子设备故障样本的预测值。

3.如权利要求2所述的方法,其特征在于,y(ii)的取值范围是[0,1]。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1