一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于多重双层栈式降噪自编码器的QoS预测方法及系统

2022-07-31 07:57:02 来源:中国专利 TAG:

基于多重双层栈式降噪自编码器的qos预测方法及系统
技术领域
1.本发明属于通信技术领域,尤其涉及基于多重双层栈式降噪自编码器的qos预测方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.传统的web服务推荐方法局限在满足用户功能需求方面,却忽略了web服务的非功能属性(qos),使得推荐结果并不能很好的满足用户需求。实际上,qos(如响应时间、吞吐量、可靠性等)是服务选择和推荐的一个关键标准。
4.在现实网络环境中,与庞大的web服务集相比,用户所调用的服务数量非常少,导致所产生的历史qos值严重缺乏。以往的qos预测方法虽在数据稀疏问题的解决上略有成效,但却忽略了数据特征之间的关联以及噪声数据对qos预测准确率的影响,进而降低了服务推荐的质量。另外,现有的深度学习模型往往只关注充分挖掘数据的潜在特征来提高qos预测准确率,而很少关注用户或服务的上下文信息(位置信息)以及用户本身所有的属性特点。


技术实现要素:

5.为了解决上述背景技术中存在的至少一项技术问题,本发明提供基于多重双层栈式降噪自编码器的qos预测方法及系统,其根据用户位置和改进jaccard相似系数获取目标用户的可信相似邻居,并利用可信邻居对初始的用户-服务qos矩阵进行数据预填充,解决数据稀疏问题对模型训练的影响,并利用用户调用服务的信息,获取用户偏好作为预填充qos矩阵的辅助信息,提高预测精度。将含有辅助信息的预填充qos矩阵,通过多重双层栈式降噪自编码器的学习训练,得到高准确度预测的qos值,且能够突出qos数据间的关联特征,避免了传统模型过拟合现象。
6.为了实现上述目的,本发明采用如下技术方案:
7.本发明的第一个方面提供基于多重双层栈式降噪自编码器的qos预测方法,包括如下步骤:
8.获取互联网用户和用户调用服务的位置信息;
9.基于互联网用户和用户调用服务的位置信息,在计算用户和服务qos向量之间的整体相似度时,引入用户之间调用服务交集中的qos值差距,得到目标用户和服务的相似邻居;
10.采用目标用户相似邻居对初始用户-服务qos矩阵进行数据预填充,并利用服务的相似邻居的信息获取用户偏好信息,得到含有用户偏好信息的预填充qos矩阵;
11.基于含有用户偏好信息的预填充qos矩阵和训练好的多重双层栈式降噪自编码器,进行多次不同加噪率操作并进行多次编码和解码得到qos预测值。
12.本发明的第二个方面提供基于多重双层栈式降噪自编码器的qos预测系统,包括:
13.信息获取模块,用于获取互联网用户和用户调用服务的位置信息;
14.相似邻居获取模块,用于基于互联网用户和用户调用服务的位置信息,在计算用户和服务qos向量之间的整体相似度时,引入用户之间调用服务交集中的qos值差距,分别得到目标用户和服务的相似邻居;
15.预填充qos矩阵模块,用于采用目标用户相似邻居对初始用户-服务qos矩阵进行数据预填充;并利用服务的相似邻居的信息获取用户偏好信息,得到含有用户偏好信息的预填充qos矩阵;
16.qos预测模块,用于基于含有用户偏好信息的预填充qos矩阵和训练好的多重双层栈式降噪自编码器,进行多次不同加噪率操作并进行多次编码和解码得到qos预测值。
17.本发明的第三个方面提供一种计算机可读存储介质。
18.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于多重双层栈式降噪自编码器的qos预测方法中的步骤。
19.本发明的第四个方面提供一种计算机设备。
20.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于多重双层栈式降噪自编码器的qos预测方法中的步骤。
21.与现有技术相比,本发明的有益效果是:
22.本发明根据用户位置和改进jaccard相似系数获取目标用户的可信相似邻居,并利用可信邻居对初始的用户-服务qos矩阵进行数据预填充,解决数据稀疏问题对模型训练的影响,并利用用户调用服务的信息,获取用户偏好作为预填充qos矩阵的辅助信息,提高预测精度,将含有辅助信息的预填充qos矩阵,通过多重双层栈式降噪自编码器的学习训练,得到高准确度预测的qos值。且本提案提供的方法能够突出qos数据间的关联特征,也避免了传统模型过拟合现象。
23.本发明在获取用户(服务)可信相似邻居过程中,本提案创新性的提出了改进jaccard相似系数计算方法,该方法保证了用户与可信相似邻居(服务与可信相似邻居)之间的高相似度,有效的避免了现有方法中含有无效相似邻居带来的qos预填充误差问题。
24.本发明在对qos预测过程中,本提案创新性的提出了多重双层栈式降噪自编码器模型。该模型通过多次不同低加噪率对qos矩阵进行加噪操作,保证了qos数据间的关联特征,避免过拟合现象,有效的提高了qos预测准确率。
25.本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
26.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
27.图1是本发明实施例一的多重双层栈式降噪自编码器的qos预测整体框架图;
28.图2是本发明实施例一的初始qos矩阵缺失值的预填充流程图;
29.图3是本发明实施例一的获取用户偏好信息的框架图;
30.图4是本发明实施例一的多重双层栈式降噪自编码器示意图。
具体实施方式
31.下面结合附图与实施例对本发明作进一步说明。
32.应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
33.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
34.实施例一
35.如图1所示,本实施例提供基于多重双层栈式降噪自编码器的qos预测方法,包括如下步骤:
36.步骤1:获取互联网用户和用户调用服务的位置信息;
37.互联网上的web服务数量极其庞大,用户能够调用的服务只是一小部分,从而导致获取的历史qos数据非常稀疏。且由于用户或服务的地理位置不同,所产生的qos值也存在差异,会对即将产生的qos数据值产生影响。
38.对获取的数据集进行对比可以发现:同一个区域的用户在调用同一个服务时所产生的qos值比较接近,同一用户在某一区域调用不同服务所产生的qos值常常也比较接近。由此可以得出这样的结论:位置信息是影响qos值的一个重要因素,所以将互联网用户和服务的位置信息作为一个前提条件,再计算用户和服务的相似邻居。
39.步骤2:基于互联网用户和用户调用服务的位置信息,在计算用户和服务qos向量之间的整体相似度时,引入用户之间调用服务交集中的qos值差距,得到目标用户和服务的相似邻居。
40.其中,先以用户为例,分别对与目标用户所处同一自治系统(as)和国家的用户进行相似度计算,并分别获取top-k个相似用户,然后对获取的所有相似用户再取top-k个,以获得最终目标用户的相似邻居。
41.获取服务的相似邻居方法和获取目标用户的相似邻居的方法一致,此处不再赘述。
42.不同用户所调用的服务不同,则产生的qos向量是不同的,但存在着不同用户调用同一服务的现象,也就是产生了交集,在这里称为交集部分,相对的就是非交集部分。由于非交集部分的向量空间不同导致计算困难,所以对用户-服务qos向量的相似度无法进行准确计算。
43.而jaccard相似系数只关心两个向量之间共同特征是否一致的问题,从而可以解决目标用户(服务)和其他用户(服务)qos向量之间的整体相似度。
44.作为一种或多种实施例,所述互联网用户结合改进的daccard相似系数得到目标用户的相似邻居的公式为:
[0045][0046]
其中,ju(βu,βv)表示用户u和用户v的jaccard相似度,qgu为用户u与用户v调用服务交集中的qos值差距;
[0047]
用户u和用户v的jaccard相似度计算公式为:
[0048][0049]
其中,su为用户u调用过的服务集合;sv为用户v调用过的服务集合。u为用户集合,s为服务集合,i为用户-服务qos值集合,用户u,v∈u的qos向量分别表示为βu、βv,用户-服务qos矩阵为r。
[0050]
由公式(2)可知,j(βu,βv)的值越大,表明用户u与用户v相似的可能性越大。
[0051]
为了将用户间的相似度更细致的表示出来,本文引入交集部分相对应qos值的差值对jaccard相似度计算进行改进。
[0052]
用户u与用户v调用服务交集中的qos值差距计算如下所示:
[0053][0054]
其中,s
u,v
为用户u,v∈u调用服务的交集部分;i
ui
为用户u调用服务i的qos值;为用户v在服务集合s
u,v
上的平均qos值。
[0055]
由公式可知,qgu的值越大,表明用户u与用户v调用共同服务的qos值差距越小,两用户相似的可能性越大。
[0056]
所述用户调用服务的信息结合改进的jaccard相似系数得到服务的相似邻居的公式为:
[0057][0058]
其中,uh为调用过服务h的用户集合;uk为调用过服务k的用户集合;u
h,k
为调用过服务h,k∈s的用户交集部分;s为服务集合;i
hj
为用户j调用服务h的qos值;为服务k在用户集合u
h,k
上的平均qos值。
[0059]
步骤3:采用目标用户相似邻居对初始用户-服务qos矩阵进行数据预填充;并利用服务的相似邻居的信息获取用户偏好信息,得到含有用户偏好信息的预填充qos矩阵,具体包括:
[0060]
如图2所示,步骤301:采用目标用户相似邻居对初始用户-服务qos矩阵进行数据预填充,具体包括:
[0061]
(1)利用初始用户-服务qos矩阵并采用jqgu方法,计算目标用户u与其他用户的相似度,获取相似邻居用户矩阵jqg;
[0062]
(2)从获取的所有相似邻居中取得前top-k个,组成集合nu,并分别获取相似邻居nu调用过的服务s
nu

