一种基于改进RBF神经网络的软件质量预测方法及系统与流程

文档序号:33643039发布日期:2023-03-29 02:39阅读:174来源:国知局
一种基于改进RBF神经网络的软件质量预测方法及系统与流程
一种基于改进rbf神经网络的软件质量预测方法及系统
技术领域
1.本发明涉及一种基于改进rbf神经网络的软件质量预测方法及系统,属于软件质量预测技术领域。


背景技术:

2.随着信息技术的高速发展,以及计算机系统的广泛应用,软件系统在商业、政治、军事等方面占据了重要作用。由于社会各方面对软件的需求急剧上升,软件系统的规模不断增大,复杂度不断提高,开发过程也随之越来越难以控制,而且软件失效所带来的损失也愈加严重,软件质量预测系统在这种情况下应运而生。这一系统能提前评估软件质量,在软件开发的早期发现有失效倾向的模块,从而指导测试资源的合理分配和项目重点监控,对降低软件测试维护成本,提高系统可靠性具有重要意义。
3.软件质量预测主要结合软件质量度量指标和历史数据,通过各种算法和模型,建立软件特征与软件质量之间的非线性关系,对软件的质量进行预测。软件质量度量数据都是来自类似的软件开发项目的历史数据,软件度量指标是这些数据的属性,历史数据就是属性所对应的值,为了保证软件质量预测的准确率,通常需要考虑许多软件度量指标,使得收集到的软件原始样本数据维度过高,具有大量的冗余和非相关特征,影响训练的效率和预测准确率。其次,不同企业实际情况也有所差异,有的企业历史数据较多,有的则刚成立,历史样本数据较少,训练出来的模型泛化能力较差。最后,采用不同的预测算法,也会影响预测模型的性能质量。
4.现有技术中一种软件质量预测方法,提出的软件质量预测模型,主要通过改进演化算法属性选择方法,将软件历史数据划分为高纯度聚类数据和低纯度聚类数据,针对两类数据的性质对数据进行不同的处理,预测软件的质量。由于软件度量属性较多,且数据结果较为复杂,存在大量冗余和非特征信息,该现有技术并没有提出一种较好的方法对数据进行处理,会影响预测的效果,同时,采用cnn-lstm算法其训练速度较慢,对数据要求较高,影响模型的性能。
5.现有技术中一种基于特征频度数据挖掘的软件质量预测方法,提出的基于特征频度数据挖掘的软件质量预测方法,主要基于软件变更模块数据,进行分析预测,数据较为简单,影响软件质量的因素较多,预测的结果可信度较低。
6.因此,本领域技术人员急需要解决现有技术中关于软件质量预测中存在的技术问题。


技术实现要素:

