论文:
论文题目:《An Input-aware Factorization Machine for Sparse Prediction》
论文地址:https://www.ijcai.org/proceedings/2019/0203.pdf
有很多工作是对FM进行改进,之前有过AFM,FFM以及各自对FM魔改对工作,但是没有工作对样本感知的FM进行探讨,今天我们就来看一下这篇关于样本感知的FM。
一 、背景
1.1 FM介绍
FM(Factorization Machine),因子分解机,在广告和推荐领域都发挥着至关重要的作用,它可以显式的构建二阶交叉的特征,FM的公式如下:
可以看到,FM通过内积的方式计算每个feature pair的weight,通过优化,fm可以改写为:
据我所知,在某短视频公司,推荐跟广告业务线的排序模型都是lr+fm+dnn的类似结构,足见fm在整个推荐/广告领域的重要性。
1.2 FM的缺陷
在FM的公式里,我们可以看到,不同特征pair之间计算weight的时候使用的是同一个v,也就是无论样本如何变化,两个特征之间计算内积作为weight的v都是同一个,这种方式很简单有效,但是我们知道简单有效的东西总是伴随着一些缺陷。
FM的一个缺陷在于没办法针对每一条样本来构建独有的特征权值,举个论文中的例子来看,如果有一条样本长这样:<年轻,女性,学生,喜欢粉色>,target item是连衣裙,那么这一条样本都对整个target item具备比较大的作用,比如说女性整个特征,跟连衣裙交叉就应该获得比较大的权值。我们接着来看另一条样本:<年轻,女性,学生,喜欢蓝色>,target item是笔记本,这个时候女性这个特征对于笔记本这个item就不应该赋予很大的权值。
通过上面的例子,我想你应该大概知道了,每一条样本中的每个特征都应该具备自己对于target item所具备的权值,也就是通过不同特征组成的样本对于FM中两个向量计算内积的weight不应该相同。
所以IFM(Input-aware Factorization Machines)对于FM进行了改进,也就是让FM变成了样本感知的FM模型
二、IFM模型
我们先看一下IFM的公式:
可以看到在计算内积和一阶lr的时候多了个x这个东西,这就意味着每个样本的v都是自己独有的,尽管两条样本都具备相同的特征,比如之前说的女性这个特征,那么他们具备各自的权值,并且用这个权值的作用在原始的embedding v上面,具体而言是:
其中就是样本x在特征i上的权值,这下我们就明白了,整个IFM都是围绕着计算这个m去的。
Factor Estimating Network
我们观察上面的网络,在结合下面的计算公式,相信你很快就能理解了:
其中Vx,就是把所有的非零的特征的embedding concat出来,然后送DNN,在送softmax就得到了最后的m,注意,这里用h(非零特征的总数)来进行scale,也就是起到了放大的作用,这里公式应该写错了,上面应该是i不是d。
三、实验结果
我对于该论文没有啥特别觉得经验的地方,自我感觉IFM是在FM的修修补补,与其说是样本感知的FM模型,不如说是特征组合方式的感知FM模型,不同的特征组合会导致不同的m,其实可以在这里用attention来做?
网友评论