一种云服务QoS深度学习预测模型

文档序号:27757680发布日期:2021-12-03 22:46阅读:353来源:国知局
一种云服务QoS深度学习预测模型
一种云服务qos深度学习预测模型
技术领域
1.本发明涉及qos技术领域,具体是一种云服务qos深度学习预测模型。


背景技术:

2.云计算为用户提供快速且安全的服务,随着云计算的快速发展,基于云的服务的数量将不断增加,在众多功能相似的服务中,用户很难选择符合其需求的候选服务。在这种情况下,需要进一步比较云服务的qos来获得更好的选择。
3.qos是用于描述服务非功能属性(如吞吐量、响应时间等)的一组参数,是云计算中经常使用的用来评价服务性能的关键指标。由于用户信息(如网络状态、个人偏好等)的不确定性,不同用户调用同一个服务时,对服务的qos评价值(简称qos值)也会有较大的差异。对于使用过的服务,用户可以通过其历史qos记录来进行评估。而对于未调用过的服务,用户将无法获取该服务的qos值,从而判断它的性能。如何对服务的qos值进行准确的预测,帮助用户选择更优质更合适的服务成为了主要挑战之一。
4.为了解决这一问题,目前已经出现了许多方法来预测服务的qos值。这些方法大多受服务推荐中协同过滤的启发,通过收集用户或服务的历史信息来预测缺失的qos。但是,这些方法大多只利用了用户

服务qos原始矩阵的信息,而忽略其他影响qos值的因素。基于不同地理位置的用户与服务的交互如图1所示,许多应用程序以互联网为中心部署在云中,为客户提供安全快捷的服务。不仅用户信息、服务特征和网络状态的不同会导致服务的qos值存在差异,地理位置也会对服务的qos值造成影响。一般来说,地理位置相近的用户或服务通常有着相似的qos值。因此,在收集用户和服务历史信息的基础上,考虑地理位置的影响对qos预测和服务推荐来说至关重要。随着云计算的快速发展,提供相似功能的云服务数量正不断增加,服务质量(quality of service,qos)预测成为用户服务推荐的主要挑战之一。目前已有一些工作将深度学习应用于qos预测,但在预测准确度方面还需要进一步的提升。针对这种情况,现提出一种云服务qos深度学习预测模型。


技术实现要素:

5.本发明的目的在于提供一种云服务qos深度学习预测模型,能够有效解决上述背景技术中的不足。该模型融合了三种尺度的特征:全局、局部和个体特征。通过非负矩阵分解(non

negative matrix factorization,nmf)获得全局和个体特征矩阵,从中可以提取全局和个体特征。由于云服务的qos值会受到地理位置的影响,基于距离相似度计算获取相似用户和相似服务,并形成用户和服务的局部特征。通过mm

dnn分阶段逐步融合这三种特征,进行特征处理和学习,并在每个阶段中使用个体评价对该阶段的特征进行修正,从而更准确地预测云服务的qos值。
6.本发明的目的可以通过以下技术方案实现:
7.一种云服务qos深度学习预测模型,所述模型构建过程包括以下步骤:
8.s1:确定本模型的基本概念,基本概念为:多尺度特征、全局特征矩阵局部特
征矩阵(g)、个体特征矩阵和个体评价
9.s2:根据确定的基本概念,提出qos深度学习预测模型,模型分为三个工作阶段:预处理、特征提取和深度神经网络预测,预处理为对用户

服务qos原始矩阵进行非负矩阵分解,特征提取是通过对用户

服务qos原始矩阵使用非负矩阵分解,得到全局特征矩阵和个体特征矩阵,分别从中提取全局特征和个体特征,基于距离属性提取局部特征,深度神经网络预测通过设计mm

dnn,处理特征并最终预测出缺失的qos值;
10.s3:提出算法流程,算法流程包括多尺度特征提取和mm

dnn学习;
11.s4:评估qos深度学习预测模型的性能,在真实世界的qos数据集ws

dream进行实验,采用平均绝对误差(mae)和均方根误差(rmse)作为评价预测结果的评价指标,设置试验参数后,在设置的参数范围中确定使模型性能最优的参数,并在vi

f中使用最优参数对模型性能进行评估,分析不同的参数设置对本文模型预测准确度的影响,以确定模型的参数的最佳取值,进行了消融实验,比较模型的三种不同设置,分析mm