7.目的:为了克服现有技术中存在的不足,本发明提供一种基于改进rbf神经网络的软件质量预测方法及系统。
8.技术方案:为解决上述技术问题,本发明采用的技术方案为:
9.第一方面,一种基于改进rbf神经网络的软件质量预测方法,包括如下步骤:
10.步骤1:获取软件原始样本数据,采用cgan对软件原始样本数据进行扩展,得到处理后的软件新样本。
11.步骤2:对处理后的软件新样本采用lle-pca算法进行降维处理,得到降维后的软件新样本。
12.步骤3:采用改进后的粒子群算法优化软件质量预测模型的参数,获得优化后的软件质量预测模型。
13.步骤4:利用降维后的软件新样本输入优化后的软件质量预测模型,输出软件质量。
14.作为优选方案,所述软件原始样本数据包括软件度量属性对应的数据,软件度量属性至少包括:软件模块数、软件规模、代码行数、测试问题数。
15.作为优选方案,所述cgan包括:生成器模型g,参数为θg和判别器模型d,参数为θd,所述步骤1,具体步骤如下:
16.步骤1.1:获取软件原始样本数据作为真实样本p
data
(
x
),软件原始样本数据对应的软件度量属性作为条件变量y。
17.步骤1.2:将随机的噪声数据pz(z)结合条件变量y作为生成器模型g的输入,生成器模型g生成带有标签的随机样本g(z|y),随机样本g(z|y)表示与软件度量属性相应的软件原始样本数据。
18.步骤1.3:将软件原始样本数据作为真实样本p
data
(
x
)结合条件变量y作为判别器模型d的输入,判别器模型d生成真实样本数据的判别d(x|y)。
19.步骤1.4:将带有标签的随机样本g(z|y)作为判别器模型d的输入,判别器模型d生成样本的判别d(g((z|y)))。
20.步骤1.5:计算cgan损失值,根据cgan损失值更新参数θg、θd,直到迭代结束,生成更新后的cgan。用于提高cgan生成能力和判别能力。
21.步骤1.6:将真实样本p
data
(x)输入更新后的cgan,输出处理后的软件新样本。
22.进一步的,所述cgan损失值,计算公式如下:
[0023][0024]
其中,表示随机噪音数据z的分布的期望值,表示真实样本z的分布的期望值。
[0025]
作为优选方案,所述步骤2,包括如下步骤:
[0026]
步骤2.1:对处理后的软件新样本数据进行去中心化处理,求取矩阵x每行的样本平均值,将矩阵x行的每一个样本减去样本平均值,得到去中心化的样本xi,xi∈(x1,x2,

,xn),其中,m表示数据的数量,n表示数据的维数,表示软件度量属性的数量。
[0027][0028]
步骤2.2:对去中心化的样本xi,找到其近邻下标集合qi,计算基于qi中的样本点j
对xi的线性重构系数h
ij

[0029]
线性重构系数h
ij
计算公式如下:
[0030][0031]
xj∈(x1,x2,

,xn)。
[0032]
步骤2.3:令降维后的数据集为y=(y1,y2,

,yn),yi为d维向量,d<n,则将处理后的软件新样本数据x降维后,由于邻域内样本之间为线性关系,重构系数不变,因此,yi计算公式1如下:
[0033][0034]
步骤2.4:令h=(h
11
,h
22
,
…hnm
),构造矩阵m=(i-h)
t
(i-h),将yi计算公式1转化为yi计算公式2如下:
[0035][0036]
其中,tr(*)为迹函数。
[0037]
步骤2.5:通过线性变换,将处理后的软件新样本数据x降维成y,则y=w
t
x,s.t.w
t
w=i。y=w
t
x将其代入yi计算公式2,可得
[0038]
步骤2.6:根据pca原理,从最大可分性出发,若所有样本点的投影应尽可能分散开,需要是投影后样本点的方差最大化,故而:将与进行融合,得到新的低维空间投影后的样本方差σ

,计算公式如下:
[0039][0040]
步骤2.7:对新的低维空间投影后的样本方差σ

