飞行着陆引导系统可靠性定量分析模型建立方法与流程

文档序号:15492235发布日期:2018-09-21 20:50阅读:160来源:国知局

本发明涉及软件可靠性分析技术领域,具体涉及一种飞行着陆引导系统可靠性定量分析模型建立方法。



背景技术:

随着计算机技术的迅速发展,软件已成为飞行着陆引导系统的核心部件,完成数据解算、目标跟踪、指挥控制等重要功能。随之带来的问题是,软件失效成为导致系统危险的主要原因。因此,如何确保飞行着陆引导系统软件的高可靠性与高安全性就显得十分重要。软件可靠性是指在规定条件下,规定时间内,软件运行不引起系统故障的能力,已经成为飞行着陆引导系统质量核心要素之一。

飞行着陆引导系统是包括网络、电子、软件的复杂混合体,主要使用无线电、光电等技术手段,生成目标引导指令,引导飞机按预定航迹飞行的专项技术。飞行着陆引导系统要求在极短的时间内处理大量的信息并做出正确的决策与控制,一旦发生软件错误,会造成机毁人亡的严重事故,具有很高的安全风险。因此,飞行引导过程非常复杂。若软件可靠性工作不足,将导致飞行引导任务失败,飞机坠毁等事故、造成经济与资源重大损失,甚至人员伤亡。

软件可靠性定量分析模型作为软件开发与运行阶段可靠性评估与预计的主要手段,在过去30年里得到较为深入地研究。一些经典的模型被广泛地应用于安全关键软件的开发过程,其使用测试阶段中收集到的失效数据对运行阶段中的软件可靠性进行评估与预计,为软件产品的质量与过程改进提供分析决策信息。因此,软件可靠性评估对于飞行着陆引导系统质量保障具有重要影响。

一个理想的软件可靠性定量分析模型应可以在多种应用中取得持续准确的可靠性评估与预计结果。但是,研究结果表明目前还没有这样的普适定量分析模型,并且也没有可根据具体情况选择最合适模型的方法。换句话说,很多定量分析模型在这组失效数据集上可获得较好的分析结果,但是可能在另外一组数据集上获得的分析结果较差。可能的潜在原因是因为这些模型的定量分析效果严重依赖于其对失效行为的假设以及所应用失效数据集的类型。而飞行着陆引导系统软件具有实时性与控制精度要求高、参与控制的交联设备多、对设备故障容错处理要求高、运行环境复杂多变等特点,失效机理较为复杂。传统软件可靠性定量分析模型假设很难满足对飞行着陆引导系统软件失效机理的精确描述要求,所以还很难直接应用于此类软件可靠性定量分析过程。

综上,传统软件可靠性定量分析模型在假设上存在局限性,难以准确评估和预计飞行着陆引导系统软件的可靠性增长趋势,遗留大量安全隐患。



技术实现要素:

本发明的目的在于针对现有技术中存在的问题,提出一种飞行着陆引导系统可靠性定量分析模型建立方法,该方法可有效反映飞行着陆引导系统软件的可靠性增长趋势,提升可靠性定量分析工作的效率和质量,确保评估预计结果的准确性和精度满足指标要求,进而保障软件可靠性水平满足飞行着陆引导系统研制要求。

为解决上述技术问题,本发明公开的飞行着陆引导系统可靠性定量分析模型建立方法,其特征在于,它包括如下步骤:

步骤101:准备n个飞行着陆引导系统软件初始失效数据序列d0:(t1,m1)...(ti,mi)...(tn,mn);然后,选择已经存在的飞行着陆引导系统软件可靠性模型,作为boosting算法中的弱学习器模型;设定boosting算法中的学习训练次数t;

步骤102:设定每个失效数据(ti,mi)的初始权重为k(i)=1/n;然后设定初始机器学习的循环次数t=1;

步骤103:当t≤t时,t表示机器学习的循环次数,t表示boosting算法中的学习训练次数,进行如下循环训练学习:

针对选定的boosting算法中的弱学习器模型,在boosting算法的弱学习器模型m中,分别增加t1个不同的机器学习常数参数,t1等于boosting算法中的学习训练次数t,从而共获得t1个新的boosting算法弱学习器模型,将该t1个新的boosting算法弱学习器模型记为mj,j=1,…,t1;将t1个新的boosting算法弱学习器模型,以线性组合的方式组成boosting算法中的强学习器模型mascm,即其中,wj表示第mj个变异模型的权重值;

在第t轮机器学习循环过程中,依据失效数据(ti,mi)的权重值kt(i),对飞行着陆引导系统软件初始失效数据序列d0进行随机抽样,从而产生第t次循环过程中的训练失效数据序列dt;

对于训练失效数据序列dt的每个失效数据,计算每个失效数据的损失函数lt(i),并依据式计算训练失效数据序列的平均损失lt’;同时,依据式βt=lt’/(1-lt’),计算训练失效数据序列在第t次循环过程中的权重更新系数βt;同时,在每一次循环训练学习过程中,更新训练失效数据(ti,mi),i=1,…,n的权重为kt+1(i)=kt(i)/βt,其中kt(i)表示第t次机器学习循环过程中,训练失效数据(ti,mi)的权重值;

依据训练失效数据集dt,借助最大似然估计法,对每个新的boosting算法弱学习器模型mj的参数值进行估计,获得第t次机器学习循环过程中,新的boosting算法弱学习器模型mj,记为j=1,…,t1,第t次机器学习的循环过程中,获得相应的强学习器模型其中,wj(t)表示第t次机器学习的循环过程中,第mj个新的boosting算法弱学习器模型的权重值,从而在每次机器学习的循环过程中,均可以获得不同的强学习器模型mascm(t),完成上述操作后,结束当前循环训练学习,开始下一次循环训练学习,即重新执行步骤103;

步骤104:在每次机器学习循环后,循环次数t的取值都会自动加1,因此,当循环次数t的取值等于t时,停止步骤103中的循环训练学习过程,输出最后一次循环过程中的强学习器模型,即可获得基于boosting算法的飞行着陆引导系统可靠性定量分析模型。

本发明中的boosting算法是一种常见的机器学习算法,其具有将多个弱分类器组合在一起进行学习,最终构成一个强分类器,从而显著提高弱分类器评估和预计性能的特性。boosting算法已经被广泛地应用于回归、分类以及模式识别等研究领域。

本发明提出的基于机器学习的飞行着陆引导系统软件可靠性定量分析模型(ascm模型),可充分挖掘飞行着陆引导系统软件失效数据集中的失效机理,从而有效改进所对应单个备选软件可靠性定量分析模型的拟合性能以及预计性能,而不需要添加任何其它因素及假设。通过本发明的工作,可限制提升现有软件可靠性定量分析模型的评估预计精确度与适用性,对飞行着陆引导系统软件可靠性增长趋势进行准确的刻画和预判,为软件可靠性测试验证等工作决策的制定提供有效支撑。

附图说明

图1所示是本发明建立的软件可靠性定量分析模型与yoo模型在飞行着陆引导系统软件失效数据集上拟合结果比对;

图2所示是本发明建立的软件可靠性定量分析模型与变形s型模型在飞行着陆引导系统软件失效数据集上拟合结果比对;

图3所示是本发明建立的软件可靠性定量分析模型与泛化go模型在飞行着陆引导系统软件失效数据集上拟合结果比对。

图中所述的yoo模型、变形s型模型、泛化go模型均见参考文献:考虑测量工作量与覆盖率的软件可靠性模型,李海峰、王栓奇、刘畅、郑军、李震,软件学报。

具体实施方式

以下结合附图和具体实施例对本发明作进一步的详细说明:

本发明所设计的一种飞行着陆引导系统可靠性定量分析模型建立方法,它包括如下步骤:

步骤101:准备n个飞行着陆引导系统软件初始失效数据序列d0:(t1,m1)...(ti,mi)...(tn,mn);然后,选择已经存在的飞行着陆引导系统软件可靠性模型(例如jm模型,go模型等),作为boosting算法中的弱学习器模型;设定boosting算法中的学习训练次数t(对于软件可靠性建模领域,该次数设置为10~100之间的数值即可);

步骤102:设定每个失效数据(ti,mi)的初始权重为k(i)=1/n;然后设定初始机器学习的循环次数t=1;

步骤103:当t≤t时,t表示机器学习的循环次数,t表示boosting算法中的学习训练次数,进行如下循环训练学习:

针对选定的boosting算法中的弱学习器模型,在boosting算法的弱学习器模型m中,分别增加t1个不同的机器学习常数参数,t1等于boosting算法中的学习训练次数t,从而共获得t1个新的boosting算法弱学习器模型(称之为变异的弱学习器模型),将该t1个新的boosting算法弱学习器模型记为mj,j=1,…,t1;将t1个新的boosting算法弱学习器模型,以线性组合的方式组成boosting算法中的强学习器模型mascm,即其中,wj表示第mj个变异模型的权重值;

在第t轮机器学习循环过程中,依据失效数据(ti,mi)的权重值kt(i),对飞行着陆引导系统软件初始失效数据序列d0进行随机抽样,从而产生第t次循环过程中的训练失效数据序列dt;

对于训练失效数据序列dt的每个失效数据,计算每个失效数据的损失函数lt(i),并依据式计算训练失效数据序列的平均损失lt’;同时,依据式βt=lt’/(1-lt’),计算训练失效数据序列在第t次循环过程中的权重更新系数βt;同时,在每一次循环训练学习过程中,更新训练失效数据(ti,mi),i=1,…,n的权重为kt+1(i)=kt(i)/βt,其中kt(i)表示第t次机器学习循环过程中,训练失效数据(ti,mi)的权重值;

依据训练失效数据集dt,借助最大似然估计法,对每个新的boosting算法弱学习器模型mj的参数值进行估计,获得第t次机器学习循环过程中,新的boosting算法弱学习器模型mj,记为j=1,…,t1,第t次机器学习的循环过程中,获得相应的强学习器模型其中,wj(t)表示第t次机器学习的循环过程中,第mj个新的boosting算法弱学习器模型的权重值,从而在每次机器学习的循环过程中,均可以获得不同的强学习器模型mascm(t),完成上述操作后,结束当前循环训练学习,开始下一次循环训练学习,即重新执行步骤103;

步骤104:在每次机器学习循环后,循环次数t的取值都会自动加1,因此,当循环次数t的取值等于t时,停止步骤103中的循环训练学习过程,输出最后一次循环过程中的强学习器模型,即可获得基于boosting算法的飞行着陆引导系统可靠性定量分析模型。

上述技术方案的步骤101的具体方法为:首先,提供n个飞行着陆引导系统软件的初始失效数据序列d0,记为(t1,m1)...(ti,mi)...(tn,mn),其中n表示d0的数据量,mi表示在ti时刻探测到的累积失效数,i=1...n;

然后,令m=u(x1…xk…xs,s)表示已经存在的飞行着陆引导系统软件可靠性模型的形式,其中,m(s)表示在s时刻探测到的累积失效数,s表示m中的参数个数,xk表示m的第k个参数,k=1...s,u表示函数体;

最后,设置boosting算法中的学习训练次数t。

上述技术方案的步骤103中,针对选定的boosting算法中的弱学习器模型,在boosting算法的弱学习器模型m中,分别增加t1个不同的机器学习常数参数,t1等于boosting算法中的学习训练次数t,从而共获得t1个新的boosting算法弱学习器模型的具体方法为:

为boosting算法的弱学习器模型m分别添加t1个不同的机器学习常数参数cj(j=1,…,t1),从而获得t1个不同的属于m的t1个新的boosting算法弱学习器模型mj(j=1,…,t1),其中,t1等于机器学习的训练次数t,如下式所示:

mj=u(x1j…xkj…xsj,s)-cj