dnn的网络结构和矩阵密度对时间消耗的影响,最后在四个不同矩阵密度(5%、10%、15%、20%)下,比较四种方法的mae和rmse。
12.进一步地,所述s1中的多尺度特征包括全局特征、局部特征和个体特征;
13.所述全局特征矩阵是对用户

服务qos原始矩阵q进行非负矩阵分解后拟合得到的矩阵,从该矩阵中可以提取全局特征;
14.所述局部特征矩阵是由全局特征矩阵中提取出的相似用户对相似云服务的拟合qos值构成的矩阵,从该矩阵中可以得到局部特征;
15.所述个体特征矩阵包括用户个体特征u和云服务个体特征矩阵s;
16.所述个体评价用来描述用户对云服务的评价,来自全局特征矩阵中用户i对云服务j的拟合qos值,对模型每个阶段的特征进行修正。
17.进一步地,所述s2中预处理是对用户

服务qos原始矩阵q进行非负矩阵分解,得到用户的非负个体特征矩阵和服务的非负个体特征矩阵
18.u的每一列u
i
代表用户i的l维个体特征向量,s中的每一列s
j
代表服务j的l维个体特征向量;
19.对q进行非负矩阵分解,使u、s内积接近q,如式(1)所示:
[0020][0021][0022]
从用户

服务qos原始矩阵q中获得qos值并进行学习后得到u和s,使用用户

服务qos原始矩阵和全局特征矩阵之间误差的平方作为损失函数,如式(2)所示:
[0023][0024]
利用乘法更新规则来最小化式(2)中的损失函数,如式(3)所示:
[0025]
[0026][0027]
进一步地,所述s2中全局特征提取为从全局特征矩阵中提取用户i对所有云服务的评价和所有用户对服务j的评价(u
t
s
j
)作为全局特征,全局特征记为:
[0028][0029]
进一步地,所述s2中局部特征提取先进行基于距离的用户相似度和云服务相似度计算,用户b,v之间的距离d
bv
计算如式(5)所示:
[0030]
c=sin(γ
b
)
·
sin(γ
v
)+cos(γ
b
)
·
cos(γ
v
)
·
cos(θ
b

θv)
[0031][0032]
然后对距离进行排序,根据距离选出相似用户和相似服务,拟合qos值,构成局部特征矩阵g,并将其转换成一维向量,作为局部特征如式(6)所示;
[0033][0034]
进一步地,所述s2中个体特征提取为从用户个体特征矩阵u中提取用户i的特征向量u
i
作为用户个体特征,从服务个体特征矩阵s中提取云服务j的特征向量s
j
作为服务个体特征,个体特征表示为:
[0035][0036]
进一步地,所述s2中深度神经网络预测结构分为四个阶段:
[0037]
阶段1有一个归并层和l个全连接层,输入全局特征,经过一层全连接层之后在归并层中归并个体评价对特征进行修正,再通过全连接层进一步提取其中的与局部特征大小相同的信息,该阶段的前馈过程可以表示为:
[0038][0039][0040][0041][0042]
为激活函数relu(rectified linear unit,relu),如式(9)所示:
[0043][0044]
阶段2有两个归并层和m个全连接层,在一层归并层中归并局部特征,经过一层全连接层之后在归并层中归并个体评价,再馈入全连接层,过程如式(10)所示:
[0045][0046][0047][0048]
阶段3有两个归并层和z个全连接层,在一层归并层中连接个体特征,经过一层全
连接层之后在归并层中归并个体评价,再经过全连接层进行学习,过程如式(11)所示:
[0049][0050][0051][0052]
前三个阶段都使用bn和dropout;
[0053]
阶段4有一个归并层和一个全连接层,在归并层中连接个体评价通过一层全连接层进一步学习从而修正结果,输出qos预测值,如式(12)所示:
[0054][0055]
参数训练过程中采用平均绝对误差(mean absolute error,mae)作为损失函数,如式(13)所示:
[0056][0057]
优化网络中的参数,采用梯度下降法来进行模型训练,使损失最小化,如式(14)所示。
[0058][0059][0060]
进一步地,所述s3中多尺度特征提取为算法1,mm

dnn学习为算法2,算法1获得全局特征、局部特征、个体特征,将这三种特征作为算法2的输入,并在mm

