DeepFM这种算法是一种基于分解机的神经网络,该算法由哈尔滨工业大学深圳研究生院联合华为诺亚方舟实验室于2017年提出的。
这种算法是一种端到端的学习模型,不仅考虑了低阶的特征融合,也考虑了高阶的特征融合。该算法利用深度学习来学习特征,利用分解机做推荐。
本图给出了DeepFM的示意图。其中的“宽”元素和“深”元素共享同样的输入,它们的输入都是原始的特征向量。这种结构可以使得DeepFM从原生特征中同时学到低阶的特征之间的相互作用和高阶的特征之间的相互作用。
分解机模型可以通过将隐含因子作内积来学到结对的特征之间的交互作用,并且能够取得较好的效果。从原理上来讲,分解机模型可以学到更高阶的特征,但是实际应用中一般只考虑二阶的,更高阶的计算复杂度会更高。
DeepFM中的分解机用于学习低阶的特征之间的交互作用,深度神经网络用于学习高阶的特征之间的相互作用。
在数据处理部分,针对类别类型的数据,一般用one-hot编码来处理,针对连续型变量,保留值本身即可,也可以离散化之后利用one-hot编码来处理。
DeepFM中的FM结构如下