深度学习CTR模型粗略记录
- RoadMap
-
- FM:Factorization Machines
- DNN:Embedding+MLP
- WND:Wide & Deep Learning for Recommender Systems
- NFM:Neural Factorization Machines for Sparse Predictive Analytics
- AFM: Attentional Factorization Machine
- IAFM: Interaction-aware Factorization Machines
- DeepFM:A Factorization-Machine based Neural Network for CTR Prediction
- DCN:Deep & Cross Network for Ad Click Predictions
- xDeepFM:Combining Explicit and Implicit Feature Interactions for Recommender Systems
- AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks
- 模型比较
这段时间整理了一点深度学习在CTR中的应用,便有了一点中间产物,弃之可惜,就贴出来了,表述不当之处,供参考。
flag就不乱立了,立了我也不会做到,有空就补充和修改,嗯。
以下是不正经的正文
RoadMap
在计算广告和推荐系统中,点击率预估(Click Through Rate,简称CTR)是一个热点研究问题。CTR任务是根据用户特征、广告特征和其他可获取信息来预测一个用户是否会点击这条广告。传统的CTR通过大量的特征工程来提高预测效果,这样的工作费时费力,且构造过程不具有通用性。近年来深度学习在图像、NLP、广告等领域大放异彩,因其能够构造高阶特征,深度学习在点击率预估任务也开始崭露头角。 典型的四段式深度学习CTR模型结构为:输入模块、嵌入模块、特征提取模块、输出模块。
-
输入模块
输入通常是一个包含特征ID(如用户ID、内容特征ID)和对应特征值的序列。
输出是从特征提取模块提取到的信息经过一系列变换(求和、降维)并经过Sigmoid函数得到范围在(0,1)的实数,该实数表示点击的概率大小。 -
嵌入模块
在CTR任务中数据特征呈现高维、稀疏的特点,如用户ID、商品(广告)ID。
假设特征数为n,直接将这些特征进行One-Hot Encoding会产生巨大的参数数量( O ( n 2 ) , n O(n^2),n O(n2),n是特征数)。
Embedding通过矩阵乘法将1×n的离散特征向量通过维度为n×k的参数矩阵W压缩成1×k的低维度稠密向量,通常k≪n,特征数从 n 2 n^2 n2降到n×k,Embedding可以减小模型复杂度。
此外CTR任务涉及的特征通常是具有领域信息的离散特征,如用户性别、职业、广告(商品)类型等等。
实际应用中通常考虑领域特征的先验知识,将同领域的特征嵌入向量求和(或求平均)作为该领域的嵌入向量,再与其他领域的嵌入向量进行两两组合。
这种分领域嵌入方式得到的分组嵌入向量拼接起来作为后续神经网络的输入, 可以达到降维的目的。 -
特征提取模块
特征提取模块是模型的核心,不同模型特征交互(组合)形式不同。
CTR中经过特征工程得到的有效特征通常包含叉乘特征。
假设特征 x 1 = ( e 1 , e 2 , e 3 ) x_1=(e_1,e_2,e_3) x1=(e1,e2,e3),特征 x 2 = ( e 4 , e 5 , e 6 ) x_2=(e_4,e_5,e_6) x2=(e4,e5,e6),特征 x 1 x_1 x1、