Translation-based Factorization Machines for Sequential Recommendation

Rajiv Pasricha,Julian McAuley

UC San Diego

原文地址:Translation-based Factorization Machines for Sequential Recommendation

代码地址: github地址

摘要:这篇论文提出一种用于序列推荐的算法,TransFM,该算法将基于转移和度量模型分解机模型结合起来。这种模型可以继承FM的优势,并且可以提高基于转移的模型在序列推荐中的效果。针对每一个特征维度,都学习得到嵌入和转移空间,特征之间的交互强度的度量不再利用内积,而是利用平方欧氏距离。TransFM可以将内容特征融入进去,进而可以大幅度提升模型效果。

相关知识

时序推荐系统

一般使用马尔科夫链,通过分解一个三阶的“cube”来预测用户下一个时刻的购买情况。

 TransRes学习了一个潜在项目嵌入空间,用户建立线性平移模型。在矩阵空间中,使用距离函数来替代内积。 该模型

分解机

对所有进行二阶交互的特征建模,并能够自然的推广以解决任意的高阶交互。每个特征交互的权重是根据分解机参数的内积,如下公式所示:

在本文中,关注于隐式反馈的设置,使用BPR(Bayesian Personalized Ranking)网络来优化预测项目的排序。

TransFM模型

问题定义

将转移操作应用到前一个项目嵌入,并通过平方欧式距离测量与下一个项目嵌入的距离。测量得到的距离为相关交互特征分配权重,因此TranFM的公式变为:

其中  是全局偏差项; 是特征  的线性项; 是特征  的嵌入向量; 是特征  的转移矩阵; 是向量 和向量的平方欧式距离。

与其他基于矩阵的模型相似,TranFM用欧式距离替代内积,这可以提高其泛化表现,同时更有效地捕获要素嵌入之间的传递属性。例如如果(a,b)和(b,c)的交互权重很高,那么a和c的关联度就很高,即使这两者间没有很多直接的接触。

模型如下图所示:

下图是其他集中基于分解机的推荐系统模型:

 计算

第一步到第二步的推导过程类似如下推导,详细推导没想出来,大致可以用二维矩阵中的上三角矩阵和下三角矩阵对称来解释。

用Python 稍微验证了一下,该公式大概成立

从上面公式可以发现第一个和被分解为六个独立的和,取其中一个作为例子进行如下简化,其他同理。

优化

使用序列贝叶斯个性Ranking(S-BPR),在给定用户u和之前项目i下优化了整个大于u,i序列:

其中,i是项目紧接j的消费序列。

模型

PopRec

该模型根据项目在数据集中的受欢迎度来进行排序,给所有的用户推荐相同的项目集。

BPR_MF

该模型将贝叶斯个性化序列(Bayesian Personalized Ranking)和矩阵分解作为底层模型,考虑了用户-项目的动态变化,但是没有考虑序列信号。

Factorized Markov Chain(FMC)

该模型是一个非个性化的序列模型,分解了项目到项目的转换矩阵。

Factorized Personalized Markov Chain(FPMC)

该模型在分解了三维序列交互张量,通过在分解参数向量中取内积进行预测。

Personalized Ranking Metric Embedding(PRME)

该模型将FPMC中的内积替换为欧氏距离,将用户和项目嵌入到两个潜在空间,分别建立个性化和动态序列的模型。超参数衡量了两个 空间的相对重要性。

Hierarchical Ranking Metric Embedding(PRME)

该模型给FPMC增加了一个聚集部分来增加用户和项目交互模型的灵活性。

对聚集函数f的均值和最大尺化进行了测试。

TransRec

将每一个项目嵌入到嵌入空间,通过该空间为每个用户学习了个性化转换向量。

CatCos

该模型是对包含内容特征的TransRec的简单扩展,我们假设有相同内容特征的项目有相同的嵌入。通过增加一个正则项来实现,该正则项计算了项目嵌入连续队之间的距离,通过 余弦相似度对他们对应的内容向量加权,

FM

该模型通过使用相应参数向量之间的内积来模拟所有特征对之间的相互作用。

各算法在数据集上的表现

猜你喜欢

转载自blog.csdn.net/qq_24852439/article/details/88660276