1.基于用户‑服务交互图的深度学习云服务QoS预测方法,其特征在于,包括如下步骤:步骤1,根据用户‑服务原始QoS矩阵构建用户‑服务交互图,进而获取用户和服务的特征向量,根据用户的特征向量计算用户之间的相似度,根据服务的特征向量计算服务之间的相似度,根据用户之间的相似度获取用户特征向量集,根据服务之间的相似度获取服务特征向量集;
步骤2,基于两个深度卷积单元构建双流深度神经网络模型,将步骤1获取的用户特征向量集作为其中一个深度卷积单元的输入,将步骤1获取的服务特征向量集作为另一个深度卷积单元的输入,对双流深度神经网络模型进行训练;所述深度卷积单元包括依次连接的1个卷积层和L个全连接层,通过卷积层中的卷积核对用户或服务特征向量集进行卷积运算,同时提取用户或服务的多种特征进行融合,通过L个全连接层进一步对融合后的特征进行学习,输出更新后的用户或服务的特征向量;
步骤3,利用步骤2训练好的双流深度神经网络模型预测某用户对某服务的QoS值,根据步骤1同样的方法获取某用户特征向量集和某服务特征向量集,将某用户特征向量集和某服务特征向量集输入训练好的双流深度神经网络模型,得到QoS预测结果。
2.根据权利要求1所述的基于用户‑服务交互图的深度学习云服务QoS预测方法,其特征在于,所述步骤1的具体过程如下:
1.1,构建以用户中心的用户‑服务交互图和以服务为中心的用户‑服务交互图以用户中心的用户‑服务交互图分为两层:第一层为用户i使用过的n个服务以及用户i对这些服务的QoS值;第二层为其他使用过这n个服务的用户以及这些用户分别对这n个服务的QoS值;
以服务为中心的用户‑服务交互图分为两层:第一层为使用过服务j的m个用户以及这些用户对服务j的QoS值;第二层为这m个用户使用的其他服务以及这m个用户分别对其使用的其他服务的QoS值;
1.2,获取用户和服务特征向量
对用户‑服务原始QoS矩阵Q进行非负矩阵分解,寻找最合适的用户潜在特征矩阵V和服务潜在特征矩阵H,使两者内积尽可能接近Q;
获得V和H之后,利用用户潜在特征向量Vi对用户i的特征向量Ui进行初始化,利用服务潜在特征向量Hj对服务j的特征向量Sj进行初始化,Vi即V的第i列,代表用户i的潜在特征向量,Hj即H的第j列,代表服务j的潜在特征向量;
1.3,计算相似度
使用余弦相似度计算用户相似度:
式中,Similarity()为余弦相似度函数,Uc和Ud分别为用户c和用户d的特征向量;
使用余弦相似度计算服务相似度:
式中,Sf和Sg分别为服务f和服务g的特征向量;
1.4,获取用户特征向量集和服务特征向量集针对以用户i为中心的用户‑服务交互图,将第二层中的用户与用户i进行相似度计算,选择与用户i最为相似的K个用户以及与用户i最不相似的F个用户作为用户i的特征向量集针对以服务j为中心的用户‑服务交互图,将第二层中的服务与服务j进行相似度计算,选择与服务j最为相似的K个服务以及与服务j最不相似的F个服务作为服务j的特征向量集令η=F/K,η的取值通过实验确定。
3.根据权利要求2所述的基于用户‑服务交互图的深度学习云服务QoS预测方法,其特征在于,所述1.2中,在寻找最合适的用户潜在特征矩阵V和服务潜在特征矩阵H,使两者内积尽可能接近Q的过程中,使用用户‑服务QoS原始矩阵Q和QoS拟合矩阵 之间误差的平方作为损失函数,即:
利用乘法更新规则来最小化损失函数,即:式中,vki为用户潜在特征矩阵V中用户i的第k个特征,hkj为服务潜在特征矩阵H中服务j的第k个特征。
4.根据权利要求1所述的基于用户‑服务交互图的深度学习云服务QoS预测方法,其特征在于,所述步骤2中,双流深度神经网络模型的训练过程具体如下:a)对于第t次参加训练的所有用户和所有服务,双流深度神经网络输出第t次训练后用户i的特征向量Ui和服务j的特征向量Sj之后,对它们进行点乘得到用户i对服务j的QoS预测值pij;
b)计算用户i对服务j的QoS预测值pij与用户i对服务j的QoS值qij的误差,并对所有误差的绝对值求均值,得到μ1;计算用户i对服务j的当前最佳QoS预测值 与用户i对服务j的QoS值qij的误差,并对所有误差的绝对值求均值,得到μ2;若 μ为更新阈值,则利用第t次训练后得到用户i对服务j的QoS预测值pij更新当前最佳QoS预测值 使用第t次训练后用户i的特征向量Ui和服务j的特征向量Sj对原先用户i的特征向量和服务j的特征向量进行更新,然后使用更新后的特征向量进行相似度计算,并更新用户i的用户特征向量集和服务j的服务特征向量集,再由更新后的用户i的用户特征向量集和更新后的服务j的服务特征向量集,作为双流深度神经网络的新一轮的输入,同时重置t=1;
否则,继续使用当前双流深度神经网络进行训练,并且令t逐步增加1;当t>T,即连续T次不更新,则说明QoS预测值已达到稳定,停止循环,模型训练结束。
5.根据权利要求1所述的基于用户‑服务交互图的深度学习云服务QoS预测方法,其特征在于,所述步骤2中,深度卷积单元对于用户i的用户特征向量集 的前馈过程如下:式中,conv()为卷积运算,W1为卷积层的权重矩阵,B1为卷积层的偏置,y1为第1层的输出;yk为第k层的输出, 为激活函数ReLU,αk和βk分别表示第k层的权重和偏置,L为全连接层层数,深度卷积单元最后一层的输出yL+1作为更新后的用户i的特征向量,即Ui;
深度卷积单元对于服务j的相似服务特征向量集 的前馈过程如下:式中,W2为卷积层的权重矩阵,B2为卷积层的偏置,z1为第1层的输出;zk为网第k层的输出,γk和δk分别表示第k层的权重和偏置,深度卷积单元最后一层的输出zL+1作为更新后的服务j的特征向量,即Sj;
模型的参数训练过程中采用平均绝对误差作为损失函数ε,即:式中,pij为模型训练过程中输出的用户i对服务j的QoS预测值,qij为用户i对服务j的QoS值,N为需要预测的QoS值的个数,为了优化网络中的参数,采用梯度下降法来进行模型训练,使损失最小化,即:
式中,λ为迭代过程中控制梯度下降快慢的学习率,其他参数βk,γk,δk,W1,B1,W2,B2的训练过程也采用梯度下降法,网络中所有参数的初始值通过产生随机数方式得到。