-
NFM模型(Neural Factorization Machine)是一种串行结构。在CTR预估中,为了解决稀疏特征的问题,学者们提出了FM模型来建模特征之间的交互关系。但是FM模型只能表达特征之间两两组合之间的关系,无法建模两个特征之间深层次的关系或者说多个特征之间的交互关系,因此学者们通过Deep Network来建模更高阶的特征之间的关系。因此 FM和深度网络DNN的结合也就成为了CTR预估问题中主流的方法。有关FM和DNN的结合有两种主流的方法,并行结构和串行结构。两种结构的理解以及实现如下表所示:
结构
描述
常见模型
并行结构
FM部分和DNN部分分开计算,只在输出层进行一次融合得到结果
DeepFM,DCN,Wide&Deep
串行结构
将FM的一次项和二次项结果(或其中之一)作为DNN部分的输入,经DNN得到最终结果
PNN,NFM,AFM
- 复制
- 剪切
- 清空选中区域
- 合并单元格
- 拆分单元格
- 删除选中列
- 删除选中行
- 删除表格
- 网络结构:NFM模型(Neural Factorization Machine)
其中,f(x)是用来建模特征之间交互关系的多层前馈神经网络模块。
Embedding Layer和我们之间几个网络是一样的,embedding 得到的vector其实就是我们在FM中要学习的隐变量v。
Bi-Interaction Layer名字挺高大上的,其实它就是计算FM中的二次项的过程,因此得到的向量维度就是我们的Embedding的维度。最终的结果是:
Hidden Layers就是我们的DNN部分,将Bi-Interaction Layer得到的结果接入多层的神经网络进行训练,从而捕捉到特征之间复杂的非线性关系。在进行多层训练之后,将最后一层的输出求和同时加上一次项和偏置项,就得到了我们的预测输出.
-
总结:
NFM模型将FM与神经网络结合以提升FM捕捉特征间多阶交互信息的能力。NFM本质上还是基于FM,FM会让一个特征固定一个特定的向量,当这个特征与其他特征做交叉时,都是用同样的向量去做计算。这个是很不合理的,因为不同的特征之间的交叉,重要程度是不一样的。因此,学者们提出了AFM模型(Attentional factorization machines),将attention机制加入到我们的模型中,关于AFM的知识,我们下一篇来一探究竟。