CTR模型:FNN模型

1. 简介

FNN 模型是2016年提出的,基于传统机器学习模型,如LR,FM等,的CTR预测方案被称为基于浅层模型的方案。 优点是模型简单,预测性能较好,可解释性强。缺点是,很难自动提取高阶组合特征携带的信息。

于是, 基于因子分解即的神经网络(Factorization Machine supported Neural Network, FNN)被提出。

2. FNN模型

CTR模型:FNN模型

输入的类别特征是 field-wise one-hot编码的。每个field相当于一个类别特征,比如 city。

FNN模型使用因子分解机作为底层,FNN = FM + MLP。
输出是0-1 的数值,代表一个用户点击给定的广告的概率:
CTR模型:FNN模型
CTR模型:FNN模型
这里,选择tanh 作为**函数,是因为实验中它有最后的学习性能。

CTR模型:FNN模型
输入:
CTR模型:FNN模型
ziz_i 代表第 i 个field。
CTR模型:FNN模型
首先, W0W_0 向量经过初始化, 向量z 通过训练FM模型来完成初始化:
CTR模型:FNN模型
FM里边的系数,就是 向量 z 向量的值。

模型分成两个阶段训练:
(1)无监督训练
在使用FM模型得到z后, 使用RBM的对比散度进行逐层训练。

(2)有监督训练
交叉熵:
CTR模型:FNN模型
为了加快参数更新:只对底层非0的元素进行权重更新。

CTR模型:FNN模型

SNN模型
CTR模型:FNN模型

SNN, sampling-based Neural Networks .
CTR模型:FNN模型
SNN 和FNN模型的区别,底层使用了全连接。

同样,无监督监督使用了RBM(受限玻尔兹曼机)和DAE(去噪自编码器)
为了处理大量的稀疏的one-hot数据,提出了 sampling-based RBM, 和 sampling-based DAE 模型。

规范化
CTR模型:FNN模型
CTR模型:FNN模型

3. 总结

模型优点:
每个特征的嵌入向量是预先采用FM模型训练的,学习DNN模型时,训练开销降低,收敛快。

缺点:
(1)Embedding的参数受FM的影响;
(2)预训练增加计算的复杂度,训练效率低;
(3)FNN只能学习到高阶的组合特征,模型中没有对低阶特征建模。


参考:

  1. (读论文)计算广告之CTR预估-FNN解析;
  2. Deep Learning over Multi-field Categorical Data A Case Study on User Response Prediction;
  3. 推荐 CTR模型汇总