KGCN 论文阅读笔记

KGCN 论文笔记

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

1 问题定义

1.1已知条件

大小为 M 的用户集 U = { u 1 , u 2 , . . . , u M } U = \{u_1,u_2, ...,u_M \} U={u1,u2,...,uM}

大小为 N 的物品集 V = { v 1 , v 2 , . . . , v N } V = \{v_1,v_2, ...,v_N \} V={v1,v2,...,vN}

用户-物品互动关系矩阵 Y ∈ R M × N Y \in \mathbb{R}^{M×N} YRM×N
KaTeX parse error: Unknown column alignment: * at position 48: … \begin{array}{*̲*lr**} …

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

​ 其中 h , t ∈ E    ;   h ∈   R h,t \in E\ \ ;\ h \in\ R h,tE  ; h R

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

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

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

1.2 需要求解的问题

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

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

Θ \Theta Θ 表示函数 F 的模型参数

2 KGCN 层

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

r e i , e j r_{e_i,e_j} rei,ej 表示实体 e i ,   e j e_i,\ e_j ei, ej 之间的关系

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

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

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

v v v 直接相连接的实体 e e e v , e v, e v,e 之间关系对用户 u u u 的重要性 π r u \pi^u_r πru 的线性组合
V N ( v ) u = ∑ e ∈ N ( v ) π ~ r v , e u e V^u_{N(v)} = \sum_{e\in N(v)} \tilde{\pi}^u_{r_{v,e}}e VN(v)u=eN(v)π~rv,eue

π ~ r v , e u \tilde{\pi}^u_{r_{v,e}} π~rv,eu 是归一化之后的 用户-关系 重要性
π ~ r v , e u = e x p ( π r v , e u ) ∑ v e ∈ N ( v ) e x p ( π r v , e u ) \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}})} π~rv,eu=veN(v)exp(πrv,eu)exp(πrv,eu)

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

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

由三种聚合的方式,如下:
a g g s u m = σ ( W ⋅ ( V + V S ( v ) u ) + b ) agg_{sum} = \sigma(W\cdot (V + V^u_{S(v)}) + b) aggsum=σ(W(V+VS(v)u)+b)

a g g c o n c a t = σ ( W ⋅ c o n c a t ( V , V S ( v ) u ) + b ) agg_{concat} = \sigma(W\cdot concat(V, V^u_{S(v)}) + b) aggconcat=σ(Wconcat(V,VS(v)u)+b)

a g g n e i g h b o r = σ ( W ⋅ V S ( v ) u + b ) agg_{neighbor} = \sigma(W\cdot V^u_{S(v)} + b) aggneighbor=σ(WVS(v)u+b)

3 学习算法

KGCN 论文阅读笔记_第1张图片

你可能感兴趣的:(知识图谱,图神经网络,GNN,推荐算法,机器学习,算法)