软件缺陷预测的特征选择方法研究
发布时间:2021-04-12 11:16
对软件项目进行开发和研究时,将不可避免地产生软件缺陷,因此,及时发现和消除所研发的相关软件的缺陷也成为了软件项目工程开发需要着重开展的关键工作。随着全球经济科技的不断发展,在当前知识经济时代下,软件产品充斥着人们的日常生活,与此同时,软件产品在社会生产生活领域的作用也持续提升。相应地,软件产品和系统的质量也越来越为人们所关注。作为软件工程的关键内容,软件缺陷预测技术以相关经验数据为依托,借助机器学习的方法,能够及时帮助软件开发者和用户发现相关软件缺陷,进而有效节省软件开发所需资源并提高软件开发效率,确保产品质量。经过多年的发展,软件预测技术已取得了较大的研究进步,但仍存在不足之处,如对于预测模型的分类并不精确、预测方法选择的适用性和针对性不强等,这也在一定程度上限制了软件预测技术在相关行业领域的应用,也增加了相关软件系统和产品的隐患。特征选择是通过从既有的M个特征中挑选出N个有效特征,进而降低数据集的维度,完成系统特定指标最优化的过程。特征选择不仅仅是传统模式识别中重要的数据预处理技术,而且也是提高学习算法的有效手段,主要包括了Filter和Wrapper两种类型的算法,二者区别主要体...
【文章来源】:吉林大学吉林省 211工程院校 985工程院校 教育部直属院校
【文章页数】:49 页
【学位级别】:硕士
【部分图文】:
软件缺陷预测体系框架图
第3章基于互信息的特征选择3.3,评价函数J(f)中的b(见式(3.12))对于特征选择过程十分重要。当b=-1时,J(f)类似于Fatemeh的评价函数;当b=0时,J(f)类似于Battiti所提函数(式(3.11))。当b=-3时,相应结果表现为图3.2和图3.3中的蓝线条,此时,所对应的实验结果要优于其他取值情况。图3.2IMIFS在NB分类器上的实验结果具体来看,图3.2为IMIFS在NB(朴素贝叶斯算法)分类器上的实验结果。从CM1、JM1、PC1和KC1四个数据集的显示结果中可发现,以NB为分类器的情况下,IMIFS对软件缺陷的预测结果为,维度较小的缺陷特征子集的缺陷预测效果更为突出,且考虑到特征子集的规模(大小)对J(f)的非线性影响的IMIFS算法所确定出的最优特征子集对于缺陷分类效果的过渡比较平滑,但为考虑这一因素的,则存在一定波动,如CM1和JM1数据集下的分类过渡。此外,特征数(横坐标)为2时,缺陷特征分类的准确度最高,但这并不意味着缺陷数据集特征维数为2时,所对应的特征子集是最好的,原因是,在使用较低维度的特征子集构建软件缺陷预测模型时,经常会出现过度拟合的问题。因此,本文认为,基于IMIFS+NB的软件缺陷预测的最有特征子集大小应选取一个较为恰当的空间,而非是特定值,根据图3.2所示实验结果,可选择[2,7]这一维度空间作为最优特征子集维度,确保缺陷预测结果更具参考性。19
第3章基于互信息的特征选择图3.3IMIFS在MLP分类器上的实验结果图3.3为IMIFS在MLP(多层感知机)上的软件缺陷预测结果。与NB分类器的相似之处为,同样是对J(f)受特征子集大小的非线性影响予以考量的IMIFS算法(CM1和PC1)的效果要优于其他情况下的IMIFS算法。不同之处在于,在软件缺陷分类的精确度上,MLP分类器下的精确度峰值主要位于维度相对较大的中间位置,最优特征子集的空间维度基本上占据了最初原始特征集维度的45%左右,与NB分类器下的低维度特征空间数据集相比,这一大小的特征子集要显得更为合理,能够在减少缺陷特征间冗余度的同时,尽可能保留多的缺陷信息,避免过度拟合的问题。根据上述实验结果可知,基于改进互信息的特征选择算法IMIFS在提高软件缺陷分类的效率和准确度方面具有较为突出的作用。但需要说明的是,在仿真实验过程中,并未发现对所有预测模型全部适用的最优特征子集,因为对于不同的学习算法而言,其学习能力也具有一定差异。因此,综合图3.2和图3.3所示结果,给出IMIFS算法下适用于不同分类器的最优特征子集的维度区间,以供相关人员参考,如表3.1所示。其中,“()”内的数字为与相应结果对应的最有特征子集内的数据集个数。表3.1IMIFS算法下不同分类器最优特征子集维度区间分类器朴素贝叶斯多层感知机最优特征子集维度区间[2,7](4)[9.14](4)20
【参考文献】:
期刊论文
[1]面向制造过程数据的两阶段无监督特征选择方法[J]. 张洁,盛夏,张朋,秦威,赵新明. 机械工程学报. 2019(17)
[2]基于差空间融合特征选择的SVM算法[J]. 景炜,丁卫平. 计算机工程与设计. 2019(08)
[3]基于基尼指标和卡方检验的特征选择方法[J]. 陈谌,梁雪春. 计算机工程与设计. 2019(08)
[4]基于卷积神经网络的代价敏感软件缺陷预测模型[J]. 邱少健,蔡子仪,陆璐. 计算机科学. 2019(11)
[5]用于软件缺陷预测的集成模型[J]. 胡梦园,黄鸿云,丁佐华. 计算机科学. 2019(11)
[6]基于实例过滤与迁移的跨项目缺陷预测方法[J]. 范贵生,刁旭炀,虞慧群,陈丽琼. 计算机工程. 2020(08)
[7]软件缺陷预测技术研究进展[J]. 宫丽娜,姜淑娟,姜丽. 软件学报. 2019(10)
[8]基于随机森林的信用评估特征选择[J]. 王妍. 黑龙江科学. 2019(14)
[9]基于乌鸦搜索算法的新型特征选择算法[J]. 王颖,曹捷,邱志洋. 吉林大学学报(理学版). 2019(04)
[10]基于粗糙集和果蝇优化算法的特征选择方法[J]. 方波,陈红梅,王生武. 计算机科学. 2019(07)
硕士论文
[1]基于程序语义的软件缺陷预测技术研究与实现[D]. 于悦.北京邮电大学 2019
[2]基于机器学习的软件缺陷预测方案研究[D]. 李梦奇.北京邮电大学 2019
[3]基于主动学习的软件缺陷预测方法研究[D]. 吴芳芳.南京大学 2019
[4]基于特征迁移的跨项目软件缺陷预测[D]. 刘树毅.内蒙古师范大学 2019
[5]基于集成模型的软件缺陷预测[D]. 胡梦园.浙江理工大学 2019
[6]基于联合表示的软件缺陷预测方法研究[D]. 史作婷.南京邮电大学 2018
[7]特征选择在软件缺陷预测技术中的应用研究[D]. 王培.华中师范大学 2013
本文编号:3133204
【文章来源】:吉林大学吉林省 211工程院校 985工程院校 教育部直属院校
【文章页数】:49 页
【学位级别】:硕士
【部分图文】:
软件缺陷预测体系框架图
第3章基于互信息的特征选择3.3,评价函数J(f)中的b(见式(3.12))对于特征选择过程十分重要。当b=-1时,J(f)类似于Fatemeh的评价函数;当b=0时,J(f)类似于Battiti所提函数(式(3.11))。当b=-3时,相应结果表现为图3.2和图3.3中的蓝线条,此时,所对应的实验结果要优于其他取值情况。图3.2IMIFS在NB分类器上的实验结果具体来看,图3.2为IMIFS在NB(朴素贝叶斯算法)分类器上的实验结果。从CM1、JM1、PC1和KC1四个数据集的显示结果中可发现,以NB为分类器的情况下,IMIFS对软件缺陷的预测结果为,维度较小的缺陷特征子集的缺陷预测效果更为突出,且考虑到特征子集的规模(大小)对J(f)的非线性影响的IMIFS算法所确定出的最优特征子集对于缺陷分类效果的过渡比较平滑,但为考虑这一因素的,则存在一定波动,如CM1和JM1数据集下的分类过渡。此外,特征数(横坐标)为2时,缺陷特征分类的准确度最高,但这并不意味着缺陷数据集特征维数为2时,所对应的特征子集是最好的,原因是,在使用较低维度的特征子集构建软件缺陷预测模型时,经常会出现过度拟合的问题。因此,本文认为,基于IMIFS+NB的软件缺陷预测的最有特征子集大小应选取一个较为恰当的空间,而非是特定值,根据图3.2所示实验结果,可选择[2,7]这一维度空间作为最优特征子集维度,确保缺陷预测结果更具参考性。19
第3章基于互信息的特征选择图3.3IMIFS在MLP分类器上的实验结果图3.3为IMIFS在MLP(多层感知机)上的软件缺陷预测结果。与NB分类器的相似之处为,同样是对J(f)受特征子集大小的非线性影响予以考量的IMIFS算法(CM1和PC1)的效果要优于其他情况下的IMIFS算法。不同之处在于,在软件缺陷分类的精确度上,MLP分类器下的精确度峰值主要位于维度相对较大的中间位置,最优特征子集的空间维度基本上占据了最初原始特征集维度的45%左右,与NB分类器下的低维度特征空间数据集相比,这一大小的特征子集要显得更为合理,能够在减少缺陷特征间冗余度的同时,尽可能保留多的缺陷信息,避免过度拟合的问题。根据上述实验结果可知,基于改进互信息的特征选择算法IMIFS在提高软件缺陷分类的效率和准确度方面具有较为突出的作用。但需要说明的是,在仿真实验过程中,并未发现对所有预测模型全部适用的最优特征子集,因为对于不同的学习算法而言,其学习能力也具有一定差异。因此,综合图3.2和图3.3所示结果,给出IMIFS算法下适用于不同分类器的最优特征子集的维度区间,以供相关人员参考,如表3.1所示。其中,“()”内的数字为与相应结果对应的最有特征子集内的数据集个数。表3.1IMIFS算法下不同分类器最优特征子集维度区间分类器朴素贝叶斯多层感知机最优特征子集维度区间[2,7](4)[9.14](4)20
【参考文献】:
期刊论文
[1]面向制造过程数据的两阶段无监督特征选择方法[J]. 张洁,盛夏,张朋,秦威,赵新明. 机械工程学报. 2019(17)
[2]基于差空间融合特征选择的SVM算法[J]. 景炜,丁卫平. 计算机工程与设计. 2019(08)
[3]基于基尼指标和卡方检验的特征选择方法[J]. 陈谌,梁雪春. 计算机工程与设计. 2019(08)
[4]基于卷积神经网络的代价敏感软件缺陷预测模型[J]. 邱少健,蔡子仪,陆璐. 计算机科学. 2019(11)
[5]用于软件缺陷预测的集成模型[J]. 胡梦园,黄鸿云,丁佐华. 计算机科学. 2019(11)
[6]基于实例过滤与迁移的跨项目缺陷预测方法[J]. 范贵生,刁旭炀,虞慧群,陈丽琼. 计算机工程. 2020(08)
[7]软件缺陷预测技术研究进展[J]. 宫丽娜,姜淑娟,姜丽. 软件学报. 2019(10)
[8]基于随机森林的信用评估特征选择[J]. 王妍. 黑龙江科学. 2019(14)
[9]基于乌鸦搜索算法的新型特征选择算法[J]. 王颖,曹捷,邱志洋. 吉林大学学报(理学版). 2019(04)
[10]基于粗糙集和果蝇优化算法的特征选择方法[J]. 方波,陈红梅,王生武. 计算机科学. 2019(07)
硕士论文
[1]基于程序语义的软件缺陷预测技术研究与实现[D]. 于悦.北京邮电大学 2019
[2]基于机器学习的软件缺陷预测方案研究[D]. 李梦奇.北京邮电大学 2019
[3]基于主动学习的软件缺陷预测方法研究[D]. 吴芳芳.南京大学 2019
[4]基于特征迁移的跨项目软件缺陷预测[D]. 刘树毅.内蒙古师范大学 2019
[5]基于集成模型的软件缺陷预测[D]. 胡梦园.浙江理工大学 2019
[6]基于联合表示的软件缺陷预测方法研究[D]. 史作婷.南京邮电大学 2018
[7]特征选择在软件缺陷预测技术中的应用研究[D]. 王培.华中师范大学 2013
本文编号:3133204
本文链接:https://www.wllwen.com/kejilunwen/sousuoyinqinglunwen/3133204.html