dnn进行分阶段特征融合,最后算法2返回用户对云服务的qos预测值。
[0061]
进一步地,所述s4中采用平均绝对误差(mae)和均方根误差(rmse)作为评价预测结果的评价指标,如式(15)(16)所示:
[0062][0063][0064]
进一步地,所述云服务qos深度学习预测模型存储在存储器内,所述存储器被配置用于运行所述云服务qos深度学习预测模型,执行权利要求1至9任一项所述的云服务qos深度学习预测模型。
[0065]
本发明的有益效果:
[0066]
本发明模型融合了三种尺度的特征:全局、局部和个体特征,通过非负矩阵分解(nmf)获得全局和个体特征矩阵,从中可以提取全局和个体特征,由于云服务的qos值会受到地理位置的影响,基于距离相似度计算获取相似用户和相似服务,并形成用户和服务的局部特征,通过mm

dnn分阶段逐步融合这三种特征,进行特征处理和学习,并在每个阶段中使用个体评价对该阶段的特征进行修正,从而更准确地预测云服务的qos值。
附图说明
[0067]
下面结合附图对本发明作进一步的说明。
[0068]
图1是本发明中基于不同地理位置的服务调用图;
[0069]
图2是本发明用户调用服务示例图;
[0070]
图3是本发明用户

服务qos原始矩阵图;
[0071]
图4是本发明用户

服务qos预测矩阵图;
[0072]
图5是本发明多尺度特征提取过程图;
[0073]
图6是本发明云服务qos深度学习预测模型图;
[0074]
图7是本发明非负矩阵分解图;
[0075]
图8是本发明归并操作示例图;
[0076]
图9是本发明局部特征矩阵图;
[0077]
图10是本发明局部特征提取图;
[0078]
图11是本发明本文深度神经网络结构图;
[0079]
图12是本发明实验参数设置图;
[0080]
图13是本发明相似用户数量对预测准确度的影响实验结果图;
[0081]
图14是本发明相似服务对预测准确度的影响实验结果图;
[0082]
图15是本发明个体特征维度对预测准确度的影响实验结果图;
[0083]
图16是本发明阶段1~3全连接层数量对预测准确度的影响图;
[0084]
图17是本发明消融实验图;
[0085]
图18是本发明不同网络结构的时间消耗图;
[0086]
图19是本发明不同矩阵密度的时间消耗图;
[0087]
图20是本发明响应时间属性的预测准确度对比图;
[0088]
图21是本发明吞吐量属性的预测准确度对比图。
具体实施方式
[0089]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0090]
通常,一个用户可以调用多个云服务,而一个服务可以被不同的用户调用。由于云服务的数量不断增加,出现了众多功能相似的服务,用户希望选择出符合其需求的候选服务,可以通过比较功能相似的云服务的qos来获得性能更好的服务。用户每次调用一个服务,通过云服务系统或用户反馈记录下云服务的qos值,用来表示服务性能。如图2给出了三个用户u1~u3和5个服务s1~s5之间的调用关系,如用户u1调用了服务s1、s2和s4,调用关系用实线箭头所示。
[0091]
用户

服务qos原始矩阵q:用户调用云服务后,通过云服务系统或用户反馈收集云服务qos值,构造用户

服务qos原始矩阵q。在矩阵q中,行表示用户,列表示服务,每一项表示该行用户调用该列服务后反馈的qos值。假设云中有m个用户调用了n个云服务,记:其中每一项q
ij
∈q表示用户i对云服务j的qos评价值(简称qos值)。图3记录了3
个用户调用5个服务后,获得的qos评价值,如1.984表示用户u1对服务s1的qos评价值,因为用户u1没有调用过服务s3,因此图3的相应位置为空白处(缺失项)。
[0092]
由于用户可能没有调用所有的云服务,因此,在矩阵q中只有部分用户对部分服务的qos值,导致q是非常稀疏的。可以通过用户

服务qos原始矩阵q中已有的qos值来预测该矩阵中的缺失项,qos预测值如图4粗体数字所示。
[0093]
本技术文旨在提高用户对云服务的qos预测值的准确性,提出一种基于分阶段多尺度特征融合和个体评价的云服务qos深度学习预测模型。主要为:
[0094]
1、通过改进特征提取来提高qos预测准确度
[0095]
目前已开展了许多qos预测工作,一些工作仅利用用户

