美文网首页
FM,稀疏下的艺术

FM,稀疏下的艺术

作者: 邹金伟 | 来源:发表于2018-05-04 22:45 被阅读0次

最近正好处理一些稀疏数据,抽空看了下FM论文,Factorization Machines,因子分解机。在SVM之后,有各种优秀的推荐系统论文出现,FM是其中非常闪耀的一颗,基于FM的有台湾大学的FFM,华为诺亚方舟的DeepFM等。今天就来讲讲稀疏矩阵下发挥优秀的FM,有一些简单的论文推倒。

FM的特点很鲜明,优势有以下几种:

1、FM能够处理SVM无法胜任的工作,在非常稀疏的数据情况下,FM表现良好

2、FM复杂度为线性

3、FM对数据要求不严苛

首先让我们来看看这么一张图(从论文中抠出来的),这是典型的推荐系统方向的问题。

Fig 1

这是一个真实的交易数据,所有category类型的数据都做了one-hot处理,整个数据集非常稀疏。每行表示一次交易,同颜色的列表示同一个特征。例如,前三条数据中User特征只有A出现1,表示这几次交易都是A完成的。类似的,Movie代表购买的电影。

那么如何处理此类问题呢,FM给出答案。

模型公式

  FM中目标结果由 W0:常数项, WiXi:一次项, <Vi, Vj>XiXj:二次项三部分组成,其中Vi是长度为f的向量,<Vi, Vj>是Vi与Vj的点乘。这是一个典型的2阶FM模型。FM的二阶项能够考虑到因子间的相互关系。例如,在图1中,用户B和用户C都购买过SW电影票,所以用户B和C与SW的应该相似,当然<Vb, Vsw>和<Vc, Vsw>应该也相似。另外,用户B购买SW,ST的目标结果相似(y分别为4,5),SW,ST也应该相似。同样,既然SW,ST两种电影类似,用户A购买SW,ST的概率也应该相似。我们可以看出来,通过Vi, Vj的结合,FM能够应用交叉特征去处理数据,在稀疏数据下表现的很好。

那么将二次项考虑进来,会增大计算复杂度吗?一般,我们认为二次项的计算复杂度应该是O(kn^2),但是FM却可以优化到O(kn)复杂度。

我们考虑二次项

哇塞,这么复杂的公式怎么看得懂,我们一步步来,其实很简单。

第一步,拆解过程如图

 拆解

第二步,向量点乘

第三步,将k求和提出来

第四步,左边i和j式子相同,可以认为两者相等,直接得出平方

到此,很明显,它的计算复杂度为O(kn),左边求和之后平方,右边平方后求和,没有出现

接下来我们看看FM如何收敛,照常使用SGD,计算FM的梯度是:

求Xi的梯度,令Xj固定,则第三项左边求和是一个定值,与Xi无关。时间复杂度为O(kn)

FM也可以扩展到更高阶的形式

到这,我们可以推断,FM能够在O(kn)时间复杂度处理特征间关联问题。

那么,这和SVM相比有什么优势呢,SVM通过相应的核函数也能做到。还记得我们开头说的吗,相比SVM,FM能够胜任稀疏矩阵。

首先我们来看一下SVM如何处理特征间关联问题。SVM的公式是:

选用合适的核函数,这里我们设d=2, 例如

展开后公式可得

通过大量的数据训练,我们也能够得出对应的Weight。但是,如果特征i,和特征j没有同时出现呢。例如,从来没有一个人既买过啤酒,又买过烧鸭,那么你能认为某个人买完啤酒后不会再买烧鸭吗?这就是数据稀疏时候出现的问题,这时候Wi,j没有对应的x值训练。FM通过Vi *  Vj来确定W,那么只要其他记录有Vi,和Vj,不用同时出现,就可以分别对其进行训练,最后通过点乘来确定值。这牺牲了Wi,j一点自由度,却能够很好的处理稀疏矩阵的问题。

在非常稀疏的数据下,FM表现非常优秀,而SVM始终无法收敛,导致误差太大。

相关文章

  • FM,稀疏下的艺术

    最近正好处理一些稀疏数据,抽空看了下FM论文,Factorization Machines,因子分解机。在SVM之...

  • 03-24:由FM模型带来的思考

    1、FM 为什么用FM,因为FM解决了大规模稀疏数据下的特征组合问题。 https://blog.csdn.net...

  • FM、FFM

    FM(Factorization Machines) FM主要目标是:解决数据稀疏的情况下,特征怎样组合的问题。 ...

  • 推荐系统模型1-FM模型族

    FM 原理与特点 适用场景 FM模型可以用于回归任务、二分类任务、排名任务,特别是在数据稀疏场景下,效果明显,广泛...

  • 深度学习CTR预估(一)——FM模型numpy和tensorfl

    1、FM的原理 1.1 FM介绍及其优缺点  FM就是因子分解机。通过不同组合不同的特征,解决推荐系统中数据稀疏的...

  • FM与FFM

    FM算法旨在解决稀疏数据下的特征组合问题。 多项式模型的特征组合要求两个特征都是非零的,但是在实际工程中的稀疏数据...

  • 论文笔记之Factorization Machines

    Factorization Machines 文中指出了FM的优点:•FM可以在数据稀疏的情况下完成参数估计。•F...

  • 05-24:算法重新梳理 FM算法

    1、FM优势到底在哪 通过特征组合来解决大规模稀疏数据的分类问题。 相比于 SVM,FM 模型如何学习交叉特征?其...

  • fm模型简述

    1、fm模型的优点 (1)在特征极其稀疏的情况下也能进行参数预估 (2)时间复杂度低,在线性时间复杂度下即可完成模...

  • FM基础

    FM的特点: 针对稀疏数据也能有效估计; FM复杂度是线性的,计算快; 对数据数据没有严格的要求,任意的实数向量都...

网友评论

      本文标题:FM,稀疏下的艺术

      本文链接:https://www.haomeiwen.com/subject/pkyjrftx.html