CTR点击率预估系列家谱
炼丹之前,先放一张CTR预估系列的家谱,让脉络更加清晰。
(一)FiBiNET:结合特征重要性和双线性特征交互进行CTR预估
1.1 背景
本文发表在RecSys 2019,主要通过动态学习不同特征的特征重要性权重,解决CTR预估中对不同场景下不同特征的权重(ReWeight)重定义问题,同时,双线性的使用解决稀疏数据在特征交叉建模时的有效性问题。
1.2 创新
由模型结构图我们可以发现,本文核心结构主要有两个,Embedding Layer中的SENET Layer和Bilinear-Interaction Layer。(1)其中 SENET Layer又包含3个步骤,分别是
-
- 对每个Field用Max Pool或者Mean Pool 操作的Squeeze Step;
- 对每个Field用两层FC层计算特征重要性权重的Excitation;
- 对原始每个Field利用Excitation得到的特征重要性权重重新赋权的ReWeight。
(2)而 Bilinear-Interaction Layer 层提出一种结合Inner Product和Hadamard Product方式,并引入额外参数矩阵W,学习特征交叉。主要通过3种方式得到交叉向量,分别是
- 1)Field-All Type:所有特征组交叉时共享额外参数矩阵W;
- 2)Field-Each Type:每个特征组Field-i 维护一个参数矩阵W-i;
- 3)Filed-Interaction Type:每对交互特征P(i,j)都有一个参数矩阵W(i,j)。最后,Bilinear-Interaction Layer 将原始的特征Embedding向量 和 SENET层输出的Embedding向量分别得到交叉向量p和q。
1.3 效果
(二)DSIN:利用用户时序行为中兴趣变化进行CTR预估
2.0 前言
在读本文之前,我们需要先搞清楚两个概念,Sequence和Sessions。基于用户行为Behavior Sequence进行兴趣特征挖掘的方式目前被用于绝大数的CTR任务中。Sequence和Sessions的相同点在于它们都是由Behaviors组成的,但不同的是Sessions是根据一定的规则将用户的历史点击行为Behavior 进行划分得到的,也就是说,通过用户的点击时间对Sequence进行划分后,可以得到多个Sessions。
2.1 背景
本文发表在IJCAI 2019,主要通过将用户的历史点击行为划分为不同session,然后利用Transformer对每个Session进行学习得到兴趣向量后,使用BiLSTM学习用户在多个Session之间的兴趣变化,从而更好地完成CTR预估。
2.2 创新
由模型结构图我们可以发现,本文核心结构主要有4个。
1)Session Division Layer完成对用户历史点击行为的划分,以30分钟为划分依据,得到多个Sessions;
2)Session Interest Extractor Layer使用Bias Encoding 方式表征不同Session间的顺序,同时考虑到用户兴趣可能来自不同因素,利用 multi-head self-attention对每个session 建模得到兴趣向量表征;
3)Session Interest Interacting Layer在得到用户的兴趣向量表征之后,利用Bi-LSTM学习不同Session之间的由顺序带来的兴趣变化;
4)Session Interest Activating Layer利用注意力机制学习不同Session和Item之间的相关性,混合上下文信息的兴趣信息之后,对距离Item较近的Session赋予更大的权