Order=2的FM模型如下(在下面会有Order > 2的模型):
其中包括两部分:
第一部分:与输入向量成线性关系。
第二部分:因子的两两乘积之和(eg:x1x2w12 + x1x3w13 + x2x3w23),这里wij并不是单个的数字,而是由两个向量(vi,vj)卷积得到,这样能描述更复杂的模型。
其中:
1、p:输入向量大小。
2、x:输入向量。
3、y:输入向量对应的结果。
4、w:因子。
5、v:用来描述两两之间因子的向量,维度为k。
模型中参数的数目为:1 + p + k * p。将模型变换形式得到:
那么这个模型的复杂度为O(k Nz(x)),其中Nz(x)表示x中非零的个数。下面来看FM模型的一些特性:
1、Multilinearity
模型可以拆分成两个与模型参数无关的函数:g + h,如下:
其中:
函数g就不用表示了,在用的时候写作: