一、LR
(一)简单总结
- 是广义线性模型,每个特征都是独立的,如果需要考虑特征与特征之间的相互作用,需要人工对特征进行交叉组合。
- 非线性SVM可以对特征进行核变换,但是在特征高度稀疏的情况下,并不能很好的进行学习。
(二)FTRL
二、FM
Rendle S. Factorization Machines[C]// IEEE International Conference on Data Mining. 2011.
(一)简单背景介绍
- 解决数据稀疏的情况下,特征怎样组合的问题。
- 对于一阶参数的训练,只要这个样本中对应的变量不为0,而二阶的参数必须两个变量同时不为0才可以。在数据稀疏时,很多特征交互是模型无法训练的。
- LR是需要特征工程的,SVM在稀疏场景下无法用。
- 通过参数矩阵分解,打破了特征组合之间的独立性,使一个组合特征的学习可以受到其他相关组合特征的帮助。
- 原本预测公式的复杂度:O(kn2),可以通过转换变为 O(kn)。
(二)公式推导
预测公式
O(kn2)变O(kn)
随机梯度下降,O(kn)
三、FFM
2016年发表在 recsys 上的论文
(一)简单介绍
- FM:一个特征对应一个隐变量;FFM:将特征分为多个field,每个特征对每个field分别有一个隐变量,因为同一个特征对不同field的影响可能是不同的,隐变量也应该不同。
- 举个例子,我们的样本有3种类型的字段:publisher, advertiser, gender。其中publisher有5种,advertiser有10种,gender有2种,one-hot编码后,每个样本有17个特征,其中只有3个非空。
FM,17个特征,每个特征对应1个隐变量。
FFM,17个特征,每个特征对应3个隐变量。
(二)模型介绍
- 表达式
- AdaGrad求解
四、Wide & Deep
2016年谷歌团队发表的一篇文章
Cheng H T , Koc L , Harmsen J , et al. Wide & Deep Learning for Recommender Systems[J]. 2016.
(一)wide 和 deep 的比较
- wide:广泛应用于具有稀疏、大规模场景。组合特征有效且可解释性强,但需要很多特征工程,且对于未出现过的组合无法学习。
- deep:需要较少的特征工程,泛化能力强,可以通过稀疏特征 embedding 学习到未出现过的特征组合。但容易过泛化,推荐不太相关的东西。
- wide & deep:记忆和泛化的结合。
(二)memorization 和 generalization(EE问题)
- memorization:exploit,学习频繁出现的特征组合,从历史数据中学习相关性。容易推荐和用户浏览历史相似的东西。
- generalization:explore,基于相关性的传递,学习未出现过的特征组合。容易推荐不一样的,新的东西。
(三)模型结构
(四)其他
- 模型训练:
wide:FTRL
deep:AdaGrad
- 预测公式
五、DeepFM
华为2017年的文章
Guo H, Tang R, Ye Y, et al. DeepFM: A Factorization-Machine based Neural Network for CTR Prediction[J]. 2017.
(一)优势
- 是端对端的学习模型,wide 部分和 deep 部分共享一样的输入,不需要额外的特征工程,能够同时学习到低阶和高阶的特征交互。
- 线性模型虽然十分有效,但是无法刻画交互特征,需要很多特征工程,缺点是无法刻画高阶特征交互,也无法学习到在训练集中出现次数很少的特征组合。FM可以学习到2阶的特征组合。
(二)特征
- 连续特征:值本身,或者离散化后one-hot
- 离散特征:one-hot
- CTR预估场景中,特征的特点:
1)稀疏
2)连续特征和类别特征混合
3)根据field分组
因此加入了embedding层
(三)模型介绍
预测分为两部分
FM:能更有效的学习到2阶交互特征,尤其是在稀疏场景下
Deep:
embedding
1)每个 field 的input大小不一样,但是embedding都一样大;
2)在FM中V是一个m*k阶的矩阵,这里用V来作为input到embedding的权重,一起训练,而不是像其他work一样用FM来预训练。
(四)共享embedding
- 从原始特征中同时学到了特征之间的低阶和高阶组合
- 不需要像 wide & deep 一样做特征工程,端到端学习
六、ESMM
ESMM是2018年阿里妈妈团队提出的一个多任务模型。
Ma X , Zhao L , Huang G , et al. Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate[J]. 2018.
(一)传统CVR预估面临的两个问题
- SSB(sample selection bias )
impression表示展示,click表示点击,conversion表示转化,用户的行为模式是impression->click->conversion,传统的CVR预估把click(如图灰色)作为training data,而训练出来的模型要在所有impression(如图白色)中进行预测,存在样本选择偏差。
DS(data sparsity)
由于点击行为实在是太少了,利用点击数据作为样本训练CVR预估模型存在数据稀疏问题。
(二)本文怎么解决
Modeling over entire space(解决SSB)
通过预测CTCVR和CTR,然后相除得到CVR,由于CTCVR和CTR都是在整个impression样本空间进行估计的,因此解决了SSB问题。
CVR:conversion / click
CTR:click / impression
CTCVR:conversion / impression
- (Feature representation transfer)解决DS
CVR和CTR共享特征embedding表示,CTR训练数据要比CVR训练数据多很多,一定程度上解决了数据稀疏性问题。
(三)技术细节
Modeling over entire space
模型引入两个辅助任务,pCTR和pCTCVR,从而间接学习到pCVR
- CTR:有点击行为的曝光为正样本,没有点击行为发生的曝光为负样本
CTCVR:同时点击和购买的曝光为正样本,否则标记为负样本。
CTR和CTCVR都是在整个样本空间的,解决了SSB问题。- 损失函数由两部分组成, CTR 和 CTCVR,两部分都采用交叉熵损失函数。
Feature representation transfer
- ESMM中,CVR网络和CTR网络共享embedding字典。该共享机制使ESMM中的CVR网络能够从 un-clicked impression 中学习,缓解数据稀疏性问题。
- 另外,ESMM模型中的子网络结构可以用其他模型替换,ESMM只是提供了一种解决问题的思路,具体应用还需要根据实际业务场景进行调整。
七、DSSM
参考资料
ESSM论文地址
精读&解析 Entire Space Multi-Task Model(ESMM) 阿里2018年CVR预测
推荐系统遇上深度学习(三)--DeepFM模型理论和实践