服务qos原始矩阵进行相似度计算,根据相似用户或服务来预测qos值;一些工作仅利用矩阵分解,根据历史qos记录来进行预测;另一些工作引入了上下文信息,进一步地提高了预测准确度。但是,它们仅使用单一尺度特征来预测qos值,这可能会使得信息不完整,从而导致预测准确度低。因此可以使用多尺度特征从各个角度解决该问题,以实现更高的qos预测准确度。因此,我们可以提取和融合全局、局部和个体特征进行qos预测,从而提高云服务qos值的预测准确度。
[0096]
2、通过改进深度神经网络结构提高qos预测准确度
[0097]
近年来,深度学习已在多个领域取得了巨大的成果,也出现了一些使用深度神经网络来预测qos的工作。这些工作大多使用卷积神经网络或多层感知机来进行训练,但网络结构还不够完善,特征的提取和处理都有待进一步地改进,预测准确度还有很大提升的空间。因此,基于以上考虑,构建一种新的分阶段多尺度特征融合的深度神经网络,分阶段对提取到的多尺度特征进行融合,使模型的特征学习更加有效,从而获得更准确的qos预测值。
[0098]
一种云服务qos深度学习预测模型,需先确定本模型的基本概念,如图5所示,本文模型的基本概念如下:
[0099]
1、多尺度特征:多尺度特征指使用多种尺度进行衡量从而划分出的不同特征,包括全局特征、局部特征和个体特征;
[0100]
2、全局特征矩阵全局特征矩阵是对用户

服务qos原始矩阵q进行非负矩阵分解后拟合得到的矩阵(矩阵元素称为拟合qos值),从该矩阵中可以提取用户

服务qos全局特征(简称全局特征);
[0101]
3、局部特征矩阵(g):局部特征矩阵是由全局特征矩阵中提取出的相似用户对相似云服务的拟合qos值构成的矩阵,这些相似用户和相似服务基于距离属性计算得到,从该矩阵可以得到用户

服务qos局部特征(简称局部特征);
[0102]
4、个体特征矩阵:分别包括用户个体特征u和云服务个体特征矩阵s,通过对用户

服务qos原始矩阵q进行非负矩阵分解得到;
[0103]
5、个体评价:个体评价用来描述用户对云服务的评价,来自全局特征矩阵中用户i对云服务j的拟合qos值,用来对模型每个阶段的特征进行修正。
[0104]
现提出一种云服务qos深度学习预测模型,如图6所示,
[0105]
模型主要分为四个阶段工作:预处理、特征提取、深度神经网络预测和确定算法;
[0106]
1、预处理:对用户

服务qos原始矩阵进行非负矩阵分解;
[0107]
预处理模块主要对用户

服务qos原始矩阵q进行非负矩阵分解,分别得到用户的非负个体特征矩阵和服务的非负个体特征矩阵其中u的每一列u
i
代表用户i的l维个体特征向量,s中的每一列s
j
代表服务j的l维个体特征向量。对q进行非负矩阵分解,旨在寻找最合适的u、s,使两者内积尽可能接近q,如式(1)所示:
[0108][0109][0110]
其中为通过u、s拟合出的全局特征矩阵。
[0111]
请参阅图7所示,图7展示了非负矩阵分解的具体示例,将3个用户和5个云服务构成的用户

服务qos原始矩阵q(如图7(a))分解成用户个体特征矩阵u(如图7(b))和服务个体特征矩阵s(如图7(c)),其中f
k
(此处k∈{1,2,3})为用户或服务的第k个特征,图7(b)中矩阵第1列[1.16759,0,0.18754]表示用户u1的3维个体特征向量,图7(d)为u、s拟合出的全局特征矩阵。
[0112]
由于u和s事先是未知的,需要从用户

服务qos原始矩阵q中获得qos值并进行学习后得到的。使用用户

服务qos原始矩阵和全局特征矩阵之间误差的平方作为损失函数,如式(2)所示:
[0113][0114]
利用乘法更新规则来最小化式(2)中的损失函数,如式(3)所示:
[0115][0116][0117]
其中u
ki
为用户个体特征矩阵中用户i的第k个特征,s
kj
为服务个体特征矩阵中服务j的第k个特征。
[0118]
2、特征提取:进行多尺度特征提取,通过对用户

