炼丹笔记·必读论文
作者:炼丹小生
推荐系统最重要的就是解决高维稀疏的user-item矩阵推荐问题,基于百万用户感兴趣的item给一个用户推荐他最感兴趣的item是相当有挑战的事.这篇论文<GLocal-K: Global and Local Kernels for Recommender Systems>就提出了一个新的框架Global Local Kernel-based matrix completion(GLocal-K)去解决高维系数的user-item矩阵补全问题.
简介
GLocal-K可分为两个主要阶段。首先,我们使用局部核化权重矩阵预训练一个自动编码器,它使用2d RBF核将数据从一个空间转换为特征空间。然后预训练的自动编码器通过基于卷积的global kernel对rating矩阵进行fine-tune.
GLocal-K
如下图所示,两个阶段分别用了两种kernel
需要注意的是在预训练阶段使用个finite support kernel让密集的连接更加密集,让稀疏的连接更加稀疏.这篇论文关注的就是矩阵补全,推断出矩阵R(m * n)所有的打分,一共有n个user和m个item. i = {1, 2, ..., m}, 每个i由向量ri = (Ri1, Ri2, ..., Rin)表示.
首先先训练个基于item的auto encoder,模型如下公式所示:
W(e)是h*m的矩阵,W(d)是个m*h的矩阵,b和b‘是bias.f(.)和g(.)都是非线性激活函数.
为了强调密集和稀疏连接,论文重新参数化权重矩阵,在AE中使用径向基函数(RBF)核,这是已知的kernel trick.
RBF定义如下,K(.)就是RBF核函数,用于计算两个集合U/V向量之间的相似度.
核函数可以描述为一个核矩阵LK,如图所示,其中每个元素是1表示一样的向量,接近0表示ui和vj距离较远,然后我们就可以计算 local kernelised weight matrix,如下所示:
W'两个矩阵的Hadamard-product乘法得到的.距离在每个向量之间𝑈 和𝑉 决定神经网络中神经元的连接,随着训练向量的变化,稀疏度也是动态变化的。将核技巧应用于权重矩阵可以正则化权重矩阵并学习到泛化更强的向量表示.
最后用rating matrix去fine-tune预训练的auto encoder. global kernel的构建和应用过程如下:
如图所示,decoder已经输出了预训练模型,也已经用预估的ratings初始化了rating矩阵,用基于item的平均池化,总结了每个item的所有信息,得到了pooling结果M = {u1, u2, ..., um},然后用多个核 K = {k1, k2, ...,km}(m*t^2的矩阵),通过内积聚和pooling结果,就如图所示.聚合后的GK(t * t)就是global convolution kernel,并将其用于user-item矩阵的特征抽取作为fine-tuning的输入.
实验效果
参考文献
1、GLocal-K: Global and Local Kernels for Recommender Systems
https://arxiv.org/pdf/2108.12184v1.pdf