[发明专利]一种基于监督式表示学习的跨项目软件缺陷预测方法有效
申请号: | 201910915935.5 | 申请日: | 2019-09-26 |
公开(公告)号: | CN110751186B | 公开(公告)日: | 2022-04-08 |
发明(设计)人: | 郑征;万晓晖 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;G06N3/08;G06F11/34 |
代理公司: | 北京慧泉知识产权代理有限公司 11232 | 代理人: | 李娜 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 监督 表示 学习 项目 软件 缺陷 预测 方法 | ||
1.一种基于监督式表示学习的跨项目软件缺陷预测方法,其特征在于:该方法包括以下步骤:
步骤1)、明确待预测的目标项目和用来训练模型的源项目,并对源项目和目标项目的原始数据进行标准化或归一化预处理操作;
步骤2)、将源项目和目标项目中所有样本的特征向量输入给迁移自编码器,并以无监督预训练方式初步训练迁移自编码器,再由迁移自编码器的特征编码层得到源项目和目标项目所有样本的初步隐层特征表示;
步骤3)、在步骤2)中得到初步特征表示的基础上,借助迁移交叉验证方法,从源项目样本的隐层特征表示中选择与目标项目样本隐层特征表示分布最接近的部分样本作为验证集,剩下的源项目样本作为训练集;
步骤4)、对训练集样本进行过采样处理;
步骤5)、在步骤4)过采样处理后的训练集上继续监督式微调迁移自编码器,并借助验证集上的预测性能选择模型超参数以及提早停止策略完成模型的训练;
步骤6)、迁移自编码器训练完成后,再将目标项目经过预处理的样本数据输入给迁移自编码器,并由其标签编码层得到最终的预测结果;
所述的迁移自编码器是一种具有双编码层结构的自编码器;所述的双编码层为特征编码层和标签编码层;其中,第一层编码层是特征编码层,负责将源项目和目标项目中所有样本的特征向量编码为隐层特征表示,而标签编码层则是在隐层特征表示的基础上实现对样本的分类;
所述迁移自编码器采用不同形式的损失函数;模型预训练过程和微调过程通过调整损失函数,使其包含或不包含标签损失项,分别实现无监督和有监督两种训练方式。
2.根据权利要求1所述的一种基于监督式表示学习的跨项目软件缺陷预测方法,其特征在于:所述无监督训练方式,训练过程中没有引入标签信息,损失函数由重构误差项和隐层特征分布差异项这两部分组成;通过最小化该损失函数,网络可以学到所有样本的隐层特征表示。
3.根据权利要求1所述的一种基于监督式表示学习的跨项目软件缺陷预测方法,其特征在于:所述有 监督式训练方式,即训练过程引入源项目样本的标签信息,此时的损失函数有4项内容组成,包括重构误差项、隐层特征分布差异项、源项目样本的标签损失项以及正则损失项。
4.根据权利要求1所述的一种基于监督式表示学习的跨项目软件缺陷预测方法,其特征在于:步骤3)中所述的迁移交叉验证方法,依据特征分布差异性选择与目标项目数据分布接近的部分训练数据作为验证集,并将其余数据作为训练集;所采用的特征变换是通过迁移自编码器得到的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910915935.5/1.html,转载请声明来源钻瓜专利网。