基于灰色广义回归神经网络的小样本软件可靠性预计方法

文档序号:6339700阅读:984来源:国知局
专利名称:基于灰色广义回归神经网络的小样本软件可靠性预计方法
技术领域
本发明涉及一种软件可靠性测试中的软件可靠性预计方法,具体涉及一种基于灰 色广义回归神经网络的小样本软件可靠性预计方法,属于软件可靠性预计技术领域。
背景技术
随着计算机技术的飞速发展,人们对计算机软件的依赖性日益增强,对软件的可 靠性要求也越来越高。软件可靠性预计面临着要对可靠性要求高、测试数据个数少的软件 进行预计建模的问题。此外,如果要在软件可靠性测试的早期进行软件可靠性预计也存在 数据个数少,难以满足传统预计方法对样本容量要求的问题。若按照传统的方法,等到测试 的后期收集到足够的数据后再进行软件可靠性预计的建模,则等待的时间会难以承受,同 时也存在着用于预计的样本数据个数少的风险。软件可靠性预计方法的研究主要指的是对软件可靠性增长模型的研究,是利用软 件可靠性增长测试中获得的失效数据来对软件可靠性进行估计和预计的模型。传统的软件 可靠性增长模型的建模思路是首先对软件的失效模式或行为进行一定的假设,然后在这 些假设的基础上运用统计理论建立数学模型。在这些模型中包含了模型参数的显式定义, 而这些模型参数往往具有明确的物理意义。最后,用这一模型来拟合失效数据曲线,从而确 定模型参数,获得软件可靠性的估计并进行预计。目前,软件可靠性预计建模普遍存在的难以解决的问题是不少软件可靠性增长 模型对某些失效数据能给出较好的预计结果,但对另一些失效数据给出的预计结果却差强 人意,这称为软件可靠性模型研究中的不一致性问题,它严重地阻碍了软件可靠性技术的 推广。造成这一问题的原因主要是建立模型时提出的假设可能与实际不符。此外,这种软件可靠性建模方法仅依赖于软件失效数据,对软件信息的挖掘不够 全面,导致了预计的准确度不足。因此,如何综合考虑软件可靠性测试得到的失效数据和软 件交付确认之前的一些历史信息,如程序员的技能、测试努力度、测试覆盖率和程序规格说 明书的改动频率等来建立综合模型,力图全面考虑影响软件可靠性的各种信息进行软件可 靠性的建模与评估成为一种新的思路。然而这些信息或因素通常相互之间高度相关且与可 靠性呈非线性关系。这就使得现存的基于相互独立性和线性的统计建模方法在对这些数据 建模时具有很大的局限性。因此,能够处理多种因素且能够在理论上以任意精度逼近任意非线性映射的神经 网络建模方法近年来吸弓I 了人们的注意并取得了 一些研究成果。人工神经网络作为一种模仿人脑神经网络行为特征进行分布式并行信息处理的 算法数学模型,能够从已知的数据中通过调整网络内部大量结点之间的相互连接关系来学 习和提取这些数据中的内在规律,具有很强的非线性映射能力。人工神经网络具有以下几 个突出优点1.高度的并行性;2.高度的非线性全局作用;3.良好的容错性和联想记忆功 能;4.十分强的自适应、自学习功能。广义回归神经网络(GeneralRegression Neural Network,简称 GRNN)是由 TheLockheedPalo Alto研究实验室的Donald Specht在1991年提出的,是概率神经网络的一 种拓展形式。广义回归神经网络建立在数理统计基础之上,能够根据样本数据逼近其中隐 含的映射关系,即使样本数据稀少,网络的输出结果也能够收敛于最优回归表面,而且网络 的学习算法简单,在结构方面也具有高度的并行性。广义回归神经网络作为径向基函数神经网络(Radius Basic Function Neural Network,简称RBFNN)的一种改进形式,相比于目前广泛使用的反向传播神经网络(Back PropagationNeural Network,简称BPNN)具有收敛速度快以及不易陷入局部极小等优点。 此外,相比于普通的RBFNN,GRNN还具有更强的非线性映射逼近能力和学习速度、柔性网络 结构以及高度的容错性和鲁棒性,并且在样本数据较少时,预计效果也比较好,还可以处理 不稳定的数据。人工神经网络其实是一种“黑盒”方法,它相对于传统方法的优点在于建模时对被 建模对象的经验知识要求不多,一般不必事先知道有关被建模对象的结构、参数和动态特 性等方面的知识,只需给出对象的输入/输出数据,通过网络本身的学习功能就可以得到 输入与输出的映射关系。然而,与基于统计理论的软件可靠性建模一样,基于神经网络的软件可靠性建模 需要一定数量的样本数据,当样本的容量很少时,难以建立可用的模型,预计的精度可能会 很差。灰色系统理论是我国著名学者邓聚龙教授于上世纪八十年代创立,以部分信息已 知,部分信息未知的小样本、贫信息且不确定性的系统为研究对象,主要通过对部分已知信 息的重新生成、开发、分析等手段,从中提取有价值或规律性的信息,实现对系统运行规律 的正确描述和有效控制。其主要的研究内容包括灰色系统分析、建模、预计、决策和控制,它 把一般系统论、信息论、控制论的观点和方法延伸到社会、经济、生态等抽象系统,结合运用 数学方法,发展了一套解决信息不完备系统即灰色系统的理论和方法,形成了完整的理论 体系。设有原始数据序列X(°) = [x(0)(l),x(0) (2),x(0) (3),…,X(°)(n)],其中符号^)(10 表示属于序列X(i)的第k个元素,定义级比σ (k) = x(0)(k-l)/x(0)(k)一个η维的数据序列,其级比覆盖范围是σ(”ε (/点<点),如果级比序列超出覆
盖范围较大,则应该对原数据作变换处理,使其变换后的序列的级比落于可容覆盖,常用的 变换处理有平移变换、对数变换、方根变换。灰色理论认为,一组符合级比覆盖条件的客观数据尽管表现出随机、离散的表象, 但是经过适当的方式挖掘其内在规律,一定能够弱化随机性,增强规律性。灰色累加生成操
作(AGO)就是这样一种处理方式。若χ(υ㈨=1,2,…,η,
w=l则称Χω = [χω(1),χω (2),χω (3)···, χ(1) (η)]为原始序列 Χ(°)的 1 次 AGO 生成 序列(将原始序列X(°)的r次AGO生成序列记为Χω)。反之,由Χω得到Χ(°)的过程称为 IAGO0灰色系统理论预计建模的步骤如下对灰生成序列Χω建立灰色预测模型GM(1,1)的一阶微分白化方程
5
参数
dx
O)
dk
■ + α·χ(ι) = u
模型中的参数_a为发展系数,u为灰色作用量,运用最小二乘法辨识方程的模型
a =
a
u
=(BT By1Bryi
N
其中,B和yN的计算公式为
f ι、
-^(X0)(l)fX ⑴⑵) B =
\)/ 3 Vv
X >
2
Vv
K
1 I 2
I
-Ux^Xn-\yX ))
V 丄 yN= [x(0) (2), (3), ...,xw(n)]
(0)
(0)
-阶微分白化方程的解为 ^(^ + 1) = (^(1)--)^+-
a
a 该解也被称为时间响应函数,则由该时间响应函数计算得 到的i(1〕(l),f(1)(2),...,f(1)(…称为模型计算值或拟合值。最后作还原
史。0+1) =1(1 饫+ IF 1 饫,众=1,2,‘","得到的#°力),:^(2),
(…即为模型预测值。 为了解决样本容量不足的问题,需要充分利用小样本数据所提供的信息。目前, 解决小样本问题的常用方法有贝叶斯(Bayes)方法和重抽样(Resampling)方法。Bayes 方法由于能够融合历史信息、专家经验等先验信息,近年来得到了广泛的应用,但是其先 验信息来源各异,分布形式的选择也带有很大的主观性,所以常常引起争议。重抽样方法 通过从原样本中重复抽样以扩充样本容量,充分挖掘原样本数据本身的信息,在一定程度 上解决了在实际中无法获得大量样本的问题。在重抽样方法中,目前最受人们关注的是 自助法(Bootstrap)。Bootstrap方法是由美国统计学家Efron于参考文献[1] (Efron B.Bootstrap Methods :Another Look at the Jackknife[J]. The Annals of Statistics, 1979,7(1) :1- .)中首次系统地提出的一种非参数统计方法。20世纪80年代以来,该方法 在理论和应用研究方面得到了不断发展,被广泛应用在医学、军事、金融、经济学等领域,进 行区间估计、假设检验、参数估计、统计量检验。Bootstrap方法是在原有样本的基础上,通 过重抽样生成自助样本来估计未知分布的某种统计量的统计特征。Bootstrap方法不需要 对总体的分布作出假定,直接利用原有样本的信息,因而是一种相当具有说服力的方法,。 但是,有研究也表明Bootstrap方法在小样本情况下的运用存在一定的局限性。例如在参 考文献[2](段晓君,王正明.小子样下的Bootstrap方法[J].弹道学报,2003,15 (3))中 指出大子样下Bootstrap方法的优势很明显,但小子样下Bootstrap方法逼近真实分布的 偏差是不能忽略的。产生这一问题的原因是Bootstrap方法本质上是根据原有样本的经验 分布函数来进行重抽样的,在大样本情况下样本经验分布函数与总体分布函数之间的差异 不明显,但是在小样本情况下它们之间的差异在统计意义上是不可忽略的,此时根据小样
6本的经验分布函数进行的重抽样产生的自助样本相对比较集中,其随机性不能满足统计学 的要求。针对Bootstrap方法在小样本情况下重抽样产生自助样本方面的不合理之处,参 考文献[3](樊磊,Lei FAN.基于自助法的无失效小样本可靠性评估[J].微计算机信息, 2008,24 (33))中提出了先采用参数估计方法,根据原始数据样本构造其所服从的分布,例 如Weibull分布、正态分布等,代替经验分布函数,然后再根据所构造的分布来构造自助样 本;参考文献[4](黄玮,冯蕴雯,吕震宙等.基于Bootstrap方法的小子样试验评估方法研 究[J].机械科学与技术,2006,25(1))研究了使用指数分布函数、Boltzmarm函数和三次多 项式函数拟合修正样本经验分布函数的可行性,并讨论用修正的样本经验分布函数替换传 统Bootstrap方法中的经验分布函数,提出了基于Bootstrap方法的小子样试验评估方法。 然而参考文献[3]和参考文献[4]在解决Bootstrap方法在小样本情况下重抽样产生自助 样本方面不合理的问题的同时,都对总体的分布进行了人为的假设,丢失了部分先验信息, 从而给所建模型带来了系统误差,失去了 Bootstrap方法因不需要对总体作假设所带来的 说服力较强的优势。

发明内容
本发明的目的是为了解决传统软件可靠性预计方法在小样本情况下建立的预计 模型的预计精度低甚至无法建立可用的模型的问题,在汲取灰色系统理论和广义回归神经 网络各自处理信息以及进行预计的优点的基础上,在模型中加入测试覆盖率信息并采用改 进的Bootstrap方法对小样本数据进行扩充,达到在小样本条件下对软件可靠性进行较高 精度的建模和预计的效果,形成了小样本数据下考虑测试覆盖率的基于灰色广义回归神经 网络的软件可靠性预计方法。本发明提出了一种改进的Bootstrap方法,首先采用概率图法获得总体的分布的 信息。概率图法只需要判断分位点轨迹偏离线性度的程度,不会对观测数据造成信息丢失。 然后用最小二乘方法拟合确定样本的概率分布函数来修正样本经验分布函数,以此在不对 总体的分布进行人为假设的前提下,解决Bootstrap方法在小样本情况下重抽样产生自助 样本方面不合理的问题;最后构造失效时间-不可靠度曲线和测试覆盖率-不可靠度曲线 从而将测试覆盖率整合到预计模型中。本发明的基于灰色广义回归神经网络的小样本软件可靠性预计方法,包括以下几 个步骤步骤一收集测试数据;通过软件可靠性增长测试,收集测试数据{Ο,, ,ΛΟ}:,、为失效时间,Ci为测试 覆盖率,Ni为累计失效数,i = 1,…,N,N为收集到的测试数据的数目;步骤二 确定失效时间数据和测试覆盖率数据的分布;将测试数据中的失效时间和测试覆盖率分别看作一维随机序列,首先用概率图法 确定各一维随机序列的概率分布类型,确定概率分布类型后,使用最小二乘法确定各一维 随机序列各自所服从分布的分布参数;步骤三使用改进Bootstrap方法扩充数据;根据步骤二所获得的失效时间和测试覆盖率各自所服从的具体的概率分布,随机 抽样产生与原数据具有相同统计规律的仿真失效时间数据和仿真测试覆盖率数据,仿真失
7效时间数据和仿真测试覆盖率数据分别与原始的失效时间和测试覆盖率数据合并后获得 扩充失效时间数据和扩充测试覆盖率数据,扩充后失效时间数据为 “…石/,扩充后测试覆 盖率数据为Q,…,4,其中M为扩充后样本容量,M彡N,K^1 e{?,[CM1 [{φ二,然后, 采用经验分布函数的方法构造扩充的失效时间-不可靠度曲线和扩充的测试覆盖率-不可 靠度曲线,最后,根据这两条曲线,先将不可靠度乘以总的累计失效数转化为对应的累计失 效数,得到扩充的累计失效数数据{&.}=,构造扩充的失效时间、测试覆盖率和累计失效数 的三维曲线,三维曲线上的数据点集{( ,Χ)二即为扩充的测试数据;步骤四使用灰色预测模型GM(1,1)对数据进行处理;使用灰色预测模型GM(1,1)对步骤三所得的扩充的累计失效数进行处理,获得累 计失效数数据的灰色模型预计序列次,…,次,,得到规律的扩充测试数据饭义,及)}=;步骤五建立广义回归人工神经网络;首先确定网络的输入和输出,将失效时间、和测试覆盖率Ci作为网络的输入向 量,相应的累计失效数Ni作为目标向量,建立2个输入单元、一个输出单元的广义回归神经 网络,根据经验确定网络的初始参数值;步骤六训练广义回归神经网络;使用规律的扩充测试数据{(ξ )}=对所建立的神经网络进行训练,输入向量 集合为饭, )) 二,相应的目标向量集合为{(茂)} 二,将输入向量和目标向量进行归一化处 理,然后输入网络对其进行训练,采用留一交叉验证法训练神经网络,共需进行M轮训练;步骤七利用训练好的神经网络进行预计;将需要预计的点处的失效时间、和测试覆盖率Ctl作为输入向量输入网络,网络输 出值Ntl即为对应的累计失效数的预计值。本发明的优点在于(1)本发明方法在软件可靠性预计模型中加入测试覆盖率信息使得预计模型更加
合理;(2)本发明方法不需要建立描述失效时间、测试覆盖率和累计失效数之间复杂关 系的物理模型,避免了建立物理模型的困难;(3)本发明方法不必对系统的失效行为预先作简化假设,避免了系统误差的引 入;(4)本发明方法不需要求解复杂多元似然方程组; (5)本发明方法解决了在小样本条件下难以建立有效而精确的软件可靠性预计模 型的难题;(6)与普通的软件可靠性预计方法相比,显著提高了预计精度。


图1为本发明的流程图;图2为失效时间数据六种分布类型概率图的对比图;图3为块测试覆盖率数据六种分布类型概率图的对比图;图4为分支测试覆盖率数据六种分布类型概率图的对比图5为c-use覆盖率数据六种分布类型概率图的对比图;图6为p-use覆盖率数据六种分布类型概率图的对比图;图7为扩充的失效时间-不可靠度曲线;图8为扩充的测试覆盖率-不可靠度曲线;图9为扩充的失效时间、测试覆盖率和累计失效数的三维曲线;图10为灰色预测模型的预测结果;图11为本发明实施例的预计结果。
具体实施例方式下面将结合附图和实施例对本发明作进一步的详细说明。无论是基于统计理论还是基于神经网络的预计模型,其主要思想都是通过对已知 数据的分析,找到数据内在的相互依赖关系,从而获得对未知数据的预计能力。但是传统的 统计学都是立足于样本数目足够多的前提下,所提出的各种预计方法只有在样本数趋于无 穷大时其性能才有理论上的保证,因此其准确性与用于建模的样本数据的容量有较大的关 系。对于神经网络模型也是如此,当模型的输入与输出之间的关系比较复杂时,如果缺乏用 于训练的样本数据,那么神经网络没有得到充分训练,很可能使得神经网络不能很好地掌 握数据的规律,从而无法进行有效而精确的预计。然而在多数实际情况中,样本数目通常都 是有限的,甚至很少,这样很多方法都难以取得理想的效果。本发明提出的基于灰色广义回归神经网络的软件可靠性预计方法是一种非参数 方法,该方法考虑测试覆盖率信息使得预计模型更加合理;使用神经网络进行建模,利用人 工神经网络可以通过对已有数据的学习这一归纳过程使网络获得数据序列的内在规律以 及各影响因素与数据序列之间的联系并能够重建任意的非线性连续映射的特性,从而不必 对系统的失效行为预先作简化假设,避免了系统误差的引入,也不需要建立描述失效时间、 测试覆盖率和累计失效数之间复杂关系的物理模型,不需要求解复杂的多元似然方程组。 此外,为了解决小样本问题,该方法从小样本数据本身出发,使用改进的Bootstrap方法仿 真获得与小样本可靠性数据具有相同失效统计规律的扩充可靠性数据。利用灰色预测模型 GM(1,1)所需样本数少、无须考虑其分布规律及变化趋势的特点处理所得的扩充可靠性数 据,增强数据的规律性。然后再使用增强了规律性的扩充可靠性数据训练在不稳定小样本 情况下也能有较好效果的广义回归神经网络,通过人工神经网络的自学习获得样本数据的 内在规律,得到预计模型,使得在小样本情形下也可以进行高精度的软件可靠性预计。假设对软件进行软件可靠性增长测试,收集到的测试数据为{( ,#,),其中每 一项数据为一个三元组(^,Ci5Ni),! = 1,…,N,而、为失效时间,Ci为测试覆盖率,Ni为 累计失效数,N为收集到的测试数据的数目。本发明方法要解决的问题就是当数据样本容 量N较小时,通过融合改进的Bootstrap方法和灰色系统理论在广义回归神经网络的基础 上利用失效数据和测试覆盖率信息建立可用的软件可靠性预计模型,并达到较高的预计精 度。本发明是一种基于灰色广义回归神经网络的小样本软件可靠性预计方法,流程如 图1所示,包括以下几个步骤步骤一收集测试数据。
通过软件可靠性增长测试,收集测试数据{(/,, ,AQ^1,ti为失效时间,Ci为测试 覆盖率,Ni为累计失效数,i = 1,…,N,N为收集到的测试数据的数目。步骤二 确定失效时间数据和测试覆盖率数据的分布。将测试数据中的失效时间和测试覆盖率分别看作一维随机序列,这一步就是要确 定所得的一维随机序列各自所服从的分布。确定随机序列的分布包括确定该随机序列的分 布类型和在此基础上确定该分布的分布参数两部分内容。首先用概率图法确定各随机序列 的概率分布类型。概率图法只需要判断分位点轨迹偏离线性度的程度,不会对测试数据造 成信息丢失。确定分布类型后,使用最小二乘法确定各序列各自所服从分布的分布参数。步骤三使用改进的Bootstrap方法扩充数据。要扩充测试数据,需要增加一些仿真的测试数据到原始测试数据中。但是,对于一 个软件来说,通常其一个失效对应着一个测试数据,而累计失效数的取值只能是离散的正 整数值,所以当这个软件的总的累计失效数很少时,收集到的测试数据也必然不多。因此, 要扩充测试数据,首先要把只能离散取值的累计失效数转化为可以连续取值的不可靠度。 扩充测试数据之后,再将不可靠度转换为累计失效数。此时累计失效数可能会出现取小数 的情况,但是由不可靠度的定义可知,此时的累计失效数指的是多个软件同时进行测试时 的累计失效数的平均值,所以出现取非整数值的累计失效数也是合理的。本发明中,对于失效时间数据,在这一步所求的问题为根据失效时间数据求不可 靠度随失效时间的变化曲线。为此,构造概型为令M个相同的软件同时进行软件可靠性测 试,每一个软件的失效行为都与实际进行测试的软件的失效行为相同。那么,根据经验分布 的方法(即不可靠度函数的定义),到时刻t时发生失效的软件个数与M的比值即为此时的 不可靠度,由此就可以得到不可靠度随失效时间的变化曲线,将其定义为样本统计量。对于 测试覆盖率数据,原理是一样的。具体步骤如下根据步骤二中所获得的失效时间和测试覆盖率各自所服从的具体的概率分布,随 机抽样产生与原数据具有相同统计规律的仿真失效时间数据和仿真测试覆盖率数据,与原 始的失效时间和测试覆盖率数据合并后获得扩充失效时间数据和扩充测试覆盖率数据,扩 充后失效时间数据为 ν··, Μ,扩充后测试覆盖率数据为…,Pm,其中M为扩充后样本容 量,Μ彡Md^G^ded。然后,采用经验分布函数的方法构造扩充的失效时 间-不可靠度曲线和扩充的测试覆盖率-不可靠度曲线。最后,根据这两条曲线,先将不可 靠度乘以总的累计失效数转化为对应的累计失效数,得到扩充的累计失效数数据{&.}=,即 可构造扩充的失效时间、测试覆盖率和累计失效数的三维曲线,在这条曲线上的数据点集 {(《,4次)} 二即为扩充的测试数据。步骤四使用灰色预测模型GM(1,1)对数据进行处理。为了利用灰色系统理论处理小样本数据的优势,并增强数据的规律性以提高神经 网络的收敛速度和预计精度,使用灰色预测模型GM(1,1)对步骤三所得的扩充的累计失效 数数据进行处理,获得累计失效数数据的预计序列次,…,》M。那么就可以得到规律的扩充 测试数据{( )} 二。步骤五建立广义回归人工神经网络。首先确定网络的输入和输出。将失效时间、和测试覆盖率Ci作为网络的输入向量,相应的累计失效数Ni作为目标向量,建立2个输入单元、1个输出单元的广义回归神 经网络,根据经验确定网络的初始参数值(在训练网络时,要根据需要调整网络参数的值, 一般网络的初始参数值取默认初始值即可,例如GRNN的网络参数SPREAD的初始值可取为 0. 01)。步骤六训练广义回归神经网络。使用规律的扩充测试数据{(〈 .)}=对所建立的神经网络进行训练。此时,输 入向量集合为{(ζ,ζ)}二,相应的目标向量集合为{(次)}二。为了剔除训练样本中的奇异值, 加快网络的收敛速度,将输入向量和目标向量进行归一化处理,然后输入网络对其进行训 练。广义回归神经网络只有一个网络参数SPREAD(扩展速度),为了使网络更好地学习数 据的映射规律,采用留一交叉验证(Leave-One-Out Cross Validation)法训练网络,共需 进行M轮训练。首先在每一轮的交叉训练过程中用循环的方法根据训练中网络收敛速度和 误差精度要求,在经验解空间中不断调整网络参数SPREAD的值,直到得到最优效果的神经 网络,即此时网络在验证数据集上的预测值与期望值之间的均方误差达到最小。然后,在这 M轮交叉训练所得的M个神经网络中选取在验证数据集上的预测值与期望值之间的均方误 差最小的网络作为这一步所得到的最优网络。最后,判断此最优网络是否达到预期的预测 精度要求(例如,在验证数据集上的预测值与期望值之间的相对误差小于5% ),若达到预 期的精度要求则将此最优网络作为训练好的神经网络;否则,需要调整神经网络的结构或 参数经验解空间的范围并重新建立和训练神经网络。步骤七利用训练好的神经网络进行预计。将需要预计的点处的失效时间、和测试覆盖率Ctl作为输入向量输入网络,网络输 出值Ntl即为对应的累计失效数的预计值。实施例实施例的数据来源于公开发表的由NASA资助的惯性制导系统中传感器管理项目 中收集的两个数据集。每个数据集中每个数据项由执行测试用例数、累计失效数和四种覆 盖率测度(即块测试覆盖率、分支测试覆盖率、c-use覆盖率和p-use覆盖率)组成。其中 数据集1如表1所示表1测试数据统计表
权利要求
1.基于灰色广义回归神经网络的小样本软件可靠性预计方法,其特征在于,包括以下 几个步骤步骤一收集测试数据;通过软件可靠性增长测试,收集测试数据{(X,C,,TV,)}:,ti为失效时间,Ci为测试覆盖 率,Ni为累计失效数,i = 1,…,N,N为收集到的测试数据的数目;步骤二 确定失效时间数据和测试覆盖率数据的分布;将测试数据中的失效时间和测试覆盖率分别看作一维随机序列,首先用概率图法确定 各一维随机序列的概率分布类型,确定概率分布类型后,使用最小二乘法确定各一维随机 序列各自所服从分布的分布参数;步骤三使用改进的Bootstrap方法扩充数据;根据步骤二所获得的失效时间和测试覆盖率各自所服从的具体的概率分布,随机抽样 产生与原数据具有相同统计规律的仿真失效时间数据和仿真测试覆盖率数据,仿真失效时 间数据和仿真测试覆盖率数据分别与原始的失效时间和测试覆盖率数据合并后获得扩充 失效时间数据和扩充测试覆盖率数据,扩充后失效时间数据为 ν.·,;^,扩充后测试覆盖率 数据为 ;,··./:,其中M为扩充后样本容量,M彡N,K^1 e{?,{C,}= [{ζ}二,然后,采用 经验分布函数的方法构造扩充的失效时间-不可靠度曲线和扩充的测试覆盖率-不可靠 度曲线,最后,根据这两条曲线,先将不可靠度乘以总的累计失效数转化为对应的累计失效 数,得到扩充的累计失效数数据{&.}=,构造扩充的失效时间、测试覆盖率和累计失效数的 三维曲线,三维曲线上的数据点集{(ζ,ζ.,7^}二即为扩充的测试数据;步骤四使用灰色预测模型GM(1,1)对数据进行处理;使用灰色预测模型GM(1,1)对步骤三所得的扩充的累计失效数数据进行处理,获得累 计失效数数据的灰色模型预计序列及,...,》M,得到规律的扩充测试数据{¢.,ζ,及)}=;步骤五建立广义回归人工神经网络;首先确定网络的输入和输出,将失效时间、和测试覆盖率Ci作为网络的输入向量,相 应的累计失效数Ni作为目标向量,建立2个输入单元、1个输出单元的广义回归神经网络, 根据经验确定网络的初始参数值;步骤六训练广义回归神经网络;使用规律的扩充测试数据{(ξ,ζ,对所建立的神经网络进行训练,输入向量集合 为械力,)}丨i,相应的目标向量集合为(W)}二,将输入向量和目标向量进行归一化处理,然 后输入网络对其进行训练,采用留一交叉验证法训练神经网络,共需进行M轮训练;步骤七利用训练好的神经网络进行预计;将需要预计的点处的失效时间、和测试覆盖率Ctl作为输入向量输入网络,网络输出值 N0即为对应的累计失效数的预计值。
2.根据权利要求1所述的基于灰色广义回归神经网络的小样本软件可靠性预计方法, 其特征在于,所述的步骤六中,神经网络的初始参数值为默认初始值。
3.根据权利要求1所述的基于灰色广义回归神经网络的小样本软件可靠性预计方法,其特征在于,所述的步骤六中留一交叉验证法训练神经网络具体为,首先在每一轮的交叉训练过程中用循环的方法根据训练中网络收敛速度和误差精度要求,在经验解空间中不断调整网络参数扩展速度的值,直到得到最优效果的神经网络,即此时网络在验证数据集上 的预测值与期望值之间的均方误差逼近于0 ;然后,M轮交叉训练所得的M个神经网络中选 取在验证数据集上的预测值与期望值之间的均方误差最小的网络作为所得到的最优网络; 最后,判断此最优网络是否达到预期的预测精度要求,若达到预期的精度要求则将此最优 网络作为训练好的神经网络;否则,需要调整神经网络的结构或参数经验解空间的范围并 重新建立和训练神经网络。
全文摘要
本发明公开了一种基于灰色广义回归神经网络的小样本软件可靠性预计方法,首先对收集的小样本软件可靠性测试数据中的失效时间数据和测试覆盖率数据分别使用改进的Bootstrap方法进行仿真、扩充,形成与小样本可靠性数据具有相同失效统计规律的扩充可靠性数据;然后得到扩充可靠性数据的失效时间、测试覆盖率和不可靠度的三维曲线;建立灰色广义回归神经网络;采用扩充的可靠性数据对灰色广义回归神经网络进行训练,建立小样本软件可靠性预计模型;最后使用该模型进行预测,获得软件可靠性预计信息。该方法避免了复杂多元似然方程的求解,解决了软件可靠性预计中人工神经网络建模需要大量样本进行训练才能得到可用的预测模型的问题。
文档编号G06N3/00GK102073586SQ20101060245
公开日2011年5月25日 申请日期2010年12月23日 优先权日2010年12月23日
发明者吴玉美, 杨日盛, 陆民燕 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1