论文研究-基于遗传算法和KNN的软件度量属性选择研究.pdf

所需积分/C币:9 2019-09-10 23:10:18 622KB .PDF
7
收藏 收藏
举报

针对软件可靠性预测中软件度量维数灾难问题,提出一种基于自适应遗传算法和KNN算法相结合的软件度量属性选择方法,筛选出与软件可靠性关系最为密切的关键属性集。该方法在属性子集搜索上采用遗传算法进行随机搜索,在属性子集评价上采用KNN分类准确率和属性子集规模作为学习算法及评价指标。实验结果表明,该算法可有效地找出具有较好可分离性的属性子集,从而实现降维并提高软件可靠性预测精度。
崔正斌,汤光明:基于遗传算法和KNN的软件庋量属性选择研究 2010,46(30) 中出现频数最多的属性,g2次之,依此类推。 其中,max(x)和min(x)分别是数据集中n个数据样本中第 最后用试探法确定最优属性集R。首先假定最优属性集个属性的最大值和最小值。经过归一化后,n个数据样本的 R。为空,按照属性的排序进行试探。第i次操作是将属性g,每个属性的值被映射到0,1区间 加入已测试属性集R11={8,82…,81-},观察当前属性集R4.2实验参数设置 对于测试样本的分类能力,在达到最高准确率后即得到最优 采用 Matlab2007编制遗传算法,种群大小为40,进化代数 的属性子集。 为50。经过多次实验,当选择的属性子集在测试集上获得较 3.5算法流程 好的分类准确率时,自适应遗传算法的交叉概率为P1=0.76, 在前文设计的基础上,给出基于自适应遗传算法和KNN 0.62,变异概率为pn1=0.09,pn2=0.02,KNN算法中K的 算法的软件度量属性选择算法流程如下 取值为8时,KNN获得最好分类性能。 算法 AGAKNM(D,F,∝,f,Max 43实验安排 步骤1输入原始数据集D,属性集合F,适应度控制参数 实验中将AGA-KNN算法重复运行5次,从每次末代种群 a,选择的属性个数,最大进化代数Max; 中选择非重复优良个体5个,5次共选择优良个体25个,得到 步骤2根据编码方案,随机产生一组初始个体,构成初始25个较优属性集,统计每个属性出现的频数,按频数值大小对 种群; 每个属性进行排序,排序后的属性序列号依次为:5,4,11,6, 步骤3将个体的二进制表达转化为原始属性集合中的属9,14,12,16,10,15,2,7,4,18,20,17,8,1,13,21,19。 性编号,根据这些属性编号生成属性子集F 根据上文所述的试探法,依次计算测试属性集不断加入 步骤4根据属性子集F,从数据集D中选出一个降维后新属性后的分类准确率。起初属性集尺0为空,将属性5加入 的数据集D-; R3后得到R1={s}={S},分类准确率是0.63。再加入属性4, 步骤5采用KNN算法对数据集D5进行分类; 得到R2={8,82}={5,f},分类准确率为0.69。依此类推,发 步骤6根据类别标签和KNN分类器分类结果,计算分类现从属性18加入R13得到R14开始,分类准确率到达09,此后 准确率ac(F); 到R,分类准确率·直维持在0.9。从Rg开始,分类准确率 步骤7输出mmes=aeac(F)+x-N)作为属开始缓慢下降。如图3所示。 性子集的评价标准,即适应度函数; 0.95 步骤8判断是否达到最大进化代数MaxI,若达到则输 出当前的优化属性子集,多次运行算法,用试探法获得最优属 0.85 性子集,否则继续执行以下步骤; 择0.75 步骤9根据适应度评估凶数来执行选择操作 0.65 步骤10执行动态自适应交叉操作; 510152025 步骤I执行动态自适应变异操作 属性子集规模 步骤12返回步骤3。 图3属性子集规模与分类预测准确率的关系 算法 AGAKNN的复杂度是O2°),D是原始软件度量 图3反映了AGA-KNN中属性子集规模与分类准确率的 属性的维数。 变化关系ε曲线呈现先上升后平缓的趋势。当属性子集规模 小于14时,分类准确率总体呈上升趋势,局部有所波动。当 4仿真实验与结果分析 属性子集规模大于14时,曲线开始变得平缓,之后再加入剩 余属性,分类准确率开始缓慢下降。说明Rμ4包含了较完整的 4.1实验环境及实验数据 关键属性,因此,可以选择频度排序靠前的14个属性构成关 属性选择算法利用 MATLAB7.遗传算法I具箱构建,程 键属性子集 序在配置为CPU:P4306GHz,内存:512MB的计算机上运行。44结果分析 实验数据来源于NASA的软件度量项目中的JM1prod- uct module metric.cs数据,软件复杂性度量数据被收集在 4.4.1属性选择前后比较 进行测试的数据表中,有10878个样本,样本有21个属性,分 实验通过第一类预测错误率、第二类预测错误率和总体 为两类:有出错倾向和无出错倾向的模块。先对数据集进行 准确率等指标来对属性选择前后进行比较,这些指标都来源 归一化处理,且为了更好地对比,实验随机选取训练样本集和 于混淆矩阵,如表1所示。 测试集。总其选取200个训练样本,100个测试样本,通过 表1混淆矩阵 预测值 AGA-KNN进行属性选择。 实际值 有出错倾向模块无出错倾向模块 本文对样本数据进行归一化处理采用最小最大规范化, 方法如下 有出错倾向模块 Negative 对于每个属性,找出它在数据集中最小值与最大值。 TP=false TN=Ture 无出错倾向模块 于是,定义如下 Positive Negative min(x) (6 总体准确率( Accuracy):即在测试集的所有样本上预测 max(x )-min(x 正确的样本数量占总样本数量的百分比。 60 2010,46(30) Computer Engineering and Applications计算机工程与应用 Accurac TP+ (7 表3预测模型比较结果 TP+FN+FP+ TN 模型第一类错误率/%)第二类错误率/%)总休准确率/(%) 第一类错误率( TIERR):也被称为“弃真”,即模型将实际 AGA-KNN 16.8 88.75 上并没有出错倾向的模块判断为有出错倾向,这类错误会导 BP-ANN 18.6 致在软件开发过程中将资源过度地浪费在可靠的软件模块中 (8) TD 9.0 TIER= FP+TN 112 25.3 82.74 第二类错误率(T2ERR):也被称为“取伪”,即模型将实际 9.6 22.6 83.58 上有出错倾向的模块判断为无岀错倾向,这类错误可能会 导致测试的过程中疏漏比较严重的错误并造成最终的软件5结束语 失效。 针对软件可靠性预测中的软件度量属性选择问题,提出 ZZERR FN (9)了一种基于适应遗传算法和KNN算法相结合的软件度量 TP+FN 从表2可以看出,属性选择前后软件可靠性预测的总体 属性选择算法,用自适应遗传算法搜索属性子集,以KNN分 类正确率和属性子集规模作为属性子集的评价标准,给岀算 准确率得到了提升,而第一类错误率和第二类锆误率则有法实规方法和具体流程。在NASA软件度量数据集上的仿真 明显下降,验证了本文所提的软件度量属性选择方法的有实验证明,该算法能较为有效地找出具有较好可分离性的属 效性 性子集,从而实现降维并提高软件可靠性预测精度。下一步 表2属性选择前后预测结果比较 (%) 工作是将本文所选取的最优属性子集更多地应用到软件可靠 原始数据集 属性选择后数据集 性预测过程中,不断地验证其合理性。 第一类第二类总体第一类第二类总体 错误率错误率准确率错误率错误率准确率 参考文献: 13.6 28.8 81.05 18.3 86.4 ]王琪欤件质量预测模型中的若干关键问题研究[D]上海:L海交 4.4.2预测模型比较 通大学,2006:11-13 实验将 AGA-KNN算法与种最新软件可靠性预测模型2 Elish K o.EhhM O Predicting defect-prone software modules 进行了比较,它们是 BP-ANN、C45决策树、TD( Treedisc)、SP using support vector machine[J] Journal of Systems and Soft ware,2007,81(5):649660 (S-PLUS)和SS( Sprinl-Sliq)。分别比较各种预测模型的第 [3] Gondra I Applying machine learning to software fault-prone 类错误率、第类错误率和总体准确率。分别选用不间的参 ness prediction j]The Journal of System and Software, 2008 数建立几个不同的模型.选择性能最好的模型与AGA-KNN (81):l86-195 方法进行比较。这里的性能最好是指第一类错误率和第二错[4]贺珂遗传算法在数据挖掘中的应用[]上海:上海帅范大学 误率相对均衡,总体准确率高。实验中的BP神经网络的输入 2005:34-39 层神经元为3个,隐蔽层神经元为7个,输出层神经元为1个,5张玲,刘勇,何伟自适应遺传算法在车牌定位中的应用[J计算机 隐蔽层的传递函数采用S型正切函数 tansig,输出层传递函数 应用,2008,28(1):185 采用S型对数函数 logsigε其他模型采用默认设置。表3给出 [6MetricsdaTaProgramNasaIv&VFacility[eb/ol].http://mdp 了比较结果。 ivv. nasa. gov/ ]王光伟软件质量预测中基于RP神经劂终的属性选择方法研究[] 从表3的预测模型比较结果看,AGA-KNN在获得较高总 武汉:华中师范大学,2008 体准确率的冋时,能够获得比其他模型更低的第一类错误率 [8 Challagulla VU B, Yen I L, Paul R A Empirical asscssment of 和第二类错误率,说明AGA-KNN算法明显优于其他算法,进 machine learning based software defect prediction techniques[C]/ 一步验证了属性选择能够去除与无关和冗余软件度量属性, Proceedings of the 10th IEEE International Workshop on ob 提高软件可靠性预测的准确率。 ject-Oriented Real-Time Dependable systems, 2005: 1-8 上接19页 London. Kluwer Academic publishers 2002 的概念,引入了n值逻辑系统GRn中的公式的Dc2-随机真4 Dubois d, Prade h. Possibility theory, probability theory and mu 度的概念。并定义了伪距离p,建立了De-逻辑度量空 tiple-valucd logics[J].Ann Math Artif Intell, 2001, 32: 35-66 5 Baioletti M, Capotopti A, tulipani s,et al. Simplification rules 间,证明了该度量空间中没有孤立点,从而可以在D-逻辑 for the coherent probability assessment problem[J].Ann Math ar- 度量空间{F(S)pD}中展开近似推理的研究。 tif Intell,2002,35:11-28. 6]王国俊计量逻辑学(D[J工程数学学报,2006,23(2):191-215. [7]王国俊数理逻辑引论与归结原理[M]2版.北京:科学出版社, 参考文献: 2006 ams e w, A primer of probability logic[M] Stanford:CSLI[8]惠小静,王国俊经典推理模式的随机化研究及其应用中国科 Pulications, 1998 学:E辑,2007,37(6):801-812 [2] Hailperin T Sentential probability logic[J].London: Associated un-[9]王国俊非经典数理逻辑与近似推理[M]北京:科学出版社,2000 versity Presses, 1996 [I0]李骏,夏亚峰,兰倩,n值标准序列逻辑系统屮的近似推理理论[J [3] Coletti G, Scozzafava R Probabilistic logic in a coherent setting[M] 甘肃工业大学学报,2006,32(2):135-138

...展开详情
试读 4P 论文研究-基于遗传算法和KNN的软件度量属性选择研究.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
weixin_38743968 如果觉得有用,不妨留言支持一下
2019-09-10
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 至尊王者

    成功上传501个资源即可获取
关注 私信
上传资源赚积分or赚钱
最新推荐
论文研究-基于遗传算法和KNN的软件度量属性选择研究.pdf 9积分/C币 立即下载
1/4
论文研究-基于遗传算法和KNN的软件度量属性选择研究.pdf第1页

试读结束, 可继续读1页

9积分/C币 立即下载 >