FFM (Field-aware Factorization Machines)

一.简介

通过引入field的概念,FFM把相同性质的特征归于同一个field。FFM相对于FM加入了field的概念,每个特征的隐向量不再是只有一个,而是针对每个field学习一个独立的隐向量,防止互相影响

二.原理

连续特征,一个特征就对应一个Field (也可连续特征离散化,一个分箱成为一个特征);  离散特征,采用one-hot编码,同一种属性的归到一个Field。

以上文的表格数据为例,计算用户1的FFM组合特征:

算一下𝑦̂ 𝑣1,𝑓2的偏导

注意𝑥2,𝑥3,𝑥4是同一个属性的one-hot表示,即𝑥2,𝑥3,𝑥4中只有一个为1,其他都为0 (对于每个样本来说,同一个field下只有一个feature的值不是0,其他feature的值都是0)。在本例中𝑥3=𝑥4=0, 𝑥2=1,所以:

推广到一般情况:

𝑥𝑗属于Field 𝑓𝑗,且同一个Field里面的其他𝑥𝑚都等于0。实际项目中𝑥是非常高维的稀疏向量,求导时只关注那些非0项即可。

三.参考