推荐算法-DeepFM
一、DeepFM出现的原因
在FM中,采用了一阶和二阶的特征组合,相比与只使用一阶线性组合效果要好很多。但是特征组合的能力还是有限的。即特征之间组合的力度,挖掘特征之间的关联性还是较差的。在图像处理的一些方法中,模型的深度都比较深经过了很多层的非线性变换,主要的目的是为了让模型充分的学习数据的分布以及更加抽象的表示,也就是希望利用高阶的特征。在模型的深层部分得到的特征就是数据的高阶表示,因此DeepFM就是在FM的基础上加上深度模型。让模型进行更多的非线性变换,得到更高阶的特征组合。
二、 FM与深度模型的组合方式
FM与深度模型的组合有两种,一种是二者并行,另一种是二者串行。DeepFM就是并行的一种结构。并行就是FM将输入部分计算完之后单独拿出来,得到一组特征表示,然后再利用深度模型(多层全连接)对输入部分进行告阶的特征组合。最后把二者的特征进行concact,得到一组特征,最后对这组特征进行分类或者回归。其实这只是特征的一种组合方式,目的就是为了得到特征的高阶表示。
上图就是DeepFM的结构图,从图中也可以看出模型是比较简单的。这样模型的输出其实就是 y = s i g m o i d ( y F M + y D N N ) y=sigmoid(y_{FM}+y_{DNN}) y=sigmoid(yFM+y