Abstract
摘要 - 在本文中,我们介绍了分解机(FM),它是一种新的模型类,它结合了支持向量机(SVM)和分解模型的优点。与SVM相比,FM使用分解后的参数模拟变量之间的所有交互。因此,即使在SVM失败在于巨大稀疏性(如推荐系统)的问题中,但是也能够估计相互作用。我们证明了FM的模型方程可以在线性时间内计算,因此FM可以直接优化。因此,与非线性SVM不同,不需要双重形式的变换,并且可以直接估计模型参数,而无需解决方案中的任何支持向量。 我们展示了与SVM的相应关系以及FM在稀疏设置中进行参数估计的优势
另一方面,有许多不同的因子分解模型,如矩阵分解,并行因子分析或特别的模型,如SVD ++,PITF或FPMC。这些模型的缺点是它们不适用于一般预测任务,但仅适用于特殊输入数据。 他们的模型方程和优化算法是针对每个任务单独导出的。 我们通过指定输入数据(即特征向量)表明FM可以模仿这些模型。 这使得即使对于没有分解模型专业知识的用户,FM也很容易适用。
关键字- 分解机; 稀疏数据; 张量化; 支持向量机
1 INTRODUCTION
支持向量机是机器学习和数据挖掘中最受欢迎的预测器之一。然而,在协同过滤等设置中,SVM不起重要作用,最好的模型可以是PARAFAC [1]等标准矩阵/张量分解模型的直接应用,也可以是使用分解参数的专用模型。在本文中,我们展示了标准的唯一原因SVM预测器在这些任务中不成功就是它们无法在复杂的情况下学习可靠的参数('hyperplanes')非常稀疏数据下的(非线性)内核空间。 在另一手,张量分解模型的缺点甚至更多的专业分解模型是(1)它们不适用于标准预测数据(例如真实价值的数据R n)。中的特征向量和(2)特殊模型通常为需要致力于特定任务单独派生在学习算法的建模和设计中。在本文中,我们引入了一个新的预测器,即分解机(FM),它是像SVM这样的通用预测器但也能够可靠的估计高稀疏性参数。分解机器模拟所有嵌套变量交互(与SVM中的多项式内核相比),但使用分解参数化而不是像SVM中那样的密集参数化。我们证明了FM的模型方程可以在线性时间内计算,并且它仅取决于线性数量的参数。 这允许直接优化和存储模型参数,而无需存储任何用于预测的训练数据(例如,支持向量)。 与此相反,非线性SVM通常以双重形式进行优化,并且计算预测(模型方程)取决于训练数据的部分(支持向量)。我们还表明,FM包含许多最成功的协同过滤任务方法,包括偏置MF,SVD ++ [2],PITF [3]和FPMC [4]。
总的来说,我们提出的FM的优点是:
1)FM允许在非常稀疏的数据下进行参数估计而这是SVM失败的地方。
2)FM具有线性复杂度,可以在中进行优化原始并且不依赖于支持向量,如SVM。我们展示了FM扩展到像Netflix这样的大型数据集拥有1亿个培训实例。
3)FM是可以与任何真实一起使用的一般预测器有价值的特征向量 与此相反,其他最先进的分解模型仅在严格的输入数据要求下才起作用。 我们将仅仅通过定义输入数据的特征向量,FM可以模仿最先进的技术偏置MF,SVD ++,PITF或FPMC等模型。
2 PREDICTION UNDER SPARSITY
最常见的预测任务是估计函数 从目标域中的一个真实值的特征向量 (例如:是回归,或者是分类)。在监督设置中,假设为有一个训练数据集给出了目标函数y的例子。我们还研究了排名任务,其中具有目标的函数可用于对特征向量进行评分并根据其得分对它们进行排序。评分函数可以通过成对训练数据[5]学习,其中一个特征元组表示的排名应高于。 由于排序关系是反对称的,仅使用积极的训练实例就足够了。
在本文中,我们处理x高度稀疏的问题,即矢量的几乎所有元素都为零。 令为特征向量中的非零元素的数量,为所有向量的非零元素的平均数。巨大的稀疏性出现在许多现实世界的数据中,例如事件交易的特征向量(例如,在推荐系统中的购买)或文本分析(例如,单词方法)。巨大稀疏性的一个原因是潜在的问题涉及大的分类变量域。
Example 1
2路FM(2-way FM)捕获了样本自身以及样本之间的交互, 详解如下
是全局偏置
是第个样本的强度
代表第个样本和第个样本的交互. 与其为每个样本对都设置一个参数, FM模型将其分解成两个向量之间的乘积.
通常来说, 对于任一正定矩阵, 只要充分大, 都可以找到一个矩阵使得 . 然而如果数据比较稀疏, 因为数据量不够估计复杂的交互矩阵, 通常需要选择小一点的. 而FM把这种交互分解后, 会学习的更好, 因为FM通过分解来打破了交互之间的依赖性, 减少了参数. 下图是一个用于预测用户对电影打分的数据集:
易知式的计算复杂度为, 但是其可以做如下化简:
根据上述化简, 式的计算复杂度可以变为
FM可以用作回归, 二分类以及排序. 为了防止过拟合, 最好添加正则化项.
回归 直接使用MSE作为Loss
二分类 使用hinge loss或者logit loss.
排序 对样本对进行优化, 使用pairwise的分类loss
模型学习
FM的参数可以通过梯度下降方法来学习, 比如SGD.
其中独立于, 可以提前计算. 所以所有的梯度都可以在时间内计算得到, 而每个样本的参数更新可以在内完成.
2路FM可以扩展到k路:
Summary
FMs模拟了值之间所有可能的相互作用特征向量x使用分解交互而不是完整参数化的。 这有两个主要优点:
1)甚至可以估计值之间的相互作用在高稀疏度下。 特别是,可以概括为未观察到的相互作用。
2)参数的数量以及时间预测和学习是线性的。 这直接使用SGD优化可行并允许优化反对各种损失功能。在本文的其余部分,我们将展示关系分解机器和支持向量机之间以及矩阵,张量和专门的分解模型。