
本文介绍的论文的题目为《Translation-based Factorization Machines for Sequential Recommendation》
论文下载地址为:https://cseweb.ucsd.edu/~jmcauley/
在本系列的第五十八篇文章中,我们介绍了一种基于“翻译”(Translation-based,本文仍然延续基于“翻译”这种解释方法)的序列推荐方法TransRec,本篇咱们一起来看看这种方法与FM相结合,会擦出什么样的火花。
1、背景
这里,首先简单回顾一下TransRec的内容,其基本的思路就是用户对应的向量和用户上一个交互过的物品向量之和,要和用户下一个要交互的物品向量在距离上相近。
这里的距离计算一般选择平方距离。上面的思路借鉴了度量学习(metric learning)和知识图谱补全(knowledge-graph completion)的思路,取得了不错的效果。
而FM模型是推荐系统领域非常重要的模型,其对每一个特征赋予一个k维的向量,并通过对应向量的内积来当作特征交叉的权重,其预估公式如下:
那么,将FM中基于内积来计算交叉特征权重的方法,改为距离计算方法,便得到了本文中提出的Translation-based Factorization Machines,即TransFM。
2、TransFM
2.1 问题描述
下面的表格是对一些符号的定义:
x是特征向量,该向量包含四个部分,分别是用户特征、用户前一个交互的物品i、用户下一个交互的物品j,还有一部分的上下文特征。总共的特征长度是n(one-hot之后的长度,而不是field的个数),这里给每个特征两个对应的k维向量,一个我们称作embedding vector,这个和FM是一致的,另一个称作translation vector,分别记作vi 和 v'i。
2.2 TransFM模型及分析
TransFM模型示意图如下:
在融合基于“翻译”的思想后,TransFM的点击率计算公式变为:
其中, d2是平方距离计算公式:
使用距离计算公式的一个好处是如果特征组(a,b)和(b,c)的距离很近,那么特征组(a,c)的距离也会很近,因为三角形两边之和一定大于第三边的长度。
下图展示了几种不同的方法的可视化展示:
PRME的全称是Personalized Ranking Metric Embedding ,其核心是计算用户embedding和物品embedding的距离;FM是通过计算特征对应的向量的内积来计算二者相关性的;TransRec和TransFM也是两种基于距离的学习方法。
看到这里你可能会和我有一样的疑问,这里为什么要对一个特征搞两个向量?每一个特征对应一个embedding vector,然后把内积计算改成距离计算不就好了么?按照这个思路,计算点击率的公式应该为:
文中作者在实验部分也对比了这么做和TransFM的效果,TransFM的效果是较优的。
2.3 模型计算复杂度
我们都知道,FM是可以通过化简来极大降低计算的时间复杂度的,同样的TransFM也可以进行化简,一起来看一下。
首先,距离公式可以改写为:
所以,交互部分可以进一步化简:
咱们还是来拆解一下上面的步骤:
别看第一项可以细分为六个部分,每一个部分都是可以继续化简的,比如:
这样,假设有n个feature,向量长度为k,那么时间复杂度是O(nk),而非O(n2k)
2.4 模型训练
模型的训练采用pair-wise的方式,在已知用户u上一个交互过的物品i的情况下,我们知道下一个用户交互的物品j,那么除去j之外的所有物品都可以当作负样本,优化目标如下:
3、总结
本文将Translation-based的思想和FM相结合,提出了TransFM方法,在几个数据集上的效果均好于FM模型和TransRec模型。