一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于图卷积神经网络的MOOC推荐方法与流程

2022-03-09 06:26:00 来源:中国专利 TAG:

(g)进行图卷积操作得到节点的表征z
1(n)
和z
2(n)
,公式如下:
[0012][0013][0014]
步骤六:对用户和项目交互的二分图g使用图卷积神经网络进行节点编码得到用户节点的表征zu和项目节点的表征zi,将预测得分表示为用户节点的表征zu和项目节点的表征zi的点积,公式为:
[0015][0016]
步骤七:通过结合用户和项目建模构建模型并对目标函数进行联合优化,联合优化的总损失函数表示为:
[0017][0018]
其中表示推荐系统常用的贝叶斯个性化排名损失,的目标是让正样本和负样本之间的得分之差尽可能地大,表示信息噪声对比估计损失函数,优化的目标是期望最大化同一结点在不同视图下经过图卷积神经网络学习到表征向量之间的相似性,最小化不同结点表征向量之间的相似性,θ表示模型中可训练的参数,表示l2正则项来防止过拟合现象,λ1,λ2为超参数;
[0019]
步骤八:获得用户和项目的的节点表征向量,对于任意一个用户,根据目标用户的节点表征向量和目标项目的节点表征向量点积之后的结果,预测目标用户是否会与该项目进行交互。
[0020]
本发明的有益效果:
[0021]
本发明在基于图卷积神经网络的推荐模型中添加一个自监督学习的辅助任务,通过自监督学习辅助任务构造的监督信息对网络进行训练,使网络学习到对下游任务有价值的表征,从而缓解数据稀疏性的问题,提高模型对于长尾项目的推荐准确性和对于噪声数据的鲁棒性,同时本发明将提出的方法应用于mooc数据集上,使推荐模型能够更加符合用户的学习特征和学习兴趣,为学习者提供个性化的推荐学习服务,实现个性化教育。
附图说明
[0022]
附图1为本发明的推荐方法流程框示意图。
[0023]
具体实现方式
[0024]
为了使本发明的目的,技术方案和优点更加明确,下面将结合具体实例对本发明做进一步地详细描述。
[0025]
步骤一:从数据集中获取用户id、项目id和项目交互记录数据;
[0026]
步骤二:对原始数据进行数据预处理操作,包括id重映射、数据筛选、缺失值填充,将原始数据集合中复杂的项目id映射为简单的数字id,通过k核数据过滤筛选出交互记录大于k条的用户和项目,然后将数据集的数据转为对模型友好的格式,即基于python.dict类设计一种中间数据结构。键值对应于输入的特征,编写算法时可以方便地用特征名称进行索引;值对应于张量,将会被用于计算与参数更新;
[0027]
步骤三:构建图卷积神经网络模型,学习用户表示的邻域聚合函数以及获取用户最终表征向量的公式为:
[0028][0029][0030]
其中zu表示用户的最终表征向量,表示用户u在n层的节点表征向量,f
combine
表示合并函数,f
aggregate
表示邻域聚合函数,f
readout
表示读出函数,表示上一层的用户的节点表征向量,表示上一层的项目的节点表征向量,i表示与用户交互过的项目,为与目标用户交互过的项目的集合,n表示图卷积神经网络的层数;
[0031]
步骤四:对用户和项目交互的二分图g进行两次完全独立的数据增强的操作形成两个视图s1(g)和s2(g),s包括节点随机丢弃和边随机丢弃两种方法,其中节点随机丢弃和边随机丢弃的公式分别为:
[0032][0033][0034]
其中m

,m

∈{0,1}
|ν|
是基于节点的集合的两个掩码向量,m1,m2∈{0,1}
|ε|
是基于边的集合的两个掩码向量,

表示两个向量的乘积,表示节点的集合,ε表示边的集合;
[0035]
步骤五:对用户和项目交互的二分图g经过数据增强后得到的两个视图s1(g)和s2(g)进行图卷积操作得到节点的表征向量z
1(n)
和z
2(n)
,公式如下:
[0036][0037][0038]
步骤六:对用户和项目交互的二分图g进行图卷积神经网络进行节点编码得到用户节点的表征向量zu和项目节点的表征向量zi,将预测得分表示为用户节点的表征向量zu和项目节点的表征向量zi的点积,公式为:
[0039][0040]
步骤七:通过结合用户和项目建模构建模型并对目标函数进行联合优化,联合优化的总损失函数表示为:
[0041][0042]
其中表示推荐系统常用的贝叶斯个性化排名损失,公式为:
[0043][0044]
其中o表示用户和项目交互数据集中的数据记录,u表示用户,i表示用户交互过的项目,j表示用户未交互过的项目,表示正样本得分,表示负样本的得分,贝叶斯个
性化排名损失的目标是让正样本和负样本之间的得分之差尽可能地大。表示用户侧信息噪声对比估计损失函数,其公式为:
[0045][0046]
s表示用户向量之间相似度的计算函数,τ为温度参数,在两个视图s1(g)和s2(g)下进行图卷积操作得到用户u的节点表征记为z
′u,z
″u,z
′u,z
″u为同一用户u在不同视图下经过图卷积神经网络学习到的节点表征向量,用户v(u≠v)在视图s2(g)下经过图卷积神经网络学习到的表示记为z
″v,z
′u,z
″v为不同用户节点在不同视图下经过图卷积神经网络学习到的节点表征向量。项目侧信息噪声对比估计损失函数与用户侧信息噪声对比估计损失函数保持一致。损失公式为:
[0047][0048]
优化的目标是期望最大化同一结点在不同视图下经过图卷积神经网络学习到表征向量之间的相似性,最小化不同结点经过图卷积神经网络学习到表征向量之间的相似性;
[0049]
步骤八:获得用户和项目的的节点表征向量,对于任意一个用户,根据目标用户的节点表征向量和目标项目的节点表征向量点积之后的结果,预测目标用户是否会与该项目进行交互。
[0050]
本方法与其他几种推荐方法在mooc数据集上得到的实验结果如表1所示:
[0051]
表1实验结果数据
[0052]
方法recall@5ndcg@5dmf0.33260.2897gc-mc0.34850.302ngcf0.35860.3097lightgcn0.35840.311本方法0.38630.3337
[0053]
数据集选用学堂在线中用户学习记录数据集,表1中第一列为常见的推荐方法,第二列为评价指标recall@5,recall@5表示前5项的召回率,召回率表示正确预测出正样本占实际正样本的概率,召回率越高表示模型的推荐效果越好,第三列为评价指标ndcg@5,ndcg@5表示前5项的归一化折损累计增益,有高关联度的结果出现在更靠前的位置的时候,ndcg@5指标会越高,推荐效果越好。
[0054]
将mooc数据集按项目交互次数进行筛选得到交互次数较少的长尾项目的数据集,本方法与其他几种推荐方法在长尾项目数据集上得到的实验结果如表2所示:
[0055]
表2长尾物品推荐效果实验结果数据
[0056]
方法recall@5gc-mc0.2835ngcf0.3042lightgcn0.3511
本方法0.3706
[0057]
表2中第一列为常见的推荐方法,第二列为评价指标recall@5,recall@5越高表示模型对长尾项目的推荐效果越好。从表2中实验结果可以看出,本方法能提高模型对于长尾项目的推荐准确性。
[0058]
将mooc数据集中加入一定量随机生成的用户和项目的交互记录数据,得到加入噪声数据的数据集,本方法与其他几种推荐方法在噪声数据集上得到的实验结果如表3所示:
[0059]
表3验证模型鲁棒性实验结果数据
[0060]
方法recall@5ndcg@5dmf0.30050.2634gc-mc0.31220.2745ngcf0.32660.2842lightgcn0.33440.2876本方法0.34940.3022
[0061]
表3中第一列为常见的推荐方法,第二列为评价指标recall@5,recall@5越高表示模型的推荐效果越好,第三列为评价指标ndcg@5,ndcg@5指标越高,模型推荐效果越好。从表3中实验结果可以看出,本方法能提高模型对于噪声数据的鲁棒性。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献