2019-2020review6-FM召回模型入门

全能的FM(Factorization Machines)/FFM(Field-aware Factorization Machine)

背景:FM和FFM模型凭借其在数据量比较大并且特征稀疏的情况下,仍然能够在推荐系统、CTR预估问题上得到优秀的性能和效果。

FM模型原理:

2019-2020review6-FM召回模型入门_第1张图片

FM特征需要先进行离散化和one_hot,这里的组合特征是任取两个特征相乘,在给予特定的组合权重(其实是两个特征向量的点乘),这里的特征是离散化、one-hot后的特征。

当两个特征xi和xj,one-hot化后,两者相乘的优势表达了一个“且”的概念,当且仅当两个特征同时不为0,这项才有值(在实际的特征中,为0不是指没有意义,但是在one-hot化后,就是了!),于是就能真正体现FM的真实含义。

系数vi和vj其实都是向量,在FM论文的公式(3)中已经定义了,f是转化特征的维数,可以表示更加丰富的含义,这种高纬度化能够令一个特征的描述更为丰富,从单一值转化为更为丰富的含义,而此时,具体这个特征是什么就显得不是很重要,他用一个抽象的向量表示,且高纬度的表达也更为精准,这也是NLP领域里面提到的embedding的一大重要意义。

所以,可以看到FM用了一种非常巧妙的方式去进行了特征的组合,且这种方式的效率很高,同时复杂度也很低(FM论文中详细证明了是线性复杂度,与特征个数和向量特征维数k有关)

FFM模型原理:

2019-2020review6-FM召回模型入门_第2张图片
FFM模型原理

FFM(Field-aware Factorization Machine)FM的升级版模型,通过引入field的概念,FFM把相同性质的特征归于同一个field。以广告分类为例“Day=26/11/15”、“Day=1/7/14”、“Day=19/2/15”这三个特征都是代表日期的,可以放到同一个field中。同理,商品的末级品类编码生成了550个特征,这550个特征都是说明商品所属的品类,因此它们也可以放到同一个field中。简单来说,同一个categorical特征经过One-Hot编码生成的数值特征都可以放到同一个field,包括用户性别、职业、品类偏好等。在FFM中,每一维特征 xi,针对其它特征的每一种field fj,都会学习一个隐向量 vi,fj。因此,隐向量不仅与特征相关,也与field相关。也就是说,“Day=26/11/15”这个特征与“Country”特征和“Ad_type”特征进行关联的时候使用不同的隐向量,这与“Country”和“Ad_type”的内在差异相符,也是FFM中“field-aware”的由来。

参考资料:

1、R&S | 深度讨论FM和FFM:不仅是推荐 https://www.jianshu.com/p/417e336134ca

2、深入FFM原理与实战 https://tech.meituan.com/2016/03/03/deep-understanding-of-ffm-principles-and-practices.html

你可能感兴趣的:(2019-2020review6-FM召回模型入门)