Steffen Rendle于2010年提出Factorization Machines[1](下面简称FM),并发布开源工具libFM[2]。凭借这单个模型,他在KDD Cup 2012上,取得Track1的第2名和Track2的第3名。这篇文章简要介绍下这个模型。
与其他模型的对比
与SVM相比,FM对特征之间的依赖关系用factorized parameters来表示。对于输入数据是非常稀疏(比如自动推荐系统),FM搞的定,而SVM搞不定,因为训出的SVM模型会面临较高的bias。还有一点,通常对带非线性核函数的SVM,需要在对偶问题上进行求解;而FM可以不用转为对偶问题,直接进行优化。
目前还有很多不同的factorization models,比如matrix factorization和一些特殊的模型SVD++, PITF, FPMC。这些模型的一个缺点是它们只适用于某些特定的输入数据,优化算法也需要根据问题专门设计。而经过一些变换,可以看出FM囊括了这些方法。
模型简介
2-way FM(degree = 2)是FM中具有代表性,且比较简单的一种。就以其为例展开介绍。其对输出值是如下建模:
继续阅读Factorization Machines介绍