Neural Factorization Machines for Sparse Predictive Analytics
这是一篇SIGIR17年的论文,非常经典,本文提出的Bi-Interaction Pooling操作在后续非常多的工作中带来了帮助。在18年前后的竞赛中,前排选手将在Bi-Interaction中替换FFM并取得了top10的成绩,当时在推荐领域也算王者一般的存在。话不多说,我们直接进入主题。
模型
FM
假设我们的每个样本, 对于每个特征, 我们对应有一个隐变量 表示特征的embedding向量,那么我们的FM为:
而FM可以被理解为是多元的线性模型,表示能力还是相对很低的。
NFM
那么NFM如何增强模型的表示能力同时更好地学习二阶以及高阶的特征表示呢?
其中:
这么看来, NFM模型最神奇的地方就在于这块,在大量的实验中,我们发现直接concat embedding向量之后再加入MLP网络进行模型的训练在捕捉模型的二层交叉方法效果是不佳的。如果说后接的网络是为了捕捉高阶交叉信息,那么需要弥补这些交叉信息。
上面的操作就是我们所说的Bi-Interaction, 表示元素方面的相乘(element-wise), 即,上面的操作又可以被简化为:
NFM VS FM,WDL,DeepCross
NFM VS FM
NFM可以看做是FM的扩展,FM是NFM的特例,
当为(1,1,1...,1)的时候,就是FM模型.
如果我们把Bi-Interaction pooling去掉,把它们concat起来再使用tower结构的MLP拼起来,就得到了我们的WDL(or DCS)。
实验
实验主要回答下面3大问题:
小结
本文的Bi-Interaction Pooling非常有启发,在实验中也取得了非常好的效果。早期本人将Bi-Interaction Pooling部分加入模型当中也取得了不错的提升,比只用embedding concat的效果要好了2%左右,如果你的模型还是早期的,可以加入试一试哦。如果有提升了记得关注一波我们的公众号。
参考文献
欢迎大家关注我们的公众号,多多交流,个人因表现优良,现在已经被组织封为二品炼丹师啦。