FM算法在广告点击预估(CTR)任务中的应用

广告点击预测是广告交易中非常重要的任务,例如阿里妈妈团队的核心业务就是在做这样的事情,预估广告点击率以及预估广告点击转化为购买的比率等。近年来,该Task的解决方案有很多,FM(因子分解机)是其中较为经典且被广泛使用的模型。

问题背景

传统的逻辑回归等相关变种模型中都是认为特征直接是相互独立的,但是很多情况下特征之间的依赖关系是不可忽视的,因此需要进行特征组合,但是大多数业务场景下,类别特征做完onehot后会变得相当稀疏,尤其是特征组合后,特征空间变得很大,而FM就是为了解决特征组合下数据稀疏所带来的一些列问题。

线性和多项式模型

上文说道,特征之间是存在相关性的,也就是说特征工程中需要考虑去挖掘特征之间的关联性,以此来构造新的特征。
一般的线性模型定义如下,很直观地可以看出,特征均单独出现。


引入多项式回归模型来加入特征间的关联性,例如下面的二阶多项式定义:



上述多项式模型的二阶特征的参数共有n(n-1)/2种,且任意参数间相互独立,并且在进行参数估计时发现,对于这些二次项的参数,都需要大量的非零样本来进行求解,但是很多时候特征空间是相当稀疏的,这种情况下参数的估计值变得相当不准确。

FM原理

为了解决上述特征矩阵稀疏带来的参数估计不准确的问题,FM引入了矩阵分解的思路,对交叉项的系数矩阵进行了如下分解:


上述矩阵分解的思想是:由于特征之间不是相互独立的,因此可以使用一个隐因子来串联,类似于推荐算法中,可以将一个打分矩阵分解为user矩阵和item矩阵,每个user和item都可以用一个隐向量来表示,下例中将一个user表示成一个二维向量,同时把每个movie表示为一个二维向量,两个向量的点乘就是每个用户对每个movie的评分(图片来源于网络):



FM中采用了类似的思想,将所有的二次项系数组成一个对称矩阵W,W可被分解为V^T*V,V的第j列即为第j维特征的隐向量,因此FM模型可表示为:



其中<vi,vj>表示点乘,隐向量长度为k(k<<n),这样变换后,二次项的系数个数减少至kn个。
上式实质上是通过辅助向量Vi来对Wij进行求解,V的形式如下所示:

Wij组成的矩阵可以表示为:



可以通过限制k的大小来反应FM的表达能力。
直观上看FM的复杂度为O(kn^2),通过化简为下式,可以优化至O(kn)

上式的推导过程如下,之所以是1/2是因为W矩阵是一个对称矩阵,只需计算其一般的值即可。vj,f表示的是隐向量vj的第f个元素
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一前言 特征值 奇异值 二奇异值计算 三PCA 1)数据的向量表示及降维问题 2)向量的表示及基变换 3)基向量 ...
    Arya鑫阅读 10,594评论 2 43
  • 心里少一点抱怨是不是会开心一些,经过了很多事情。伤心体会过,失望也不少尝试,每次遇到不顺心的就想着把责任推给别人,...
    蜜意阅读 224评论 0 2
  • 霜華白露魘魔,電掣乾坤,劃破天河。玉盤秋冷,洗盡鉛華照銀波,清光冷艷觴恨多,撼天動地念娑婆。夜撫麗蘿,桂愫潸寞,涼...
    弘湉阅读 160评论 0 0
  • 今天是过年了,应该是满心欢喜,我也带着喜气过年,早上起来貼对联,接着就开始做饭,我本来想做十个菜,可我没等做好,孩...
    刘会云阅读 150评论 0 1
  • 活到二十,至今没有“理想”。 黄教主曾在电影说:理想,就是一种让你你感到坚持就是幸福的东西。当时深以为然,因为坚持...
    宁静的湾仔阅读 135评论 0 0