进行求解,得到的前d个最大的特征值对应的特征向量组合成矩阵w,将w代入求出降维后的软件新样本y。
[0041]
作为优选方案,所述步骤3,具体步骤如下:
[0042]
步骤3.1:构建软件质量预测模型的rbf神经网络,rbf神经网络是由输入层、隐含层、输出层构成的前馈神经网络。
[0043]
所述隐含层神经元的激活函数为径向基函数,得到隐含层输出φi(x)的计算公式如下:
[0044][0045]
式中,y为输入样本,表示降维后的软件新样本y,y=(y1,y2,

,yd),m表示隐含层的层数,ci为高斯核函数的中心矢量,与输入样本维数相同;σi为径向基函数的标准差。
[0046]
所述输出层的输出yi,yi计算公式为:
[0047][0048]
其中,w
ij
隐含层到输出层的连接权值。
[0049]
步骤3.2:设置粒子群算法更新公式,并对rbf神经网络的参数进行优化。
[0050]
所述更新公式如下:
[0051]vi,m
=wv
i,m
+c1r1(p
i,m-x
i,m
)+c2r2(p
gm-x
i,m
)
[0052]
x
i,m
=x
i,m
+v
i,m
[0053]
式中:c1,c2为加速因子;r1,r2为随机数,在(0,1)内取值;p
i,m
为第i个粒子个体最优解的第m维的值,p
g,m
为全局最优解的第m维值;w为惯性权重因子;v
i,m
为第i个粒子的第m维速度值;x
i,m
为第i个粒子的第m维位置值。
[0054]
所述w计算公式如下:
[0055][0056]
式中:w
max
、w
min
分别为惯性权重w的最大值和最小值;t为当前迭代次数,t
max
为最大迭代次数。
[0057]
步骤3.3:计算各粒子的适应度,适应度函数如下式:
[0058][0059]
其中,yi和分别代表实际输出和预测输出,n代表粒子数量。
[0060]
步骤3.4:对粒子的极值、位置以及速度进行更新。
[0061]
步骤3.5:判断是否达到迭代结束条件,结束条件为e小于某一设定的值,或者达到了最大迭代次数,迭代结束后输出优化后的rbf神经网络的参数。
[0062]
步骤3.6:根据优化后的rbf神经网络的参数,得到优化后的软件质量预测模型。第二方面,一种基于改进rbf神经网络的软件质量预测系统,包括如下模块:样本扩展模块:用于获取软件原始样本数据,采用cgan对软件原始样本数据进行扩展,得到处理后的软件新样本。
[0063]
样本降维模块:用于对处理后的软件新样本采用lle-pca算法进行降维处理,得到降维后的软件新样本。
[0064]
brf神经网络优化模块:用于采用改进后的粒子群算法优化软件质量预测模型的参数,获得优化后的软件质量预测模型。
[0065]
软件质量预测模块:用于利用降维后的软件新样本输入优化后的软件质量预测模型,输出软件质量。
[0066]
有益效果:本发明提供的一种基于改进rbf神经网络的软件质量预测方法及系统,考虑到软件企业样本数据量的因素,当样本数据较少时,采用cgan对原始样本数据集进行扩展,然后基于lle-pca二重降维方法,对数据进行处理,实现软件度量指标数据特征降维,减少冗余信息造成的误差,最后提出一种改进粒子群优化的rbf神经网络软件质量预测方法,有效提高预测的收敛速度和准确率。
附图说明
[0067]
图1为本发明软件质量预测方法的流程图。
[0068]
图2为本发明的cgan原理流程图。
[0069]
图3为本发明的基于lle-pca算法的原始样本数据降维流程图。
[0070]
图4为本发明的rbf神经网络结构图。
[0071]
图5为本发明的优化软件质量预测模型参数的流程图。
具体实施方式
[0072]
下面结合具体实施例对本发明作更进一步的说明。
[0073]
如图1所示,本发明提出了第一种实施例一种基于改进rbf神经网络的软件质量预测方法,包括如下步骤:
[0074]
步骤1:获取软件原始样本数据,采用cgan对软件原始样本数据进行扩展,得到处理后的软件新样本。考虑到部分企业所能获得的历史样本数据有限,由样本数据训练出来的模型性能较差,泛化能力和预测的准确率较低,本发明采用cgan对软件原始样本数据进行扩展。
[0075]
步骤2:对处理后的软件新样本采用lle-pca算法进行降维处理,得到降维后的软件新样本。
[0076]
步骤3:采用改进后的粒子群算法优化软件质量预测模型的参数,获得优化后的软件质量预测模型。
[0077]
步骤4:利用降维后的软件新样本输入优化后的软件质量预测模型,输出软件质量。
[0078]
进一步的,所述软件原始样本数据包括软件度量属性对应的数据,软件度量属性至少包括:软件模块数、软件规模、代码行数、测试问题数。
[0079]
如图2所示,进一步的,所述cgan包括:生成器模型g,参数为θg和判别器模型d,参数为θd,所述步骤1,具体步骤如下:
[0080]
步骤1.1:获取软件原始样本数据作为真实样本p
data
(
x
),软件原始样本数据对应的软件度量属性作为条件变量y。
[0081]
步骤1.2:将随机的噪声数据pz(z)结合条件变量y作为生成器模型g的输入,生成器模型g生成带有标签的随机样本g(z|y),随机样本g(z|y)表示与软件度量属性相应的软件原始样本数据。
[0082]
步骤1.3:将软件原始样本数据作为真实样本p
data
(
x
)结合条件变量y作为判别器模型d的输入,判别器模型d生成真实样本数据的判别d(x|y)。
[0083]
步骤1.4:将带有标签的随机样本g(z|y)作为判别器模型d的输入,判别器模型d生成样本的判别d(g((z|y)))。
[0084]
步骤1.5:计算cgan损失值,根据cgan损失值更新参数θg、θd,直到迭代结束,生成更新后的cgan。用于提高cgan生成能力和判别能力。
[0085]
步骤1.6:将真实样本p
data
(x)输入更新后的cgan,输出处理后的软件新样本。
[0086]
进一步的,所述cgan损失值,计算公式如下:
[0087][0088]
其中,表示随机噪音数据z的分布的期望值,表示真实样本z的分布的期望值。
[0089]
所述的lle-pca算法,pca考虑的是数据的全局结构,lle考虑的是数据的局部几何关系,将lle中的重构系数矩阵与pca中的主成分矩阵相结合,得到在低维空间投影后的新样本方差表达式,新的样本方差表达式可为数据降维的效果好坏提供判断依据,能有效处理同时具有线性和非线性特征的原始数据。
[0090]
如图3所示,进一步的,所述步骤2,包括如下步骤:
[0091]
步骤2.1:对处理后的软件新样本数据进行去中心化处理,求取矩阵x每行的样本平均值,将矩阵x行的每一个样本减去样本平均值,得到去中心化的样本xi,xi∈(x1,x2,

,xn),其中,m表示数据的数量,n表示数据的维数,表示软件度量属性的数量。
[0092][0093]
步骤2.2:对去中心化的样本xi,找到其近邻下标集合qi,计算基于qi中的样本点j对xi的线性重构系数h
ij

