Factorization Machines

  • Steffen Rendle. Factorization Machines[C]. In ICDM 2010.
  • 日本大阪大学

    摘要(Abstract)

    在本文中,我们介绍了因子化机器(FM),它是一种结合了支持向量机和因子化模型优点的新型模型类。与支持向量机一样,支持向量机是处理任何实值特征向量的通用预测器。与支持向量机不同,支持向量机使用因式分解的参数对变量之间的所有交互进行建模。因此,即使在支持向量机失败的巨大稀疏性问题(如推荐系统)中,他们也能够估计交互。结果表明,FMS的模型方程可以在线性时间内求解,从而可以直接对FMS进行优化。因此,与非线性支持向量机不同,该方法不需要对偶变换,直接估计模型参数,不需要解中的任何支持向量。我们展示了与支持向量机的关系,以及在稀疏环境下使用支持向量机进行参数估计的优势。
    另一方面,有许多不同的因式分解模型,如矩阵因式分解、并行因子分析或专门的模型,如SVD++、PITF或FPMC。这些模型的缺点是它们不适用于一般的预测任务,而只适用于特殊的输入数据。此外,还针对每个任务分别推导了它们的模型方程和优化算法。我们表明,FM可以通过指定输入数据(即特征向量)来模拟这些模型。这使得FMS即使对于没有因式分解模型专业知识的用户也很容易适用。

    关键字(Index Terms)

    因式分解机;稀疏数据;张量分解;支持向量机

    1 引言(Introduction)

    支持向量机是机器学习和数据挖掘中最常用的预测器之一。然而,在协作过滤这样的环境中,支持向量机并不起重要作用,最好的模型要么是标准矩阵/张量因式分解模型的直接应用,如PARAFAC[1],要么是使用因式分解参数的专门模型[2]、[3]、[4]。在本文中,我们证明了标准的支持向量机预测器在这些任务中不成功的唯一原因是它们不能在非常稀疏的数据下学习复杂(非线性)核空间中的可靠参数(超平面)。另一方面,张量分解模型的缺点是(1)它们不适用于标准预测数据(例如,Rn中的实值特征向量)。以及(2)专门的模型通常是针对需要在建模和学习算法设计中付出努力的特定任务而单独推导的。
    在本文中,我们介绍了一种新的预报器,因子化机(FM),它是一种类似于支持向量机的通用预报器,但也能够在非常高的稀疏性下估计可靠的参数。因子分解机器对所有嵌套的变量交互进行建模(类似于支持向量机中的多项式核),但使用因子分解参数化法而不是像支持向量机中那样的密集参数化法。我们证明了FMS的模型方程可以在线性时间内计算,并且它只依赖于线性数目的参数。这允许直接优化和存储模型参数,而不需要存储任何用于预测的训练数据(例如支持向量)。与此相反,非线性支持向量机通常以对偶形式进行优化,并且计算预测(模型方程)依赖于部分训练数据(支持向量)。我们还表明,FM包含了许多最成功的协作过滤方法,包括有偏MF、SVD++[2]、PITF[3]和FPMC[4]。
    总而言之,我们建议的FM的优势是:

  • FMS允许在非常稀疏的数据下进行参数估计,其中支持向量机失败。

  • FMS具有线性复杂性,可以在原始空间进行优化,不像支持向量机那样依赖于支持向量。我们表明,FMS可以扩展到像Netflix这样的大型数据集,具有1亿个训练实例。
  • FMS是一种通用预测器,可以与任何实值特征向量一起工作。与此形成对比的是,其他最先进的因式分解模型仅适用于非常有限的输入数据。我们将展示,只需定义输入数据的特征向量,FM就可以模拟最先进的模型,如有偏的MF、SVD++、PITF或FPMC。