读论文: Factorization Machines

《Factorization Machines》,2010

模型:

vi的维度k反映了模型的表达能力。
如果k被选择地足够大,则FM可以表达任何交互矩阵W。然而在稀疏的情况下,k通常是小的。因为没有足够的数据来估计复杂的W。限制k的大小,会有更好的泛化性能。

推导:

可知FM参数训练的复杂度为O(kn)。此外,在稀疏的情况下,只用计算非零元素的sum,FM的计算复杂度会更小。

摘要

1.FM结合了SVM和因式分解模型二者的优势。
2.FM可以处理稀疏的数据,而SVM不能。其中,FM处理稀疏数据主要机制是:因式分解参数可以对任何两个特征直接做组合。而SVM在处理稀疏数据的情况下,不能在复杂核空间中学习到可信赖的参数(超平面)。
3.FM可以在线性时间完成计算,不需要像SVM去做对偶转换。

FM的优点

1.FM允许在SVM失败的非常稀疏的数据下进行参数估计
2.FM具有线性复杂度,可以在原始中进行优化,而不依赖于支持向量,如SVM。
3.FM是一种可以与任何实值特征向量一起使用的通用预测器。与此相反,其他最先进的分解模型仅适用于非常有限的输入数据。

FM与SVM比较

1.SVM的密集参数化需要直接观察相互作用,这个在稀疏设置中通常不会给出。即使在稀疏的情况在,也可以很好的估计FM的参数。
2.FM可以在原始中直接学习。非线性SVM通常在对偶形式中学习。
3.FMs的模型方程独立于训练数据。使用SVM进行预测取决于训练数据的部分(支持向量)。
4.FM计算时间与参数是呈线性关系,存储模型的时候也不需要存储训练数据,而SVM需要存存储训练数据(支持向量),SVM在对偶空间中优化。

应用场景

回归,二分类,排序