美文网首页
CTR预估之FM系列

CTR预估之FM系列

作者: Jasmine晴天和我 | 来源:发表于2019-08-01 16:51 被阅读0次

CTR预估在广告领域是非常重要的一环,主要是计算点击率,很多会使用LR模型,其间因为特征之间存在相互作用,就要进行特征的组合,业界一般用FM和Tree两种系列。

FM(Factorization Machines)

主要是为了解决数据稀疏的情况下,特征怎样组合的问题。

分类变量一般使用one-hot编码,但是就会 造成数据稀疏,使得特征空间变大。

一般是特征两两组合。


image.png

Wij求解的思路是通过矩阵分解的方法,为了求解Wij,我们队每一个特征分量xi引入辅助向量Vi=(vi1,vi2,...,vik)Vi=(vi1,vi2,...,vik)

������述

然后用vivTjvivjT对wijwij进行求解

������述

求解<vi,vjvi,vj>,主要采用公式(a+b+c)2−a2−b2−c2(a+b+c)2−a2−b2−c2求出交叉项

img

设有3个变量(特征)x1 x2 x3,每一个特征的隐变量分别为v1=(1 2 3)、v2=(4 5 6)、v3=(1 2 1),即:

img

设交叉项所组成的权矩阵W为对称矩阵,之所以设为对称矩阵是因为对称矩阵有可以用向量乘以向量转置替代的性质。
那么
W=VV^T
,即

img 所以: img

实际上,我们应该考虑的交叉项应该是排除自身组合的项,即对于x1x1、x2x2、x3x3不认为是交叉项,那么真正的交叉项为x1x2、x1x3、x2x1、x2x3、x3x1、x3x2。
去重后,交叉项即x1x2、x1x3、x2x3。这也是公式中1/2出现的原因。

对交叉项有了基本了解后,下面将进行公式的分解,还是以n=3为例,

img

所以:

img

上面的例子是对3个特征做的交叉项推导,因此对具有n个特征,FM的交叉项公式就可推广为:

img

我们还可以进一步分解:

img

所以FM算法的交叉项最终可展开为

img

M的复杂度为O(kn2)O(kn2),通过上述等式,FM的二次项化简为只与vi,fvi,f有关的等式。因此,FM可以在线性时间对新样本做出预测,复杂度和LR模型一样,且效果提升不少。

在训练FM是,加入使用SGD来优化模型,训练时各个参数的梯度如下

������述

∑nj=1vj,fxj∑j=1nvj,fxj 只与f有关,只要求出一次所有的f元素,就能够计算出所有vi,fvi,f的梯度,而f是矩阵V中的元素,计算复杂度为O(kn)。当已知∑nj=1vj,fxj∑j=1nvj,fxj时计算每个参数梯度的复杂度是O(1),更新每个参数的复杂度为O(1),因此训练FM模型的复杂度也是O(kn)

������述

SVM和FM的主要区别在于:

1.SVM的二元特征交叉参数是独立的,而FM的二元特征交叉参数是两个k维的向量vi、vj,交叉参数就不是独立的,而是相互影响的。

2.FM可以在原始形式下进行优化学习,而基于kernel的非线性SVM通常需要在对偶形式下进行

3.FM的模型预测是与训练样本独立,而SVM则与部分训练样本有关,即支持向量

FFM(Field-aware Factorization Machine)

在FM的基础上,将同一个field的特征单独进行one-hot,因此在FFM中,每一维特征都会针对其他特征的每个field,分别学习一个隐变量,该隐变量不仅与特征相关,也与field相关。

image.png

FFM将问题定义为分类问题,使用的是logistic loss,同时加入正则项

image.png

在DSP或者推荐场景中,FFM主要用来评估站内的CTR和CVR,即一个用户对一个商品的潜在点击率和点击后的转化率。

CTR和CVR预估模型都是在线下训练,然后线上预测。两个模型采用的特征大同小异,主要分三类:

用户相关的特征
年龄、性别、职业、兴趣、品类偏好、浏览/购买品类等基本信息,以及用户近期点击量/购买量/消费额等统计信息

商品相关的特征
商品所属品类、销量、价格、评分、历史CTR/CVR等信息

用户-商品匹配特征

浏览/购买品类匹配、浏览/购买商家匹配、兴趣偏好匹配等

FFM默认是进行样本数据的归一化

将源数值型特征的值归一化到 是非常必要的。

省略零值特征

DeepFM(FM和DNN组合)

DeepFM目的是同时学习低阶和高阶的特征交叉,主要由FM和DNN两部分组成,底部共享同样的输入。模型可以表示为:


image.png

在第一层隐藏层之前,引入一个嵌入层来完成输入向量压缩到低位稠密向量。

嵌入层的结构如上图所示,有两个有趣的特性:
1) 尽管不同field的输入长度不同,但是embedding之后向量的长度均为k
2) 在FM中得到的隐变量VikVik现在作为嵌入层网络的权重

嵌入层的输出为a(0)=[e1,e2,...,em]a(0)=[e1,e2,...,em],其中eiei是嵌入的第i个filed,m是field的个数,前向过程将嵌入层的输出输入到隐藏层为

image.png

其中l是层数,σσ是激活函数,W(l)W(l)是模型的权重,b(l)b(l)是l层的偏置
因此,DNN得预测模型表达为:

image.png

相关文章

  • CTR预估之FM系列

    CTR预估在广告领域是非常重要的一环,主要是计算点击率,很多会使用LR模型,其间因为特征之间存在相互作用,就要进行...

  • FM,LR,CTR预估

    factorization machine和logistic regression的区别? 在线广告系统的clic...

  • CTR预估模型(与POI推荐关系)

    业界 | 从FM推演各深度CTR预估模型本文对该文章的keypoint进行整理,同时对CTR预估模型与POI推荐进...

  • FM以及DeepFM学习笔记

    FM以及DeepFM 1.FM 在计算广告和推荐系统中,CTR预估(click-through rate)是非常重...

  • 阅读记录-推荐系统

    推荐系统遇上深度学习(十八)--探秘阿里之深度兴趣网络(DIN)浅析及实现 常见ctr预估算法LR,FM,wide...

  • Deep Learning over Multi-field C

    ctr预估 ctr中传统的FM,以神经网络的角度来看可以等效为下图: 对比FM公式来看,第一项为图中最左边常数,第...

  • 从FM到DeepFM:浅谈推荐系统中的模型演化

    近年来,embedding+DNN的模型组合成为了CTR预估任务的通用框架。本文分析总结一系列相关的模型,包括FM...

  • 理论:FM理论解析及应用

    FM的产生背景 我其实没有做过很多ctr预估的事情,但是我在工作中常常遇到CRM流失预估、订单预估这些依赖于特征工...

  • 推荐系统-FM(Factorization Machine)模型

    1. 介绍 在进行CTR(click through rate)预估时,除了单个特征外,通常要进行特征组合,FM算...

  • 推荐系统排序算法--NFM模型

    1、引言 在CTR预估中,为了解决稀疏特征的问题,学者们提出了FM模型来建模特征之间的交互关系。但是FM模型只能表...

网友评论

      本文标题:CTR预估之FM系列

      本文链接:https://www.haomeiwen.com/subject/uxdcdctx.html