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

田震  等:深度矩阵分解推荐算法                                                                 3921


                                           z =  1  φ 1 ()s =  1  a 1 (W s +  1 T  1  b 1 )    (2)
         其中,a 1 为激活函数,W 1 和 b 1 别为连接权值和偏置值.
             •   Hidden Layer(隐藏层)
             GMF 层在特征向量 p u 和 q i 对应元素相乘得到的 K 维向量之上设置了一层神经网络,通过激活函数和偏置
         项赋予了模型建模用户和物品之间的非线性交互关系的能力,能够有效地拟合用户和物品的非线性二阶交互
         信息.但是 GMF 是一个浅层模型,尽管能够有效地建模用户和物品交互的低层特征,然而并不能有效地捕捉到
         包含许多丰富信息更抽象的特征.比如:输入用户对音乐的交互信息,通过一层神经网络训练学习最后捕捉到用
         户更偏好古典音乐;接着,将获取的结果输入到下一层神经网络进行学习,捕获到用户更倾向于听古典音乐中莫
         扎特的音乐曲.所以,这里在 GMF Layer 的基础上引入更多的隐藏层,通过深层神经网络能够捕捉更抽象特征的
         特点,来建模用户和物品之间的高阶交互关系.因此,有:
                                      z =  φ ()z =  a  (W z +  T  b  )
                                      2   2  1  2  2  1  2
                                      ...                                                     (3)
                                      z L−  1  =  φ L−  1 (z L−  2 ) =  a L−  1 (W L−  T  1 L−  z  2  +  b L−  1 )
                                                                   T
                                                                T
         其中,z L−1 为第 L−1 层网络的输出,a 2 ,a L−1 为各个隐藏层的激活函数,WW          L− 1  和 b 2 ,b L−1 分别为各个隐藏层的连接
                                                                 ,
                                                               2
         权值和偏置项.
             •   Output Layer(输出层)
             得到第 L−1 层神经网络的训练结果 z L−1 后,再将其输入到一个全连接的隐藏层,最终得到用户对于物品的
         预测评分.如公式(4)所示:
                                                     T
                                               ˆ y = σ (h z L− 1 )                            (4)
                                               ui
                                                T
         其中, ˆ y 表示用户 u 对物品 i 的预测偏好值,σ和 h 分别为输出层的激活函数和连接权重.
               ui
         3    实验结果与分析
             本节主要工作是在两个真实世界数据集 MovieLens 和 Anime 上训练模型,利用 NDCG 和 HR 两个性能指
         标,通过与对比方法性能指标的对比分析来验证模型的可行性和有效性.主要围绕一下 4 个方面来进行分析.
             1)   深度矩阵分解模型推荐性能表现;
             2)   深度矩阵分解模型中潜在向量维度对模型性能影响;
             3)   训练集中负样本采样数对模型性能影响;
             4)   隐藏层层数对模型性能影响.
         3.1   实验设置
         3.1.1    数据集
             本文主要在两个公开数据集 MovieLens          [17] 和 Anime [18] 上对模型的推荐性能进行分析验证.具体数据集特
         征见表 2.
             •   MovieLens 数据集是广泛应用于推荐系统的电影数据集,主要由电影评分数据、用户人口统计学数据
                以及电影属性数据,含有多个不同数据大小的版本.这里,我们使用 MovieLens 1M 数据集,记为
                MovieLens.MovieLens 1M 数据集含有来自 6 000 名用户对 4000 部电影的 100 万条评分数据,分值范
                围为 1~5;
             •   Anime 是一个公开的推荐数据集,包含 73 516 名用户对 12 294 部动漫的 7 813 738 条评分数据.该数据
                集包含 3 个分类:用户 id、动漫 id 和用户对动漫的评分,其中,评分范围为 1~10.为了缓解数据集稀疏问
                题,对数据集进行过滤处理,过滤后的数据集包含 8 289 个用户对 6 335 部动漫的 2 964 160 个评分.
             这里,我们采用隐式反馈的数据,所以需要把显式评分数据转化为隐式数据.即:对于 MovieLens 数据来说,
         将评分矩阵中有评分记录的 1~5 的值记为 1,没有评分记录的记为 0.同时选取每个用户最近一次的交互记录作
   252   253   254   255   256   257   258   259   260   261   262