·792· 智能系统学报 第17卷 exp(F(pi,qi)) Y= filtering recommendation approach incorporating so- cial relationships,.F-LightGCCF),分别与以下4种 exp(F(Pi.q)) 先进的推荐模型比较: 式中:B2为一个平滑系数,防止过度平滑,取值范 1)GRMF1乳:该模型通过利用图拉普拉斯正 围为[0,1]。 则化算子来平滑矩阵分解,设计了图正则化交替 最后,在模型预测部分,采用内积交互函数, 最小二乘法对算法进行优化,利用加权核范数结 通过内积运算得到用户对目标项目的偏好为 构化矩阵分解框架。 Sui=er*er 2)Mult-VAE20:该模型将可变自动编码器应 2.2.4模型优化 用于协同过滤算法,利用非线性概率模型挖掘用 本文使用贝叶斯(Bayesian personalized rank 户-项目之间的隐式反馈。 ing,BPR)损失函数I对模型进行优化,主要原因 3)NGCF:该模型是基于图卷积神经网络的 是贝叶斯损失函数考虑了观察到的交互和未观察 先进推荐模型,通过构建了k层嵌入传播层对交 到的交互之间的成对偏好比较。本文还利用用户 互信息进行嵌入传播学习,最终得到用户-项目 的社交关系产生了一系列中间反馈,与BPR的基 之间的关联分数。 本假设相比,本文假设可以从用户的社交网络 4)LightGCN:该模型基于NGCF模型,摒弃 中,在未观察到的交互中挖掘出更多的用户偏 了NGCF模型中特征变换和非线性激活2个复杂 好,优化目标为 的设计,降低了模型的训练难度。 LA=∑-lnc(⑤.+交-)+Or 3.3实验设置 人议 本文模型和算法使用Python语言基于Tensor- 式中:O-{(u,i,ku,)∈R,(u,)∈R,(u,k)∈R}表示 Flow框架实现,机器配置为GPUi7-8700K3.7GHz, 数据集合,每一条数据都是一个四元组。R表示 操作系统为Windows 10。在实验中,对于每一个 观测到的用户-项目交互动作,R表示未观测到的 数据集,随机选择每个用户的80%的交互历史构 用户-项目交互动作,R表示挖掘出的中间反馈, 成训练集,剩余的20%作为测试集。随机选取训 o0是sigmoid函数。Ao为L2正则化项,A为正 练集中的10%作为验证集,用于参数的调试。基 则化系数,控制L2正则化强度防止过拟合, 于以往模型9的经验,正则化系数设置为1×10, ⊙={E,B}表示所有可训练的模型参数。 每次处理的数据量大小为1024,迭代次数为 Dropout策略可以在模型训练时有效防止模 l00次时模型收敛。经验证集测试后,在Gowalla 型的过拟合,本文采用节点丢弃的Dropout策 数据集和Yelp2018数据,Dropout率分别设置为 略。随机冻结一些特定节点,使其消息不向外传 0.3和0.1。学习率设置为0.0006,注意力网络的 播,对于3层高阶传播,随机丢弃拉普拉斯矩阵中 平滑系数B,和B2均设置为0.5。参数调整好之 的(M4Wp个节点,其中p为Dropout率。 后,本文采用Adam作为优化器,使用Xavier方 式初始化模型参数,嵌入大小为64,使用3个 3实验 64×64的图卷积层。 3.1数据集 3.4评价指标 在本文,每种模型均输出用户对所有项目的 实验采用Gowalla和Yelp20l8两个公开的数 偏好分数,为了评估top-k推荐和偏好排序的有效 据集来评估提出的模型,表1给出了两个数据集 性,实验使用召回率(Recall(@)、精确率(Preci- 的统计信息。 sion@k)和归一化折现积累收益(NDCG@k)作为 表1实验数据信息 推荐效果方面的评价指标。默认情况下,设置 Table 1 Statistics of the datasets =20。召回率是所有“被正确推荐的项目”占所有 数据集用户个项目/个朋友个社交数据/条稀疏度 “应该被推荐的正确的项目”的比例,精确率是“被 Gowalla 74644098122394 10273700.00084 正确推荐的项目”占“所有被正确推荐的项目”的 Yelp20187958408412387316668690.00128 比例,分别如式(3)和(4)所示。 3.2对比算法 ∑n Recall@k 本文提出的融合社交关系的轻量级图卷积协 (3) 同过滤模型(light graph convolutional collaborativeγ = exp(F (pi , qi)) ∑ j∈πr exp(F (pi , qi)) β2 式中:β2 为一个平滑系数,防止过度平滑,取值范 围为 [0,1]。 最后,在模型预测部分,采用内积交互函数, 通过内积运算得到用户对目标项目的偏好为 yˆui = e T u ∗ ei 2.2.4 模型优化 本文使用贝叶斯 (Bayesian personalized ranking,BPR) 损失函数[18] 对模型进行优化,主要原因 是贝叶斯损失函数考虑了观察到的交互和未观察 到的交互之间的成对偏好比较。本文还利用用户 的社交关系产生了一系列中间反馈,与 BPR 的基 本假设相比,本文假设可以从用户的社交网络 中,在未观察到的交互中挖掘出更多的用户偏 好,优化目标为 LAPA = ∑ u,λ, j,k −lnσ ( yˆu +yˆu, −yˆu ) +λ∥Θ∥ 2 Θ λ||Θ||2 λ Θ 式中: ={(u,i,j,k)|(u,i)∈R + ,(u,j)∈R − ,(u,k)∈R− + }表示 数据集合,每一条数据都是一个四元组。R +表示 观测到的用户–项目交互动作,R −表示未观测到的 用户–项目交互动作,R– +表示挖掘出的中间反馈, σ() 是 sigmoid 函数。 为 L2 正则化项, 为正 则化系数,控 制 L2 正则化强度防止过拟合, ={E,β }表示所有可训练的模型参数。 Dropout 策略可以在模型训练时有效防止模 型的过拟合,本文采用节点丢弃的 Dropout 策 略。随机冻结一些特定节点,使其消息不向外传 播,对于 3 层高阶传播,随机丢弃拉普拉斯矩阵中 的 (M+N)p 个节点,其中 p 为 Dropout 率。 3 实验 3.1 数据集 实验采用 Gowalla 和 Yelp2018 两个公开的数 据集来评估提出的模型,表 1 给出了两个数据集 的统计信息。 表 1 实验数据信息 Table 1 Statistics of the datasets 数据集 用户/个 项目/个 朋友/个 社交数据/条 稀疏度 Gowalla 7464 40 981 22394 1027 370 0.00084 Yelp2018 7958 40 841 23873 1666 869 0.00128 3.2 对比算法 本文提出的融合社交关系的轻量级图卷积协 同过滤模型 (light graph convolutional collaborative filtering recommendation approach incorporating social relationships,F-LightGCCF),分别与以下 4 种 先进的推荐模型比较: 1)GRMF[19] :该模型通过利用图拉普拉斯正 则化算子来平滑矩阵分解,设计了图正则化交替 最小二乘法对算法进行优化,利用加权核范数结 构化矩阵分解框架。 2)Mult-VAE[20] :该模型将可变自动编码器应 用于协同过滤算法,利用非线性概率模型挖掘用 户–项目之间的隐式反馈。 3)NGCF[8] :该模型是基于图卷积神经网络的 先进推荐模型,通过构建了 k 层嵌入传播层对交 互信息进行嵌入传播学习,最终得到用户–项目 之间的关联分数。 4)LightGCN[9] :该模型基于 NGCF 模型,摒弃 了 NGCF 模型中特征变换和非线性激活 2 个复杂 的设计,降低了模型的训练难度。 3.3 实验设置 本文模型和算法使用 Python 语言基于 TensorFlow 框架实现,机器配置为 GPU i7-8700K 3.7 GHz, 操作系统为 Windows 10。在实验中,对于每一个 数据集,随机选择每个用户的 80% 的交互历史构 成训练集,剩余的 20% 作为测试集。随机选取训 练集中的 10% 作为验证集,用于参数的调试。基 于以往模型[9] 的经验,正则化系数设置为 1×10−4 , 每次处理的数据量大小为 1 024,迭代次数为 100 次时模型收敛。经验证集测试后,在 Gowalla 数据集和 Yelp2018 数据,Dropout 率分别设置为 0.3 和 0.1。学习率设置为 0.000 6,注意力网络的 平滑系数 β1 和 β2 均设置为 0.5。参数调整好之 后,本文采用 Adam[21] 作为优化器,使用 Xavier 方 式初始化模型参数,嵌入大小为 64,使用 3 个 64×64 的图卷积层。 3.4 评价指标 在本文,每种模型均输出用户对所有项目的 偏好分数,为了评估 top-k 推荐和偏好排序的有效 性,实验使用召回率 (Recall@k)、精确率 (Precision@k) 和归一化折现积累收益 (NDCG@k) 作为 推荐效果方面的评价指标。默认情况下,设置 k=20。召回率是所有“被正确推荐的项目”占所有 “应该被推荐的正确的项目”的比例,精确率是“被 正确推荐的项目”占“所有被正确推荐的项目”的 比例,分别如式(3)和(4)所示。 Recall@k = ∑ u |R(u)∩ |T(u) | ∑ u |T(u)| (3) ·792· 智 能 系 统 学 报 第 17 卷