5:DeepFM: A Factorization-Machine based Neural Network for CTR Prediction

1.Abstract:

        DeepFM 并行形式(结合DNN+FM的模型)用于解决构建复杂特征组合的问题。CTR预测能够学习用户点击行为的背后的隐藏特征组合。(包含有低阶和高阶)。it is possible to derive an end-to-end learning model that emphasizes both low- and high- order feature interactions.证明DeepFM比现有模型的有效性和效率。

2.DeepFM结构

目标:CTR预估

以前的CTR预估模型仅考虑low-order的特征交互或者仅考虑high-order的特征交互,需要手工设计特征。文中提出了DeepFM来同时学习low-order和high-order的特征交互,不需要手工设计特征。

CTR数据特点:(重点在于学习低阶与高阶的组合特征)

1、输入中既包含离散型数据(性别),也包含连续型数据(年龄)。离散型数据需要one-hot编码,连续型数据可以先离散化再one-hot编码,也可以直接保留原值。

2、维度非常高, 将one-hot类型的特征输入到DNN中,会导致网络参数太多。

3、数据非常稀疏,one-hot以后,大部分数据都为0。

4、特征按照Field分组

将Onehot 作为DNN输入对于CTR预估任务不可行,将原始数据的one-hot根据不同特征,分别将其编码进行Embedding,这样的可以减少数据稀疏,而且每个feature 在embedding后长度均相同。也就是将onehot转为Dense Vector。然后。将embedding组合输入到两个隐藏层的神经网络,进行高阶特征的组合。

在上图中,我们可以看到DeepFM中分为两个部分:FM和DNN。FM和DNN以并行方式组合,并且共享Embedding向量作为输入。

 Sparse Features(输入层)

这一层是原始的输入层,但并不是原始的数据。原始数据需要经过处理才是该层的向量。

我们设原始数据为。为包含m个filed特征的数据,y是表示用户是否点击(y=1表示用户点击了该项目,y=0表示未点击)

原始特征数据中,一般包含categorical和continuous两种特征。我们需要分别处理。

    - categorical 特征:表示成one-hot编码后向量

    - continuous 特征:表示为值本身,或者离散化后再表示成one-hot编码后向量

所有特征处理后,我们会得到一个稀疏向量x,即 Sparse Features。 那么此时,我们得到的训练数据就是(x,y).

Dense Embedding(embedding 层)

        

Sparse Features经过Embedding后,得到m个embedding向量。这个操作是为了压缩原始数据的维度。

这里有两个地方需要注意:

(1)不同field(即不同特征)的向量的长度可以不同,但得到的embeddi向量最终都相同。

(2) FM中的隐向量(V),在这里成为输入层向量到embedding层向量的网络权值,并被学习。

因为输入层是ont-hot编码,所以一个Field中有且仅有一个激活元素等于1。那么一个Field对应的embedding向量,也就是该激活元素的隐向量。在上图中,向量就是第二个元素的隐向量。

接下来,FM和DNN部分都会以embedding向量作为输入。

FM部分:

 

Normal Connection:即黑色连接,它表示需要被学习的权重w。

Weight-1 Connection:即红色连接,它表示默认值且不变为1的权重。

Embedding:即蓝色连接,它表示的隐向量。

Addition:表示将所有的输入都相加的操作。

Inner Product:表示这个单位的输出是两个输入向量的乘积。

我们看FM的公式里,由一阶和二阶两部分组成:Addition就是公式中的一阶;所有的Inner Product就是公式中的二阶。

Deep部分

 

这部分其实是一个普通的前馈神经网络。

Activation Function,可以选用 relu 或者tanh。

DeepFM和Wide&Deep的结构类似,都是并行结构,且两部分联合训练。不过DeepFM使用FM构建低阶特征,Wide&Deep使用cross-product构建低阶特征;DeepFM两份

3. 总结

DeepFM以并行方式组合了FM与DNN两部分,它们共享Embedding层作为输入,共同参与训练。

DeepFM通过FM构建低阶特征,通过DNN自动构建高阶特征,实现自动捕获低阶与高阶特征组合,不需要手动构建特征工程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值