1.一种基于异构建模的深层神经网络Top‑N推荐算法,其特征在于,包括如下步骤:S1、数据获取构建,得到用户与物品的交互信息;
S2、将原始推荐用的异构信息网络,即用户物品评分网络通过构造元路径生成增强的显示和隐式反馈矩阵;
S3、MFDNN模型进行信息分析,即将所得到的显示反馈信息和隐式反馈信息输入MFDNN模型进行信息分析预测缺失的用户‑项目交互评分值;
S4、将MFDNN模型最终训练得到的用户物品向量嵌入输入到MFDNN模型,得到评分,进行排序输出;
S5、将MFDNN模型最终预测的用户对物品的评分与真实的用户评分进行对比,得出模型的效果。
2.根据权利要求1所述的一种基于异构建模的深层神经网络Top‑N推荐算法,其特征在于:S2中包括如下步骤:
S2.1、将原始用户物品评分数据u,r,i中的评分r设置一个阈值T,高于阈值的交互认为是训练时的正样本,低于这个阈值的认为是训练时的负样本;
步骤S2.1包括如下步骤:
S2.1.1、阈值T的设置可以采用统计方法,统计所有的评分数据,选取所有数据的平均数,或者中位数,具体的选取可以将阈值T作为模型的一个超参数,根据整体效果调节;
S2.1.2、正样本是指包含较多用户喜欢信息的样本,负样本是指包含较多用户不喜欢信息的样本;
S2.2、按照评分阈值T与设计的元路径生成隐式反馈矩阵;
步骤S2.2包括如下步骤:
S2.2.1、初始化一个全0的m,n矩阵R‑,其中m是用户数,n是物品数;
S2.2.2、遍历所有的用户物品评分对u,r,i,如果评分r
1,代表是负样本;如果评分r>T,在对应的矩阵R‑中设置为1,代表是正样本;
S2.2.3、定义带权重的元路径P1={U(r)I(r)U(r)I|r
S2.2.4、遍历每个用户u,按照元路径P1,找到用户不喜欢的物品i,在矩阵R‑中按一个填充比例p在对应(u,i)位置设置‑1;
S2.2.5、定义带权重的元路径P2={U(r)I(r)U(r)(I)|r>T},代表对同一个物品同样喜欢的用户,对于另一个喜欢的物品同样喜欢,通过这种元路径的设计,可以在没有被用户评分的物品中发现更多用户喜欢的物品;
S2.2.6、遍历每个用户u,按照元路径P2,找到用户喜欢的物品i,在矩阵R‑中按一个比例p在对应(u,i)位置设置1;
S2.3、按照评分阈值T与设计的元路径生成显式反馈矩阵;
步骤S2.3包括如下步骤:
S2.3.1、初始化一个全0的m,n矩阵R+,其中m是用户数,n是物品数;
S2.3.2、遍历所有的用户物品评分对u,r,i,在对应的矩阵R+中设置值为r;
S2.3.3、定义带权重的元路径P3={U(r)I(r)U(r)I},代表对同一个物品有同样评分的用户,对于另一个物品有同样的评分,通过这种元路径的设计,可以在没有被用户评分的物品中发现更多用户评分的物品;
S2.3.4、遍历每个用户u,按照元路径P3,找到用户可能评分的物品i,在矩阵R+中按一个比例p在对应u,i位置设置为r。
3.根据权利要求1所述的一种基于异构建模的深层神经网络Top‑N推荐算法,其特征在于,S3包括如下步骤:
S3.1、将得到的用户‑物品交互矩阵也就是隐式反馈信息矩阵作为MFDNN模型的输入通过MFDNN模型的训练预测出隐式反馈信息预测值;
步骤S3.1包括如下步骤:
S3.1.1、将输入层的系数表示映射为稠密的特征向量中作为嵌入层,即嵌入层采用全连接的方式;
其中, 为MF的用户嵌入, 为MF的物品嵌入, 为DNN模型的用户嵌入, 为DNN模型的物品嵌入;
S3.1.2、 和 分别用于MF模型和DNN模型训练;
步骤S3.1.2包括如下步骤:S3.1.2.1、MF模型计算显式信息用户u对物品i的预测值 填充用户‑物品矩阵的缺失值;
步骤S3.1.2.1包括如下步骤:S3.1.2.1.1、通过MF来学习用户和物品的潜在特征的线性组合;
S3.1.2.1.2、计算 和 的内积作为预测值,公式如下:其中,K表示潜在空间的维度,我们设置为10;
S3.1.2.1.3、在低维潜在空间中使用简单内积来估计复杂的用户‑物品交互会限制MF的表达,并影响模型的泛化能力,我们把第一层MF的映射函数定义为:其中, 表示向量的元素乘积;
S3.1.2.1.4、然后使用相同的权重将特征向量线性组合,计算预测信息 公式如下:
其中,αout是激活函数,考虑到收敛速度,我们使用ReLU(线性整流)函数作为激活函数,T
定义为max(0,x);h是权重向量;
S3.1.2.2、DNN模型计算隐式反馈预测信息 填充用户‑物品矩阵的缺失值;
其中, 是用户u对物品i通过DNN模型训练预测的预测值;
步骤S3.1.2.2包括如下步骤:S3.1.2.2.1、计算 和 的内积来计算嵌入层的数据来获得第一层的数据,公式如下:S3.1.2.2.2、以同样的方式,计算第二层的结果,公式如下:其中, 和b2分别是权重矩阵和偏置向量,α2是激活函数,将ReLU函数作为激活函数;
S3.1.2.2.3、计算第N层的结果,公式如下:S3.1.2.2.4、对于DNN的每一层的连接权重和偏置向量使用Adam算法更新,计算最终DNN模型的显式预测结果 公式如下:|H|+1 |H|+1
其中,α为激活函数,H为隐藏层数,W 和b 分别为权重矩阵和偏置向量,我们选择了ReLU函数作为激活函数;
S3.1.2.3、将MF模型和DNN模型得到的预测结果 和 通过sigmoid激活函数将其求和,计算公式如下:
其中,σ为激活函数;
S3.2、将得到的用户‑物品评分矩阵也就是显式式反馈信息矩阵作为MFDNN模型的输入通过MFDNN模型的训练预测出显式反馈信息预测值;
步骤S3.2包括如下步骤:
S3.2.1、将输入层的系数表示映射为稠密的特征向量中作为嵌入层,即嵌入层采用全连接的方式;
其中, 为MF的用户嵌入, 为MF的物品嵌入, 为DNN模型的用户嵌入, 为DNN模型的物品嵌入;
S3.2.2、 和 分别用于MF模型和DNN模型训练;
步骤S3.2.2包括如下步骤:S3.2.2.1、MF模型计算显式信息用户u对物品i的预测值 填充用户‑物品矩阵的缺失值;
步骤S3.2.2.1包括如下步骤:S3.2.2.1.1、通过MF来学习用户和物品的潜在特征的线性组合;
S3.2.2.1.2、计算 和 的内积作为预测值,公式如下:其中,K表示潜在空间的维度,我们设置为10;
S3.2.2.1.3、在低维潜在空间中使用简单内积来估计复杂的用户‑物品交互会限制MF的表达,并影响模型的泛化能力,我们把第一层MF的映射函数定义为:其中, 表示向量的元素乘积;
S3.2.2.1.4、然后使用相同的权重将特征向量线性组合,计算预测信息 公式如下:
其中,αout是激活函数,考虑到收敛速度,我们使用ReLU(线性整流)函数作为激活函数,T
定义为max(0,x);h是权重向量;
S3.2.2.2、DNN模型计算隐式反馈预测信息 填充用户‑物品矩阵的缺失值;
其中, 是用户u对物品i通过DNN模型训练预测的预测值;
步骤S3.1.2.2包括如下步骤:S3.2.2.2.1、计算 和 的内积来计算嵌入层的数据来获得第一层的数据,公式如下:S3.2.2.2.2、以同样的方式,计算第二层的结果,公式如下:其中, 和b2分别是权重矩阵和偏置向量,α2是激活函数,将ReLU函数作为激活函数;
S3.2.2.2.3、计算第N层的结果,公式如下:S3.2.2.2.4、对于DNN的每一层的连接权重和偏置向量使用Adam算法更新,计算最终DNN模型的显式预测结果 公式如下:|H|+1 |H|+1
其中,α为激活函数,H为隐藏层数,W 和b 分别为权重矩阵和偏置向量,我们选择了ReLU函数作为激活函数;
S3.2.2.3、将MF模型和DNN模型得到的预测结果 和 通过sigmoid激活函数将其求和,计算公式如下:
其中,σ为激活函数;
S3.3、计算最终的用户物品预测结果;
步骤S3.3包括如下步骤:
S3.3.1、计算最终用户项目预测结果,公式如下:其中,ω1+ω2=1,ω1是隐式反馈的权重,ω2是显式反馈的权重, 是隐式预测结果,是显式预测结果。
4.根据权利要求1所述的一种基于异构建模的深层神经网络Top‑N推荐算法,其特征在于,S4包括如下步骤:
S4.1、针对某一用户推荐Top‑N个物品,取得这个用户对应的嵌入表示向量;
S4.2、遍历所有物品,取得物品的嵌入向量表示;
S4.3、将用户与每个物品的嵌入向量表示输入MFDNN模型中的MF部分;
S4.4、得到MF的用户对这个物品的预测评分;
S4.5、将用户与每个物品的嵌入向量表示输入MFDNN模型中的DNN部分;
S4.6、得到DNN的用户对这个物品的预测评分;
S4.7、融合MF与DNN输出的同一用户对同一物品的评分,得到最终这个用户对这个物品的评分;
S4.8、针对每个用户对所有物品的评分进行排序,输出每个用户评分最高的N个物品。
5.根据权利要求1所述的一种基于异构建模的深层神经网络Top‑N推荐算法,其特征在于,S5包括如下步骤:
S5.1、取得测试集的MFDNN预测的评分数据;
S5.2、取得测试集的真实评分数据;
S5.3、通过HR(命中率)评估指标评估,公式为:公式为:
其中,N表示用户的总数量,hits(i):第i个用户访问的值是否在推荐列表中,是则为1,否则为0;
S5.4、通过NDCG(标准化折扣累积增益)评估指标评估,公式为:其中,N代表用户的总数量,pi表示第i个用户真实访问值在推荐列表的位置。