服务qos原始矩阵使用非负矩阵分解,得到全局特征矩阵和个体特征矩阵,分别从中提取全局特征和个体特征;基于距离属性提取了局部特征;
[0119]
2.1、全局特征提取:从全局特征矩阵中提取用户i对所有云服务的评价(即:)和所有用户对服务j的评价(即:u
t
s
j
)作为全局特征,则全局特征可以记为:
[0120][0121]
其中,为归并操作,实现将两个向量连接在一起。基于图7(d)给出了归并操作的示例,如图8所示。其中[1.98201,0.29433,0.06292,0.26363,0.0025]为用户u1对所有服务的评价,[0.0025,0.36584,0.25229]为所有用户对服务s5的评价。经过归并操作,两个向量依次连接在一起变为[1.98201,0.29433,0.06292,0.26363,0.0025,0.0025,0.36584,0.25229]。
[0122]
2.2、局部特征提取
[0123]
2.2.1、基于距离的用户相似度和云服务相似度计算:
[0124]
地理位置相近的用户或服务通常拥有相似的qos值,可以选取距离接近的用户作为相似用户,选取距离接近的云服务作为相似服务。用户b,v之间的距离d
bv
计算如式(5)所示:
[0125]
c=sin(γ
b
)
·
sin(γ
v
)+cos(γ
b
)
·
cos(γ
v
)
·
cos(θ
b

θ
v
)
[0126][0127]
其中,γ
b
,θ
b
∈(

180,180],分别表示用户b的纬度和经度,r为地球半径。d
bv
越小表示两个用户地理位置越靠近,拥有更相似的qos值。设c
xy
为云服务x和y之间的距离相似度,其计算方式类似式(5)。
[0128]
2.2.2、局部特征提取:
[0129]
首先在计算基于距离的用户相似度和服务相似度后,分别对距离进行排序,根据距离选出与用户i最接近的j个用户作为用户i的相似用户,以及与服务j最接近的k个云服务作为服务j的相似服务。然后,从中提取出这j个相似用户对于这k个相似服务的拟合qos值,构成局部特征矩阵g,并将其转换成一维向量,作为局部特征如式(6)所示。
[0130][0131]
其中,为形状变换函数,实现将矩阵转换成向量。
[0132]
从图7(d)的全局特征矩阵中提取出用户u1、u3对于云服务s4、s5的拟合qos值,生成局部特征矩阵g,如图9所示,对用户u1选择和该用户距离最近的两个用户u1、u3(包括自身);对于服务s5,选择和他距离最近的两个服务s4、s5(包括自身),将生成的局部特征矩阵g转换成一维向量作为局部特征,如图10所示。
[0133]
2.2.3、个体特征提取:
[0134]
从用户个体特征矩阵u中提取用户i的特征向量u
i
作为用户个体特征,从服务个体特征矩阵s中提取云服务j的特征向量s
j
作为服务个体特征。个体特征可以表示为式(7)所示:
[0135][0136]
3、深度神经网络预测:
[0137]
通过设计mm

dnn,处理特征并最终预测出缺失的qos值,即分阶段地将全局、局部、个体特征输入到本文深度神经网络中,利用全连接层处理特征,在归并层中进行特征融合,再通过多个全连接层对融合后的特征进行学习,基于个体评价对每个阶段的特征进行修正,最终输出qos预测值。
[0138]
深度神经网络(deep neural network,dnn)是深度学习的基础,它是包含多个隐层的神经网络,根据神经元的特点可以分为多层感知机(multi

layer perceptron,mlp)、卷积神经网络(convolutional neural networks,cnn)、循环神经网络(recurrent neural network,rnn)等。由于不同特点的神经元有不同的作用,如:mlp可以提取更丰富的信息,cnn更适合用于二维特征,rnn对时间信息更敏感。但目前云服务qos预测工作大多使用卷积
神经网络或多层感知机来进行训练,但网络结构还不够完善,特征的提取和处理都有待进一步地改进,预测准确度还有很大提升的空间。因此,通过改进mlp结构来构建一个新的深度神经网络模型来进行qos预测,如图11所示。
[0139]
图11所示的深度神经网络结构由多个全连接层和归并层交替组成,再通过一层全连接层输出最终的预测结果。在提取多尺度特征之后,该模型通过深度神经网络处理和学习特征,得到最终的qos预测值。该模型分为四个阶段,前三个阶段依次融合全局特征、局部特征和个体特征。在每个阶段中又引入了个体评价以修正特征。若在阶段1中就将三个尺度的特征同时输入该模型进行预测,将会导致参数量过大的问题,从而增加了计算开销,而分阶段地融合多尺度特征,可以很好缓解该问题。在阶段4中引入了个体评价,对qos预测值进行进一步修正。图11具体分析如下:
[0140]
阶段1:
[0141]
该阶段中,有一个归并层和l个全连接层。该模型输入全局特征,经过一层全连接层之后在归并层中归并个体评价对特征进行修正,再通过全连接层进一步提取其中的与局部特征大小相同的信息。该阶段的前馈过程可以表示为:
[0142][0143][0144][0145][0146]
式中,y0为mm

