NFM

8/2/2021 NFM

# NFM相比Wide&Deep有什么改进?为什么这么改?

NFM使用了一个表达能力更强的函数来替代Wide&Deep中的深层表达,具体的,他在Embedding层和多层神经网络层之间加入了特征交叉池化层(Bi-Interaction层),具体的结构如下:

其中Bi-Interaction层对输入的执行池化操作,将一组 embedding 向量(即一个矩阵)转换为一个向量,该操作称作 Bi-Interaction pooling 操作:

其中: 是逐元素乘法; 是一个维向量,它在 embedding 空间编码了二阶交叉特征。

Bi-Interaction 层有两个优秀的特性:

  • Bi-Interaction 层并没有引入任何额外的模型参数
  • Bi-Interaction 层可以在线性时间内有效计算:

由于输入的稀疏性,我们可以在的时间内计算 Bi-Interaction pooling ,其中表示输入中非零项的数量。

这些性质意味着 Bi-Interaction 层对二阶交叉特征建模的代价很低。

# NFM主要的特点是什么?

NFM主要的特点如下:

1、NFM核心就是在NN中引入了Bilinear Interaction(Bi-Interaction) pooling操作。基于此,NN可以在low level就学习到包含更多信息的组合特征。

2、通过deepen FM来学习高阶的非线性的组合特征。

3、NFM相比于上面提到的DNN模型,模型结构更浅、更简单(shallower structure),但是性能更好,训练和调整参数更加容易。