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.同时选取每个用户最近一次的交互记录作