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社区群,方便交流与学习。

登录查看更多
7

相关内容

近期必读的6篇顶会WWW2020【推荐系统】相关论文-Part3
专知会员服务
57+阅读 · 2020年4月14日
六篇 CIKM 2019 必读的【图神经网络(GNN)】长文论文
专知会员服务
37+阅读 · 2019年11月3日
【推荐系统/计算广告/机器学习/CTR预估资料汇总】
专知会员服务
86+阅读 · 2019年10月21日
初学者系列:Deep FM详解
专知
108+阅读 · 2019年8月26日
基于深度交叉特征的推荐系统
微信AI
9+阅读 · 2019年2月1日
CTR预估专栏 | 一文搞懂DeepFM的理论与实践
AI前线
13+阅读 · 2018年7月6日
LibRec 每周算法:DeepFM
LibRec智能推荐
14+阅读 · 2017年11月6日
LibRec 每周算法:Wide & Deep (by Google)
LibRec智能推荐
9+阅读 · 2017年10月25日
LibRec 每周算法:Collaborative Metric Learning (WWW'17)
LibRec智能推荐
6+阅读 · 2017年7月4日
Arxiv
26+阅读 · 2018年2月27日
VIP会员
相关VIP内容
近期必读的6篇顶会WWW2020【推荐系统】相关论文-Part3
专知会员服务
57+阅读 · 2020年4月14日
六篇 CIKM 2019 必读的【图神经网络(GNN)】长文论文
专知会员服务
37+阅读 · 2019年11月3日
【推荐系统/计算广告/机器学习/CTR预估资料汇总】
专知会员服务
86+阅读 · 2019年10月21日
相关资讯
初学者系列:Deep FM详解
专知
108+阅读 · 2019年8月26日
基于深度交叉特征的推荐系统
微信AI
9+阅读 · 2019年2月1日
CTR预估专栏 | 一文搞懂DeepFM的理论与实践
AI前线
13+阅读 · 2018年7月6日
LibRec 每周算法:DeepFM
LibRec智能推荐
14+阅读 · 2017年11月6日
LibRec 每周算法:Wide & Deep (by Google)
LibRec智能推荐
9+阅读 · 2017年10月25日
LibRec 每周算法:Collaborative Metric Learning (WWW'17)
LibRec智能推荐
6+阅读 · 2017年7月4日
Top
微信扫码咨询专知VIP会员