FM、FFM和AFM比较

时间:2024-04-11 17:56:21

FM的产生背景:

为了改进SVM在解决稀疏矩阵问题方面的缺点:当数据非常稀疏时,SVM不能从复杂的核空间学到可靠的参数。可用于线性回归、分类等。

解决问题实例:

从下图所示数据从特征向量x学习一个模型用于预测y值
FM、FFM和AFM比较

FM模型方程:

FM、FFM和AFM比较
FM模型的基本思路就是给特征向量x中各个特征xi学习一个向量vi,在交叉项中对应特征xi,xj进行交叉时,前面乘上对应的vi和vj向量的点乘结果作为权重。

FFM的产生背景:

上述介绍的FM,特征xi在和其它不同的特征进行交叉时,使用的是同一个向量vi,这是不合理的。因为对于不同的交叉项,xi的重要程度也不同,所以为了使学习效果更好,FFM提出给不同的特征设立一个“域”的概念。对于同属于一个域的特征xj和xk,xi在与其进行交叉时,就使用相同的向量vif(f代表xj和xk的域的序号)。

FFM模型方程:

FM、FFM和AFM比较
该方程仅包含交叉项部分,因为线性部分与FM相同所以省略。
FFM模型与FM模型相比的改进之处就在于FFM模型引进了“域”的概念,对不同的域使用不同的向量,所以如果xi分别与xj和xk进行交叉,假设它们对应的域为1, 2, 3, 则对应的交叉项的权为<vi2, vj1>和<vi3, vk1>。虽然FFM要学习的V矩阵的行数更多,为nf(f为划分的域的数量),但一般V矩阵的列数k相比FM的V矩阵要小很多。

AFM的产生背景:

与FFM的产生背景相似,AFM也是为了克服FM,特征xi在和其它不同的特征进行交叉时,使用的是同一个向量vi这一缺点。与FFM不同的是,AFM在考虑xi和其它不同的特征进行交叉时应该使用不同的权重采用了Attention机制,即在不同的交叉项前再乘上一个a系数。

AFM模型方程:

FM、FFM和AFM比较
FM、FFM和AFM比较
从模型方程可以看出,AFM引入Attention机制的做法是对不同的交叉项,计算出对应的aij’后再通过softmax函数得到对应交叉项的权重。

总结:

通过上面的介绍和比较可以看出FM、FFM和AFM的相同和不同。
相同点:

  1. 三个模型都具有交叉项而且都具备对稀疏矩阵进行处理的能力;
  2. 都是对潜在的权重进行了因式分解。

不同点:

  1. FM模型中,特征xi在和其它不同的特征进行交叉时,使用的是同一个向量vi;
  2. FFM引入了“域”的概念,对不同的域使用不同的向量,所以如果xi分别与xj和xk进行交叉,假设它们对应的域为1, 2, 3, 则对应的交叉项的权为<vi2, vj1>和<vi3, vk1>,泛化能力更强;
  3. AFM的出发点和FFM相同,但是AFM引入了Attention机制,在每个交叉项前多加了一项a作为权重。