论文:DeepFM: A Factorization-Machine based Neural Network for CTR Prediction
DeepFM分成两部分:FM部分和Deep部分。
FM部分
1、图中的Field就是FFM中的特征域的概念。
2、这张图反映的就是FM的公式:
Addition部分,即sparse Features输入到FM layer中的加法神经元中,这部分LR,对应公式;sparse Features是增广向量,即包含偏置特征1;
Inner Product部分即两个embedding后的向量点乘,得到的结果是个标量就等同于,所以DeepFM中的交叉是两个特征域的交叉。个Field得到个Embedding特征向量。这个Embedding特征向量输入个乘法神经元中,每一个乘法神经元代表的是任意两个Embedding特征向量的交叉。对于Fieldi和Fieldj,embedding后的向量为和,长度都为,
下面一句话待确认
每一个embedding后的特征向量都对应一个的矩阵,那么FM layer中的每一个乘法神经元的输出为:。
Deep部分
Deep部分就是将所有Field的Embedding向量,拼接起来作为神经网络的输入。
Embedding细节
完整结构
最终预测结果为:
可以看到FM部分和Deep部分共用相同的特征,只是在输入时特征的组织方式不同。FM输入了原始的sparse features以及特征交叉,Deep部分只输入了dense features。
python实现参考:https://www.cnblogs.com/wkang/p/9881921.html