在《深入FFM原理与实践》中提到:“所有二次项参数
wij 可以组成一个对称阵
W,那么这个矩阵就可以分解为
W=VTV,
V 的第
j 列便是第
j 维特征的隐向量。换句话说,每个参数
wij=⟨vi,vj⟩,这就是FM的核心思想。”
在POLY2模型中等式为:
y^(x)=w0+i=1∑nwixi+i=1∑nj=i+1∑nwi,jxixj 在梯度下降时,偏导求解结果如下:
∂θ∂y^(x)=⎩⎪⎨⎪⎧1xixiyiifθisw0ifθiswiifθiswij 而在FM模型中等式为:
y^(x)=w0+i=1∑nwixi+i=1∑nj=i+1∑n⟨vi,vj⟩xixj 偏导结果为:
∂θ∂y^(x)=⎩⎪⎨⎪⎧1xixi∑j=1nvj,fxj−vi,fxi2ifθisw0ifθiswiifθisvi,f 于是便会发现在POLY2模型中,如果训练数据过于稀疏,导致
xiyi=0 的情况大量出现,那么在求解的时候
wij 也会大量出现0,也就是虽然引进两两组合的特征,但是训练效果不好;但是在FM模型中则不会出现这个问题,FM能够抓住变量间的相互作用,并且时间复杂度为
O(kn)。