[0063]
(3)对目标用户u及其相似邻居调用的服务,筛减掉交集服务(用户u与相似邻居共同调用的服务)集合,得到非交集服务集合sn
u’;
[0064]
(4)对非交集服务集合sn
u’中不同服务进行同一服务的所有qos值均值操作,并填
充到目标用户u相对应服务上qos值的缺失处;
[0065]
(5)对所有用户都进行上述操作,最终得到预填充后的用户-服务qos矩阵s’。
[0066]
通过获取用户的偏好信息,添加到已获取的预填充后用户-服务qos矩阵中每个用户行后面作为辅助信息,得到带有用户偏好的矩阵,以此可以更好的训练模型并使得预测的qos值更加精准。
[0067]
步骤302:利用服务的相似邻居的信息,可以获取各个服务的top-k个相似邻居,并将各个服务与其相似邻居集合为同类服务es=(e0,e1,e2,...,ek)。则可以得到n个同类服务,所有类服务集合表示为es=(es1,es2,...,esn)。
[0068]
并获取用户在同类服务中调用过的服务个数,表示为cn=(cn1,cn2,...,cnn)。在集合cn中选择最大的两个数,计算方式如下:
[0069]
fn=max(cn)
[0070]
sn=max(cn-fn)
[0071]
其中,fh表示用户调用某类服务中服务个数的最大值;sn表示用户调用某类服务中服务个数的最二大值。
[0072]
设每类服务中各个服务被该用户调用产生的qos值集合为eq=(q1,q2,...,qk)。对每类服务的qos值进行加权平均计算:
[0073][0074]
其中,为该用户对某类服务调用产生的qos均值。
[0075]
根据fn、sn,得到用户两类偏好服务esf和ess。根据上式分别计算esf和ess的值:并将作为该用户的偏好信息。
[0076]
如图3所示,步骤303:将用户偏好信息添加到预填充后用户-服务qos矩阵中每个用户行后面(在矩阵后增加两列分别填充),得到带有用户偏好的预填充qos矩阵。
[0077]
基于步骤1-步骤3对用户-服务qos初始矩阵r0∈rm×n获取到预填充且带有用户偏好的qos矩阵r0′
∈rm×
(n 2)

