论文笔记之Neural Factorization Machines for Sparse Predictive Analytics

Neural Factorization Machines for Sparse Predictive Analytics

文中提到了对于稀疏特征交互的处理。FM以线性的方式进行特征交互,难以捕捉数据中非线性的复杂结构。也有很多deep neural model,比如Wide&Deep和DeepCross等,但deep model训练起来比较困难。
本文提出了一种新的模型Neural Factorization Machine(NFM),NFM结合了FM的二阶线性特征交互和神经网络的非线性高阶特征交互。FM可以被视为一种特殊的没有hidden layer的NFM。而与Wide&Deep和DeepCross相比,NFM使用更浅的结构但有着更好的表现,并且更容易训练。

The NFM Model

NFM的目标函数为

前两项和FM模型中是一致的,第三部分f(x)是NFM的核心,通过一个多层前馈网络来对特征进行交互。

embedding层的一个改动在于支持实值特征。具体的,通过输入特征的值来对embedding做缩放,而不是简单的查表。
Bi-Interaction Layer是整个模型的一个核心创新点,通过一个pooling操作把一系列的embedding向量转成一个embedding。

○表示两向量逐元素相乘(哈达玛积),其实就是对所有的embedding做了两两的特征交互(通过哈达玛积),然后求和成一个embedding。作者在原文中证明了Bi-Interaction操作可以在线性时间内完成,这也是非常大的一个优势。
Bi-Interaction pooling层之上是一系列全连接层,能够学习特征的高阶交互,

最后的prediction layer为

其中h表示weight。
最后,对NFM模型的式子进行总结,即为

其实就是FM模型的交互部分改为带Bi-Interaction pooling操作的神经网络。
模型的参数有

之后文中分析了NFM与FM的联系。令hidden layer的数量L为0,直接把Bi-Interaction pooling操作的结果映射到最终的prediction score,作者把这个模型称为NFM-0,

令h为固定的常数向量(1,...,1),就变成了FM。

作者也把NFM和Wide&Deep和DeepCross进行了比较,指出Bi-Interaction pooling操作相比于简单的concatenation的优势在于进行了特征交互(并且是位于low level的特征交互),后者完全依靠之后的全连接层来学习特征交互。

之后的预测可以接分类,也可以接回归,选择合适的loss就行了。

你可能感兴趣的:(论文笔记之Neural Factorization Machines for Sparse Predictive Analytics)