推荐系统与深度学习(3):[WWW'18]认识一下带权重的FFM模型——FwFM

以下为个人对文章的理解记录,如有错误,欢迎指正~~
如果觉得有帮助或者写的还行,点个赞呗~~~

引用:Pan J, Xu J, Ruiz A L, et al. Field-weighted factorization machines for click-through rate prediction in display advertising[C]//Proceedings of the 2018 World Wide Web Conference. 2018: 1349-1357.

2010年Rendle发表的《Factorization Machines》已经成为推荐系统中最经典的模型之一,在深度学习兴起之后,有许多工作在FM的基础上进行,例如FFM、AFM、NFM、DeepFM、xDeepFM等。最近看的这篇FwFMs也是在FM、FFM的基础上做的工作,主要的思想:特征交互的重要性不同,因此要赋予不同的特征交互不同的权重。

一、相关工作简介

多领域分类数据

多领域分类数据的特性对建立有效的机器学习模型进行CTR预测提出了几个独特的挑战:

  1. 特征交互很普遍,需要特别建模
  2. 一个Field中的特征和另一个Field中的特征的交互方式通常不相同
  3. 需要考虑潜在的高模型复杂性

LR模型:
LR模型

Poly2模型:
Poly2模型

FM模型:
FM模型

FFM模型:
FFM

以上是文中提及的模型,不过基于FM的模型除了DeepFM等用到DNN的模型之外,其他的例如AFM、NFM也可以拿出来讨论,尤其是AFM,在思路上,和本文模型挺像的。

二、不同Field Pairs交互项之间的强弱

文中通过Mutual information和Heat map可视化特征交互和结果之间的关系。


从而提出了如何通过有效的机器学习模型来捕捉这种交互的强弱。


Mutual Information计算

三、FwFMs模型

1、对交互项的改进

为了实现上述的想法,捕捉交互之间的权重,提出了以下模型:

FwFMs模型公式

可以看到,主要的改动在于为交互项添加了权重:
为交互项添加了权重

通过模型学习
r_{F(i),F(j)}
。可以看到模型表达还是很简洁的。要是小伙伴实现过FM或者FFM模型,稍加改变就可以得到这个模型。而且从复杂度分析,比FFM简洁很多。

2、模型的复杂度分析:

3、改进Linear Terms

在之前,普遍用二元特征x_i来表示feature i,然后学习权重w_i。然后本文中通过embedding vectors来表示feature i,用x_iv_i来表示每一个特征。
然后,为每一个feature学习一个线性权重w_i, 此时线性部分变成了:


通过这种方式模型的参数量是
2mK+n*(n-1)/2
。因为m是比较大的,所以又提出了为每个Field学习一个线性权重向量
w_{F(i)}
。此时参数量为
nK+mK+n*(n-1)/2
,n<<m,模型更加简洁。 公式表示如下:

前者用FwFMs_FeLV(FwFMs with feature-wise linear vectors)表示,后者用FwFMs_FiLV(FwFMs with field-wise linear vectors)表示。

四、实验结果与可视化分析

文中对比使用的数据集:


Criteo和oath数据集

(什么都别说了,我是最好的)

1、和FM、FFM等模型的对比:

2、不同线性部分模型对比

3、特征交互强弱可视化

这一部分还是挺有意思,应该是第一次在研究FM的模型中看到将Field interaction 的强弱可视化。而且始终围绕自己的Key Idea。

计算了皮尔逊相关系数。

五、个人小结

第一次看到对特征交互强弱的直观展示,虽然不是特别难,但是其他文章没有做呀。实验对比也是常规的,和SOTAs对比,和自己对比,消融分析等;我超过了SOTAs,我的这个结构有必要。
在阅读中有部分开始不是很理解,在FM中,通过<v_i,v_j>代替Poly2中的w_{h(i,j)},后者已经表示权重了,所以在FwFMs中再提出一个权重又是表示什么?个人的理解是<v_i,v_j>表示的是特征相乘,因为x_ix_j都是1,无法表示有用的信息,所以<v_i,v_j>表示真正的特征交互指,然后用r_{F(i),F(j)}表示权重。在Linear Term部分也可以这么理解,就说得通了。
其次,在实验部分,还是觉得,AFM模型的想法和本文是相同的。看一下AFM的计算模型:


可以看出来除了实现方式不同,思想是相同的,而且AFM在参数方面也是占优的, 2017年的文章,应该要拿出来对比。

关于文中提到的FM、FFM、AFM、NFM、DeepFM都还没有写,先看新的,旧的再补。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容