Graph Convolutional Matrix Completion
该篇文章提出了基于图卷积的矩阵补全方法。
图卷积编码器
文章提出了一种能为每种边的类型分配单独的处理过程(简而言之,不同类型的边,使用不同的权重矩阵)
- 信息聚合
- 信息:对于中心节点
i
i
i,他的邻居节点
j
j
j传递过来的信息如下,
μ j → i , r = 2 c i , j W r x j \mu_{j\rightarrow i,r}=\frac{2}{c_{i,j}}W_rx_j μj→i,r=ci,j2Wrxj
其中 c i , j c_{i,j} ci,j表示一个归一化参数,可以用中心节点的邻居数量 ∣ N i ∣ |N_i| ∣Ni∣表示。 W r W_r Wr表示评分特定参数矩阵,不同的评分边使用不同的权重矩阵。 - 聚合
中心节点的所有邻居节点传递过来的信息如下表示
h i = σ [ a c c u m ( ∑ j ∈ N i , 1 μ j → i , 1 , . . . , ∑ j ∈ N i , R μ j → i , R ) ] h_i = \sigma [accum(\sum_{j\in N_{i,1}}\mu_{j\rightarrow i,1},...,\sum_{j\in N_{i,R}}\mu_{j\rightarrow i,R})] hi=σ[accum(j∈Ni,1∑μj→i,1,...,j∈Ni,R∑μj→i,R)]
其中 a c c u m ( ∗ ) accum(*) accum(∗)表示聚合操作,可以使用Sum,Stack等等。
最终的用户表示为 u i u_i ui,使用权重W进行一个维度转换。
u i = σ ( W h i ) u_i = \sigma(Wh_i) ui=σ(Whi)
商品的表示 v j v_j vj同用户一致
预测
模型会预测用户
u
i
u_i
ui和
v
j
v_j
vj之间的各个评分的概率
p
(
M
i
,
j
~
=
r
)
=
e
u
i
T
Q
r
v
j
∑
s
∈
R
e
u
i
T
Q
s
v
j
p(\tilde{M_{i,j}}=r)=\frac{e^{u_i^TQ_rv_j}}{\sum_{s\in R}{e^{u_i^TQ_sv_j}}}
p(Mi,j~=r)=∑s∈ReuiTQsvjeuiTQrvj
其中
Q
r
Q_r
Qr表示在评分为r的权重矩阵。
公式解读:
- 分子表示用户ui对用户vj的可能性,分母是归一化参数。
最后输出的评分是模型预测出来的分数的期望值。
M ~ i , j = g ( u i , v j ) = E p ( M i , j ~ = r ) [ r ] = ∑ r p ( M i , j ~ = r ) \tilde{M}_{i,j}=g(u_i,v_j)=E_{p(\tilde{M_{i,j}}=r)}[r]=\sum rp(\tilde{M_{i,j}}=r) M~i,j=g(ui,vj)=Ep(Mi,j~=r)[r]=∑rp(Mi,j~=r)