deepFM论文学习

前言:deepFM结构比较清晰,更多信息可以参考最后github的代码。

核心思想:在dl基础上增加了FM特征(结构非常类似wdl)。FM(linear+二介组合特征)

 

细节:

1、每个特征都是一个field 映射成embedding向量

2、FM模型与deep part共享feature embedding

3、不需要预训练FM得到隐向量

4、论文给出的FM简化公式方便计算:

deepFM论文学习_第1张图片

在代码中的映射:

# second order term
            # sum-square-part
            self.summed_features_emb = tf.reduce_sum(self.embeddings,1) # None * k
            self.summed_features_emb_square = tf.square(self.summed_features_emb) # None * K

            # squre-sum-part
            self.squared_features_emb = tf.square(self.embeddings)
            self.squared_sum_features_emb = tf.reduce_sum(self.squared_features_emb, 1)  # None * K

            #second order
            self.y_second_order = 0.5 * tf.subtract(self.summed_features_emb_square,self.squared_sum_features_emb)
            self.y_second_order = tf.nn.dropout(self.y_second_order,self.dropout_keep_fm[1])

5、评估结果

参考文献

https://www.jianshu.com/p/6f1c2643d31b

https://github.com/princewen/tensorflow_practice/tree/master/recommendation/Basic-DeepFM-model

 

你可能感兴趣的:(深度学习)