其中,j=1...t1,xkj是mj的第k个参数,cj是属于mj的机器学习常数参数,mj(s)表示第j个新的boosting算法弱学习器模型在s时刻探测到的累积失效数;

同时,将初始失效数据集d0的权重集设置为k0={k01...k0n},置k0j取值为1/n。

上述技术方案的步骤103中,

在第t轮训练学习过程中,依据飞行着陆引导系统软件的训练失效数据dt(t=1...t),借助最大似然法,评估第t轮中每个变异模型mj(t)(j=1,…,t1)的参数值,其中,训练失效数据集dt(t=1...t)是根据第t轮其所对应的权重集kt={kt1…kti…ktn},对初始失效数据集d0采用重复随机抽样算法产生的;

对于训练失效数据序列dt的每个失效数据,计算每个失效数据的损失函数lt(i),并依据式计算训练失效数据序列的平均损失lt’;同时,依据式βt=lt’/(1-lt’),计算训练失效数据序列在第t次循环过程中的权重更新系数βt;同时,在每一次循环训练学习过程中,更新训练失效数据(ti,mi)(i=1,…,n)的权重为kt+1(i)=kt(i)/βt,其中kt(i)表示第t轮机器学习循环过程中,训练失效数据(ti,mi)的权重值;

如果令表示mj(t)的估计形式,那么mj(t)的损失函数lj(t)可以由在训练失效数据集dt上的拟合结果计算得到,最后,mj(t)的权重系数θi也可由lj(t)计算得到。

上述技术方案的步骤103中,对于训练失效数据序列dt的每个失效数据,计算每个失效数据的损失函数lt(i)采用如下公式:

其中,表示损失函数的计算量,kt(i)表示第t轮机器学习循环过程中,训练失效数据(ti,mi)的权重值,通常可以由如下三种形式的等式计算:

线性公式:

平方公式:

指数公式:

其中

上述技术方案的步骤103中,mj(t)的权重系数θi的计算方法为:θj=lj(t)/(1-lj(t))

然后,对由所有变异模型mj(t)进行计算,输出第t轮循环过程中的强学习模型(ascm,adaboostingsoftwarecombinationmodel)如下:

其中,每个变异模型mj(t)的组合权重wj为权重系数θj的函数,如下式所示:

上述技术方案的步骤104中,输出最后一次循环过程中的强学习器模型,最终获得基于boosting算法的飞行着陆引导系统可靠性定量分析模型mascm(t)为:

表示获得第t次机器学习循环过程中,新的boosting算法弱学习器模型,wj(t)表示第t次机器学习的循环过程中,第mj个新的boosting算法弱学习器模型的权重值。

本发明将boosting算法应用于软件可靠性定量分析模型,首先针对同一个备选模型产生若干个变异模型,然后利用boosting算法在失效数据集上对这些变异模型分别进行训练并动态赋予权重值,最终获得一个由多个变异模型组成的线性组合软件可靠性增长模型(ascm)。ascm模型可针对飞行着陆引导系统软件的失效数据集进行训练学习,充分挖掘失效数据集中蕴含的飞行着陆引导系统软件失效机理,从而有效改进单个备选可靠性定量分析模型对可靠性参数的拟合性能以及预计性能,而不需要增加任何其它因素及假设。本发明提出的基于机器学习的软件可靠性定量分析模型,可显著提升飞行着陆引导系统软件可靠性定量分析工作的效率和质量,确保定量分析模型的评估预计结果的准确性和精度满足指标要求,保障软件可靠性水平满足飞行着陆引导系统研制要求。

本发明提出的基于boosting算法的飞行着陆引导系统软件可靠性定量分析模型针对同一个备选模型产生若干个变异模型,然后利用boosting算法在失效数据集上对这些变异模型分别进行训练并动态赋予权重值,充分挖掘失效数据集中蕴含的飞行着陆引导系统软件失效机理。因此,可有效改进现有备选模型的拟合性能,提升软件可靠性评估质量和效率。

本发明的本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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