LibRec 每周算法:NFM (SIGIR'17)

2017 年 10 月 17 日 LibRec智能推荐 靳远远

本周要介绍的是将Factorization Machine[1]与神经网络模型结合来解决预测任务的模型NFM[2],发表在SIGIR 2017上。


绪论



Web应用场景下的很多预测任务需要建模类别变量,比如用户id、用户的性别、职业等属性,这些特征信息通常以one-hot形式编码为稀疏的0/1向量。Factorization Machine(因子分解机)在处理 这种高度稀疏的数据上表现比较好,它通过建模特征之间的二阶交互来充分利用稀疏数据中的信息。但FM以线性方式建模特征之间的交互,不足以捕捉真实数据中的非线性关系和其复杂的内在结构。另一方面,深度神经网络在工业界已经被用于学习非线性的特征交互信息,但模型通常复杂度较高,难以训练。


结合了两者的NFM模型利用FM来线性建模特征之间的二阶交互,利用神经网络来建模更高阶的特征之间的非线性交互信息,从而提升模型利用稀疏数据完成预测任务的准确度,同时具有较低的计算复杂度。


Factorization Machine



首先介绍一下因子分解机模型。给定一个实数范围内的特征向量x∈R^n, FM利用因子化的特征向量来建模所有特征对之间的交互,从而得到目标变量的估计值:

其中w_0是全局的偏置,w_i表示第i个特征对目标的重要程度,v_i^T v_j则表示因子化的交互,v_i∈R^k是特征i的embedding向量。


有监督学习场景下,FM是一个能处理任意实数特征向量的通用的预测模型。但它的缺点是采用了线性方式建模特征之间的交互信息,无法捕捉到特征之间复杂的非线性关系。因此本文将其与深度模型结合,提出了神经网络因子分解机模型。


Neural Factorization Machine



对于NFM模型,给定稀疏向量x∈R^n, 其中x_i=0表示第i个特征不在x中,预测目标值的公式为:

其中,f(x)是用来建模特征之间交互关系的多层前馈神经网络模块,架构图如下所示:

 

Embedding Layer

嵌入层是一个全连接层,用于把每个特征映射为一个稠密向量,v_i∈R^k代表第i个feature的嵌入向量。经过这步操作后我们会得到一个嵌入向量的集合V_x={x_1 v_1,…,x_n v_n}来表示输入的特征向量x。


Bi-Interaction Layer

双向交互层执行池化操作把嵌入向量集合转化成一个向量:

其中⊙表示两个向量按位相乘,例如 (v_i⊙v_j)_k= v_{ik} v_{jk}。该层的输出是一个k维向量,包含了隐空间内特征之间二阶的交互信息。

上式可以改写为如下:

 

该层的计算复杂度是Ο(kN_x), N_x表示向量x中不为0的值的个数。


Hidden Layers

隐含层中的每一层都是一个全连接层,定义如下:

其中L表示隐含层的层数,W_l, b_l和σ_l分别表示权重矩阵,偏置向量和第l层的激活函数。


Prediction Layer

最后一层隐藏层z_l的输出乘上权重向量h得到最后的预测分数:

f(x)=h^T z_L

最终可以得到NFM的预测模型如下:

模型的复杂度为,其中L是隐藏层的层数,d_l是第l层的神经元个数。


模型训练



NFM模型可以用于分类,排序,回归等任务,本文以回归任务为例,优化平方误差:

本文采用mini-batch Adagrad[3]优化目标函数,该优化器可以自动调节步长。为了避免神经网络训练中的过拟合问题,本文在B-interaction Layer采取了dropout策略,每次随机从f_BI (V_x )中抽取一定比例的隐变量。另外训练过程中可能出现输入向量的协方差偏移现象,本文通过在Bi-Interaction pooling 层的输出和隐含层使用Batch Normalizaiton技术来解决该问题。


实验


 

实验使用了Frappe和MovieLens这两个数据集,其中Frappe是一个基于上下文的app发现工具,数据集中包含了96230条用户在不同的上下文环境下使用app的记录。与因子分解机及现有的神经网络模型对比,NFM的效果有比较大的提升。


小结


本文提出NFM,将FM与神经网络结合以提升FM捕捉特征间多阶交互信息的能力。根据论文中实验结果,NFM的预测准确度相较FM有明显提升,并且与现有的神经网络模型相比,复杂度更低。有兴趣的读者可以研究下作者的源码。

https://github.com/hexiangnan/neural factorization machine


参考文献

[1] Rendle, Steffen. "Factorization machines." Data Mining (ICDM), 2010 IEEE 10th International Conference on. IEEE, 2010.

[2] He, Xiangnan, and Tat-Seng Chua. "Neural Factorization Machines for Sparse Predictive Analytics." (2017).

[3] Duchi, John, Elad Hazan, and Yoram Singer. "Adaptive subgradient methods for online learning and stochastic optimization." Journal of Machine Learning Research 12.Jul (2011): 2121-2159.


公众号回复“社区群”可加入 LibRec社区群,方便交流与学习。

登录查看更多
点赞 0

Attention Model has now become an important concept in neural networks that has been researched within diverse application domains. This survey provides a structured and comprehensive overview of the developments in modeling attention. In particular, we propose a taxonomy which groups existing techniques into coherent categories. We review the different neural architectures in which attention has been incorporated, and also show how attention improves interpretability of neural models. Finally, we discuss some applications in which modeling attention has a significant impact. We hope this survey will provide a succinct introduction to attention models and guide practitioners while developing approaches for their applications.

点赞 0
阅读2+
Top