推荐系统与深度学习(9): [IJCAI'19] IFM: 输入感知的FM模型

以下仅仅为个人对文章的阅读记录,如有错误,欢迎指正。如需转载注明来源即可~~

Yu Y, Wang Z, Yuan B. An Input-aware Factorization Machine for Sparse Prediction[C]//IJCAI. 2019: 1466-1472.
原文链接:http://www.global-optimization.com/boyuan/Mypaper/IJCAI-2019.pdf
原文Github源码:https://github.com/gulyfish/Input-aware-Factorization-Machine

一、简介

修改FM的模型,以往的FM模型例如FFM、FwFM、FMFM、FEFM等模型主要还是修改模型的二阶交互,前两篇文章刚好做了一个比较详细的介绍:

  • 推荐系统与深度学习(8): [Adobe] FEFM和DeepFEFM模型
  • 推荐系统与深度学习(7): [Yahoo] FMFM模型: FM|FwFM|FvFM的统一框架
    而且相对FM模型也是一个简单高效易学的模型。
    本文提出以下不足:
  • 1)目前很多模型主要关注改进特征交互来提高模型的准确率;
  • 2)每个特征只有一个表示;
  • 3)AFM模型虽然也通过学习特征的重要性,但是还是因为每个特征只有一个固定的表示限制了。因此,本文提出根据不同的输入实例对特征的表示进行精练。
    为了便于理解,给出了解释,有两个输入实例:{young,female,student,pink,skirt};{young,female,student,blue,notebook}。前一个实例中,“female”属性很重要,因为“pink skirt”共同出现了。而在第二个实例中,“female”属性相对而言不是那么重要,因为“student” 和 “notebook”的关系更强。因此在不同的输入中,应该对此加以区分,学到不同实例中不同特征的不同表达。

二、IFM 模型

模型一共分为四层:Embedding Layer,Factor Estimating Net(FEN),Reweighting Layer 和 FM Prediction Layer。

结合给出的公式,主要是通过FEN层学习一组权重,然后每个原始的embedding乘以权重得到精练后的特征表达,在LR部分也乘以权重。
IFM公式
接下来主要关注FEN,。在FEN中利用端到端的记忆网络,根据输入学习不同特征的权重。通过以下的结构图可以进行理解。主要是n层的全连接,而全连接的最后一层要等于输入中Field的数量,然后通过Softmax获得权重。
相关公式:

公式(5)的第一个在文中虽然说得比较复杂,本质上还是一层全连接。然后通过公式(6) 得到新的表示。

三、结果分析

使用的数据集是Frappe和Movielens、Avazu。前两者的指标RMSE和MAE
(一)、超参数分析

1、网络深度

2、Dropout ratio
3、激活函数

(二)、FEN网络的影响
1、训练速度
(我对这里的图是有疑问的,这里的RMSE应该是MAE。1)RMSE不可能这么低,在他之后表格的结果中和AFM论文中给出的FM训练过程;2)通过运行源码,这里应该是MAE才符合。虽然不影响结果。)



2、案例分析

3、模型不同部分的分析

(三)、整体效果分析
1、Frappe和Movielens
源码中给出了数据集划分,可以复现。

2、Avazu

论文中没有给出具体数据处理方式,不好复现。从其他CTR论文中的结果看FM的效果比其他低了2%,其实有点低。
image.png

你可能感兴趣的:(推荐系统与深度学习(9): [IJCAI'19] IFM: 输入感知的FM模型)