美文网首页
推荐系统排序算法--NFM模型

推荐系统排序算法--NFM模型

作者: 算法手记 | 来源:发表于2020-01-12 22:11 被阅读0次

1、引言

在CTR预估中,为了解决稀疏特征的问题,学者们提出了FM模型来建模特征之间的交互关系。但是FM模型只能表达特征之间两两组合之间的关系,无法建模两个特征之间深层次的关系或者说多个特征之间的交互关系,因此学者们通过Deep Network来建模更高阶的特征之间的关系。因此 FM和深度网络DNN的结合也就成为了CTR预估问题中主流的方法。有关FM和DNN的结合有两种主流的方法,并行结构和串行结构。两种结构的理解以及实现如下表所示:

1、两种结构的理解

今天介绍的NFM模型(Neural Factorization Machine),便是串行结构中一种较为简单的网络模型。

2、NFM模型介绍

我们首先来回顾一下FM模型,FM模型用n个隐变量来刻画特征之间的交互关系。这里要强调的一点是,n是特征的总数,是one-hot展开之后的,比如有三组特征,两个连续特征,一个离散特征有5个取值,那么n=7而不是n=3.

                    y(x)=w_{0}+ \sum_{i=1}^n w_{i} x_{i}+ \sum_{i=1}^{n} \sum_{j=i+1}^n <v_{i}, v_{j}> x_{i} x_{j}

可以看到,不考虑最外层的求和,我们可以得到一个K维的向量。对于NFM模型,目标值的预测公式变为:

                    \hat{y}_{NFM(x)}=w_{0}+ \sum_{i=1}^n w_{i} x_{i}+ f(x)

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

2、架构图

mbedding Layer和我们之间几个网络是一样的,embedding 得到的vector其实就是我们在FM中要学习的隐变量v。

Bi-Interaction Layer名字挺高大上的,Bi是Bi-linear的缩写,这一层其实是一个pooling层操作,它把很多个向量转换成一个向量,,其实它就是计算FM中的二次项的过程,因此得到的向量维度就是我们的Embedding的维度。最终的结果是:

                    f_{BI} (V_{x} )=\frac{1}{2} [(\sum_{i=1}^n x_{i} v_{i}  )^2- \sum_{i=1}^n (x_{i} v_{i})^2]

Hidden Layers就是我们的DNN部分,将Bi-Interaction Layer得到的结果接入多层的神经网络进行训练,从而捕捉到特征之间复杂的非线性关系。

在进行多层训练之后,将最后一层的输出求和同时加上一次项和偏置项,就得到了我们的预测输出:

                    \hat{y}_{NFM(x)}=w_{0}+ \sum_{i=1}^n w_{i} x_{i}+ h^T \sigma _L(W_{L}(...\sigma_1(W_1f_{BI}(V_x)+b_1)...)+b_L )

3、小结

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

NFM本质上还是基于FM,FM会让一个特征固定一个特定的向量,当这个特征与其他特征做交叉时,都是用同样的向量去做计算。这个是很不合理的,因为不同的特征之间的交叉,重要程度是不一样的。因此,学者们提出了AFM模型(Attentional factorization machines),将attention机制加入到我们的模型中。

参考文献:

论文:Neural Factorization Machines for Sparse Predictive Analytics

相关文章

  • 推荐系统排序算法--NFM模型

    1、引言 在CTR预估中,为了解决稀疏特征的问题,学者们提出了FM模型来建模特征之间的交互关系。但是FM模型只能表...

  • 推荐系统排序算法--AFM模型

    1、引言 在CTR预估中,为了解决稀疏特征的问题,学者们提出了FM模型来建模特征之间的交互关系。但是FM模型只能表...

  • 推荐系统排序算法--DIN模型

    1、背景 深度学习在CTR预估领域已经有了广泛的应用,常见的算法比如Wide&Deep,DeepFM等。这些方法一...

  • 推荐系统排序算法--PNN模型

    1、原理 PNN,全称为Product-based Neural Network,认为在embedding输入到M...

  • 推荐系统排序算法--FFM模型

    1、FFM理论 在CTR预估中,经常会遇到one-hot类型的变量,one-hot类型变量会导致严重的数据特征稀疏...

  • 推荐系统排序算法--DeepFM模型

    1、背景 对于一个基于CTR预估的推荐系统,最重要的是学习到用户点击行为背后隐含的特征组合。在不同的推荐场景中,低...

  • 推荐系统排序算法--FM模型

    1、背景 在计算广告和推荐系统中,CTR预估(click-through rate)是非常重要的一个环节,判断一个...

  • 隐语义模型与推荐算法

    隐语义模型与推荐算法 标签:推荐算法 LFM(latent factor model)隐语义模型,这也是在推荐系统...

  • 推荐系统-召回

    目前大部分算法模型资料都是针对于排序模型。对召回的讲解很好,但是召回是推荐系统重要而不可或缺的部门。 置顶 突然的...

  • 推荐系统排序算法之一:LR

    推荐系统整体流程: 在推荐系统中,排序其实和召回一样重要,推荐的结果用户是否满意跟排序算法有不可磨灭的关系。 其中...

网友评论

      本文标题:推荐系统排序算法--NFM模型

      本文链接:https://www.haomeiwen.com/subject/fmtvactx.html