2021年5月
第47卷第3期西南民族大学学报(自然科学版)
Journal of Southwest Minzu University (Natural Science Edition)
May. 2021
Vol. 47 No. 3
doi :10. 11920/xnmdzk. 2021. 03. 009
【特约专稿】
基于改进旋转策略的量子遗传-神经网络算法的
软件缺陷预测模型
摘要:针对标准量子遗传-神经网络在进行缺陷预测时存在的收敛速度慢、易陷入局部最优等问题,提出了基于改
进旋转策略的量子遗传-神经网络算法的预测模型.首先,以标准BP( back propagation)神经网络为基础,确定其拓扑 结构.接着,采用动态更新旋转角度的策略对旋转角度进行更新.然后,利用改进的算法对神经网络进行优化,并构建 预测模型,以提高预测的准确率.最后,在NASA 数据集上进行仿真实验,结果表明改进后的预测模型的准确率更高, 其平均值达到了 90%.
should是什么意思关键词:旋转角度;神经网络;量子遗传算法;软件缺陷预测模型;预测准确率中图分类号:TP 311
文献标志码:A
文章编号:20954271( 2021)034297 46
Software defect prediction model of quantum genetic - neural network
algorithm bad on improved rotation strategy
CUI Meng - tian1, WU Ke - qi 1 , XIE Qi1, ZHOU Xu - chuan 1 , HE Chun - lin 2
(1. The Key Laboratory for Computer Systems of State Ethnic Affairs Commission, Southwest Minzu University, Chengdu 610041 , China ;
2. School of Computer Science, China West Normal University, Nanchong 637009, China)
Abstract : Standard quantum genetic - neural network has slow convergence speed and is easy to fall into local optimum in defect prediction. A prediction model of quantum genetic - neural network algorithm bad on improved rotation strategy is propod to tackle this problem. Firstly, the topological structure is established bad on the standard back propagation (BP) neural network. Secondly, the rotation angle is updated by the strategy of dynamic updating rotation angle. Furthermore, the prediction model is constructed, and the neural network is optimized by using the improved algorithm to improve the accuracy of prediction. Finally, the simulation experiment on the NASA data ts shows that the accuracy of the improved prediction model is higher, and the average value reached 90%.
Keywords:rotation angle;neural network;quantum genetic algorithm;software defect prediction model ; accuracy of prediction
收稿日期:20214)3-30
作者简介:崔梦天( 1972-),女,蒙古族,内蒙古乌兰浩特人,教授,博士,研究方向:可信软件、人工智能等研究
通信作者:贺春林(1971-),男,汉族,四川广安人,教授,研究方向:计算机网络应用研究等.E -m
a il:<:h unl i n _h e@163.C〇ni
基金项目:国家自然科学基金
(12050410248);四川省科技计划项目(2021Y F H 0120);四川省科技创新苗子工程项目(2020024,
2021010);西南民族大学中央高校基本科研业务费专项资金(2020N Z D 02)
崔梦天\吴克奇\谢琪、周绪川\贺春林2
(1.西南民族大学计算机系统国家民委重点实验室,四川成都610041;
2.西华师范大学计算机学院,四川南充637009)
298西南民族大学学报(自然科学版)第47卷
开源软件作为软件产业未来发展的主要趋势之 一,如何保证其质量始终是业内关注且至关重要的问 题.开源软件的开放性和基于社区的共享性使得源码 中经常包含很多漏洞,导致缺陷处理的成本大幅增 加,阻碍了开源软件的应用推广.因此,研究的热点之 一是如何有效、准确地发现软件缺陷,并快
速修复软 件缺陷.为了评估动态系统中的构件可靠性,文献[1] 提出了一种模型选择方法.为了克服神经网络易陷入 局部最优,文献[2]提出了灰狼优化算法.
无论在模型表达还是在计算思想上,量子计算、神经网络和遗传算法之间都存在着许多类似的地方,大量学者对量子计算、遗传算法和神经网络相结合并 开展了许多研究[3].人工神经网络算法是机器学习中 的一沖常用算法,BP神经网络被广泛用于缺陷预测. 但传统B P网络容易陷人局部最优,影响预测准确率. 为了提高缺陷预测准确率,利用量子遗传算法(QGA)优化网络的权值和阈值,构建预测模型进行实验.通 过实验的对比,得出本文的软件缺陷模型预测的结果 优于传统B P神经网络和标准的QGA - B P预测的结 果.
1相关工作
软件缺陷预测技术通过挖掘、分析软件项目中的 历史开发数据来检测潜在有缺陷的软件模块,从而提 高开发效率,节省开发成本.
1.1 BP神经网络架构
神经网络是一种非线性统计性数据建模工具[4].当神经网络进行正向传播时,上层神经元的状态会影 响下层的神经元.如果输出的结果没有达到要求,就 会出现反向传播,从而降低信号误差[5].
1.2标准的量子遗传算法
量子遗传算法是一种新型进化算法[6],量子比特 的状态表示为:
I<p>-a l0) +^11). (1)式(1)中,a和分别表示状态丨0〉和状态I1〉的幅常数,还满足以下条件:
|a|2 + |/3|2= 1 •(2)式(2)中,量子态的观测值为0和1的概率分别 为la l2、丨纠2-
量子遗传算法的染色体结构为:
〇11 ••.〇^〇:2| 〇:22•••0!…_,0:…2.patterned
0▲…0'k0i'021."m •.fim k…
(3)
式(3)中,< 为第《代第j个个体的染色体4为 编码每一个基因的量子比特数;m为染色体的基因个 数
调整操作中的量子旋转门为:
"(0,)=
其更新过程为:
cos( 〇.) -sin( 0.)
sin( cos( 0.)
(4)
A A
cos(
sin(^)
-sin(^)
cos( Q t)A
(5)
其中,[a,a]7■和u,:为染色体中第z个
flavoring
量子比特旋转门更新前后的概率幅,a为旋转角.
旋转角的调整策略如表1所示,如果/(x)s y u)判定为Fd ,那么当前个体会向更利于6,的方向进 行旋转;如果/(x)S:/( 6)判定为True,那么当前个体 会向更利于\的方向进行旋转.
剑桥少儿英语单词表中是当前个体的第;个基因位,6,是当前最 优个体的第i个基因位,/(W是当前个体的适应度数 值,/U)是当前最优个体的适应度数值,是旋转 角度,s(a,/3,)是旋转方向,A= 是旋转角[8].
2软件缺陷预测模型的建立
基于BP神经网络的软件缺陷预测模型一般会导 致学习时间长、预测精度差的问题,具有较高的概率 陷人局部最优值.因此,需要调整以提高软件缺陷模 型的预测性能.
2.1改进的量子遗传算法
更新进化操作是量子遗传算法的重要组成部分, 直接关系着收敛速度的快慢.当旋转角度变化太小 时,可能导致收敛速度太慢;当旋转角度变化太大时,可能导致早熟的发生.因此,如何确定旋转角度的变 化直接影响着量子遗传算法的性能.标准的量子遗传 算法不够灵活,因为其根据更新策略表而变化.
第3期崔梦天,等:基于改进旋转策略的量子遗传-神经网络算法的软件缺陷预测模型299
0 0
表1量子旋转门的旋转角与旋转方向调整策略
T able 1A djustm ent strategy of rotation angle and direction of quantum revolving door
/(.r)>/C6>
Fal
True
Fal
True
Fal
True
Fal
True
加,
a./J, > 0 a fii< 0 a, = 0
000
000
+1-10
+ 1-10
000
000
个人形象培训A = 〇
o
o
±i
o
±1
改进的量子遗传算法将适应度值和旋转角度联 系在一起.当适应度的差值相差较大时,旋转角度的 变化幅度也会比较大;当适应度的差值相差较小时,旋转角度的变化幅度也会比较小.
对于旋转角度40的动态调整策略如下w:
max
1) 若如e[H J,则就取加本身的值.
2) 若40 > 0m ax,则取最大值.
3)若< 0m i…,则加取最小值0_ .
zxb
其中,40 e[〇.〇〇1tt,0.0577],6>_ 是能取到的 最大值0.0577,是能取到的最小值0.0017T,Fm a x 是当前最优个体的适应度,是当前进行更新操作 个体的适应度[8].该方案的动态更新策略,可以提升 整体的收敛速度.
下面给出动态调整旋转角度的伪代码,具体如 下:
动态调整旋转角度的伪代码
输人:种群的个体总数m
当前最优个体的适应度Fm a x
当前需要进行更新操作个体的适应度 输出:旋转角度0
for i = 1to m do
FI
〇,-
F'
x0.049t t if 0. 001 7T<0,<0. 0577
0 = 0,
el if 6, >0. 0577
汐=0.057T
el
6 = 0.0017r
end for
anger是什么意思
return 6
300西南民族大学学报(自然科学版)第47卷
2. 2改进的量子遗传算法优化BP神经网络
具体的实现过程如下:
1)创建神经网络并随机初始化,得到初始化种 群仍t0);
2)目标函数的输出[9]如下:
卜丨I= jy‘ 1丨2.(7)
其中,和y,分别为预测样本的预测值和实际
值;
3) 记录最优个体及其对应的适应度;4)判断是否满足条件,如果满足,则停止计算并
赋值,否则继续计算;
5)测量<?(t)中的个体,以得到相应的确定
解,对各确定解进行适应度评估;
6)对个体实施调整,得到新的种群+ 1);
7)记录最优个体和适应度,然后 < 加1,返回步
骤4).
2.3软件缺陷预测模型
软件缺陷预测模型的流程图如图1所示.
图1软件缺陷预测模型流程图
Fig. 1Flow chart of software defect p rediction model
3实例分析
3.1实验数据
本文采用NASA提供的MDP软件信息数据集,对基于改进后的QGA- BP算法的软件缺陷预测模型 进行验证分析和性能对比,实验数据集中的相关信息 如表2
所示.
第3期崔梦天,等:基于改进旋转策略的量子遗传-神经网络算法的软件缺陷预测模型301
表2 NASA M D P数据集
T able 2 NASA MDP data t行首
数据集名称语言总模块数有缺陷的模块数缺陷率(%)特征数
KC1C++209532515.5121
KC3JAVA200361839
KC4Perl1256148.840
MC2C1254435.239
MW1C2632710.2737
application是什么意思
PCI C735618.337
PC3C109913812.5637
PC4C137917812.9137
3.2评估指标 是从混清矩阵中推导出来的混淆矩阵如表3
为了证明本文方法的有效性,通过使用准确率、所示.
查准率及查全率这些通用指标进行比较.这些指标都
表3混淆矩阵
Table 3 Confusion m atrix
预测容易出错模块预测不易出错模块
实际容易出错模块True Positive Fal Negative
实际不易出错模块Fal Positive True Negative
相关的定义如下:
准确率表示模型所得分类结果中,预测与实际相 同的测试实例与所有测试实例个数的比值,即
,TP + TN,。、
Accuracy = T P+ FP + m+ FN•(8)精确度也叫做查准率,表示模型所得分类结果 中,被正确预测的正例与预测为正例的样本总数之 比,即
T P
Precision = Tp + Fp■(9)
查全率表示预测正确的正例与实际容易出错的 模块的比值,S P
r p
ReCal1 = TP + FN■(1〇) 3.3实验结果分析
winsock表4列出了基于改进后的QGA- B P和对比预测 模型在8个数据集上的预测结果.
表4不同模型的预测结果
T able 4 Prediction results of different m odels
Data ts
传统B P神经网络
准确率%查准率%查全率%
标准的QGA -
准确率%査准率%
BP
查全率%
改进后的QGA
准确率%查准率%
-B P
查全率%
KC185.4463.3721. 1792.2896.0388.0992.2494.6389. 1 KC378.6953.933580.6981.974.0596.0596.3993.92 KC471.0572.8170.4883. 1788.7184.3389.6495.1188 MC266.3355.675567.6766.677084.6286.3184.21 MW185.5526.672586.6682.4793.3994. 1794.3995.27 PCI90.2129. 1717.8690.3288.5593.791.3788.9995.72 PC386.9953.3813.6887.5287.3290.0191.2389.295.08 PC487.6369.7138.8288.8184.8695.7483.6779.9991.35