Page 258 - 《软件学报》2021年第12期
P. 258

3922                                Journal of Software  软件学报 Vol.32, No.12, December 2021

         为测试样本,并和随机抽样的 99 个未交互的样本组合成测试数据集,其余的数据作为训练样本组成训练集.对
         Anime 数据集做同样处理.
                                          Table 2  Dataset description
                                              表 2   数据集描述
                                    数据集     用户数    物品数    交互次数     稀疏度
                                   MovieLens  3 706   6 040   1 000 209  95%
                                     Anime   8 289   6 335   2 964 160  94%

         3.1.2    评估指标
             由于为每个用户预测其对所有未产生交互的物品的偏好过于耗费时间,所以这里遵循一般的策略                                    [2,19] .通
         过第 3.1.1 节中描述的采样方式,为每个用户采集 1 个正样本和 99 个负样本组成的测试集,并为用户预测其对
         这 100 个物品的偏好,并按照预测值从大到小排序,生成 Top-10 的排名列表.
             推荐性能由命中率 HR(hit ratio)与 NDCG(normalized discounted cumulative gain) [20] 来衡量.
             •   HR 直观地评估测试物品是否在 Top-10 列表中:若存在于 Top-10 列表中,则为 1;否则为 0.对所有的用
                户求平均,则命中率代表了命中用户偏好的概率.计算公式如公式(5)所示:
                                                  number of hits
                                          HR @ K =                                            (5)
                                                       N
                其中,K 表示排名列表长度,分子为生成的排名列表中包含测试正样本的用户数,分母为用户的总数.
             •   NDCG 用来衡量测试样本命中的位置,该值越大,则说明测试物品出现在排名列表中更靠前的位置.为
                每个用户计算该指标值,并且求取平均.计算公式如公式(6)所示:
                                                   1
                                                           e
                                         NDCG @K = ∑     log 2                                (6)
                                                   N  N  log (i +  2)
                                                          e
                其中,K 表示排名列表的长度,N 为用户总数.i 为排名列表中测试正样本命中的位置,i∈[1,K].可以看出:
                测试正样本在排名列表中的位置越靠前,即 i 越小,该值越大.
         3.1.3    对比方法及参数设置
             我们将 DMF 模型与以下 4 个基准方法进行分析对比,从而验证模型的有效性.
             •   ItemPop 是一种非个性化推荐方法       [21] ,它将物品与用户交互次数作为物品的流行度,按照物品的流行度
                产生物品排名列表,并将排名列表中的前 N 项推荐给用户;
             •   ItemKNN 是一种协同过滤推荐方法         [22] ,它根据用户与物品的交互记录计算物品间的相似度,再结合待
                推荐物品与用户已有评分交互的邻居物品来预测用户对待推荐物品的预测偏好;
                       [4]
             •   BPR-MF 是一种具有代表性的基于成对学习的 MF 模型,损失函数关注的是成对排序损失,即最大化
                正样本与负样本之间的排序           [4,23] ,而不是减少预测值与真实值之间的误差,正负采样率控制为 1:1;
                                             [1]
             •   GMF 是一种改进后的矩阵分解算法 ,通过激活函数和权值不全为 1 的连接权重泛化了矩阵分解模
                型,使得模型能够建模用户和物品之间非线性二阶交互.
             以上方法模型和所提出的方法模型 DMF 都基于 Tensorflow 实现.对于基于神经网络的模型,通过均值为 0、
         方差 0.01 的截断的正态分布来初始化模型参数,并通过交叉熵损失函数和 Adam 梯度下降算法来优化模型.模
         型批次大小为 256,初始学习率为 0.001,隐藏层的激活函数设置为 ReLU,输出层的激活函数设置为 Sigmoid.
         3.2   性能比较和分析

             我们从以下 4 个方面进行性能评价和比较分析.
             •   Result 1:模型 HR@10 和 NDCG@10 性能指标比较
             为了回答问题 1,我们比较了提出的 DMF 模型和 ItemPop,ItemKNN,BPR,GMF 这 4 个基准方法的性能.分
         别在 MovieLens 和 Anime 两个数据集上训练了这 5 个模型,表 3 显示了这 5 个模型在每个数据集中 HR@10 和
         NDCG@10 的表现情况.
   253   254   255   256   257   258   259   260   261   262   263