推荐系统中的模型整理 (rank)

模型简介论文
DNN 多层神经网络 --
Logistic Regression 逻辑回归 --
FM 因子分解机 Factorization Machine(2010)
FFM Field-Aware FM Field-aware Factorization Machines for CTR Prediction(2016)
FNN Factorisation-Machine Supported Neural Networks Deep Learning over Multi-field Categorical Data(2016)
Deep Crossing Deep Crossing Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features(2016)
PNN Product Network Product-based Neural Networks for User Response Prediction(2016)
wide&deep Deep + wide(LR) Wide & Deep Learning for Recommender Systems(2016)
DeepFM DeepFM DeepFM: A Factorization-Machine based Neural Network for CTR Prediction(2017)
DCN Deep Cross Network Deep & Cross Network for Ad Click Predictions(2017)
NFM Neural Factorization Machines Neural Factorization Machines for Sparse Predictive Analytics(2017)
AFM Attentional Factorization Machines Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks(2017)
xDeepFM xDeepFM xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems(2018)
DIN Deep Interest Network Deep Interest Network for Click-Through Rate Prediction(2018)
FGCNN Feature Generation by CNN Feature Generation by Convolutional Neural Network for Click-Through Rate Prediction(2019)
FIBINET Combining Feature Importance and Bilinear feature Interaction 《FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction》(2019)

 

 

DeepFM

 

 

和Wide & Deep的模型类似,DeepFM模型同样由浅层模型和深层模型联合训练得到。不同点主要有以下两点:

  1. wide模型部分由LR替换为FM。FM模型具有自动学习交叉特征的能力,避免了原始Wide & Deep模型中浅层部分人工特征工程的工作。
  2. 共享原始输入特征。DeepFM模型的原始特征将作为FM和Deep模型部分的共同输入,保证模型特征的准确与一致。

文中通过大量实验证明,DeepFM模型的AUC和Logloss都优于目前的最好效果。效率上,DeepFM和目前最优的效果的深度模型相当。

 

主要做法:

  1. FM Component + Deep Component。FM提取低阶组合特征,Deep提取高阶组合特征。但是和Wide&Deep不同的是,DeepFM是端到端的训练,不需要人工特征工程。
  2. 共享feature embedding。FM和Deep共享输入和feature embedding不但使得训练更快,而且使得训练更加准确。相比之下,Wide&Deep中,input vector非常大,里面包含了大量的人工设计的pairwise组合特征,增加了他的计算复杂度。

 

为了同时利用low-order和high-order特征,DeepFM包含FM和DNN两部分,结果可表示为:

 

FM 部分

 

FM通过隐向量latent vector做内积来表示组合特征,从理论上解决了低阶和高阶组合特征提取的问题。但是实际应用中受限于计算复杂度,一般也就只考虑到2阶交叉特征。

后面又进行了改进,提出了FFM,增加了Field的概念。

FM部分的输出由两部分组成:一个 Addition Unit,多个 内积单元

 

这里的d是输入one-hot之后的维度,我们一般称之为 `feature_size`。对应的是one-hot之前的特征维度,我们称之为 `field_size`

Addition Unit 反映的是1阶的特征。内积单元反映的是2阶的组合特征对于预测结果的影响。

 

Deep Component

Deep Component架构图:

 

Deep Component是用来学习高阶组合特征的。网络里面黑色的线是全连接层,参数需要神经网络去学习。

由于CTR或推荐系统的数据one-hot之后特别稀疏,如果直接放入到DNN中,参数非常多,我们没有这么多的数据去训练这样一个网络。所以增加了一个Embedding层,用于降低纬度。

这里继续补充下Embedding层,两个特点:

1. 尽管输入的长度不同,但是映射后长度都是相同的.`embedding_size(k)`

2. embedding层的参数其实是全连接的Weights,是通过神经网络自己学习到的。

Embedding层的架构图:

embedding layer表示为: [公式]

其中 ei 是第 i个 filed 的 embedding,m 是 filed 数量; a(0) 传递给deep part,前馈过程如下:

 [公式]

其中 l是层深度,最外层是激活函数, a b w分别是第l层的输出,权重和偏置。

然后得到dense real-value 特征矢量,最后被送到sigmoid函数做CTR预测: [公式]

其中 |H| 是隐藏层层数 值得注意的是:FM模块和Deep模块是共享feature embedding的(也就是V)。

好处:

1. 模型可以从最原始的特征中,同时学习低阶和高阶组合特征 ;

2. 不再需要人工特征工程。Wide&Deep中低阶组合特征就是同过特征工程得到的。

DeepFM优势/优点:

  1. 不需要预训练FM得到隐向量
  2. 不需要人工特征工程
  3. 能同时学习低阶和高阶的组合特征
  4. FM模块和Deep模块共享Feature Embedding部分,可以更快更精确地训练

 

[ 参考 1 ]

[ 参考 2 ]

posted @ 2020-08-17 14:52  山竹小果  阅读(1340)  评论(0编辑  收藏  举报