[0094]
线性重构系数h
ij
计算公式如下:
[0095][0096]
xj∈(x1,x2,

,xn)。
[0097]
步骤2.3:令降维后的数据集为y=(y1,y2,

,yn),yi为d维向量,d<n,则将处理后的软件新样本数据x降维后,由于邻域内样本之间为线性关系,重构系数不变,因此,yi计算公式1如下:
[0098][0099]
步骤2.4:令h=(h
11
,h
22
,
…hnm
),构造矩阵m=(i-h)
t
(i-h),将yi计算公式1转化为yi计算公式2如下:
[0100][0101]
其中,tr(*)为迹函数。
[0102]
步骤2.5:通过线性变换,将处理后的软件新样本数据x降维成y,则y=w
t
x,s.t.w
t
w=i。y=w
t
x将其代入yi计算公式2,可得
[0103]
步骤2.6:根据pca原理,从最大可分性出发,若所有样本点的投影应尽可能分散
开,需要是投影后样本点的方差最大化,故而:将与进行融合,得到新的低维空间投影后的样本方差σ

,计算公式如下:
[0104][0105]
步骤2.7:对新的低维空间投影后的样本方差σ

进行求解,得到的前d个最大的特征值对应的特征向量组合成矩阵w,将w代入求出降维后的软件新样本y。
[0106]
采用改进后的粒子群算法优化rbf基函数的中心、宽度、以及隐含层和输出层的连接权重等参数,获得优化后的软件质量预测模型。传统粒子群算法模型简单,寻优能力强,但易陷入局部最优,并且收敛速度慢。粒子具有速度和位置两个属性,依据粒子已知最优位置和历史最优位置进行动态调整,通过不断迭代更新粒子的速度和位置,更新公式如下:
[0107]vi,m
=wv
i,m
+c1r1(p
i,m-x
i,m
)+c2r2(p
gm-x
i,m
)
[0108]
x
i,m
=x
i,m
+v
i,m
[0109]
式中:c1,c2为加速因子;r1,r2为随机数,在(0,1)内取值;p
i,m
为第i个粒子个体最优解的第m维的值,p
g,m
为全局最优解的第m维值;w为惯性权重因子;v
i,m
为第i个粒子的第m维速度值;x
i,m
为第i个粒子的第m维位置值。
[0110]
上式中,w的取值对算法的寻优能力有很大影响,传统粒子群算法中w为常数,无法在迭代过程中实时调整,导致优化效果不理想,本发明采用非线性的惯性权重递减策略,对粒子群算法进行改进,增强算法的局部和全局搜索能力,惯性权重因子表示如下:
[0111][0112]
式中:w
max
、w
min
分别为惯性权重w的最大值和最小值;t为当前迭代次数,t
max
为最大迭代次数。算法具有较强的全局搜索和局部搜索能力,能够快速找到最优解。如图4-5所示,进一步的,所述步骤3,具体步骤如下:
[0113]
步骤3.1:构建软件质量预测模型的rbf神经网络,rbf神经网络是由输入层、隐含层、输出层构成的前馈神经网络。
[0114]
所述隐含层神经元的激活函数为径向基函数,得到隐含层输出φi(x)的计算公式如下:
[0115][0116]
式中,y为输入样本,表示降维后的软件新样本y,y=(y1,y2,

,yd),m表示隐含层的层数,ci为高斯核函数的中心矢量,与输入样本维数相同;σi为径向基函数的标准差。
[0117]
所述输出层的输出yi,yi计算公式为:
[0118]
[0119]
其中,w
ij
隐含层到输出层的连接权值。
[0120]
步骤3.2:设置粒子群算法更新公式,并对rbf神经网络的参数进行优化。
[0121]
所述更新公式如下:
[0122]vi,m
=wv
i,m
+c1r1(p
i,m-x
i,m
)+c2r2(p
gm-x
i,m
)
[0123]
x
i,m
=x
i,m
+v
i,m
[0124]
式中:c1,c2为加速因子;r1,r2为随机数,在(0,1)内取值;p
i,m
为第i个粒子个体最优解的第m维的值,p
g,m
为全局最优解的第m维值;w为惯性权重因子;v
i,m
为第i个粒子的第m维速度值;x
i,m
为第i个粒子的第m维位置值。
[0125]
所述w计算公式如下:
[0126][0127]
式中:w
max
、w
min
分别为惯性权重w的最大值和最小值;t为当前迭代次数,t
max
为最大迭代次数。
[0128]
步骤3.3:计算各粒子的适应度,适应度函数如下式:
[0129][0130]
其中,yi和分别代表实际输出和预测输出,n代表粒子数量。
[0131]
步骤3.4:对粒子的极值、位置以及速度进行更新。
[0132]
步骤3.5:判断是否达到迭代结束条件,结束条件为e小于某一设定的值,或者达到了最大迭代次数,迭代结束后输出优化后的rbf神经网络的参数。
[0133]
步骤3.6:根据优化后的rbf神经网络的参数,得到优化后的软件质量预测模型。本发明提出了第二种实施例一种基于改进rbf神经网络的软件质量预测系统,包括如下模块:
[0134]
样本扩展模块:用于获取软件原始样本数据,采用cgan对软件原始样本数据进行扩展,得到处理后的软件新样本。
[0135]
样本降维模块:用于对处理后的软件新样本采用lle-pca算法进行降维处理,得到降维后的软件新样本。
[0136]
brf神经网络优化模块:用于采用改进后的粒子群算法优化软件质量预测模型的参数,获得优化后的软件质量预测模型。
[0137]
软件质量预测模块:用于利用降维后的软件新样本输入优化后的软件质量预测模型,输出软件质量。
[0138]
进一步的,所述软件原始样本数据包括软件度量属性对应的数据,软件度量属性至少包括:软件模块数、软件规模、代码行数、测试问题数。
[0139]
进一步的,所述cgan包括:生成器模型g,参数为θg和判别器模型d,参数为θd,所述样本扩展模块,具体功能如下:
[0140]
步骤1.1:获取软件原始样本数据作为真实样本p
data
(x),软件原始样本数据对应的软件度量属性作为条件变量y。
[0141]
步骤1.2:将随机的噪声数据pz(z)结合条件变量y作为生成器模型g的输入,生成器模型g生成带有标签的随机样本g(z|y),随机样本g(z|y)表示与软件度量属性相应的软
件原始样本数据。
[0142]
步骤1.3:将软件原始样本数据作为真实样本p
data
(x)结合条件变量y作为判别器模型d的输入,判别器模型d生成真实样本数据的判别d(x|y)。
[0143]
步骤1.4:将带有标签的随机样本g(z|y)作为判别器模型d的输入,判别器模型d生成样本的判别d(g((z|y)))。
[0144]
步骤1.5:计算cgan损失值,根据cgan损失值更新参数θg、θd,直到迭代结束,生成更新后的cgan。用于提高cgan生成能力和判别能力。
[0145]
步骤1.6:将真实样本p
data
(x)输入更新后的cgan,输出处理后的软件新样本。
[0146]
进一步的,所述cgan损失值,计算公式如下:
[0147][0148]
其中,表示随机噪音数据z的分布的期望值,表示真实样本z的分布的期望值。
[0149]
所述的lle-pca算法,pca考虑的是数据的全局结构,lle考虑的是数据的局部几何关系,将lle中的重构系数矩阵与pca中的主成分矩阵相结合,得到在低维空间投影后的新样本方差表达式,新的样本方差表达式可为数据降维的效果好坏提供判断依据,能有效处理同时具有线性和非线性特征的原始数据。
[0150]
进一步的,所述样本降维模块,包括如下功能:
[0151]
步骤2.1:对处理后的软件新样本数据进行去中心化处理,求取矩阵x每行的样本平均值,将矩阵x行的每一个样本减去样本平均值,得到去中心化的样本xi,xi∈(x1,x2,

,xn),其中,m表示数据的数量,n表示数据的维数,表示软件度量属性的数量。
[0152][0153]
步骤2.2:对去中心化的样本xi,找到其近邻下标集合qi,计算基于qi中的样本点j对xi的线性重构系数h
ij

