本文介绍的方法FwFM,主要来自上面的两篇文章,分别为:《Field-weighted Factorization Machines for Click-Through Rate Prediction in Display Advertising》和《A Sparse Deep Factorization Machine for E icient CTR prediction》。
1、背景
点击率预估是展示广告中核心问题之一,其目的是将合适的广告在适当的情景下呈现给合适的用户。目前点击率预估中使用的数据通常包含多个域的离散变量,这导致整个的特征维度非常巨大,处理这样的数据,通常面临以下三方面的挑战:
1)需要建模特征之间普遍存在的交互关系。比如,在NBA官网上展示Nike的广告,其点击率会远高于Nike广告的平均点击率或者NBA官网上所有广告的平均点击率。
2)不同域的特征之间的交互强度往往不同。比如,性别域和广告主域的特征之间关系强度比较高,但是性别域和设备域特征之间的交互强度比较低。
3)模型的复杂度需要关注。在线上使用模型时,需要存储模型的参数比如权重以及嵌入向量(Embedding),如果参数过多,会对线上的性能造成一定的影响。
为了解决上述的几个问题,研究者提出了许多相关的建模方案,如FM和FFM。先来回顾下这两个模型:
FM
FM为每一维特征都赋予一个k维的嵌入向量,假设特征维度为m,那么参数总量为m + mK(或者m + mK + 1),其计算公式如下:
FFM
FM没有考虑到不同域的特征进行交互时的差异,因此对每一维特征,FFM在不同的域赋予不同的嵌入向量。假设数据共有n个域、m维特征,而且每个域都是单值离散变量的话,每维特征会对应n-1个嵌入向量(不需要特征所在域的嵌入向量,单值离散特征情况下,一个特征只会与其他域的特征进行交互),因此参数总量为m + m(n-1)K(或者m + m(n-1)K + 1),其计算公式如下:
结合前面所提到的CTR预估中所面临的三个挑战,FM相当于解决了第一个挑战,即考虑了特征之间的交互关系,而FFM相当于在FM的基础上解决了第二个挑战,即考虑了不同域的特征之间的交互强度。但是FFM的参数过多,在离线优化以及线上使用时,性能较为一般。因此,在FFM的基础上继续解决第三个挑战,便是本文要介绍的FwFM(Field-weighted Factorization Machines)。
2、FwFM
同FFM一样,FwFM也是在FM的基础上考虑不同域之间的交互强度关系,但做法不同。FwFM中对不同域之间的交互强度赋予一个统一的权重,其计算公式如下:
这样相较于FFM,总的参数量降低了许多,假设数据共有n个域、m维特征,那么FwFM的参数总量为m + mK + n(n-1)/2(或者m + mK + n(n-1)/2 + 1)。
3、FwFM的变形
结合两篇文章,主要提出了两种FwFM的变形,一是对原公式中的线性部分进行改造,二是将FwFM和DNN相结合,即DeepFwFM。
3.1 线性部分变形
文中将使用原计算公式的FwFM方法称为FwFMs_LW,同时针对线性部分,提出了两种变形方法,分别称为FwFMs_FeLV和FwFMs_FiLV。
FwFMs_FeLV(FwFMs with feature-wise linear weight vectors)
原公式中的线性部分,每一维特征i对应一个标量权重wi,而在FwFMs_FeLV中,标量权重变成了和嵌入向量vi同样长度的向量wi,二者通过内积得到特征i的标量权重,此时线性部分的计算公式如下:
此时参数的总数增加为2mK + n(n-1)/2。
FwFMs_FiLV(FwFMs with field-wise linear weight vectors)
在FwFMs_FiLV中,标量权重变成了和嵌入向量vi同样长度的向量w F(i)(即同一个域中的特征共享一个权重向量),二者通过内积得到特征i的标量权重,此时线性部分的计算公式如下:
此时参数的总数为nK + mK + n(n-1)/2。
3.2 DeepFwFM
DeepFwFM即将DNN与FwFM相结合,其图示如下(下图来自第二篇文章,图示应该是上文所说的FwFMs_FiLV):
4、实验结果
下面的实验结果来自文章1,对比了FwFM和FM、FFM的结果:
可以看到FwFMs的效果好于LR、FM,这说明对域之间的关系的建模可以带来一定的效果的提升。虽然FFM的效果要要好于FwFMs,但相差并不多,因此可以说,FwFMs能够实现预测效果和性能的平衡。
接下来是不同的FwFMs的效果,可以看到三种方法的差距并不大: