发明名称 基于两层神经网络的测试性指标分配方法
摘要 本发明公开了一种基于两层神经网络的测试性指标分配方法,根据系统结构获取下级模块与上级模块的映射矩阵,构建两层神经网络,其中输入层神经单元代表下级模块,输出层神经单元代表上级模块,权值代表测试性指标分配值,根据映射矩阵确定两层神经网络的输入并初始化两层神经网络的权值矩阵,得到当前权值矩阵对应的测试性指标输出,计算输出与期望输出的误差,如果大于等于预设阈值则整体调整权值矩阵,否则根据每个上级模块的测试性指标最低局部调整权值,使所有上级模块的测试性指标均达到最低要求。本发明利用两层神经网络的学功能来得到各下级模块的测试性指标分配值,适用于上级模块对下级模块存在交叉覆盖、协同联合的系统模型。
申请公布号 CN105677496A 申请公布日期 2016.06.15
申请号 CN201610019278.2 申请日期 2016.01.12
申请人 电子科技大学 发明人 杨成林;成鹏;林干;龙兵
分类号 G06F11/00(2006.01)I;G06N3/02(2006.01)I 主分类号 G06F11/00(2006.01)I
代理机构 成都行之专利代理事务所(普通合伙) 51220 代理人 温利平;陈靓靓
主权项 一种基于两层神经网络的多任务测试性指标分配方法,其特征在于,包括以下步骤:S1:将系统中的上级模块按照优先级从大到小进行排序,根据系统的结构获取下级模块与上级模块的映射矩阵H,映射矩阵H中的元素h<sub>ij</sub>表示第i个模块与第j个上级模块的关联,其中i=1,2,…,N,j=1,2,…,M,N表示下级模块数量,M表示上级模块数量,h<sub>ij</sub>=1表示对应下级模块与上级模块存在关联,h<sub>ij</sub>=0表示对应下级模块与上级模块不存在关联;S2:构建两层神经网络,其中输入层神经单元数量为N,输出层神经单元数量为M;S3:记每个下级模块i对应的平均无故障时间为α<sub>i</sub>,对于每个上级模块j,统计映射矩阵中h<sub>ij</sub>=1的下级模块,将这些下级模块的平均无故障时间求和,得到每个上级模块j所对应的下级模块的平均无故障时间和β<sub>j</sub>,然后根据以下公式得到下级模块i对应上级模块j的故障率x<sub>ij</sub>:<maths num="0001"><math><![CDATA[<mrow><msub><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>/</mo><msub><mi>&beta;</mi><mi>j</mi></msub><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>h</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>h</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mn>0</mn></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000904945040000011.GIF" wi="441" he="163" /></maths>根据得到的所有故障率x<sub>ij</sub>构建得到M个输入向量X<sub>j</sub>=(x<sub>1j</sub>,x<sub>2j</sub>,…,x<sub>Nj</sub>)<sup>T</sup>;S4:根据下级模块与上级模块的映射矩阵H,对两层神经网络的权值矩阵W进行初始化:如果h<sub>ij</sub>=0,其对应的权值w<sub>ij</sub>=0,如果h<sub>ij</sub>=1,其对应的权值<img file="FDA0000904945040000012.GIF" wi="210" he="75" /><img file="FDA0000904945040000013.GIF" wi="61" he="65" />为(0,1)范围内的随机数;S5:依次将M个输入向量X<sub>j</sub>作为两层神经网络的输入,得到当前权值矩阵W对应的输出,将上级模块j的M个输出记为u<sub>jj′</sub>,j′=1,2,…,M,计算上级模块j的输出o<sub>j</sub>:<maths num="0002"><math><![CDATA[<mrow><msub><mi>o</mi><mi>j</mi></msub><mo>=</mo><mfrac><mn>1</mn><mi>M</mi></mfrac><munderover><mo>&Sigma;</mo><mrow><msup><mi>j</mi><mo>&prime;</mo></msup><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>u</mi><mrow><msup><mi>jj</mi><mo>&prime;</mo></msup></mrow></msub></mrow>]]></math><img file="FDA0000904945040000014.GIF" wi="331" he="170" /></maths>S6:根据预设的各个上级模块的测试性指标最低要求d<sub>j</sub>和步骤S103的输出o<sub>j</sub>计算系统误差e,如果系统误差e小于预设阈值e<sub>T</sub>,进入步骤S8,否则进入步骤S7;S7:根据以下公式计算权值调整量:<maths num="0003"><math><![CDATA[<mrow><msub><mi>&Delta;w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mi>&eta;</mi><mrow><mo>(</mo><msub><mi>d</mi><mi>j</mi></msub><mo>-</mo><msub><mi>o</mi><mi>j</mi></msub><mo>)</mo></mrow><msub><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>&NotEqual;</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mn>0</mn></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000904945040000021.GIF" wi="707" he="187" /></maths>根据以下公式计算新的权值:<maths num="0004"><math><![CDATA[<mrow><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mi>min</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>+</mo><mfrac><mn>1</mn><msub><mi>K</mi><mi>j</mi></msub></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>&Delta;w</mi><mrow><msup><mi>ij</mi><mo>&prime;</mo></msup></mrow></msub><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>&NotEqual;</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mn>0</mn></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000904945040000022.GIF" wi="937" he="281" /></maths>返回步骤S5;S8:根据每个上级模块的测试性指标最低要求调整权值,具体步骤包括:S8.1:令上级模块序号j=1;S8.2:如果o<sub>j</sub><d<sub>j</sub>,进入步骤S8.3,否则进入步骤S8.5;S8.3:调整上级模块j关联的下级模块的权值,调整公式如下:<maths num="0005"><math><![CDATA[<mrow><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mi>m</mi><mi>i</mi><mi>n</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>(</mo><mn>1</mn><mo>+</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>)</mo><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>&NotEqual;</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mn>0</mn></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000904945040000023.GIF" wi="755" he="190" /></maths>其中,τ为调整步长控制因子;将上级模块j关联的下级模块对应的非零权值均更新为w<sub>ij</sub>;S8.4:将M个输入向量X<sub>j</sub>作为两层神经网络的输入,根据当前权值矩阵,重新得到二层神经网络中每个上级模块的输出,返回步骤S8.2;S8.5:如果j<M,令j=j+1,返回步骤S8.2,否则进入步骤S9;S9:将当前第i个模块所对应的各个权值w<sub>ij</sub>中非零的权值作为该模块的测试性指标分配值γ<sub>i</sub>。
地址 611731 四川省成都市高新区(西区)西源大道2006号