发明名称 基于粒子群和支持向量机的控制系统执行器故障诊断方法
摘要 本发明公开了一种基于多群体协同混沌模拟退火粒子群优化算法-支持向量机(Multi-swarm Cooperative Chaos Simulated Annealing Particle Swarm Optimization-Support Vector Machine,MCCSAPSO-SVM)的控制系统执行器故障诊断方法。通过联合降噪和改进经验模态分解(Empirical Mode Decomposition,EMD)方法,对采集到的执行器输出信号进行特征提取;利用MCCSAPSO优化支持向量机结构参数;采用组合核函数保证了SVM良好的泛化能力与学能力;利用训练数据构建偏二叉树SVM,把一个复杂的多分类问题转化为若干个二分类问题。本发明方法对控制系统易获得的常见状态信号进行处理,通过偏二叉树SVM的输出,能够实时有效地判断出控制系统执行器是否发生故障,并且能够在执行器发生故障时较为准确地确定出故障类型。本发明用于高精度控制系统的实时故障诊断。
申请公布号 CN105469138A 申请公布日期 2016.04.06
申请号 CN201510776313.0 申请日期 2015.11.10
申请人 南京航空航天大学 发明人 杨蒲;郭瑞诚;刘剑慰;潘旭;赵璟
分类号 G06N3/00(2006.01)I;G06K9/62(2006.01)I 主分类号 G06N3/00(2006.01)I
代理机构 代理人
主权项 一种基于多群体协同混沌模拟退火粒子群优化算法一支持向量机(MCCSAPSO‑SVM)的控制系统执行器故障诊断方法,其特征在于:通过联合降噪和改进经验模态分解(EMD)方法,对采集到的执行器输出信号进行降噪处理和特征提取;利用多群体协同混沌模拟退火粒子群优化算法(MCCSAPSO)优化支持向量机结构参数;采用组合核函数保证了支持向量机良好的泛化能力与学习能力;利用训练数据构建一种把一个复杂的多分类问题转化为若干个二分类问题的偏二叉树支持向量机,降低了计算量,提高了诊断的实时性;通过偏二叉树支持向量机的输出,能够实时有效地判断出控制系统执行器是否发生故障,并且能够在执行器发生故障时较为准确地确定出故障类型,包括如下具体步骤:步骤1)将离散含噪信号f(k)(信号长度为N)先进行中值滤波处理得到<img file="FSA0000123236150000011.GIF" wi="127" he="67" />滤除可能的脉冲噪声;步骤2)对中值滤波处理后的<img file="FSA0000123236150000012.GIF" wi="106" he="70" />进行改进小波阀值降噪处理:步骤2.1)将<img file="FSA0000123236150000013.GIF" wi="106" he="69" />进行第j层(从j=1开始)小波分解,其中j的确定方式为:对小波分解得到的高频细节系数d<sub>j</sub>(k)进行式(1)自相关系数λ计算,若满足自由度l的χ<sup>2</sup>分布,则对d<sub>j</sub>继续进行j+1层分解,直到不满足χ<sup>2</sup>分布为止;式中,d<sub>j</sub>(k)高频细节系数,<img file="FSA0000123236150000014.GIF" wi="43" he="68" />为d<sub>j</sub>(k)的平均值;<math><![CDATA[<mrow><msub><mi>&lambda;</mi><mi>i</mi></msub><mo>=</mo><mfrac><mrow><munderover><mo>&Sigma;</mo><mi>k</mi><mrow><mi>N</mi><mo>-</mo><mi>i</mi></mrow></munderover><mo>&lsqb;</mo><msub><mi>d</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>d</mi><mo>&OverBar;</mo></mover><mi>j</mi></msub><mo>&rsqb;</mo><mo>&lsqb;</mo><msub><mi>d</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>d</mi><mo>&OverBar;</mo></mover><mi>j</mi></msub><mo>&rsqb;</mo></mrow><mrow><munderover><mo>&Sigma;</mo><mi>k</mi><mrow><mi>m</mi><mo>-</mo><mi>i</mi></mrow></munderover><msup><mrow><mo>&lsqb;</mo><msub><mi>d</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>d</mi><mo>&OverBar;</mo></mover><mi>j</mi></msub><mo>&rsqb;</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>,</mo><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><mo>,</mo><mi>l</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000123236150000015.GIF" wi="1470" he="279" /></maths>步骤2.2)将分解得到的小波系数W<sub>j</sub>(k)带入式(2)加以处理;式中,W为信号<img file="FSA0000123236150000016.GIF" wi="105" he="68" />小波变换后的小波系数W<sub>j</sub>(k),μ(μ>0),v(v>1),p(p∈[0,1]),q(q≥0)均为可调参数,W<sub>δ</sub>为经过阀值降噪后的小波系数,<img file="FSA0000123236150000017.GIF" wi="310" he="153" />为阀值,σ为噪声标准差;<math><![CDATA[<mrow><msub><mi>W</mi><mi>&delta;</mi></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mi>sgn</mi><mrow><mo>(</mo><mi>W</mi><mo>)</mo></mrow><mrow><mo>(</mo><mo>|</mo><mi>W</mi><mo>|</mo><mo>-</mo><mfrac><mrow><mn>2</mn><mi>p</mi></mrow><mrow><mn>1</mn><mo>+</mo><msup><mi>e</mi><mrow><mi>q</mi><mrow><mo>(</mo><mo>|</mo><mi>W</mi><mo>|</mo><mo>-</mo><mi>&delta;</mi><mo>)</mo></mrow></mrow></msup></mrow></mfrac><mi>&delta;</mi><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mo>|</mo><mi>W</mi><mo>|</mo><mo>&GreaterEqual;</mo><mi>&delta;</mi></mrow></mtd></mtr><mtr><mtd><mrow><mi>W</mi><mo>&CenterDot;</mo><msup><mi>v</mi><mrow><mo>-</mo><msup><mrow><mo>(</mo><mi>&mu;</mi><mo>|</mo><mi>W</mi><mo>|</mo><mo>-</mo><mi>&delta;</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></msup><mo>,</mo></mrow></mtd><mtd><mrow><mo>|</mo><mi>W</mi><mo>|</mo><mo>&le;</mo><mi>&delta;</mi></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000123236150000018.GIF" wi="1333" he="238" /></maths>步骤23)对处理后的各小波系数进行小波逆变换,得到降噪后的真实信号的估计<img file="FSA0000123236150000021.GIF" wi="114" he="63" />步骤3)对联合降噪后的信号进行EMD分解,通过比较各本征模态函数(IMF)与信号<img file="FSA0000123236150000022.GIF" wi="92" he="62" />的相关系数ρ与预设阀值ζ的大小,剔除max(ρ)后的所有小于阀值的IMF即“伪分量”;其中,ρ通过式(3)计算,σ[·]为标准差,ζ=0.1max(ρ);<math><![CDATA[<mrow><mi>&rho;</mi><mo>=</mo><mfrac><mrow><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mover><mi>s</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>imf</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mrow><mi>&sigma;</mi><mo>&lsqb;</mo><mover><mi>s</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>&CenterDot;</mo><mi>&sigma;</mi><mo>&lsqb;</mo><msub><mi>imf</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>&rsqb;</mo></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000123236150000023.GIF" wi="1405" he="198" /></maths>步骤4)对剔除“伪分量”后的η个IMF分量,计算各IMF分量c<sub>i</sub>(k)的能量<math><![CDATA[<mrow><msub><mi>E</mi><mi>i</mi></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><msub><mi>c</mi><mi>i</mi></msub><mn>2</mn></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000123236150000024.GIF" wi="268" he="118" /></maths>(i=1,2,...,η),则提取出的特征向量为<img file="FSA0000123236150000025.GIF" wi="650" he="127" />步骤5)利用多群体协同混沌模拟退火粒子群优化算法(MCCSAPSO)优化组合核函数支持向量机结构参数:步骤5.1)构建粒子群优化算法迭代公式(4),该迭代公式能够使得粒子群在迭代初期具备较强的搜索能力,能搜索到较大的解空间,并具有不断搜索新区域的能力,而在迭代后期,算法快速收敛到全局最优区域;式中,c<sub>1</sub>、c<sub>2</sub>为学习因子,r<sub>1</sub>、r<sub>2</sub>为介于[0,1]之间的随机数,p<sub>ibest</sub>=(p<sub>i1</sub>,p<sub>i2</sub>,...,p<sub>iD</sub>)为粒子历史最优适应值,g<sub>best</sub>=(g<sub>1</sub>,g<sub>2</sub>,...,g<sub>D</sub>)为全局最优适应值,w为惯性权重,t<sub>max</sub>为最大迭代次数,w<sub>min</sub>,w<sub>max</sub>是惯性权重w的最值,通过调节引入的收敛因子δ,可以加快粒子群的收敛速度;<math><![CDATA[<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msubsup><mi>v</mi><mi>i</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mi>&delta;</mi><mrow><mo>(</mo><msubsup><mi>wv</mi><mi>i</mi><mi>t</mi></msubsup><mo>+</mo><msub><mi>c</mi><mn>1</mn></msub><msub><mi>r</mi><mn>1</mn></msub><mo>(</mo><msub><mi>p</mi><mrow><mi>i</mi><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>-</mo><msubsup><mi>x</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><msub><mi>r</mi><mn>2</mn></msub><mrow><mo>(</mo><msub><mi>g</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>-</mo><msubsup><mi>x</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mrow><msubsup><mi>x</mi><mi>i</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msubsup><mi>x</mi><mi>i</mi><mi>t</mi></msubsup><mo>+</mo><msubsup><mi>v</mi><mi>i</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><mi>w</mi><mo>=</mo><msub><mi>w</mi><mi>min</mi></msub><mo>+</mo><mo>&lsqb;</mo><mrow><mo>(</mo><msub><mi>t</mi><mi>max</mi></msub><mo>-</mo><mi>t</mi><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>w</mi><mi>max</mi></msub><mo>-</mo><msub><mi>w</mi><mi>min</mi></msub><mo>)</mo></mrow><mo>&rsqb;</mo><mo>/</mo><msub><mi>t</mi><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><mi>&delta;</mi><mo>=</mo><mn>2</mn><mo>/</mo><mo>|</mo><mn>2</mn><mo>-</mo><mrow><mo>(</mo><msub><mi>c</mi><mn>1</mn></msub><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>-</mo><msqrt><mrow><msup><mrow><mo>(</mo><msub><mi>c</mi><mn>1</mn></msub><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>-</mo><mn>4</mn><mrow><mo>(</mo><msub><mi>c</mi><mn>1</mn></msub><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><mo>)</mo></mrow></mrow></msqrt></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000123236150000026.GIF" wi="1376" he="379" /></maths>步骤5.2)初始化:分别对主粒子群和从粒子群的粒子群规模L、维度D、粒子i的位置x<sub>i</sub>=(x<sub>i1</sub>,x<sub>i2</sub>,...,x<sub>iD</sub>)、速度v<sub>i</sub>=(v<sub>i1</sub>,v<sub>i2</sub>,...,v<sub>iD</sub>)、惯性权重w、学习因子c<sub>1</sub>,c<sub>2</sub>、当前温度T、结束温度T<sub>0</sub>、退火速度K<sub>T</sub>、最大迭代次数t<sub>max</sub>初始化;步骤5.3)从群更新:计算从粒子群每个粒子的当前适应值Ψ<sub>i</sub>,并和自身最优适应值p<sub>ibest</sub>比较,更新自身最优适应值p<sub>ibest</sub>和全局最优适应值g<sub>best</sub>;根据式(4)分别各自更新粒子的速度和位置;其中,选取适应度函数Ψ为式(5),即适应度函数是以最大化形式进行目标优化的分类器正确率的倍数,如式(6);式中,<img file="FSA0000123236150000031.GIF" wi="52" he="55" />为SVM<sub>j</sub>正确分类数,<img file="FSA0000123236150000032.GIF" wi="59" he="55" />为SVM<sub>j</sub>错误分类数;Ψ=100r 0.1≤r≤1      (5)<math><![CDATA[<mrow><mi>m</mi><mi>a</mi><mi>x</mi><mi>&Psi;</mi><mrow><mo>(</mo><mi>C</mi><mo>,</mo><mi>&sigma;</mi><mo>,</mo><mi>d</mi><mo>,</mo><mi>&rho;</mi><mo>)</mo></mrow><mo>=</mo><mn>100</mn><mi>r</mi><mo>=</mo><mn>100</mn><mo>&times;</mo><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>Q</mi></munderover><mfrac><msubsup><mi>N</mi><mi>j</mi><mi>c</mi></msubsup><mrow><msubsup><mi>N</mi><mi>j</mi><mi>c</mi></msubsup><mo>+</mo><msubsup><mi>N</mi><mi>j</mi><mi>w</mi></msubsup></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000123236150000033.GIF" wi="1308" he="133" /></maths>步骤5.4)混沌优化:先将g<sub>best</sub>映射到Logistic方程[0,1]定义域上,如式(7):R=(g<sub>best</sub>‑R<sub>min</sub>)/(R<sub>max</sub>‑R<sub>min</sub>)      (7)式中,R<sub>max</sub>、R<sub>min</sub>为g<sub>best</sub>的上下限。接着对当前序列中的最优粒子位置和速度进行P次迭代后产生混沌序列为R=(R<sub>1</sub>,R<sub>2</sub>,…,R<sub>P</sub>),通过式(8)可以得到如式(9)所示的最优粒子序列;g<sub>best,p</sub>=R<sub>min</sub>+R<sub>n</sub>(R<sub>max</sub>‑R<sub>min</sub>),n=1,2,…,P   (8)<math><![CDATA[<mrow><msubsup><mi>g</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow><mo>*</mo></msubsup><mo>=</mo><mrow><mo>(</mo><msubsup><mi>g</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi><mo>,</mo><mn>1</mn></mrow><mo>*</mo></msubsup><mo>,</mo><msubsup><mi>g</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi><mo>,</mo><mn>2</mn></mrow><mo>*</mo></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>g</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi><mo>,</mo><mi>p</mi></mrow><mo>*</mo></msubsup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000123236150000034.GIF" wi="1236" he="84" /></maths>步骤5.5)主群更新:在每一代主群选取从群体中最好的粒子,并根据从群的经验进行状态更新,其速度和位置更新方程为式(10):<math><![CDATA[<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msubsup><mi>v</mi><mrow><mi>M</mi><mi>i</mi></mrow><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mi>&delta;</mi><mrow><mo>(</mo><msubsup><mi>wv</mi><mrow><mi>M</mi><mi>i</mi></mrow><mi>t</mi></msubsup><mo>+</mo><msub><mi>c</mi><mn>1</mn></msub><msub><mi>r</mi><mn>1</mn></msub><mo>(</mo><msub><mi>p</mi><mrow><mi>M</mi><mi>i</mi><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>-</mo><msubsup><mi>x</mi><mrow><mi>M</mi><mi>i</mi></mrow><mi>t</mi></msubsup><mo>)</mo></mrow><mo>+</mo><msub><mi>&phi;c</mi><mn>2</mn></msub><msub><mi>r</mi><mn>2</mn></msub><mrow><mo>(</mo><msub><mi>g</mi><mrow><mi>M</mi><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>-</mo><msubsup><mi>x</mi><mrow><mi>M</mi><mi>i</mi></mrow><mi>t</mi></msubsup><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&phi;</mi><mo>)</mo></mrow><msub><mi>c</mi><mn>3</mn></msub><msub><mi>r</mi><mn>3</mn></msub><mrow><mo>(</mo><msub><mi>g</mi><mrow><mi>S</mi><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>-</mo><msubsup><mi>x</mi><mrow><mi>S</mi><mi>i</mi></mrow><mi>t</mi></msubsup><mo>)</mo></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mrow><msubsup><mi>x</mi><mrow><mi>M</mi><mi>i</mi></mrow><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msubsup><mi>x</mi><mrow><mi>M</mi><mi>i</mi></mrow><mi>t</mi></msubsup><mo>+</mo><msubsup><mi>v</mi><mrow><mi>M</mi><mi>i</mi></mrow><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000123236150000035.GIF" wi="1561" he="166" /></maths>式中,M为主群,S为从群,c<sub>1</sub>为学习因子,r<sub>3</sub>为介于[0,1]之间的随机数,φ为满足式(11)的迁移因子,g<sub>Mbest</sub>和g<sub>Sbest</sub>分别为主群和从群中的全局最优适应值,G<sub>Mbest</sub>和G<sub>Sbest</sub>分别为由g<sub>Mbest</sub>和g<sub>Sbest</sub>确定的适应值;<math><![CDATA[<mrow><mi>&phi;</mi><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mn>0</mn><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>G</mi><mrow><mi>S</mi><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>&lt;</mo><msub><mi>G</mi><mrow><mi>M</mi><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><mn>0.5</mn><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>G</mi><mrow><mi>S</mi><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>=</mo><msub><mi>G</mi><mrow><mi>M</mi><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><mn>1</mn><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>G</mi><mrow><mi>S</mi><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>&gt;</mo><msub><mi>G</mi><mrow><mi>M</mi><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000123236150000041.GIF" wi="1290" he="259" /></maths>步骤5.6)退火优化:计算每个粒子更新后的适应值<img file="FSA0000123236150000042.GIF" wi="49" he="49" />及适应值变化量<img file="FSA0000123236150000043.GIF" wi="258" he="49" />若ΔΨ<sub>i</sub><0,或ΔΨ<sub>i</sub>>0时exp(‑ΔΨ/T)在区间[0,1]上,则进行降温操作T←K<sub>T</sub>T,否则温度不变;步骤5.7)终止条件:当满足温度降至T<sub>0</sub>,或达到最大迭代次数t<sub>max</sub>时停止迭代,否则返回步骤5.3;步骤6)构造组合核函数支持向量机:步骤6.1)构造式(12)形式的组合核函数,式中,d为多项式核函数的阶数,σ为高斯核函数的核半径,ρ为权重;<math><![CDATA[<mrow><mi>K</mi><mo>=</mo><msub><mi>&rho;K</mi><mrow><mi>p</mi><mi>o</mi><mi>l</mi><mi>y</mi></mrow></msub><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&rho;</mi><mo>)</mo></mrow><msub><mi>K</mi><mrow><mi>R</mi><mi>B</mi><mi>F</mi></mrow></msub><mo>=</mo><mi>&rho;</mi><msup><mrow><mo>(</mo><msub><mi>xx</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mi>d</mi></msup><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&rho;</mi><mo>)</mo></mrow><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mo>|</mo><mo>|</mo><mi>x</mi><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>/</mo><msup><mi>&sigma;</mi><mn>2</mn></msup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000123236150000044.GIF" wi="1464" he="101" /></maths>步骤6.2)构造组合核函数支持向量机的决策函数可表示为式(13),式中,{x<sub>i</sub>,y<sub>i</sub>}为训练样本,l是训练样本个数,K(x<sub>i</sub>,x<sub>j</sub>)是给定的核函数,α<sub>i</sub>和b为根据训练样本得出的参数;<math><![CDATA[<mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mi>sgn</mi><mrow><mo>(</mo><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>l</mi></munderover><msub><mi>&alpha;</mi><mi>i</mi></msub><msub><mi>y</mi><mi>i</mi></msub><mo>(</mo><msub><mi>&rho;K</mi><mrow><mi>p</mi><mi>o</mi><mi>l</mi><mi>y</mi></mrow></msub><mo>(</mo><mrow><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo><msub><mi>x</mi><mi>j</mi></msub></mrow><mo>)</mo><mo>+</mo><mo>(</mo><mrow><mn>1</mn><mo>-</mo><mi>&rho;</mi></mrow><mo>)</mo><msub><mi>K</mi><mrow><mi>R</mi><mi>B</mi><mi>F</mi></mrow></msub><mo>(</mo><mrow><msub><mi>x</mi><mi>j</mi></msub><mo>,</mo><msub><mi>x</mi><mi>j</mi></msub></mrow><mo>)</mo><mo>)</mo></mrow><mo>+</mo><mi>b</mi><mo>)</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000123236150000045.GIF" wi="1476" he="126" /></maths>步骤6.3)将组合核函数支持向量机的优化模型(14)转化为式(15),式中,C为惩罚因子,ξ<sub>i</sub>为松弛变量;<math><![CDATA[<mrow><mtable><mtr><mtd><mrow><munder><mi>min</mi><mrow><mi>&rho;</mi><mo>,</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&rho;</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>f</mi><mrow><mi>p</mi><mi>o</mi><mi>l</mi><mi>y</mi></mrow></msub><mo>,</mo><msub><mi>f</mi><mrow><mi>R</mi><mi>B</mi><mi>F</mi></mrow></msub><mo>,</mo><mi>b</mi><mo>,</mo><msub><mi>&xi;</mi><mi>i</mi></msub></mrow></munder><mrow><mo>(</mo><mfrac><mn>1</mn><mi>&rho;</mi></mfrac><mo>|</mo><mo>|</mo><msub><mi>f</mi><mrow><mi>p</mi><mi>o</mi><mi>l</mi><mi>y</mi></mrow></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mfrac><mn>1</mn><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&rho;</mi><mo>)</mo></mrow></mfrac><mo>|</mo><mo>|</mo><msub><mi>f</mi><mrow><mi>R</mi><mi>B</mi><mi>F</mi></mrow></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>)</mo></mrow><mo>+</mo><mi>C</mi><munderover><mo>&Sigma;</mo><mi>i</mi><mi>l</mi></munderover><msub><mi>&xi;</mi><mi>i</mi></msub></mrow></mtd></mtr><mtr><mtd><mtable><mtr><mtd><mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo></mrow></mtd><mtd><mrow><msub><mi>y</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>f</mi><mrow><mi>p</mi><mi>o</mi><mi>l</mi><mi>y</mi></mrow></msub><mo>+</mo><msub><mi>f</mi><mrow><mi>R</mi><mi>B</mi><mi>F</mi></mrow></msub><mo>+</mo><mi>b</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mn>1</mn><mo>-</mo><msub><mi>&xi;</mi><mi>i</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow></mrow></mtd><mtd><mrow><msub><mi>&xi;</mi><mi>i</mi></msub><mo>&GreaterEqual;</mo><mn>0</mn><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>&rho;</mi><mo>&le;</mo><mn>1</mn></mrow></mtd></mtr></mtable></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000123236150000046.GIF" wi="1413" he="310" /></maths><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><munder><mi>min</mi><mrow><mi>&rho;</mi><mo>,</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&rho;</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>f</mi><mrow><mi>p</mi><mi>o</mi><mi>l</mi><mi>y</mi></mrow></msub><mo>,</mo><msub><mi>f</mi><mrow><mi>R</mi><mi>B</mi><mi>F</mi></mrow></msub><mo>,</mo><mi>b</mi><mo>,</mo><msub><mi>&xi;</mi><mi>i</mi></msub></mrow></munder><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>&lsqb;</mo><mrow><mo>(</mo><mfrac><mn>1</mn><mi>&rho;</mi></mfrac><mo>|</mo><mo>|</mo><msub><mi>f</mi><mrow><mi>p</mi><mi>o</mi><mi>l</mi><mi>y</mi></mrow></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mfrac><mn>1</mn><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&rho;</mi><mo>)</mo></mrow></mfrac><mo>|</mo><mo>|</mo><msub><mi>f</mi><mrow><mi>R</mi><mi>B</mi><mi>F</mi></mrow></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>)</mo></mrow><mo>&rsqb;</mo><mo>+</mo><mi>C</mi><munderover><mo>&Sigma;</mo><mi>i</mi><mi>l</mi></munderover><msub><mi>&xi;</mi><mi>i</mi></msub></mrow></mtd></mtr><mtr><mtd><mtable><mtr><mtd><mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo></mrow></mtd><mtd><mrow><msub><mi>y</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>f</mi><mrow><mi>p</mi><mi>o</mi><mi>l</mi><mi>y</mi></mrow></msub><mo>+</mo><msub><mi>f</mi><mrow><mi>R</mi><mi>B</mi><mi>F</mi></mrow></msub><mo>+</mo><mi>b</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mn>1</mn><mo>-</mo><msub><mi>&xi;</mi><mi>i</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow></mrow></mtd><mtd><mrow><msub><mi>&xi;</mi><mi>i</mi></msub><mo>&GreaterEqual;</mo><mn>0</mn><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>&rho;</mi><mo>&le;</mo><mn>1</mn></mrow></mtd></mtr></mtable></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>15</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000123236150000047.GIF" wi="1421" he="299" /></maths>步骤6.4)利用Largrange乘数法和KKT条件,计算其对偶问题(16);<math><![CDATA[<mrow><mtable><mtr><mtd><mrow><munder><mi>max</mi><mi>&alpha;</mi></munder><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>l</mi></munderover><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>l</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>l</mi></munderover><msub><mi>&alpha;</mi><mi>i</mi></msub><msub><mi>&alpha;</mi><mi>j</mi></msub><msub><mi>y</mi><mi>i</mi></msub><msub><mi>y</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>&rho;K</mi><mrow><mi>p</mi><mi>o</mi><mi>l</mi><mi>y</mi></mrow></msub><mo>(</mo><mrow><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo><msub><mi>x</mi><mi>j</mi></msub></mrow><mo>)</mo><mo>+</mo><mo>(</mo><mrow><mn>1</mn><mo>-</mo><mi>&rho;</mi></mrow><mo>)</mo><msub><mi>K</mi><mrow><mi>R</mi><mi>B</mi><mi>F</mi></mrow></msub><mo>(</mo><mrow><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo><msub><mi>x</mi><mi>j</mi></msub></mrow><mo>)</mo><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mtable><mtr><mtd><mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo></mrow></mtd><mtd><mrow><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>l</mi></munderover><msub><mi>&alpha;</mi><mi>i</mi></msub><msub><mi>y</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn><mo>,</mo><mn>0</mn><mo>&le;</mo><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>&le;</mo><mi>C</mi><mo>,</mo><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>...</mo><mo>,</mo><mi>l</mi></mrow></mtd></mtr><mtr><mtd><mrow></mrow></mtd><mtd><mrow><mn>0</mn><mo>&le;</mo><mi>&rho;</mi><mo>&le;</mo><mn>1</mn></mrow></mtd></mtr></mtable></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>16</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000123236150000051.GIF" wi="1473" he="304" /></maths>步骤6.5)令解得最优解为<img file="FSA0000123236150000052.GIF" wi="278" he="84" />则最优分类函数为式(17);<math><![CDATA[<mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mi>sgn</mi><mrow><mo>(</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>l</mi></munderover><msubsup><mi>&alpha;</mi><mi>i</mi><mo>*</mo></msubsup><msub><mi>y</mi><mi>i</mi></msub><mo>(</mo><mrow><msub><mi>&rho;K</mi><mrow><mi>p</mi><mi>o</mi><mi>l</mi><mi>y</mi></mrow></msub><mrow><mo>(</mo><mrow><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo><msub><mi>x</mi><mi>j</mi></msub></mrow><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mrow><mn>1</mn><mo>-</mo><mi>&rho;</mi></mrow><mo>)</mo></mrow><msub><mi>K</mi><mrow><mi>R</mi><mi>B</mi><mi>F</mi></mrow></msub><mrow><mo>(</mo><mrow><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo><msub><mi>x</mi><mi>j</mi></msub></mrow><mo>)</mo></mrow></mrow><mo>)</mo><mo>+</mo><msup><mi>b</mi><mo>*</mo></msup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>17</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSA0000123236150000053.GIF" wi="1456" he="123" /></maths>步骤7)构建偏二叉树支持向量机分类器,针对含有正常状态和(Q‑1)种故障状态的诊断问题,需训练(Q‑1)个支持向量机分类器:步骤7.1)构建第一个分类器SVM<sub>1</sub>是对正常状态样本与其余所有(Q‑1)种故障样本进行分类,将正常状态样本作为一类,分类器输出为+1,其余所有(Q‑1)种故障样本的分类器输出为‑1;步骤7.2)构建第二个分类器SVM<sub>2</sub>是对故障1样本与剩余的其他(Q‑2)种故障样本进行分类,将故障1样本作为一类,分类器输出为+1,剩余的其他(Q‑2)种故障样本的分类器输出为‑1;步骤7.3)以此类推,直到第(Q‑1)个分类器SVM<sub>(Q‑1)</sub>是对故障(Q‑2)样本与故障(Q‑1)样本进行分类,故障(Q‑2)样本分类器输出为+1,故障(Q‑1)样本分类器输出为‑1;步骤8)将测试数据应用于训练好的(Q‑1)个支持向量机分类器,根据各个SVM的输出值实时有效地判断出控制系统执行器是否发生故障,以及准确判定执行器发生的具体故障类型。
地址 211106 江苏省南京市江宁区胜太西路169号南京航空航天大学将军路校区自动化学院