以下仅仅为个人对文章的阅读记录,如有错误,欢迎指正。如需转载注明来源即可~~
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。公式(5)的第一个在文中虽然说得比较复杂,本质上还是一层全连接。然后通过公式(6) 得到新的表示。
三、结果分析
使用的数据集是Frappe和Movielens、Avazu。前两者的指标RMSE和MAE
(一)、超参数分析
2、Dropout ratio
3、激活函数
(二)、FEN网络的影响
1、训练速度
(我对这里的图是有疑问的,这里的RMSE应该是MAE。1)RMSE不可能这么低,在他之后表格的结果中和AFM论文中给出的FM训练过程;2)通过运行源码,这里应该是MAE才符合。虽然不影响结果。)
2、案例分析
3、模型不同部分的分析
(三)、整体效果分析
1、Frappe和Movielens
源码中给出了数据集划分,可以复现。
2、Avazu