CN110322222A - 一种基于深度学习的异质软件工作量估计方法 - Google Patents
一种基于深度学习的异质软件工作量估计方法 Download PDFInfo
- Publication number
- CN110322222A CN110322222A CN201910588213.3A CN201910588213A CN110322222A CN 110322222 A CN110322222 A CN 110322222A CN 201910588213 A CN201910588213 A CN 201910588213A CN 110322222 A CN110322222 A CN 110322222A
- Authority
- CN
- China
- Prior art keywords
- data set
- distribution
- encoder
- data
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000013135 deep learning Methods 0.000 title claims abstract description 16
- 238000012549 training Methods 0.000 claims abstract description 50
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 15
- 238000009826 distribution Methods 0.000 claims description 75
- 239000013598 vector Substances 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 13
- 238000006116 polymerization reaction Methods 0.000 claims description 3
- 230000003042 antagnostic effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 108010035947 CPLX inhibitor Proteins 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012733 comparative method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000006317 isomerization reaction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及计算机软件技术领域,更具体地,涉及一种基于深度学习的异质软件工作量估计方法,包括:步骤S1:建立数据集,包括源数据集与目标数据集;其中,目标数据集为用户自有的一个数据集;源数据集为与目标数据集存在异质性的一个数据集;步骤S2:利用源数据集与目标数据集训练自编码器;步骤S3:从自编码器提取数据特征,把数据特征输入卷积神经网络训练预测器,使用预测器生成软件工作量的预测值。卷积神经网络能自动提取数据的高层次含义,使软件工作量估计的工作更为高效,还节省了资源。
Description
技术领域
本发明涉及计算机软件技术领域,更具体地,涉及一种基于深度学习的异质软件工作量估计方法。
背景技术
随着互联网走进千家万户,计算机技术日新月异,软件作为一种信息技术的主要载体已成为了人类社会不可或缺的一部分。软件需求的日益增多,软件开发的代码也愈加复杂,对软件工作量的估计也愈加困难。
软件工作量估计(Software Effort Estimation,简称SEE)是企业软件项目开发中的一项重要活动,准确的软件工作量估计能使企业做出合理的规划,降低管理成本,从而增强运作效率,提高经济效益。
对于软件工作量估计目前已有不少对应的方案,但普遍都存在无法适用或预测结果不准确的问题,究其原因在于考量的因素有限导致的。例如Boehm等人提出的COCOMO模型,其模型的原理是:用一个以已估算出来的原代码行数(LOC)为自变量的经验函数计算软件开发工作量。又例如Albrecht提出了一个基于功能点分析的项目评价方法,将团队的生产率比如每人月的功能点数用于所需工作量的评估。上述的两种方案在软件工作量估计的实际应用中都有不俗的表现,与众多的方案对比也算得上优秀,但是这两种方案的实现都是建立在数据充足的基础上的。在对软件工作量估计的工作中,往往会面临数据干涸的问题。这大多发生在新成立的企业或部门身上,因为本身历史数据的缺乏,无法提供足够的数据进行软件工作量估计,还有的就是企业对于隐私和安全方面考虑,无法对外公开足够的数据。这种种的情况,使企业内部可提供的数据十分有限,并且数据可用性也不高。而数据量的不足与数据的可用性差会导致预测出来的结果不准确,甚至无法进行预测。
针对数据干涸的问题,研究者们提出一种新的方案:通过使用外部企业的数据集学习出预测模型,用预测模型对本企业的工作量进行估计,解决内部数据不足的问题。然而不同的公司数据之间通常都存在异质性(heterogeneous),即数据所使用的度量标准和度量集的大小不同。因为数据之间的异质性,从外部企业采集的数据是无法直接利用的,若是重新计算度量值代价又太高,而且有可能缺乏相关数据。对此,Jing等人提出一种基于统一度量表示(Unified metric representation,简称UMR)和典型相关性分析(Canonicalcorrelation analysis,简称CCA)的方法解决数据异质的问题,即:将异质数据集先用0填充策略进行规整,再应用CCA转换至共同特征空间。在此基础上,Tong等人又提出了MCA的方法,该方法将UMR、CCA和受限玻尔兹曼机进行组合,并使用Knn分类器将获得的混合值作为SEE的预测值。
上述的方法虽然解决了数据之间异质性的问题,但所使用的方法存在着缺陷,导致预测的结果并不准确,例如:基于UMR与CCA的方法会因为多个异质数据集结合时顺序的不同,对学习到的特征空间产生不同影响,又例如MCA的方法,由于其每一步之间存在较大的分离性,导致在实现时,上一步的输出对于当前步可能不是最优,并且工作量数据的采集通常是一个动态过程,MCA仅考虑了静态场景下的异质工作量估计。
发明内容
为了解决上述问题,本发明提供一种基于深度学习的异质软件工作量估计方法,该方法使软件工作量估计的工作更为高效,预测出来的结果更准确。
本发明采取的技术方案是:
一种基于深度学习的异质软件工作量估计方法,包括:
步骤S1:建立数据集,包括源数据集与目标数据集;
其中,目标数据集为用户自有的一个数据集;
源数据集为与目标数据集存在异质性的一个数据集;
步骤S2:利用源数据集与目标数据集训练自编码器;
步骤S3:从自编码器提取数据特征,把数据特征输入卷积神经网络训练预测器,使用预测器生成软件工作量的预测值。
建立的数据集,目标数据集一般由本企业内部的数据构成,源数据集一般由外部企业的通用数据构成,两者存在数据异质性。将目标数据集与源数据集输入自编码器,让自编码器学习出一个所有目标、源的数据集共享的特征空间,在空间里所有的数据集都有较好的性能,将两个数据集转化同质。使用数据集进行训练的特征空间会携带数据集的数据特征,把特征空间携带的数据特征输入卷积神经网络,用于对预测器训练,提高预测器的性能。卷积神经网络能自动提取数据的高层次含义,使软件工作量估计的工作更为高效,还节省了资源。
进一步地,所述步骤S2包括:自编码器通过输入向量的聚合后验分布和任意的先验分布进行匹配来完成正则化;
所述输入向量的聚合后验分布为:
q(z)=∫xq(z|x)pd(x)dx
所述任意的先验分布为:
p(z)
其中,x表示输入向量,z表示自编码器的潜在编码向量,q(z|x)表示将x编码为z的编码分布,pd(x)表示数据分布,p(x|z)表示将z解码为x的解码分布。
自编码器将两个数据集映射至特征空间的过程,即训练自编码器的过程,其训练使特征空间能很好地融合异质数据,并携带两个数据集的数据特征。具体实现的方法是,对输入向量进行编码得到聚合后验分布,根据编码过程与任意分布得到任意先验分布,将两者进行匹配完成正则化。至此,两个作为输入向量的数据集在空间里的性能得到了很好的提升,异质数据转化为同质数据,空间的得到数据集的数据特征。
进一步地,所述输入向量为目标数据集x1,聚合后验分布为:
所述任意的先验分布为源数据集x2的先验分布,所述自编码器通过q(z)与p(z)进行匹配来完成正则化,完成训练。
上述方法,更具体的是目标数据集x1的聚合后验分布与源数据集x2的先验分布进行匹配完成正则化;即自编码器不断调整根据目标数据集x1的编码过程,使生成的潜在编码向量(聚合后验)分布接近源数据集x2编码得到的先验分布。
进一步地,所述自编码器包含编码器和解码器,所述编码器对目标数据集与源数据集进行编码,生成潜在编码向量;所述解码器对潜在编码向量进行解码,重构编码前的数据。
自编码器在本方案里作为完成正则化的工具,一般的自编码器包含编码器和解码器,主要负责对数据集进行编码和对编码后的数据集解码,重构数据集分布,上述过程在自编码器的训练中称为重构阶段。
进一步地,所述自编码器为对抗自编码器,所述对抗自编码器包含生成器和判别器,所述生成器与判别器对抗,两者的对抗求解公式如下:
其中,G表示生成器,D表示判别器,x表示根据真实数据分布生成的样本,G(z)表示根据先验概率p(z)生成的样本,训练判别器D时,log D(x)越大判别器D区分真实数据分布与模拟数据分布的能力越强,所以需要max D,训练生成器G时,1-D(G(z))越小生成器G生成的训练样本数据分布与真实数据分布的差异越小,所以需要min G;
所述生成器为编码器,对目标数据集进行编码,生成训练样本,所述训练样本即潜在编码向量;判别器对训练样本进行辨别,判断训练样本是服从真实数据编码分布还是服从模拟数据编码分布;所述目标数据集编码分布为模拟数据分布,所述源数据集编码分布为真实数据分布。
生成器G和判别器D形成对抗网络进行联合训练:首先,进入重构阶段,对抗自编码器给输入的目标数据集与源数据集进行编码生成样本,所述样本为潜在编码向量,然后解码器解码样本,重构出原始数据的内容;然后,进入正则阶段,判别器D不断学习提高辨别能力,辨别样本由哪个数据集编码而成,生成器G不断调整生成过程,使生成的样本更加接近源数据集的编码分布,去迷惑判别器D;当生成器G生成的样本分布与源数据集的编码分布无限接近,判别器D辨别不出两者区别时,因为两者的编码分布相似,那么解码后重构的分布也相似,至此映射到空间里的数据集之间的异质性转化为同质,空间达成训练目标。
进一步地,所述对抗自编码器还包含损失函数。
一般的对抗自编码器,除了源数据集的先验分布,一般是不包含任何关于数据集的原始信息,而本方案的对抗自编码器还添加了新的约束,使用损失函数保留目标数据集与源数据集的原始信息。
进一步地,所述对抗自编码器加入损失函数的公式如下:
其中,Q0表示使用源数据集x2训练预测器,对源数据集xz进行预测的准确度;Q1表示预测器将从先验概率p(x1)生成样本作为训练集,对源数据集x2进行预测的准确度,所述先验概率p(x1)为目标数据集x1的先验概率。
本方案使用损失函数保留数据集原始信息的具体步骤为:
1.使用相同的神经网络层数和特定宽度的节点用于规整目标数据集x1与源数据集x2;
2.将目标数据集x1进行编码,得到先验概率p(x1);
3.利用Q0与Q1之间的差异,使生成的样本保留目标数据集x1和源数据集x2的信息;
所述Q0为使用源数据集x2为训练样本集的预测器对源数据集x2进行预测的准确度,所述Q1为使用了目标数据集x1为训练样本集的预测器对源数据集x2进行预测的准确度,准确度使用均方误差MSE计算,计算公式如下:
其中,D为训练样本集,D={(x1,y1),(x2,y2),...,(xm,ym)},其中yi为xi对应的真实值,f(xi)为训练模型f根据xi得到的预测值。
当数据集映射至数据集共享的特征空间,拥有损失函数的预测器不仅能预测目标数据集x1,还能预测源数据集x2,从而保留数据的原始信息。
进一步地,所述预测器为动态更新,所述动态更新包括:
步骤S4.1:采集数据,建立至少一个新数据集;
步骤S4.2:选取一个步骤S4.1中未输入过预测器的新数据集作为新的源数据集,预测器原有的源数据集与目标数据集结合作为新的目标数据集;
步骤S4.3:将步骤S4.2中新生成的源数据集与目标数据集输入预测器,进行更新训练,所述更新训练与步骤S2中所述的训练相同;
步骤S4.4:若步骤S4.1中存在未输入过预测器的新数据集,执行步骤S4.2,否则完成动态更新。
现实中,软件工作量估计通常是一个动态任务,因为数据集会在不同的时间被收集得到,并非一次就可以全部收集完成,所以已经训练完成的预测器是很有必要进行后续更新的。本方案设计的预测器可以动态更新,并且预测结果不受数据集的组合顺序影响,使得预测器的预测方法可以不断完善,让预测值愈加准确。
进一步地,所述新数据集的数据来源于用户自有数据或外部企业数据。
本方案主要针对的是异质数据集的处理,数据的异质性一般存在于本企业内部数据与外部企业数据之间,因此后续输入预测器使其进行更新的数据一般为外部企业数据,但本企业前期的内部数据与后期的内部数据可能也会存在异质性,所以用户自有数据也可作为预测器的更新数据。
所述卷积神经网络(Convolutional Neural Networks,简称CNN)包括1个输入层、至少1个卷积层、1个全连接层、1个输出层;所述卷积神经网络的连接方式为:输入层→卷积层→全连接层→输出层。
本方案设计的卷积神经网络为4层,简单而高效,根据实际问题,卷积层也可以多设计不止1个。
与现有技术相比,本发明的有益效果为:
(1)采用了卷积神经网络,相比于人工提取数据的高层次含义,仅考虑调整卷积网络参数的深度学习方法不仅高效,还节省了资源成本。
(2)预测器为动态更新,并且预测结果不受数据集的组合顺序影响,使得预测器的预测方法可以不断完善,让预测值愈加准确。
(3)对抗自编码器添加了新的约束,最大程度地保留数据的原始信息,方便用户历史查看。
附图说明
图1为本发明的特征空间示意图;
图2为本发明的对抗自编码器示意图;
图3为本发明的神经网络结构图。
具体实施方式
本发明附图仅用于示例性说明,不能理解为对本发明的限制。
为了更好说明以下实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
实施例
本实施例提供一种基于深度学习的异质软件工作量估计方法包括:
步骤S1:建立数据集,包括源数据集x2与目标数据集x1;
其中,目标数据集x1为用户自有的一个数据集;
一般为本企业内部数据,若是新成立的企业历史数据为零,也可根据实际情况采用企业分部或者与本企业情况相近的外部企业数据构成目标数据集x1;
源数据集x2与目标数据集x1之间存在异质性,一般采用外部企业数据集,与目标数据集x1异构;
步骤S2:利用源数据集x2与目标数据集x1训练自编码器;
训练的过程包括:自编码器通过输入向量的聚合后验分布和源数据集x2的先验分布进行匹配来完成正则化;
所述输入向量的聚合后验分布为:
所述任意的先验分布为:
p(z)
其中,x1表示输入向量,z表示自编码器的潜在编码向量,q(z|x1)表示将目标数据x1编码为z的编码分布,pd(x1)表示目标数据x1数据分布,p(x|z)表示将z解码为x的解码分布。
将源数据集x2为与目标数据集x1输入自编码器,目标数据x1集充当输入向量;
自编码器将输入向量编码,生成潜在编码向量,所述潜在编码向量即目标数据x1的聚合后验分布q(z);
再将源数据集x2编码,得到的先验分布p(z);
将上述的聚合后验分布q(z)与先验分布p(z)进行匹配来完成正则化,以此训练编码器,使其训练出一个源数据集x2与目标数据集x1共享的特征空间,源数据集x2与目标数据集x1在空间里都有较好的性能。
一般来说,用来训练自编码器的数据集无法一次收集完全,在企业后续的工作中会陆陆续续收集到不同的数据,并且随着企业的发展,前期的数据渐渐已不适用于企业,训练好的模型必须重新训练,才能切合企业的实际情况,预测出准确的软件工作量。因此,本发明的预测器拥有动态更新的功能。
图1为本发明的特征空间示意图,如图1所示,当源数据集x2与目标数据集x1输入到自编码器,会训练出一个共享的特征空间,两个数据集在这一个空间里会有较好的性能。当新加入用于训练模型的数据集时,那么新加入的数据集成为新的源数据集x2,原有的存在于同一空间内的,已转化为同质的源数据集与目标数据集成为新的目标数据集x1,新的源数据集x2与目标数据集x1会重复步骤S2,对自编码器进行训练。上述的动态更新,即为不断加入新的数据集,不断对自编码器进行训练这一过程。
虽然异质性一般存在于不同的企业之间,本企业内部的数据大多为同质,但考虑到企业前期收集的数据可能与后期收集的数据存在异质性,因此用于更新预测器的新数据集无论来源于用户自有数据或外部企业数据都可更新预测器。
图2为本发明的对抗自编码器示意图,如图2所示,一般的自编码器包含编码器和解码器,即图2上半部分,所述编码器对目标数据集x1进行编码,生成潜在编码向量;所述解码器对潜在编码向量进行解码,重构编码前的数据。
本实施例所使用的自编码器为对抗自编码器,所述对抗自编码器包含生成器和判别器,所述生成器与判别器对抗,两者的对抗求解公式如下:
其中,G表示生成器,D表示判别器,x表示根据真实数据分布生成的样本,G(z)表示根据先验概率p(z)生成的样本,训练判别器D时,log D(x)越大判别器D区分真实数据分布与模拟数据分布的能力越强,所以需要max D,训练生成器G时,1-D(G(z))越小生成器G生成的训练样本数据分布与真实数据分布的差异越小,所以需要minG;
对抗自编码器与一般的自编码器的区别在于,在一般的自编码器基础上,对抗自编码器拥有判别器D,即图2下半部分;自编码器的编码器充当对抗自编码器生成器G,生成器G与判别器D组成对抗网络;生成器G对目标数据集x1进行编码,生成训练样本,所述训练样本即潜在编码向量;判别器D对训练样本进行辨别,判断训练样本是服从真实数据编码分布还是服从模拟数据编码分布;所述目标数据集x1编码分布为模拟数据分布,所述源数据集x2编码分布为真实数据分布。
为了保留数据集的原始信息,本实施例里的对抗自编码器还包含损失函数,具体公式为:
其中,Q0表示使用源数据集x2训练预测器,对源数据集xz进行预测的准确度;Q1表示预测器将从先验概率p(x1)生成样本作为训练集,对源数据集x2进行预测的准确度,所述先验概率p(x1)为目标数据集x1的先验概率。
如图2所示,在生成器G与判别器D对抗工作的过程中,加入的损失函数可以验证源数据集x2的准确率,从负样本q(z)中鉴别正样本p(x2)的对抗代价,最终生成的特征能预测输入前源数据集x2与目标数据集x1,以此保留数据集的原始信息。
步骤S3:从自编码器提取数据特征,把数据特征输入卷积神经网络训练预测器,使用预测器生成软件工作量的预测值。
本实施例,所使用的卷积神经网络包括1个输入层、1个卷积层、1个全连接层、1个输出层;所述卷积神经网络的连接方式为:输入层→卷积层→全连接层→输出层。
图3为本发明的神经网络结构图,如图3所示,输入层所要输入的数据集由COCOMOII成本模型的7个度量描述,包括PVOL,TIME,DOCU,RESU,CPLX,DATA和RELY;进入卷积层,将度量集CPLX,RESU,DOCU整合为一个潜在特征,全连接层将特征处理后送入输出层,输出层输出估计的工作量。
为了证明本发明在工作量估计上的高效性,本实施例使用现有的数据集,将本发明的方法与其他方法进行了一次对比实验。所使用的数据集分别是:Abrecht、Kemerer、Miyazaki94、Maxwell、Kithcenham、CocNas、China、Opens数据集,其中Opens数据集作为目标数据集,依次添加其他7个数据集作为源数据集。
与本发明方法对比方法为:LP4EE、HDP-O、HDP-C、UCO、UCC、MCA。
评估指标为Pred(25),即相对误差大小(MRE)的值小于0.25概率。
实验结果显示,随着源数据集数量的增加,Pred(25)的值也有所提升,表明异质的工作量数据能够作为工作量估计中的有益补充。在所有对比的方法中,本发明方法的Pred(25)在动态工作量估计中可以维持最高,至少比对比方法LP4EE提高10.0%的Pred(25),说明本发明方法具有领先且稳定的预测准确率。
显然,本发明的上述实施例仅仅是为清楚地说明本发明技术方案所作的举例,而并非是对本发明的具体实施方式的限定。凡在本发明权利要求书的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种基于深度学习的异质软件工作量估计方法,其特征在于,所述方法包括:
步骤S1:建立数据集,包括源数据集与目标数据集;
其中,目标数据集为用户自有的一个数据集;
源数据集为与目标数据集存在异质性的一个数据集;
步骤S2:利用源数据集与目标数据集训练自编码器;
步骤S3:从自编码器提取数据特征,把数据特征输入卷积神经网络训练预测器,使用预测器生成软件工作量的预测值。
2.根据权利要求1所述的一种基于深度学习的异质软件工作量估计方法,其特征在于,所述步骤S2包括:自编码器通过输入向量的聚合后验分布和任意的先验分布进行匹配来完成正则化;
所述输入向量的聚合后验分布为:
q(z)=∫x q(z|x)pd(x)dx
所述任意的先验分布为:
p(z)
其中,x表示输入向量,z表示编码器的潜在编码向量,q(z|x)表示将x编码为z的编码分布,pd(x)表示数据分布,p(x|z)表示将z解码为x的解码分布。
3.根据权利要求2所述的一种基于深度学习的异质软件工作量估计方法,其特征在于,所述输入向量为目标数据集x1,聚合后验分布为:
所述任意的先验分布为源数据集x2的先验分布,所述自编码器通过q(z)与p(z)进行匹配来完成正则化,完成训练。
4.根据权利要求1所述的一种基于深度学习的异质软件工作量估计方法,其特征在于,所述自编码器包含编码器和解码器,所述编码器对目标数据集进行编码,生成潜在编码向量;所述解码器对潜在编码向量进行解码,重构编码前的数据。
5.根据权利要求4所述的一种基于深度学习的异质软件工作量估计方法,其特征在于,所述自编码器为对抗自编码器,所述对抗自编码器包含生成器和判别器,所述生成器与判别器对抗,两者的对抗求解公式如下:
其中,G表示生成器,D表示判别器,x表示根据真实数据分布生成的样本,G(z)表示根据先验概率p(z)生成的样本,训练判别器D时,log D(x)越大判别器D区分真实数据分布与模拟数据分布的能力越强,所以需要max D,训练生成器G时,1-D(G(z))越小生成器G生成的训练样本数据分布与真实数据分布的差异越小,所以需要min G;
所述生成器为编码器,对目标数据集进行编码,生成训练样本,所述训练样本即潜在编码向量;判别器对训练样本进行辨别,判断训练样本是服从真实数据编码分布还是服从模拟数据编码分布;所述目标数据集编码分布为模拟数据分布,所述源数据集编码分布为真实数据分布。
6.根据权利要求5所述的一种基于深度学习的异质软件工作量估计方法,其特征在于,所述对抗自编码器还包含损失函数。
7.根据权利要求6所述的一种基于深度学习的异质软件工作量估计方法,其特征在于,所述对抗自编码器加入损失函数的公式如下:
其中,Q0表示使用源数据集x2训练预测器,对源数据集x2进行预测的准确度;Q1表示预测器将从先验概率p(x1)生成样本作为训练集,对源数据集x2进行预测的准确度,所述先验概率p(x1)为目标数据集x1的先验概率。
8.根据权利要求1所述的一种基于深度学习的异质软件工作量估计方法,其特征在于,所述预测器为动态更新,所述动态更新包括:
步骤S4.1:采集数据,建立至少一个新数据集;
步骤S4.2:选取一个步骤S4.1中未输入过预测器的新数据集作为新的源数据集,预测器原有的源数据集与目标数据集结合作为新的目标数据集;
步骤S4.3:将步骤S4.2中新生成的源数据集与目标数据集输入预测器,进行更新训练,所述更新训练与步骤S2中所述的训练相同;
步骤S4.4:若步骤S4.1中存在未输入过预测器的新数据集,执行步骤S4.2,否则完成动态更新。
9.根据权利要求8所述的一种基于深度学习的异质软件工作量估计方法,其特征在于,所述新数据集的数据来源于用户自有数据或外部企业数据。
10.根据权利要求1所述的一种基于深度学习的异质软件工作量估计方法,其特征在于,所述卷积神经网络包括1个输入层、至少1个卷积层、1个全连接层、1个输出层;所述卷积神经网络的连接方式为:输入层→卷积层→全连接层→输出层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910588213.3A CN110322222B (zh) | 2019-06-28 | 2019-06-28 | 一种基于深度学习的异质软件工作量估计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910588213.3A CN110322222B (zh) | 2019-06-28 | 2019-06-28 | 一种基于深度学习的异质软件工作量估计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110322222A true CN110322222A (zh) | 2019-10-11 |
CN110322222B CN110322222B (zh) | 2021-01-22 |
Family
ID=68122231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910588213.3A Active CN110322222B (zh) | 2019-06-28 | 2019-06-28 | 一种基于深度学习的异质软件工作量估计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110322222B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111915103A (zh) * | 2020-08-22 | 2020-11-10 | 武汉空心科技有限公司 | 基于深度学习的工作平台任务量预测方法及系统 |
CN112884020A (zh) * | 2021-01-29 | 2021-06-01 | 北京联合大学 | 一种基于多尺度圆形卷积神经网络的业务质量预测方法 |
CN114664395A (zh) * | 2022-03-25 | 2022-06-24 | 上海交通大学 | 基于神经网络和贝叶斯优化的热辐射材料设计方法及系统 |
-
2019
- 2019-06-28 CN CN201910588213.3A patent/CN110322222B/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111915103A (zh) * | 2020-08-22 | 2020-11-10 | 武汉空心科技有限公司 | 基于深度学习的工作平台任务量预测方法及系统 |
CN112884020A (zh) * | 2021-01-29 | 2021-06-01 | 北京联合大学 | 一种基于多尺度圆形卷积神经网络的业务质量预测方法 |
CN112884020B (zh) * | 2021-01-29 | 2024-06-04 | 北京联合大学 | 一种基于多尺度圆形卷积神经网络的业务质量预测方法 |
CN114664395A (zh) * | 2022-03-25 | 2022-06-24 | 上海交通大学 | 基于神经网络和贝叶斯优化的热辐射材料设计方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110322222B (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lu et al. | Temporal network embedding with micro-and macro-dynamics | |
CN110322222B (zh) | 一种基于深度学习的异质软件工作量估计方法 | |
CN104951425B (zh) | 一种基于深度学习的云服务性能自适应动作类型选择方法 | |
CN108829501B (zh) | 一种基于改进遗传算法的批处理科学工作流任务调度算法 | |
Tran Dinh et al. | FedDR–randomized Douglas-Rachford splitting algorithms for nonconvex federated composite optimization | |
CN113328755B (zh) | 一种面向边缘计算的压缩数据传输方法 | |
Labroche | New incremental fuzzy c medoids clustering algorithms | |
CN116090360B (zh) | 一种基于多模态实体对齐的rpa流程推荐方法 | |
CN114118369B (zh) | 一种基于群智能优化的图像分类卷积神经网络设计方法 | |
CN113568954A (zh) | 网络流量预测数据预处理阶段的参数最优化方法及系统 | |
CN112487639A (zh) | 使用模糊灰色综合评价模型确定城市地下空间寿命周期风险等级的方法 | |
CN114118267B (zh) | 基于半监督生成对抗网络的文物感知数据缺失值插补方法 | |
CN114821148A (zh) | 一种基于多模态特征融合的零样本学习分类方法及设备 | |
CN116521863A (zh) | 一种基于半监督学习的标签抗噪文本分类方法 | |
CN115345297A (zh) | 一种基于生成对抗网络的台区样本生成方法及系统 | |
CN114528284A (zh) | 一种底层数据清洗方法、装置、移动终端和存储介质 | |
CN117875520A (zh) | 基于动态图时空演化挖掘的公共安全事件预测方法及系统 | |
CN117131022B (zh) | 一种电力信息系统的异构数据迁移方法 | |
CN101477686B (zh) | 基于克隆选择的无监督图像分割方法 | |
CN111930725A (zh) | 一种配用电数据压缩、融合方法及装置 | |
CN116821913A (zh) | 基于效用调节策略的智能合约漏洞检测方法 | |
CN116090500A (zh) | 基于异常检测模型的进化多任务优化算法 | |
Lee et al. | Q-HyViT: Post-training quantization for hybrid vision transformer with bridge block reconstruction | |
CN110288159A (zh) | 一种智慧城市建设测度方法 | |
CN115861664A (zh) | 基于局部特征融合与自注意力机制的特征匹配方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |