图卷积网络在推荐系统中的应用NGCF(Neural Graph Collaborative Filtering)配套pytorch的代码解释

注:本文所用到的代码及论文,文章底部有链接,可自行下载

论文部分:

1、简单介绍概念知识:

开发了一个新的推荐框架 Neural Graph Collaborative Filtering (NGCF),它通过在传播嵌入来利用 user-item 图结构。 这导致了用户项目图中高阶连通性的表达建模,以显式方式有效地将协作信号注入到嵌入过程中。通过利用来自用户项交互的高阶连通性来应对挑战,这是一种在交互图结构中编码协作信号的自然方式。(感觉官方术语太形式化,可看下面白话介绍)

图 1 说明了高阶连通性的概念。 推荐感兴趣的用户是u1,在用户-项目交互图的左子图中用双圆圈标记。 右子图显示了从 u1 扩展的树结构。 高阶连通性表示从路径长度 l 大于 1 的任意节点到达 u1 ​​的路径。

例如,路径 u1 ← i2 ←u2 表示 u1 和 u2 之间的行为相似性,因为两个用户都与 i2 进行了交互; 较长的路径 u1 ← i2 ←u2 ← i4 表明 u1 很可能采用 i4,因为她的类似用户 u2 之前已经消费过 i4。 此外,从 l = 3 的整体来看,项目 i4 比项目 i5 更可能对 u1 感兴趣,因为有两条路径连接 <i4,u1>,而只有一条路径连接 <i5,u1>。

总而言之,这项工作做出了以下主要贡献

(1)强调了在基于模型的 CF 方法的嵌入功能中明确利用协作信号的关键重要性。

(2)提出了NGCF,一种基于图神经网络的新推荐框架,它通过执行嵌入传播以高阶连接的形式显式编码协作信号。 

(3)对三百万个数据集进行实证研究。广泛的结果证明了 NGCF 的最新性能及其在通过神经嵌入传播提高嵌入质量方面的有效性。

框架中有三个组件:

(1)提供和初始化用户嵌入和项目嵌入的嵌入层;

  (2) 多个嵌入传播层,通过注入高阶连接关系来细化嵌入;

  (3) 预测层,聚合来自不同传播层的精细嵌入并输出用户-项目对的亲和度得分。

2、核心部分:

(1)Embedding Layer

可以看作是构建一个参数矩阵作为嵌入查找表:(注:这个主要是指创建初始的全节点embeding,连接用户和物品的结点信息)

 (2)Embedding Propagation Layers(本文的核心创新点

 该过程有两个主要操作:消息构造消息聚合

先来个一阶聚合理解理解:

消息构造:

 mui表示物品到用户的消息构造。其中W1和W2是用于提取传播有用信息的可训练权重矩阵,eu和ei表示用户和物品的embedding,用eu和ei内积相乘来获得邻域的的信息(通俗讲就是聚合中心结点的邻居信息),然后再加ei(通俗讲此处是指再加上自身结点信息),最后的N是u和i的度用来归一化系数,可以看做是折扣系数(这个在代码中的体现就是将邻接矩阵归一化处理,防止多层卷积聚合后导致信息值太大,会发生计划之外的偏差)

消息聚合:在这个阶段,我们聚集从u的邻域传播的消息,

评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值