一、DeepFM
可以看到,整个模型大体分为两部分:FM(左边)和DNN(右边)。
FM Layer负责提取Wide特征,DNN部分(上图中的Hidden Layer 部分)提取deep特征,注意FM Layer 和Hidden Layer 共享输入层(Dense Embedding 层, 这个Embedding层得权重矩阵就是FM算法中的辅助矩阵V) 最后将两部分特征拼接到一起输出,这样该模型就具有学习高阶和低阶特征的能力。
模型大概的流程如下:
1.首先利用FM进行embedding得到Dense Embeddings的输出。
2.将Dense Embeddings的结果作为左边FM模块和右边DNN模块的输入。
3.通过一定方式组合后,模型左边FM模块的输出完全模拟出了FM的效果,而右边的DNN模块则学到了比FM模块更加高阶的特征交叉。
4.最后将DNN和FM的结果组合后激活输出。
补:市面上究竟有哪些基于特征组合的模型,他们又有哪些不足