[0078]
步骤4:基于含有用户偏好信息的预填充qos矩阵和训练好的多重双层栈式降噪自编码器,进行多次不同加噪率操作并进行多次编码和解码得到qos预测值。
[0079]
多重双层栈式降噪自编码器对输入层中的向量数据进行了多次不同加噪率操作并进行多次编码和解码。如图4所示,多重双层栈式降噪自编码器模型将不同加噪率(一个为0,其余加噪率不为零但不相等)的栈式降噪自编码器融合在一起,因而可以在一定程度上解决确定性的加噪操作对数据特征的影响。
[0080]
其中,所述加噪操作包括:由图4可知,多重双层栈式降噪自编码器模型需要先对输入层的初始向量x进行不同程度的加噪操作。初始向量x∈r1×
(n 2)
是r0′
∈rm×
(n 2)
中的一个用户-服务初始qos数据向量。
[0081]
多重双层栈式降噪自编码器模型在第一次加噪操作时的加噪率为0,其余的加噪操作则按照不同程度的加噪率对初始向量x添加高斯噪声。
[0082]
假设加噪率表示为q∈[0,1],根据模型的层数对输入层的初始向量x进行多次加噪,其加噪率表示为:
[0083][0084]
其中,q
t
(
·
)表示对第t层实行加噪操作的加噪率,且当t=1时,即对第一层的加噪率为0,对初始向量x不做任何操作,当t>1时,即对第t层双层栈式降噪自编码器进行不同程度的加噪操作;表示对第t层输入向量中的第i个qos值添加噪声后的数据值;表示第t层输入向量中的第i个qos值;γ表示添加的噪声数据,服从标准的正态分布,满足γ∈[0,n(0,1)]。
[0085]
另外,需要注意,对每层输入向量中没有添加噪声的qos值放大从而得到完整加噪操作后的用户-服务含噪qos向量
[0086]
编码阶段:获取到用户-服务含噪qos向量后,该模型共得到t个输入向量,且第一个用户-服务噪声qos向量时不含有噪声的初始用户-服务qos向量,其后的t-1个向量都是含有不同加噪率的噪声qos向量。
[0087]
接着,对这些用户-服务噪声qos向量进行的编码操作,将其映射到隐藏层最深层的低维特征:
[0088][0089]
其中,h
t
表示经过两层编码后被提取的第t层深层潜在特征;f1表示外层编码端的激活函数;f2表示内层编码端的激活函数;w1表示外层编码端的特征权重;w2表示内层编码端的特征权重;b1表示外层编码端的偏置项;b2表示内层编码端的偏置项。
[0090]
解码阶段:该阶段需要对隐藏层的低维潜在特征h
t
进行解码,还原到与初始用户-服务qos向量一般规模的向量:
[0091][0092]
其中,表示第t层输出层得到的qos预测向量;g1表示外层解码端的激活函数;g2表示内层解码端的激活函数;w1′
表示外层解码端的特征权重;w2′
表示内层解码端的特征权重;b1′
表示外层解码端的偏置项;b2′
表示内层解码端的偏置项。
[0093]
最后,将多重双层栈式降噪自编码器模型得到的t个qos预测向量结合在一起,获得最终的qos预测向量
[0094][0095]
则是解码层获得的最终qos预测向量。
[0096]
利用多重双层栈式降噪自编码器模型对缺失qos值进行预测的目标函数表示为:
[0097][0098]
其中,losses(
·
)表示多重双层栈式降噪自编码器模型的损失函数,本文采用平法误差作为损失函数;λ表示防止过拟合系数。
[0099]
作为一种或多种实施例,利用梯度下降方法更新迭代编码端和解码端的参数来训
练神经网络,如下:
[0100][0101][0102][0103][0104][0105][0106][0107][0108]
多重双层栈式降噪自编码器模型对用户-服务qos初始矩阵r0中的每个用户-服务qos向量进行上述训练使得获取的qos预测向量达到最好收敛效果之后,则得到对缺失qos值预测后的用户-服务qos矩阵。
[0109]
实施例二
[0110]
本实施例提供基于多重双层栈式降噪自编码器的qos预测系统,包括:
[0111]
信息获取模块,用于获取互联网用户和用户调用服务的位置信息;
[0112]
相似邻居获取模块,用于根基于互联网用户和用户调用服务的位置信息,在计算用户和服务qos向量之间的整体相似度时,引入用户之间调用服务交集中的qos值差距,得到目标用户和服务的相似邻居;
[0113]
预填充qos矩阵模块,用于采用目标用户相似邻居对初始用户-服务qos矩阵进行数据预填充,并利用服务的相似邻居的信息获取用户偏好信息,得到含有用户偏好信息的预填充qos矩阵;
[0114]
qos预测模块,用于基于含有用户偏好信息的预填充qos矩阵和训练好的多重双层栈式降噪自编码器,进行多次不同加噪率操作并进行多次编码和解码得到qos预测值。
[0115]
实施例三
[0116]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于多重双层栈式降噪自编码器的qos预测方法中的步骤。
[0117]
实施例四
[0118]
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于多重双层栈式降噪自编码器的qos预测方法中的步骤。
[0119]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储
介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0120]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0121]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0122]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0123]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random accessmemory,ram)等。
[0124]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献