0%

KGCN 论文阅读笔记

原文链接 : Knowledge Graph Convolutional Networks for Recommender Systems

1 问题定义

1.1已知条件

大小为 M 的用户集 \(U = \{u_1,u_2, ...,u_M \}\)

大小为 N 的物品集 \(V = \{v_1,v_2, ...,v_N \}\)

用户-物品互动关系矩阵 \(Y \in \mathbb{R}^{M×N}\) \[ Y_{uv} = \left\{ \begin{array}{**lr**} 1, & 用户 u 和 物品 v 之间存在点击、浏览、购买等关系 \\ 0, & 用户 u 与 物品 v 之间不存在上述关系 \\ \end{array} \right. \]

知识图谱 \(G\) 由 实体-关系-实体 三元组 \((h,r,t)\) 组成

​ 其中 \(h,t \in E\ \ ;\ r \in\ R\)

​ 例如三元组 $(A Song of Ice and Fire, book.book.author,  George Martin) $ 表示t George Martin 写了书 “A Song of Ice and Fire"

在许多推荐系统中,物品 \(v \in V\) 可能也是知识图谱中的实体。

例如,在一个书本推荐系统中 “A Song of Ice and Fire" 也可以是知识图谱的实体 \(e \in E\)

1.2 需要求解的问题

给出 \(Y\ , \ G\) 预测用户 u 对物品 v 是否存在潜在的兴趣。

需要学习一个预测函数 \[ \hat{y}_{uv} = F(u,v|\Theta ,Y,G) \] \(\hat{y}_{uv}\) 表示用户 u 喜爱物品 v 的潜在可能性

\(\Theta\) 表示函数 F 的模型参数

2 KGCN 层

\(N(v)\) 表示与物品 (实体) 直接相连的实体的集合

\(r_{e_i,e_j}\) 表示实体 \(e_i,\ e_j\) 之间的关系

用函数 $g: ^d ^d ^d $ 来计算用户和关系之间的关联,其中\(u\in \mathbb{R}^d ; u\in \mathbb{R}^d\)

\(\pi^u_r\) 表示关系 \(r\) 对用户 \(u\) 的重要性 \[ \pi^u_r\ = g(u,v) \]

采取线性组合来描述拓扑优先级,

\(v\) 直接相连接的实体 \(e\)\(v, e\) 之间关系对用户 \(u\) 的重要性 \(\pi^u_r\) 的线性组合 \[ V^u_{N(v)} = \sum_{e\in N(v)} \tilde{\pi}^u_{r_{v,e}}e \]

\(\tilde{\pi}^u_{r_{v,e}}\) 是归一化之后的 用户-关系 重要性 \[ \tilde{\pi}^u_{r_{v,e}} = \frac {exp(\pi^u_{r_{v,e}})}{\sum_{v_e\in N(v)}exp(\pi^u_{r_{v,e}})} \]

在实际应用中,\(N(e)\) 的大小随着不同实体 e 的变化而剧烈变化,因此我们一般早取样时候,对所有实体取一个固定大小的邻居集合。将 v 的邻居的集合表示为 \(S(v) \triangleq \{e | e ∼ N (v)\}\) 并且 $|S(v)|=K $ 是一个常量。

KGCN的最后一步,是对实体向量 v,和邻居集合的表示向量聚合为一个向量

由三种聚合的方式,如下: \[ agg_{sum} = \sigma(W\cdot (V + V^u_{S(v)}) + b) \]

\[ agg_{concat} = \sigma(W\cdot concat(V, V^u_{S(v)}) + b) \]

\[ agg_{neighbor} = \sigma(W\cdot V^u_{S(v)} + b) \]

3 学习算法

学习算法
学习算法