正在加载图片...
第2期 孟祥福,等:用户一兴趣点耦合关系的兴趣点推荐方法 ·233· (3)和(4)得到。基于用户-兴趣点耦合关系的兴 也为本文提出的模型,现对5种模型进行介绍: 趣点推荐模型的训练算法如算法1。 1)UPC-POIR:为本文提出的基于用户-兴趣 算法1基于用户-兴趣点耦合关系的兴趣点 点耦合关系的兴趣点推荐模型,集成了用户和兴 推荐模型的训练算法 趣点在属性上的的显式关联关系以及签到矩阵中 输入签到矩阵,兴趣点的文本信息集合 的隐式关联关系。其中用户和兴趣点在属性上的 u.K,用户的文本信息集合v.K,兴趣点的位置信 显式关联关系同时考虑了局部和全局的用户-兴 息vl,batch size的大小; 趣点显式关联关系。 输出参数集合⊙。 2)global UPC-POIR:集成了全局的用户-兴趣 1)根据兴趣点的位置信息计算类标签; 点显式关联关系和签到矩阵中的隐式关联关系。 2)初始化模型参数集合⊙: 全局的用户一兴趣点显式关联关系是将用户-兴 3)将训练集分成n个batch; 趣点关联矩阵展平得到。 4)for batch in训练集; 3)local UPC-POIR:集成了局部的用户-兴趣 5)for (u,v)in batch do 点显式关联关系和签到矩阵中的隐式关联关系。 计算用户和兴趣点的属性信息嵌入向量 局部的用户-兴趣点显式关联关系是将用户一兴 4.和ye: 趣点关联矩阵输入到卷积神经网络模型中得到。 计算用户和兴趣点的嵌入向量q和p: 4)BPR2:使用贝叶斯个性化排序(BPR)损失 学习用户-兴趣点的显式关联关系和隐式关 优化的矩阵分解,只利用用户-兴趣点的直接交 联关系; 互作为交互函数的目标值。 6)计算预测输出: S)NeuMF:该推荐模型是利用多层神经网络 7计算损失L: 实现的矩阵分解,是近年来新提出的经典推荐模 8)for每个0in⊙do 型。该模型使用了元素层面上用户和项目嵌入的 aJ ayu 更新0=8-1500 其中J=元60y°: 串联的多个隐藏层来捕获它们的非线性特征交 m 互,能够更有效的捕获用户与项目之间的隐式/潜 9)end for 在关联关系。 10)end for 4.3实验设置 11)end for 基于用户-兴趣点耦合关系的兴趣点推荐模 12)return⊙ 型使用Python语言基于Keras框架实现,电脑配 4实验及评价 置为CPUi7-8700K3.7GHz,操作系统为Ubuntu 18.04.1。在实验中,学习率设置为0.001,采用 4.1数据集 Adam作为优化器,所有偏置的初始值都设置为 本文实验数据集采用2016年的Yelp数据 0。参数初始化采用随机正态分布(均值和标准差 集,据统计,2016年Yp数据集中有2100万用户和 分别为0和0.01)初始化嵌入矩阵,采用glorot-- 10200万条与地理位置相关的评论信息2”。表2 uniform作为全连通层的初始化器。 给出了本文的实验数据统计信息。 在k-means聚类算法中,本文分别实现了位 表2实验数据信息 置因素的聚类个数k为10、20、30、40、50、60、 Table 2 Information of experimental data 70、80、90、100。经过实验测试,当聚类个数为 事件 Yelp 50时,推荐效果最佳。 兴趣点 20950 在学习局部显式关联关系的过程中,卷积层 用户 36948 中卷积核的数量和卷积核的大小分别设置为 签到记录 8和(3,3),激活函数采用Relu函数。 1299620 在最终输出层之前,对全连通层中的神经元 稀疏率/% 99.83 个数分别设置为16、32、64、128、256进行试验, 4.2比较方法 测试结果表明,神经元个数为64时推荐性能最佳。 将基于用户-兴趣点耦合关系的兴趣点推荐 4.4评价标准 模型(简称为UPC-POIR)分别与以下4个模型进 对于每个用户,本文从数据集中随机选择 行对比,其中global UPC-POIR和local UPC-POIR 个用户交互(签到行为)过的兴趣点作为测试项,(3) 和 (4) 得到。基于用户−兴趣点耦合关系的兴 趣点推荐模型的训练算法如算法 1。 算法 1 基于用户−兴趣点耦合关系的兴趣点 推荐模型的训练算法 输入 签到矩阵,兴趣点的文本信息集合 u.K,用户的文本信息集合 v.K,兴趣点的位置信 息 v.λ,batch_size 的大小; 输出 参数集合 Θ。 1) 根据兴趣点的位置信息计算类标签; 2) 初始化模型参数集合 Θ; 3) 将训练集分成 n 个 batch; 4) for batch in 训练集; 5) for (u,v) in batch do 计算用户和兴趣点的属性信息嵌入向 量 uc 和 vc; 计算用户和兴趣点的嵌入向量 q 和 p; 学习用户−兴趣点的显式关联关系和隐式关 联关系; 6) 计算预测输出; 7) 计算损失 L; 8) for 每个 θ in Θ do θ = θ−η ∂J ∂yˆ (i) ∂yˆ (i) ∂θ J = 1 m ∑m i=1 L(yˆ (i) , y (i) 更新 (其中 ) ); 9) end for 10) end for 11) end for 12) return Θ 4 实验及评价 4.1 数据集 本文实验数据集采用 2016 年的 Yelp 数据 集,据统计,2016 年 Yelp 数据集中有 2100 万用户和 10 200 万条与地理位置相关的评论信息[27]。表 2 给出了本文的实验数据统计信息。 表 2 实验数据信息 Table 2 Information of experimental data 事件 Yelp 兴趣点 20 950 用户 36 948 签到记录 1299 620 稀疏率/% 99.83 4.2 比较方法 将基于用户−兴趣点耦合关系的兴趣点推荐 模型 (简称为 UPC-POIR) 分别与以下 4 个模型进 行对比,其中 global UPC-POIR 和 local UPC-POIR 也为本文提出的模型,现对 5 种模型进行介绍: 1)UPC-POIR:为本文提出的基于用户−兴趣 点耦合关系的兴趣点推荐模型,集成了用户和兴 趣点在属性上的的显式关联关系以及签到矩阵中 的隐式关联关系。其中用户和兴趣点在属性上的 显式关联关系同时考虑了局部和全局的用户−兴 趣点显式关联关系。 2)global UPC-POIR:集成了全局的用户−兴趣 点显式关联关系和签到矩阵中的隐式关联关系。 全局的用户−兴趣点显式关联关系是将用户−兴 趣点关联矩阵展平得到。 3)local UPC-POIR:集成了局部的用户−兴趣 点显式关联关系和签到矩阵中的隐式关联关系。 局部的用户−兴趣点显式关联关系是将用户−兴 趣点关联矩阵输入到卷积神经网络模型中得到。 4)BPR[28] :使用贝叶斯个性化排序 (BPR) 损失 优化的矩阵分解,只利用用户−兴趣点的直接交 互作为交互函数的目标值。 5)NeuMF[4] :该推荐模型是利用多层神经网络 实现的矩阵分解,是近年来新提出的经典推荐模 型。该模型使用了元素层面上用户和项目嵌入的 串联的多个隐藏层来捕获它们的非线性特征交 互,能够更有效的捕获用户与项目之间的隐式/潜 在关联关系。 4.3 实验设置 基于用户−兴趣点耦合关系的兴趣点推荐模 型使用 Python 语言基于 Keras 框架实现,电脑配 置为 CPU i7-8700K3.7 GHz,操作系统为 Ubuntu 18.04.1。在实验中,学习率设置为 0.001,采用 Adam 作为优化器,所有偏置的初始值都设置为 0。参数初始化采用随机正态分布 (均值和标准差 分别为 0 和 0.01) 初始化嵌入矩阵,采用 glorot￾uniform 作为全连通层的初始化器。 在 k-means 聚类算法中,本文分别实现了位 置因素的聚类个数 k 为 10、20、30、40、50、60、 70、80、90、100。经过实验测试,当聚类个数为 50 时,推荐效果最佳。 在学习局部显式关联关系的过程中,卷积层 中卷积核的数量和卷积核的大小分别设置为 8 和 (3,3),激活函数采用 Relu 函数。 在最终输出层之前,对全连通层中的神经元 个数分别设置为 16、32、64、128、256 进行试验, 测试结果表明,神经元个数为 64 时推荐性能最佳。 4.4 评价标准 对于每个用户,本文从数据集中随机选择一 个用户交互 (签到行为) 过的兴趣点作为测试项, 第 2 期 孟祥福,等:用户−兴趣点耦合关系的兴趣点推荐方法 ·233·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有