赞
踩
近年来,在基于协同过滤(CF)的推荐系统(RS)中,一些研究者将用户与项目的交互行为视为一个二分图,用GCNs对高层协同信号进行建模。这些基于GCN的推荐模型与传统的推荐模型相比具有更高的性能。然而,在用户和物品的交互大图中带有非线性激活函数的模型训练起来非常困难。此外,由于图卷积运算的过度平滑效应,大多数基于GCN的模型无法对更深层次进行建模。
本文从两个方面重新探讨了基于GCN的CF模型。
该模型是一个线性模型,易于训练,可扩展到大数据集,在两个实际数据集上具有更好的效率和有效性。
整篇文章主要是基于这几篇文章之上的工作:
论文链接:https://arxiv.org/abs/2001.10167
github:https://github.com/newlei/LR-GCCF
首先明确一些概念,用户集合
U
U
U 其中包含
M
M
M 个用户,物品集合
V
V
V 其中包含
N
N
N 个物品,用户集对物品集的评分矩阵
R
∈
R
M
×
N
R \in \mathbb{R}^{M \times N}
R∈RM×N,具体的权值为:1代表产生过交互即喜欢,其他均为0。鉴于用户项目推荐的特殊性可以抽象成二部图进行表示,
G
=
<
U
⋃
V
,
A
>
\mathcal{G}=<\mathcal{U \bigcup V},A>
G=<U⋃V,A>,其中
A
∈
R
(
M
+
N
)
×
(
M
+
N
)
A \in \mathbb{R}^{(M+N) \times (M+N)}
A∈R(M+N)×(M+N) 作为用户物品交互的邻接矩阵。其中权值由评分矩阵
R
R
R 和其转置其余为0构成。这是论文中的表示形式,我总是认为维度不正确,如果单纯理解为二部图中边的表示方式感觉也不准确
相反,如下表示我觉得更为合理,如果原文中的表示形式是我理解错误,希望大家指出
模型输入:用户和物品的大图,其中类似于NGCF中的思想,将用户和物品单独抽象出来进行嵌入表示,创新的地方在于每一层的用户和物品嵌入单独拿出来做了一个向量点乘作为每一层嵌入的残差项,在层与层之间残差项通过向量加不断迭代。看图也可以发现,画的还是很细致的,体现出了GCN的特点每一层向外扩展一跳邻居逐渐遍布全图。
明确相关的几个概念
E
∈
R
(
M
+
N
)
×
D
E \in \mathbb{R}^{(M+N)\times D}
E∈R(M+N)×D代表用户和物品的嵌入,在此处为了方便表示统一整合到一个大矩阵中,因为两者嵌入的维度相同,因此可以这样做。其中
E
[
1
:
M
]
E_{[1:M]}
E[1:M]代表用户嵌入矩阵,
E
[
M
+
1
:
M
+
N
]
E_{[M+1:M+N]}
E[M+1:M+N]代表物品嵌入矩阵,该模型将大的嵌入矩阵作为输入,也就是
作者提醒说不同于其他的GCN任务,此处的嵌入矩阵的输入不是节点特征向量,是通过LR-GCCF模型学习得到的嵌入向量表示。
之后的传播模型作者借鉴了SGCN的思想,去掉冗余的非线性激活函数,降低计算量来替代NGCF中复杂的传播模型。此处的思想与同年提出的LightGCN有着异曲同工之妙,LightGCN的作者也是NGCF的作者,简化图卷积的原因本文中说的不清楚,在LightGCN中作者做了很多消融实验,并且从理论上分析了简化模型的必要性。大致的出发点就是由于基于协同过滤的图卷积中节点的特征向量仅仅是信息量很少的one-hot编码,因此无需复杂的GCN模型来提取特征。
本文中作者借鉴SGCN的卷积方法,定义了传播的模型如下所示
其中
S
=
D
~
−
1
2
A
~
D
~
−
1
2
S = \widetilde{D}^{-\frac{1}{2}}\widetilde{A}\widetilde{D}^{-\frac{1}{2}}
S=D
−21A
D
−21代表了归一化并加上自环的邻接矩阵,其中
A
~
\widetilde{A}
A
代表邻接矩阵
A
A
A加上自环
之后作者给出了传播模型的矩阵表示如下图所示
其中
d
i
(
d
u
)
d_i(d_u)
di(du) 代表在用户项目二分图中的 item
i
i
i( user
u
u
u) 的对角线上的度,
R
∗
R_*
R∗ 代表节点 (
∗
*
∗) 在图
G
\mathcal{G}
G 中的邻居节点
在经过k层的GCN之后,根据GCN的特性已经结合了
k
k
k 跳的邻居信息。分别得到
e
u
k
e_u^k
euk 和
e
i
k
e_i^k
eik 经过矩阵点乘和残差相加后得到最终的预测矩阵
在此之前作者先进行了实验说明图卷积操作随着层数的加深可能导致过平滑现象,为了解决这个问题,作者引入了残差的概念。
进而作者推导出了引入残差概念后的一般形式如下所示
基于上式中得到的残差概念的一般形式,推广到矩阵形式
其中
Y
K
\mathbf{Y^K}
YK 代表
Y
K
=
W
0
W
1
.
.
.
W
K
\mathbf{Y^K=W^0W^1...W^K}
YK=W0W1...WK为线性模型,
S
K
\mathbf{S^K}
SK代表
K
K
K 层的
S
\mathbf{S}
S
由于作者关注的是隐性反馈,因此作者采用BPR中基于成对排名的损失函数为:
其中
s
(
x
)
s(x)
s(x) 代表sigmoid函数 ,
Θ
=
[
Θ
1
,
Θ
2
]
\Theta = [\Theta_1,\Theta_2]
Θ=[Θ1,Θ2],
Θ
1
=
[
E
0
]
\Theta_1=[E^0]
Θ1=[E0],
Θ
2
=
[
[
Y
k
k
=
1
K
]
]
\Theta_2=[[\mathbf{Y^k}_{k=1}^K]]
Θ2=[[Ykk=1K]]。
λ
\lambda
λ 代表正则化参数控制用户和无项目嵌入矩阵的复杂性。
D
a
=
{
(
i
,
j
)
∣
i
∈
R
a
⋀
j
∈
V
−
R
a
}
D_a = \{(i,j)|i \in R_a \bigwedge j \in V-R_a\}
Da={(i,j)∣i∈Ra⋀j∈V−Ra},用
R
a
R_a
Ra表示
a
a
a的成对训练数据,表示
a
a
a正反馈的项集。
由于GC-MC将注意力侧重于交互图的重构上因此仅仅是一阶,其中NGCF也包含了简单的残差预测思想
此篇文章的主要两个创新点在于L-线性GCN卷积模型和R-残差预测思想,基于此进行的试验
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。