dnn的输入,y
k
为第k个全连接层的输出,α
k
和β
k
分别表示第k个全连接层的权重和偏置。为激活函数relu(rectified linear unit,relu),如式(9)所示。
[0147][0148]
阶段2:
[0149]
在该阶段,有两个归并层和m个全连接层。首先在一层归并层中归并局部特征,经过一层全连接层之后在归并层中归并个体评价,再馈入全连接层,过程如式(10)所示:
[0150][0151][0152][0153]
阶段3:
[0154]
该阶段中,有两个归并层和z个全连接层。首先在一层归并层中连接个体特征,经过一层全连接层之后在归并层中归并个体评价,再经过全连接层进行学习,过程如式(11)所示。
[0155][0156][0157][0158]
阶段4:
[0159]
该阶段中,有一个归并层和一个全连接层。由于该模型目标是要得到用户i对云服务j的qos预测值,因此在归并层中连接个体评价(即中用户i对服务j的拟合qos值),通过一层全连接层进一步学习从而修正结果,最终输出qos预测值,如式(12)所示。
[0160][0161]
为了解决训练过程中出现的梯度爆炸、梯度消失和过拟合等问题,我们在前三个阶段都使用了bn和dropout,提高训练效率和模型的学习能力。其中,bn是当前应用十分广泛的一种抗过拟合、加速模型收敛的手段,将分散的数据进行规整,相当于是对数据的预处理。dropout是指在深度学习网络的训练过程中,按照一定的概率忽略一部分神经网络层中的参数对结果的影响,来防止过拟合,从而提高神经网络的性能。
[0162]
该模型的参数训练过程中采用平均绝对误差(mean absolute error,mae)作为损失函数,如式(13)所示:
[0163][0164]
其中p
ij
为qos深度学习预测模型得出的用户i对云服务j的qos预测值,n为需要预测的qos值的个数。
[0165]
为了优化网络中的参数,采用梯度下降法来进行模型训练,使损失最小化。
[0166]
如式(14)所示。
[0167][0168][0169]
其中,λ为迭代过程中控制梯度下降快慢的学习率,k∈{1,2,

,l+m+z},初始值α1和β1通过产生随机数方式得到。
[0170]
4、算法:
[0171]
分阶段多尺度特征融合和个体评价的云服务qos深度学习预测模型的算法流程包括:多尺度特征提取(算法1)和mm

dnn学习(算法2)。
[0172]
通过算法1获得全局、局部、个体特征,将这三种特征作为算法2的输入,并在mm

dnn进行分阶段特征融合,最后算法2返回用户对云服务的qos预测值。算法1是多尺度特征提取算法。
[0173]
[0174][0175]
关于算法1的一些说明如下:
[0176]
1.1、通过对q进行nmf以获得个体特征矩阵(第1行)并进行矩阵乘法得到全局特征矩阵(第2行)。
[0177]
1.2、分别提取用户i和服务j的个体特征(第3~4行)。
[0178]
1.3、归并和u
t
s
j
以获得全局特征(第5行)。在第6行中提取局部特征。
[0179]
1.4、归并u
i
和s
j
以获得个体特征(第7行)并返回所有提取的特征(第8行)。
[0180]
在提取到多尺度特征之后,通过mm

