Factorization Machines with libFM

摘要

FM是一种通用的方法,它能通过特征工程的方式模仿大部分分解模型。这样的话,FM就能在预测大型领域的两个实体变量之间的交互时结合特征工程的一般性和分解模型的优越性。LIBFM是FM的软件实现,实现了随机梯度下降(SGD),交替最小二乘(ALS)和使用MCMC进行贝叶斯推断的方法(MCMC)。本文从建模和学习两个角度总结了FM最近的研究进展,对ALS和MCMC算法进行了拓展;并对LIBFM工具进行了描述。

引言

矩阵分解模型在智能信息系统和机器学习领域引起了广泛的兴趣。它们在很多重要应用表现出了非常优秀的预测能力,如推荐系统中。最为广泛研究的分解模型是矩阵分解[Srebro and Jaakkola 2003],该模型可以预测两个实体变量之间的关系。张量分解模型是矩阵分解模型的扩展,用用对多个实体变量之间的关系进行建模,在张量分解模型中比较知名的有TD模型,PFA模型和PITF模型。对于某些特定的任务,研究者们提出了一些专门的分解模型考虑了一些非实体变量,如SVD++[Koren 2008], STE[Ma 2011], Factorizing personalized Markov chains for next-basket recommendation(FPMC, Rendle 2010), timeSVD++[Koren 2009b]和BPTF[Xiong et al. 2010]。对于基本的矩阵分解模型,人们提出了很多学习和推断算法来学习其中的参数,SGD,ALS,变分Bayes,MCMC推断等。不过对于更加复杂的分解模型,大部分应用还是采用最简单的梯度下降学习方法。

即使分解模型在很多应用中有着很高的预测质量,但是却不容易使用这些模型。对于每个不能用实体变量描述的问题,我们都需要设计一种新的特定的模型,提出一种新的学习算法。因此分解模型非常耗时,易于出错的,仅适用于专家。

另一方面,在实际中,机器学习的典型方法是用特征向量来描述数据(也就是特征工程),从而应用标准工具如LIBSVM或者工具箱如Weka或者一种简单的线性回归工具。这种方法很简单易用,即使是对于那些对于机器学习和推导机制有着深入知识的用户而言。

本文我们给出了分解机器(Factorization Machines)。FMs结合了分解模型的高预测精度和特征工程的灵活性。FM的输入数据用实值特征来描述,就像其它的机器学习方法如线性回归,支持向量机那样。不过,FM的内部模型使用两个变量之间的分解交互,因此FM在稀疏环境下有着与其它分解模型类似的高预测质量。已经有研究表明FM可以通过特征工程模仿大多数分解模型[Rendle 2010]。本文对最近的FM研究进行了总结:包括基于SGD的学习算法,交替最小二乘法和使用MCMC模型的贝叶斯推断。在LIBFM中有所有的FM和所有给出的算法。在LIBFM下,应用分解模型如SVM或者线性回归等标准工具那么简单。

本文结构如下:(1)介绍了LIBFM中的FM模型和它的学习算法;(2)给出了若干例子,输入的数据格式和与特定分解模型的关系;(3)简要介绍了LIBFM这一软件;(4)进行了实验。

FM模型

我们假设某预测问题的数据用一个决策矩阵 XRn×p 来描述,其中X的第i行 xiRp 藐视的是一个有p个实值变量的案例, yi 表示的是第i个案例的预测目标。或者,我们也可以用一个二元组 (x,y) 来描述,其中 x 是一个特征向量,y是它的对应目标。这种有着数据矩阵和特征向量的表示方法在很多机器学习方法如线性回归和支持向量机中都是很常见的。

FM模型对p个特征值之间不超过d维的所有嵌套交互进行建模。维度d=2的FM模型表示为:

y^(x):=w0+j=1pwjxj+j=1pj=j+1pxjxjf=1kvj,fvj,f

其中k是分解的维度,模型参数 Θ={w0,w1,,wp,v1,1,,vp,k}
w0R,wRp,VRp×k

FM模型的第一部分是每个输入变量的一元交互,就是一个线性回归模型。第二部分,有着两个嵌套求和公式的部分包含所有输入变量的成对交互也就是 xjxj 。与传统的多项式回归的主要区别在于交互的影响作用不是用一个参数 wj,j 来表示,而是对该参数进行分解 wj,j<vj,vj>=kf=1vj,fvj,f ,对应的假设就是各特征值之间的交互的影响权重参数也存在一个低秩分解。这就使得FM也可以在高维稀疏数据情况下其它模型失效时也可以估计出可信的参数。FM与标准机器学习模型的关系在4.3节中有更详细的讨论。

在第四节,

学习算法

优化目标

随机梯度下降(SGD)

交替最小二乘(ALS)

MCMC

总结

FM与其它分解模型的关系

LIBFM软件

数据格式

例子

参数设置

排序

实验评测

评分预测问题

矩阵分解MF

最近邻模型

上下文感知推荐

标签推荐

结论和未来研究方向

你可能感兴趣的:(FM)