一个有效的基于图卷积神经网络的社交推荐模型
原文链接:SocialGCN: An Efficient Graph Convolutional Network based Model for Social Recommendation, arxiv
原理:在用户-项交互图上应用GNN来学习用户向量的表示,用户向量和项向量内积预测评分
摘要
大多数的社交推荐模型利用用户局部邻居(应该指的是直接信任的用户)的偏好去缓解数据稀疏性的问题。然而,他们只考虑了每个用户的局部邻居,忽略了用户偏好受信息在社交网络传播的影响过程。近年来,图卷积网络(GCN)利用图结构和节点特征信息对图中的信息扩散过程进行建模,取得了良好的效果。
为此,本文提出了一种有效的基于图卷积神经网络的社会推荐模型。基于一个经典的CF模型,我们提出的模型的核心思想是利用GCNs的优势来捕捉用户的偏好如何受到社交网络中社交扩散过程的影响
。用户偏好的扩散建立在分层扩散的基础上,初始化用户嵌入由当前用户特征和不包含用户特征的潜在向量进行函数处理得到的,初始化项嵌入也类似。
问题定义
user set :U (|U|=M)
item set :V (|V |=N)
rating matrix :R ∈ RM×N
social link matrix :S ∈ RM×M
user attribute matrix :X ∈ Rd1×M
item attribute matrix :Y ∈ Rd2×N
user free based latent matrix :P ∈ RL×M
item free based latent matrix :Q ∈ RL×N
定义【social recommendation task 】:
given a rating matrix R and a social network S, and associated feature matrix X and Y of users and items, our goal is to predict each user’s preferences to unknown items.
模型结构
Item Embedding
项 i 的潜在嵌入
vi 由两部分组成:项的特征嵌入 yi 和 来自潜在矩阵Q ∈ RL×N 的潜在向量 qi,通过一个全连接神经网络层计算得到:
User Embedding
给定一个社交网络 S, GCN 的目标是用分层的多层结构对来自其社交邻居的每个节点嵌入进行建模。
对于每个用户 a,让 hka表示 a 在第 k 层的潜在嵌入,给定他的社交邻居在这一层的潜在嵌入,图卷积运算定义了 a 在 k+1 层的潜在嵌入
hk+1a:
其中,AGGk 表示用户 a 整合他社交网络第k层邻居潜在嵌入的影响,可以使用平均整合或者最大整合(也就是池化的意思)
如下定义卷机操作:
h0是初始化用户潜在项量
,与项潜在向量得到的方法类似:
最终我们整合第 K 层的社交影响 和 用户历史交互的影响 得到用户最终潜在嵌入
:
Predict
模型训练
pair-wise ranking based loss function:
总结
额······
这篇论文和我读的上一篇论文 A Neural Influence Diffusion Model for Social Recommendation 有区别吗?可能只有题目不一样吧?模型架构和计算方式是一摸一样的啊 !!!