dnn进行分阶段特征融合以及特征学习,如算法2所示。
[0181][0182]
关于算法2的一些说明如下:
[0183]
2.1、在阶段1中对全局特征进行学习(第1~3行),其中f1用于存储该阶段中经过一层全连接层学习后的全局特征f2用于存储该阶段中经过全连接层学习后的归并结果c1。
[0184]
2.2、在阶段2中,通过一层归并层进行局部特征融合(第4行),然后进行特征学习(第5~7行),其中f3用于存储该阶段中经过一层全连接层学习后的归并结果c2,f4用于存储该阶段中经过全连接层学习后的归并结果c3。
[0185]
2.3、在阶段3中,通过一层归并层进行个体特征融合(第8行),然后进行特征学习(第9~11行),其中f5用于存储该阶段中经过一层全连接层学习后的归并结果c4,f6用于存储该阶段中经过全连接层学习后的归并结果c5。
[0186]
2.4、在阶段4中,个体评价被输入进的归并层(第12行)。通过全连接层进行特征
学习(第13行),其中p
ij
是全连接层从归并结果c6中学习到的qos预测值。最后返回云服务的qos预测值(第14行)。
[0187]
模型验证:
[0188]
1、数据集;
[0189]
为了评估qos深度学习预测模型的性能,在真实世界的qos数据集ws

dream进行实验。该数据集包括5825个web服务、339个用户以及1,947,675条用户调用服务的qos(吞吐量和响应时间)记录,并且每条用户和服务记录都包含了地理信息。该数据集在qos预测工作中被广泛使用。在矩阵密度分别为5%、10%、15%、20%的情况下进行实验,将不同矩阵密度下的已有项作为训练集,随机选择每个密度下的200000个数据作为测试集。
[0190]
2、评价指标:
[0191]
采用平均绝对误差(mae)和均方根误差(rmse)作为评价预测结果的评价指标,这些指标在qos预测研究工作中被广泛使用,如式(15)(16)所示:
[0192][0193][0194]
mae为误差绝对值的平均值,可以表示预测值与真实值之间的平均距离,值越小,说明qos预测越准确。rmse是预测值与真实值之间偏差的平方和均值的平方根,值越小,说明qos预测误差幅度越小。
[0195]
3、参数设置和对比方法
[0196]
实验参数设置如图12所示。
[0197]
在vi

d中,我们将通过实验在以上设置的参数范围中确定使模型性能最优的参数,并在vi

f中使用最优参数对模型性能进行评估。
[0198]
为了评估本文模型,与以下典型方法进行了比较:
[0199]
3.1、pmf:一种经典的基于模型的协同过滤方法,使用概率矩阵分解来预测qos值。它在ndmf、cnmf中作为基准。
[0200]
3.2、ndmf:一种基于深度神经网络的qos预测协同过滤模型,仅使用全局和局部特征,通过复杂的非线性交互函数揭示用户和服务的隐含特征,通过融合用户地理信息和用户服务调用记录找出用户领域来预测qos值。
[0201]
3.3、cnmf:一种基于邻域感知矩阵分解的qos协同过滤模型,仅使用局部特征,将用户和服务的邻里信息整合到矩阵分解模型中进行qos预测。
[0202]
4、参数分析
[0203]
为分析不同的参数设置对本文模型预测准确度的影响,进行如下实验,以确定模型的参数的最佳取值。
[0204]
4.1、相似用户和相似服务数量:
[0205]
参数j和k分别表示提取局部特征时使用的相似用户和相似服务数量。为了研究j和k对本文模型预测准确度的影响,在矩阵密度(即用户

服务qos原始矩阵中已有的数据占总数据的比率)分别为5%、10%、15%、20%的情况下,将个体特征维度设置为50,前三阶段
全连接层数设置为3。实验结果如图12、13示。
[0206]
如图12、13所示,当相似用户或服务的数量分别设置为5~30时,不同矩阵密度下的预测精度只有轻微的波动。如果q具有更高的密度,则所提出的模型在响应时间和吞吐量方面具有更好的结果。
[0207]
4.2、个体特征维度:
[0208]
个体特征维度表示用户

服务原始矩阵q分解出的用户和云服务个体特征的数量,决定了有多少个体特征被用来进行qos预测。为了研究个体特征维度对预测准确度的影响,我们在四个不同矩阵密度(5%、10%、15%、20%)的情况下,将j设置为20,k设置为10,前三阶段全连接层数设置为3。实验结果如图14所示。
[0209]
如图13、14所示,在四个矩阵密度的情况下,随着个体特征维度的增加,云服务qos预测的准确率都有所提高。因为越高的维度可以挖掘出更多的个体特征,使mm

