文章目录
- 1.进化路线
- 2. 公式比较
1.进化路线
- LR:没有较叉项
- ->FM:LR+交叉项,一个特征一个向量
- ->FFM:一个特征对每一个field(属性名)的交互有一个向量,一个特征有一个特征矩阵。
- ->AFM:每个内积都有一个权重,求内积加权和(self-attention)
- ->FNN:预训练好的FM,输入DNN
- ->PNN:embedding layer和first hidden layer之间增加了一个product layer
- ->DeepFM:不预训练,不用人工特征,one-hot->embedding->FM/hidden
2. 公式比较
FM:系列
FM(x)=w0+∑i=1nwixi+∑i=1n−1∑j=i+1n<vi,vj>xixj,linear(x)=w0+∑i=1nwixiFM(x)=w_0 + \sum_{i=1}^nw_ix_i+\sum_{i=1}^{n-1}\sum_{j=i+1}^n<v_i,v_j>x_ix_j,linear(x)=w_0 + \sum_{i=1}^nw_ix_iFM(x)=w0+∑i=1nwixi+∑i=1n−1∑j=i+1n<vi,vj>xixj,linear(x)=w0+∑i=1nwixi
FFM(x)=w0+∑i=1nwixi+∑i=1n−1∑j=i+1n<vi,fj,vj,fi>xixjFFM(x)=w_0 + \sum_{i=1}^nw_ix_i+\sum_{i=1}^{n-1}\sum_{j=i+1}^n<v_{i,f_j},v_{j,f_i}>x_ix_jFFM(x)=w0+∑i=1nwixi+∑i=1n−1∑j=i+1n<vi,fj,vj,fi>xixj
AFM(x)=w0+∑i=1nwixi+PT∑i=1n−1∑j=i+1naij<vi,vj>xixjAFM(x)=w_0 + \sum_{i=1}^nw_ix_i+P^T\sum_{i=1}^{n-1}\sum_{j=i+1}^na_{ij}<v_{i},v_{j}>x_ix_jAFM(x)=w0+∑i=1nwixi+PT∑i=1n−1∑j=i+1naij<vi,vj>xixj
FNN(x)=mlp(lz),lz=embed(x),embed使用预训练过FNN(x)=mlp(l_z),l_z=embed(x),embed使用预训练过FNN(x)=mlp(lz),lz=embed(x),embed使用预训练过
PNN(x)=mlp(lz+lp),lz=embed(x),lp=内积或外积PNN(x)=mlp(l_z+l_p),l_z=embed(x),l_p=内积或外积PNN(x)=mlp(lz+lp),lz=embed(x),lp=内积或外积
DeepFM(x)=FM(x)+mlp(embed(x))DeepFM(x)=FM(x)+mlp(embed(x))DeepFM(x)=FM(x)+mlp(embed(x))
NFM(x)=linear(x)+mlp(FM(x))NFM(x)=linear(x)+mlp(FM(x))NFM(x)=linear(x)+mlp(FM(x))
DeepCross(x)=Linear([Cross(lz),MLP(lz)]),Cross(lz)=lz+lz∗Linear1(lz)+...,lz=Embed(x)Deep_Cross(x)=Linear([Cross(l_z),MLP(l_z)]),Cross(l_z)=l_z+l_z*Linear_1(l_z)+...,l_z=Embed(x)DeepCross(x)=Linear([Cross(lz),MLP(lz)]),Cross(lz)=lz+lz∗Linear1(lz)+...,lz=Embed(x)