[0154]
线性重构系数h
ij
计算公式如下:
[0155][0156]
xj∈(x1,x2,

,xn)。
[0157]
步骤2.3:令降维后的数据集为y=(y1,y2,

,yn),yi为d维向量,d<n,则将处理后的软件新样本数据x降维后,由于邻域内样本之间为线性关系,重构系数不变,因此,yi计算公式1如下:
[0158]
[0159]
步骤2.4:令h=(h
11
,h
22
,
…hnm
),构造矩阵m=(i-h)
t
(i-h),将yi计算公式1转化为yi计算公式2如下:
[0160][0161]
其中,tr(*)为迹函数。
[0162]
步骤2.5:通过线性变换,将处理后的软件新样本数据x降维成y,则y=w
t
x,s.t.w
t
w=i。y=w
t
x将其代入yi计算公式2,可得
[0163]
步骤2.6:根据pca原理,从最大可分性出发,若所有样本点的投影应尽可能分散开,需要是投影后样本点的方差最大化,故而:将与进行融合,得到新的低维空间投影后的样本方差σ

,计算公式如下:
[0164][0165]
步骤2.7:对新的低维空间投影后的样本方差σ

进行求解,得到的前d个最大的特征值对应的特征向量组合成矩阵w,将w代入求出降维后的软件新样本y。
[0166]
采用改进后的粒子群算法优化rbf基函数的中心、宽度、以及隐含层和输出层的连接权重等参数,获得优化后的软件质量预测模型。传统粒子群算法模型简单,寻优能力强,但易陷入局部最优,并且收敛速度慢。粒子具有速度和位置两个属性,依据粒子已知最优位置和历史最优位置进行动态调整,通过不断迭代更新粒子的速度和位置,更新公式如下:
[0167]vi,m
=wv
i,m
+c1r1(p
i,m-x
i,m
)+c2r2(p
gm-x
i,m
)
[0168]
x
i,m
=x
i,m
+v
i,m
[0169]
式中:c1,c2为加速因子;r1,r2为随机数,在(0,1)内取值;p
i,m
为第i个粒子个体最优解的第m维的值,p
g,m
为全局最优解的第m维值;w为惯性权重因子;v
i,m
为第i个粒子的第m维速度值;x
i,m
为第i个粒子的第m维位置值。
[0170]
上式中,w的取值对算法的寻优能力有很大影响,传统粒子群算法中w为常数,无法在迭代过程中实时调整,导致优化效果不理想,本发明采用非线性的惯性权重递减策略,对粒子群算法进行改进,增强算法的局部和全局搜索能力,惯性权重因子表示如下:
[0171][0172]
式中:w
max
、w
min
分别为惯性权重w的最大值和最小值;t为当前迭代次数,t
max
为最大迭代次数。算法具有较强的全局搜索和局部搜索能力,能够快速找到最优解。进一步的,所述brf神经网络优化模块,具体功能如下:
[0173]
步骤3.1:构建软件质量预测模型的rbf神经网络,rbf神经网络是由输入层、隐含层、输出层构成的前馈神经网络。
[0174]
所述隐含层神经元的激活函数为径向基函数,得到隐含层输出φi(x)的计算公式如下:
[0175][0176]
式中,y为输入样本,表示降维后的软件新样本y,y=(y1,y2,

,yd),m表示隐含层的层数,ci为高斯核函数的中心矢量,与输入样本维数相同;σi为径向基函数的标准差。
[0177]
所述输出层的输出yi,yi计算公式为:
[0178][0179]
其中,w
ij
隐含层到输出层的连接权值。
[0180]
步骤3.2:设置粒子群算法更新公式,并对rbf神经网络的参数进行优化。
[0181]
所述更新公式如下:
[0182]vi,m
=wv
i,m
+c1r1(p
i,m-x
i,m
)+c2r2(p
gm-x
i,m
)
[0183]
x
i,m
=x
i,m
+v
i,m
[0184]
式中:c1,c2为加速因子;r1,r2为随机数,在(0,1)内取值;p
i,m
为第i个粒子个体最优解的第m维的值,p
g,m
为全局最优解的第m维值;w为惯性权重因子;v
i,m
为第i个粒子的第m维速度值;x
i,m
为第i个粒子的第m维位置值。
[0185]
所述w计算公式如下:
[0186][0187]
式中:w
max
、w
min
分别为惯性权重w的最大值和最小值;t为当前迭代次数,t
max
为最大迭代次数。
[0188]
步骤3.3:计算各粒子的适应度,适应度函数如下式:
[0189][0190]
其中,yi和分别代表实际输出和预测输出,n代表粒子数量。
[0191]
步骤3.4:对粒子的极值、位置以及速度进行更新。
[0192]
步骤3.5:判断是否达到迭代结束条件,结束条件为e小于某一设定的值,或者达到了最大迭代次数,迭代结束后输出优化后的rbf神经网络的参数。
[0193]
步骤3.6:根据优化后的rbf神经网络的参数,得到优化后的软件质量预测模型。以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1