dnn网络对特征学习更有效,实现更高的预测准确度。同时,随着矩阵密度从5%增加到20%,维度从10增加到50,矩阵密度越大,预测准确率变化越明显,预测准确度显著提高。原因是,当用户

服务原始qos矩阵过于稀疏时,用户和服务的个体特征无法通过非负矩阵分解准确得出,进而影响模型性能。而随着用户

服务原始qos矩阵的密度增大,非负矩阵分解可以更准确的提取出个体特征,从而提高模型的预测准确度。因此,我们可以使用更高的个体特征维度,以获得更好的qos预测准确度。
[0210]
4.3、层数:
[0211]
为了研究本文mm

dnn中,每个阶段的全连接层数对预测准确度的影响,将矩阵密度设置为15%,个体特征维度设置为10,j设置为10,k设置为20。实验结果如图16所示。
[0212]
实验表明,随着全连接层数的增加,预测准确度也会增加。这是因为较深的网络能更好的学习样本中的内在联系。但是,随着层数的提升,预测准确度的提升幅度越来越小,网络参数量和计算复杂度大幅提升,同时过拟合的风险也会提高。因此在后面的实验中将全连接层数设置为4。
[0213]
5、消融实验
[0214]
本节进行了消融实验,比较了模型的三种不同设置:全局特征+局部特征;全局特征+个体特征;局部特征+个体特征。
[0215]
5.1、全局特征+局部特征:将全局特征和局部特征一起送入mm

dnn进行qos预测。
[0216]
5.2、全局特征+个体特征:将全局特征和个体特征一起送入mm

dnn进行qos预测。
[0217]
5.3、局部特征+个体特征:将局部特征和个体特征一起送入mm

dnn进行qos预测。
[0218]
5.4、全局特征+局部特征+个体特征:将所有的特征都送入mm

dnn进行qos预测。
[0219]
从图17可以看出,从第一行到第四行,响应时间和吞吐量的mae和rmse都逐渐下降。因此,使用三种尺度的特征能获得最好的结果。原因是全局特征是整体信息的汇总,个体特征是详细信息的具体描述。局部特征介于两者之间,既是全局特征的详细描述,又是个体特征的概括。通过以上消融实验可以看出,不同的特征有助于预测结果的提升。因此,使用所有特征的模型在qos预测准确度方面达到最优。
[0220]
6、时间消耗
[0221]
为了分析mm

dnn的网络结构对时间消耗的影响,将矩阵密度设置为15%,阶段1~3的全连接层数分别设置为2、3、4,如图15所示。结果表明,随着全连接层的增加,时间消耗
增加。因为网络层数越多,需要训练的参数越多,导致计算复杂度高。
[0222]
为了分析矩阵密度对时间消耗的影响,将阶段1~3的全连接层数设置为4,矩阵密度设置为5%、10%、15%和20%分别进行实验,如图16所示。从图16可以看出,随着矩阵密度的增加,训练时间消耗增加,预测时间消耗几乎保持不变。原因是矩阵密度越高,训练集中的数据越多,而测试集保持不变。当矩阵密度设置为5%和10%时,训练时间消耗大于预测时间消耗,因为在这些情况下,训练集中的数据量小于测试集中的数据量。
[0223]
7、对比实验
[0224]
在四个不同矩阵密度(5%、10%、15%、20%)下,比较了四种方法的mae和rmse。图17为不同预测方法的响应时间的mae和rmse,图18为不同预测方法的吞吐量的mae和rmse。
[0225]
结果表明,对于不同qos属性,mm

dnn的预测准确度全面优于其他三种方法。同时可以看出mm

dnn在不同的矩阵密度下都能达到最好的效果。这证明了分阶段多尺度特征融合的有效性。随着矩阵密度的增加,所有方法的预测准确度均增加,这是因为更多的数据可以有效地提高预测准确度。
[0226]
云服务qos深度学习预测模型存储在计算机可读存储器内。
[0227]
上述计算机可读存储介质可以是前述任一实施例的终端设备的内部存储单元,例如终端设备的硬盘或内存;上述计算机可读存储介质也可以是上述终端设备的外部存储设备,例如上述终端设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述终端设备的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述终端设备所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0228]
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
[0229]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0230]
以上描述仅为本技术的可选实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0231]
以上所述仅为本技术的可选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1