推荐系统 - 排序 - DeepFM

DeepFM是一种用于点击率(CTR)预测的模型,旨在解决Factorization Machines在处理高维稀疏数据时的计算问题。模型结合了Wide&Deep的思想,通过SparseFeatures处理稀疏特征,包括特征索引矩阵和值矩阵,以及DenseEmbedding和FactorizationMachineLayers。Deep部分由多层神经网络组成,捕捉复杂特征交互。最终,DeepFM模型输出是FM和深度学习部分的结合,适用于广告投放和电商推荐等场景。

DeepFM 出自 IJCAI 2017 的论文 DeepFM: A Factorization-Machine based Neural Network for CTR Prediction。

1. 背景

CTR (click-through rate) 预测,是指预测用户对某个物品的点击率,以便于推送用户最有可能点击的物品。广告平台当然希望有一个模型能够准确预测出用户最可能点击的广告,这样可以增加平台收益;在电商的推荐系统中,需要把用户可能感兴趣的商品从前到后的展示出来,这个顺序就是按照用户点击这个商品的概率从大到小排列出来的。

预测点击概率需要用到用户信息和物品信息,通常是将多种信息融合在一个向量中。离散的用户和物品的属性,就采用 one-hot 表示,连续的属性可以归一化后直接使用。训练样本为 (x,y),其中 x 是一个高维稀疏矩阵,其中包含 user 和 item 的信息,y∈{0,1} 表示用户是否点击了 item。

特征间的组合常常很有用,比如从用户点击数据中发现在吃饭的时间用户常常下载点外卖的软件,这说明 time 和 app category 有很大关系,这样可以构建一个特征 "time = 中午 & spp category = 外卖"。另外可能在数据中发现男孩子常常玩射击类游戏,这也可以构造特征 “gender = 男 & game category = 射击”。

要从数据中捕获以上提到的特征,需要模型能够组合不同的特征。为此人们做了特征工程,向线性模型中加入x_i x_j 这样的组合特征. 为了解决组合特征参数过多的问题,提出了 Factorization Machines。

但是 FM 因为计算量的问题也常常只能引入二阶特征(两个特征的组合),为了能够引入更加强大的特征组合。Wide & Deep 模型被提出,结合线性模型和深度神经网络,试图让模型学习到更加复杂的特征。

本文的 DeepFM 和 Wide & Deep 的动机,我感觉是差不多的,只是 DeepFM 提出了一种看起来更加简洁的模型。

2. DeepFM

DeepFM 的模型架构图如下:

单看此图肯定时看不明白的,稍加解释如下:

2.1 Spar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值