一种基于改进型极限学习机的模拟电路故障识别方法与流程

文档序号:16502156发布日期:2019-01-05 08:49阅读:257来源:国知局
一种基于改进型极限学习机的模拟电路故障识别方法与流程
本发明属于电路故障识别及机器学习
技术领域
,更为具体地讲,涉及一种基于改进型极限学习机的模拟电路故障识别方法。
背景技术
:随着现代电子技术的发展,模拟电路的集成度越来越高,电路的设计越来越复杂,如何有效的对模拟电路进行准确的状态监测以保障其可靠运行,已成为当前模拟电路领域的研究热点。现有的模拟电路典型诊断方法主要包括基于解析模型的诊断法、基于信号分析的诊断方法以及基于知识的诊断法。基于解析模型的诊断法,通过将被诊断模拟电路的可测信息和由模型表达(通常是电路传递函数)的系统先验信息进行比较,利用产生的残差进行分析和处理从而实现故障的诊断;其中,根据残差产生形式不同,又可分为电路状态估计法和电路参数估计法;基于信号处理的方法,则利用模拟电路关键输出节点的信号模型,直接分析可测信号,提取诸如方差、幅值、频率等特征值,从而检测出故障。典型的如小波变换方法、主元分析方法、相关函数法、自回归滑动平均法等。目前基于解析模型的方法得到比较深入的研究,但在实际情况中,常常难以获得电路特别是复杂模拟电路系统的精确数学模型,大大限制了基于解析模型诊断方法的使用范围。基于信号处理的方法,虽避开了电路解析建模的难点,但由于未能充分结合电路的结构特性,因此对复杂模拟电路的故障识别也存在一定的局限性,单一方法的诊断效果不佳。近年来,人工智能及计算机技术的飞速发展,为故障诊断技术提供了新的理论基础,产生了基于知识的诊断方法,此方法由于不需要对象的精确数学模型,而且具有“智能”特性,因此是一种很有生命力的方法。基于知识的故障诊断方法主要可以分为:专家系统故障诊断方法、模糊故障诊断方法、故障树故障诊断方法、神经网络故障诊断方法、svm故障诊断方法、信息融合故障诊断方法等。基于知识的故障诊断方法对于复杂电路系统和非线性系统有较高的实际意义。由于该方法充分考虑了人的智能因素,更符合对实际系统的自然推理,是一类很有前途的诊断方法。但该类方法的有些理论自身尚不成熟,成功应用于电路系统实际过程的不是很多,在其许多方面还有待进一步研究。现有的基于知识的诊断方法构造的诊断模型在输入变量的选择,模型的构造上多为事先固定,这样不但使得诊断模型缺少建模的灵活性,而且无需保留的节点和输入参数还在一定程度上影响了建模的精确性,同时带来了不必要的计算复杂度。技术实现要素:本发明的目的在于克服现有技术的不足,提供一种基于改进型极限学习机的模拟电路故障识别方法,结合粒子群算法和迭代运算进行改进型极限学习机的模型训练,进而来识别模拟电路故障,具有故障识别精度高、速度快等特点。为实现上述发明目的,本发明为一种基于改进型极限学习机的模拟电路故障识别方法,其特征在于,包括以下步骤:(1)、采集模拟电路在故障状态和健康状态下n组样本在不同转折频率的电压特征值,记为x={x1,x2,…,xi,…,xn},其中,电压特征值xi={xi,1,xi,2,…,xi,k…,xi,t},xi,k表示采集的第i个样本在第k个转折频率下的电压值,t为转折频率个数;构建各样本的期望输出向量y={y1,y2,…,yi,…,yn},其中,yi={yi,1,yi,2,...yi,j,…,yi,m},m为故障状态总数,yi,j为第i个组电压值构成的输入下模拟电路第j种故障的标记值,若该种输入下表现为第j种故障,则yi,j记为1,否则记为0;(2)、随机生成待选池中的神经元(w,b)={(w1,b1),(w2,b2),…(wl,bl),…,(wl,bl)},其中,l为神经元的总个数,为第l个神经元的权重,为第l个神经元对应t0个电压特征值的权重,bl为第l个神经元的偏置;设置极限学习机中的神经元权重和偏置为空集,设置神经网络模型输出层的权重β为空集;神经网络模型当前输出初始化为0,设置当前神经网络模型的神经元个数n为0;(3)、更新粒子群中的神经元参数获取最优神经元;(3.1)、初始化粒子群中的神经元权重为空集,并将粒子群中神经元的偏置设置为待选池中的神经元偏置将粒子群中神经元对应的已选频率特征值构成的集合记为并将初始化为空集,记输入电压特征值个数t为0;(3.2)、计算各个备选频率下采集到的各个故障的电压特征值在极限学习机模型下的熵率rent(xk);(3.3)、选取备选电压特征值中熵率最大的转折频率下所有故障模式的电压特征值加入到中,并将输入电压特征值总数t自加1;将待选池中的各个神经元对应该转折频率的权重wbest={w1,best,w2,best,…,wl,best}添加到粒子群神经元的权重中;(3.4)、采用多粒子群优化算法对粒子群中的神经元的权重和偏置进行更新;(3.4.1)、设置粒子群优化算法的最大迭代次数tmax,初始化粒子群优化算法的迭代次数t=1,粒子群中的全局最优解的相关度cgbest初始化为0,全局最优神经元的权重wgbest初始化为空集,偏置bgbest初始化为0;粒子群中的各个神经元的最优解的相关度cpbest,l初始化为0,全局最优神经元的权重wpbest,l初始化为空集,偏置bpbest,l初始化为0;随机设定粒子群中节点权重的增加值vw={vw1,vw2,…,vwl}和偏置的增加值vb={vb1,vb2,…,vbl};(3.4.2)、计算粒子群中各个神经元的输出hl,得到输出集合h={h1,h2,…hl,…hl};其中,hl={hl,1,hl,1,…,hl,n}为粒子群中第l个神经元的输出;计算粒子群中各个神经元与期望输出的相关度cl,(3.4.3)、更新粒子群中对应的全局最优解参量;(3.4.4)、更新粒子群中对应的个体最优解;(3.4.5)、根据全局最优解和个体最优解,更新粒子群中的神经元参数;vwl=r1vwlt+r2(wpbest,l-vwl)t+r3(wgbest-vwl)tvbl=r4vbl+r5(bpbest,l-bl)+r6(bgbest-bl)其中,r1,r2,r3为t*1的随机矩阵,r4,r5,r6为随机数;(3.4.6)、判断当前迭代次数t算法到迭代最大次数tmax,如果未达到,则令t=t+1,再返回步骤(3.4.2);如果达到,则将全局最优解的神经元作为最优神经元,然后进入步骤(4);(4)、将获取的最优神经元对应的权重wgbest和偏置bgbest添加到神经网络模型的隐藏层中;(5)、计算最优神经元在影响系数为1时的输出权重其中,hgbest为添加的神经元对应的输出,i为n*n的单位矩阵,n为当前极限学习机中神经元的个数,为极限学习机中的神经元输出,为的伪逆运算;(6)、生成最优神经元对应的影响系数;(6.1)、随机生成影响参数粒子群a={a1,a2,…,ap},p为粒子群中个体的个数;随机生成粒子群的影响参数更新增量av={av1,av2,...,avp},初始化粒子群的全局最优精度msegbest和个体最优精度msepbest,p为设定的极限值msemax,全局最优解agbest和个体最优解对应的影响参数apbest,p初始化为1;设置最大迭代次数当前迭代次数初始化为1;(6.2)、在粒子群中各个影响参数下更新极限学习机输出(6.3)、将设为极限学习机的当前输出,再返回步骤s3生成完整的极限学习机模型的隐藏层神经元和输出值(6.4)、计算极限学习机的训练精度msep;(6.5)、根据预测精度msep更新粒子群的全局最优解训练精度和全局最优解对应的影响参数;(6.6)、更新粒子群中个体最优解的相关系数:(6.7)、更新粒子群中的参数:avp=avp+r7(apbest,p-ap)+r8(agbest-ap)a=a+av其中,r7和r8为随机数;(6.8)、判断迭代次数是否达到迭代最大次数如果未达到,则令再返回步骤(6.2);如果达到,则设定最优神经元的输出权重为n自加1,并记录下当前极限学习机的训练精度再进入步骤(7);(7)、判断当前极限学习机中神经元的数量n是否达到最大值nmax,如果没有达到条件,则返回步骤(3);如果达到条件,则进入步骤(8);(8)、统计极限学习机训练精度最小对应的神经元个数nopt,然后取生成的极限学习机的前nopt个神经元组成最终生成的极限学习机模型神经元并求出对应的隐藏层输出(9)、利用隐藏层输出求得输出层权值其中,为的伪逆矩阵;(10)、对待检测模拟电路故障进行识别时,将该故障下的电压特征值代入极限学习机的隐藏层得到相应的隐藏层输出求得极限学习机的输出向量再将中最大值对应的故障记为极限学习机识别的故障类型。本发明的发明目的是这样实现的:本发明为一种基于改进型极限学习机的模拟电路故障识别方法,先采用模拟电路在不同转折频率下的电压特征向量作为输入,再基于各熵率选取各个隐藏层神经元对应的输入向量,并通过多维粒子群算法生成达到最高相关度的权值和偏置,然后通过粒子群算法和迭代运算找到合适的影响参数,从而构造高效的隐藏层模型,最后通过该隐藏层模型训练出识别模拟电路故障的诊断模型,进而来识别模拟电路故障,具有故障识别精度高、速度快等特点。附图说明图1是本发明基于改进型极限学习机的模拟电路故障识别方法流程图;图2是本发明生成最优解的结构图图3是待测模拟电路的电路图。具体实施方式下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。实施例图1是本发明基于改进型极限学习机的模拟电路故障识别方法流程图。在本实施例中,如图1所示,本发明一种基于改进型极限学习机的模拟电路故障识别方法,包括以下步骤:s1、采集不同转折频率的电压特征值如图2所示,分析模拟电路的转折频率,采集模拟电路在故障状态和健康状态下n组样本在不同转折频率的电压特征值,记为x={x1,x2,…,xi,…,xn},其中,电压特征值xi={xi,1,xi,2,…,xi,k…,xi,t},xi,k表示采集的第i个样本在第k个转折频率下的电压值,t为转折频率个数;构建各样本的期望输出向量y={y1,y2,…,yi,…,yn},其中,yi={yi,1,yi,2,...yi,j,…,yi,m},m为故障状态总数,yi,j为第i组电压值构成的输入下模拟电路第j种故障的标记值,若该种输入下表现为第j种故障,则yi,j记为1,否则记为0;s2、初始化待选池中的神经元随机生成待选池中的神经元(w,b)={(w1,b1),(w2,b2),…(wl,bl),…,(wl,bl)},其中,l为神经元的总个数,为第l个神经元的权重,为第l个神经元对应t0个电压特征值的权重,t0=1,2,…,t,bl为第l个神经元的偏置;设置极限学习机中的神经元权重和偏置为空集,设置神经网络模型输出层的权重β为空集;神经网络模型当前输出初始化为0,设置当前神经网络模型的神经元总个数为nmax,初始化当前神经元个数n为0;s3、如图2所示,更新粒子群中的神经元参数获取最优神经元;在本实施例中,基于相关度最大准则生成识别能力强的隐藏层节点,提高极限学习机对故障的识别精度和识别效率;s3.1、初始化粒子群中的神经元权重为空集,并将粒子群中神经元的偏置设置为待选池中的神经元偏置将粒子群中神经元对应的已选频率特征值构成的集合记为并将初始化为空集,记输入电压特征值个数t为0;s3.2、计算各个备选频率下采集到的各个故障的电压特征值在极限学习机模型下的熵率rent(xk);其中,xk为各组样本在第k个电压转折频率下的各个故障状态电压特征值集合;为当前构造相空间序列的微熵,为微熵的平均值,ρj为由x和xk构成的神经网络输入下最近邻点之间的距离,ce为欧拉常数,取值为0.5772;这样挑选出具有更好诊断能力的电压特征值用于故障状态识别,进一步提高模型的识别能力;s3.3、选取备选电压特征值中熵率最大的转折频率下所有故障模式的电压特征值加入到中,并将输入电压特征值总数t自加1;将待选池中的各个神经元对应该转折频率的权重wbest={w1,best,w2,best,...,wl,best}添加到粒子群神经元的权重中;s3.4、根据相关度最高原则,采用多粒子群优化算法对粒子群中的神经元的权重和偏置进行更新;s3.4.1、设置粒子群优化算法的最大迭代次数tmax,初始化粒子群优化算法的迭代次数粒子群中的全局最优解的相关度cgbest初始化为0,全局最优神经元的权重wgbest初始化为空集,偏置bgbest初始化为0;粒子群中的各个神经元的最优解的相关度cpbest,l初始化为0,全局最优神经元的权重wpbest,l初始化为空集,偏置bpbest,l初始化为0;随机设定粒子群中节点权重的增加值vw={vw1,vw2,...,vwl}和偏置的增加值vb={vb1,vb2,...,vbl};s3.4.2、计算粒子群中各个神经元的输出hl,得到输出集合h={h1,h2,…hl,…hl};其中,hl={hl,1,hl,1,…,hl,n}为粒子群中第l个神经元的输出;计算粒子群中各个神经元与期望输出的相关度cl,s3.4.3、更新粒子群中对应的全局最优解参量;s3.4.4、更新粒子群中对应的个体最优解;s3.4.5、根据全局最优解和个体最优解,更新粒子群中的神经元参数;vwl=r1vwlt+r2(wpbest,l-vwl)t+r3(wgbest-vwl)tvbl=r4vbl+r5(bpbest,l-bl)+r6(bgbest-bl)其中,r1,r2,r3为t*1的随机矩阵,r4,r5,r6为随机数;s3.4.6、判断当前迭代次数算法到迭代最大次数tmax,如果未达到,则令再返回步骤s3.4.2;如果达到,则将全局最优解的神经元作为最优神经元,然后进入步骤s4;s4、将获取的最优神经元对应的权重wgbest和偏置bgbest添加到神经网络模型的隐藏层中;s5、计算最优神经元在影响系数为1时的输出权重其中,hgbest为添加的神经元对应的输出,i为n*n的单位矩阵,n为当前极限学习机中神经元的个数,为极限学习机中的神经元输出,为的伪逆运算;s6、生成最优神经元对应的影响系数;在本实施例中,通过该步骤可以降低模型生成方法的贪心程度,避免模型过拟合的发生,从而提高算法的识别能力;s6.1、随机生成影响参数粒子群a={a1,a2,…,ap},p为粒子群中个体的个数;随机生成粒子群的影响参数更新增量av={av1,av2,…,avp},初始化粒子群的全局最优精度msegbest和个体最优精度msepbest,p为设定的极限值msemax,全局最优解agbest和个体最优解对应的影响参数apbest,p初始化为1;设置最大迭代次数当前迭代次数初始化为1;s6.2、在粒子群中各个影响参数下更新极限学习机输出s6.3、将设为极限学习机的当前输出,再返回步骤s3生成完整的极限学习机模型的隐藏层神经元和输出值s6.4、计算极限学习机的训练精度msep;s6.5、根据预测精度msep更新粒子群的全局最优解训练精度和全局最优解对应的影响参数;s6.6、更新粒子群中个体最优解的相关系数:s6.7、更新粒子群中的参数:avp=avp+r7(apbest,p-ap)+r8(agbest-ap)a=a+av其中,r7和r8为随机数;s6.8、判断迭代次数是否达到迭代最大次数如果未达到,则令再返回步骤s6.2;如果达到,则设定最优神经元的输出权重为n自加1,并记录下当前极限学习机的训练精度再进入步骤s7;s7、判断当前极限学习机中神经元的数量n是否达到最大值nmax,如果没有达到条件,则返回步骤s3;如果达到条件,则进入步骤s8;s8、统计极限学习机训练精度最小对应的神经元个数nopt,然后取生成的极限学习机的前nopt个神经元组成最终生成的极限学习机模型神经元并求出对应的隐藏层输出s9、利用隐藏层输出求得输出层权值其中,为的伪逆矩阵;s10、对待检测模拟电路故障进行识别时,将该故障下的电压特征值代入极限学习机的隐藏层得到相应的隐藏层输出求得极限学习机的输出向量再将中最大值对应的故障记为极限学习机识别的故障类型。实例为说明本发明的技术效果,采用某模拟电路为例对本发明进行实施验证。如图3所示,电路由4个二阶滤波器与一个加法器构成,使用pspice软件对其建模与仿真。r1,r2,r3,r4,r5,r6,r7和r8的容差为±10%,c1,c2,c3,c4,c5,c6,c7和c8的容差为±5%,放大器的增益av1,av2,av3和av4的容差为±1%,r9,r10和r11的容差为±1%。分析得知该电路具有4个转折频率:10hz,100hz,10khz和100khz。模拟电路单故障出现概率约占80%,故只考虑单故障的状态监测与健康管理。设置av1,av2,av3和av4在(1.1~1.5%)xn,(1.6~2%)xn,(2.1~2.5%)xn,(2.6~3.0%)xn,(3.1~3.5%)xn,(3.6~4.0%)xn,(4.1~4.5%)xn,(4.6~5.0%)xn,(5.1~5.5%)xn,(5.6~6.0%)xn共10个参数区间内变化并多次monte-carlo仿真,只考虑单个故障元件:任意时刻只有一个元件的参数值在其不同参数区间内均匀变化,其余元件均在容差范围内均匀变化;正常态时所有元件都在容差范围内均匀变化。正常态和故障状态下获取7个转折频率下电压特征向量。为衡量和比较测试性能,利用典型bp网络和隐马尔科夫模型hmm与本方法的诊断识别率进行比较,实验结果如表1所示,综合来看,本发明在故障的识别率均接近100%,较bp网络和hmm有明显提升,对模拟电路的故障识别能力更高。状态类正常态av1增加av1减小av2增加av2减小bp46.5937.1139.749.0455.41hmm1008092.2275.5674.44本发明9710099100100状态类av1增加av1减小av2增加av2减小平均bp67.9378.4467.8557.9355.56hmm10010010010091.36本发明9999.510010099.39表1尽管上面对本发明说明性的具体实施方式进行了描述,以便于本
技术领域
的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本
技术领域
的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1