这个推荐模型怎么这么复杂,效果却还不错?

2022-02-11 09:39:34 浏览数 (1)

炼丹笔记·必读论文

作者:炼丹小生

推荐系统最重要的就是解决高维稀疏的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

  • 预训练阶段 - local kernelised weight matrix
  • fine-tuning阶段 - global-kernel based matrix

需要注意的是在预训练阶段使用个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乘法得到的.距离在每个向量之间

0 人点赞