[发明专利]一种基于共享隐层自编码器的跨项目软件缺陷预测方法有效
申请号: | 202010001850.9 | 申请日: | 2020-01-02 |
公开(公告)号: | CN111198820B | 公开(公告)日: | 2022-08-26 |
发明(设计)人: | 荆晓远;李娟娟;吴飞;孙莹 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
地址: | 210003 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 共享 编码器 项目 软件 缺陷 预测 方法 | ||
1.一种基于共享隐层自编码器的跨项目软件缺陷预测方法,其特征在于,包括以下步骤:
(1)将预先获取的数据集划分训练集和测试集,并进行数据预处理;
(2)采用具有共享机制的自编码器进行特征提取,分别提取出训练集和测试集的深度特征;
(3)引入焦点损失函数,训练分类器;
步骤(2)所述的共享机制的自编码器为加入共享参数机制得到共享隐层的自编码器,实现过程如下:通过最小化重构误差L(θall)来获得隐层的深度特征表示L(θall),L(θall)包含两部分:L(θtr)和L(θte),L(θtr)和L(θte)定义为如下形式:
其中,L(θtr)为训练数据输入和输出的欧氏距离,来表示训练数据的输入和输出之间的重构误差,L(θtr)由三部分组成,包括重构误差损失项,类内损失项和类间损失项为全局类间损失项,为局部类间损失项,L(θte)测试数据的输入和输出之间的欧式距离,来表示测试数据的输入和输出之间的重构误差,指的是对于类别为0的每个样本,在类别为1的样本中选择出距离它最近的k个近邻样本的均值;是对于类别为1的每个样本,在类别为0的样本中选择出距离它最近的k个近邻样本的均值,是指解码之后训练数据集的特征,是解码之后测试数据集的特征,是训练数据中所有类别为0的样本,是训练数据中所有类别为1的样本,和分别是解码后类别为0,类别为1的训练数据,和分别是对训练数据解码之后类别为0的样本均值和类别为1的样本均值,同时优化L(θtr)和L(θte),最终的目标函数表示如下:
L(θall)=L(θtr)+rL(θte) (9)
其中,L(θall)为隐层的深度特征,网络需要优化的所有参数θall为:r是正则化参数;
步骤(3)所述的焦点损失函数通过以下公式实现:
其中,Ntr表示训练样本的数量,c表示标签的类别,k表示标签类别的数量,表示真实的标签,表示预测标签的概率,g(·)是激活函数,u为样本类别权重,对于无缺陷类样本,给予小权重u(0<u<1),对于有缺陷类样本给予大权重1-u(0<u<1),并且满足两个权重之和为1,为样本难易分类权重,在缺陷预测中越容易分类的样本,权重值是越小,缺陷预测中越难以分类的样本,权重值越大。
2.根据权利要求1所述的一种基于共享隐层自编码器的跨项目软件缺陷预测方法,其特征在于,步骤(1)所述预处理通过以下公式实现:
其中,Pi指的是对给定特征x进行归一化预处理以后的特征值,x为给定特征,给定特征x的最大值和最小值分别表示为max(x)和min(x),xi为特征x的每个特征值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010001850.9/1.html,转载请声明来源钻瓜专利网。