【推荐系统论文精读系列】(二)--Factorization Machines

简介: 本篇论文中,作者介绍了一个新的分解模型Fatorization Machines(FM),它结合了支持向量机的一些优点。与SVM一样,FM模型是一个通用的预测分类器适用于任何真实值的向量。但是与SVM不同的是,FM通过使用分解参数的方式在不同变量之间进行建模。

@TOC


论文名称:Factorization Machines
原文地址:FM


⚡本系列历史文章⚡


【推荐系统论文精读系列】(一)--Amazon.com Recommendations
【推荐系统论文精读系列】(二)--Factorization Machines
【推荐系统论文精读系列】(三)--Matrix Factorization Techniques For Recommender Systems
【推荐系统论文精读系列】(四)--Practical Lessons from Predicting Clicks on Ads at Facebook
【推荐系统论文精读系列】(五)--Neural Collaborative Filtering
【推荐系统论文精读系列】(六)--Field-aware Factorization Machines for CTR Prediction
【推荐系统论文精读系列】(七)--AutoRec Autoencoders Meet Collaborative Filtering
【推荐系统论文精读系列】(八)--Deep Crossing:Web-Scale Modeling without Manually Crafted Combinatorial Features
【推荐系统论文精读系列】(九)--Product-based Neural Networks for User Response Prediction
【推荐系统论文精读系列】(十)--Wide&Deep Learning for Recommender Systems
【推荐系统论文精读系列】(十一)--DeepFM A Factorization-Machine based Neural Network for CTR Prediction
【推荐系统论文精读系列】(十二)--Neural Factorization Machines for Sparse Predictive Analytics


一、摘要


 本篇论文中,作者介绍了一个新的分解模型Fatorization Machines(FM),它结合了支持向量机的一些优点。与SVM一样,FM模型是一个通用的预测分类器适用于任何真实值的向量。但是与SVM不同的是,FM通过使用分解参数的方式在不同变量之间进行建模。因此即使是在巨大的稀疏情况(像推荐系统)也就是SVM失败的时候,FM同样也能够进行估计交互矩阵。我们将展示FM的模型方程,它能够在线性的时间进行计算,因此FM模型能够直接的进行优化。因此它不像一些非线性模型,一个对偶形式的转化是不必要的并且模型参数能够直接的被进行估计计算不需要任何支持向量。我们将在下文展示支持向量机和FM的关系和一些优缺点在稀疏情况下的参数估计。


 另外一个方面就是现在有很多不同的分解模型,像矩阵分解模型并行因子分析或者特定的一些模型,像SVD++PITEFPMC。这些模型的缺点就是它们不适用于一般的预测任务,特们只适用于特定的输入数据。而且它们的模型方程和优化算法都独立的源自不同的任务。我们展示了FM模型能够模型这些模型只需要指定数据数据,也就是说特征向量。这使得FM模型很容易使用,尽管是那些在矩阵分解领域没什么专业知识的人员。


二、介绍


 支持向量机是最受欢迎的预测器之一在机器学习数据挖掘领域。然而像在协同过滤这种情况下,SVM几乎不发挥任何作用,而且最好的模型要门是直接应用标准矩阵或者张量分解的模型像PARAFAC,要么就是一些特定的模型使用分解的参数。在本篇论文中,我会展示标准的支持向量机不成功的唯一原因,就是它不同够学习到可靠的参数(超平面)在非线性和空间中当数据稀疏性过大的时候。另外一方面就是张量分解模型和甚至那些特定的分解模型,它们不适用于一般的预测数据,并且它们都是源自特定的任务需求,它们需要独立的进行建模并且为它们设计专门的学习算法


 本篇论文中,我们会介绍一个新的预测器,Factorization Machine(FM),是一个和SVM很像的一个通用预测器,而且它也能够估计出可靠的参数子在矩阵极度稀疏下。FM模型对交互变量进行嵌套建模,使用一个分解的参数代替SVM中稠密的参数。FM的模型方程可以在线性时间被计算出来并且它仅仅依赖线性个数的参数。者使得它可以直接进行优化并且不需要存储任何训练数据(支持向量)的参数去进行预测。不同的是,非线性SVM通常被优化是以一种对偶的形式并且计算一个预测依靠支持向量。我们也验证了FM包含一些最成功的方法对于协同过滤任务,例如biased MFSVD++PITFFPMC


 总的来说,我们建议FM的优点有以下几条:


  1. FMs允许在数据非常稀疏的情况下进行参数估计
  2. FMs有线性的复杂度,能够在原始的状态下被优化并且不依赖任何支持向量。而且他还适用于例如Netflix公司的1亿数据量
  3. FMs是一个通用的预测器能够适用于任何值的特征向量,相反,一些先进的分解模型仅仅适用于一些特定的数据,通过指定输入数据的特征向量,FMs就能够模仿先进的模型例如biased MF,SVD++,PITF,FPMC。


三、稀疏性下预测


 最普遍的预测任务就是估计一个映射函数

网络异常,图片无法展示
|
,从一个真实的特征向量
网络异常,图片无法展示
|
到一个标签
网络异常,图片无法展示
|
,例如回归
网络异常,图片无法展示
|
,分类任务
网络异常,图片无法展示
|
,分别代表正负样本。在有监督的情况下,假设有一个训练集
网络异常,图片无法展示
|
然后给与目标函数
网络异常,图片无法展示
|
。我们会调查出评分任务,能够被用于评分特征向量
网络异常,图片无法展示
|
,然后通过这个分数来为它们进行排序。评分任务函数能够被学习使用成对的训练集。


 本篇论文中,我们会处理的特征向量会非常稀疏的,几乎所有的元素

网络异常,图片无法展示
|
都是0。现在定义
网络异常,图片无法展示
|
是向量
网络异常,图片无法展示
|
中非0元素的个数,
网络异常,图片无法展示
|
为所有特征向量非0元素个数的平均值。巨大的稀疏性的情况会出现的真实世界中的一些数据,例如推荐系统中的购买历史或者是文本分析中的词袋模型。巨大稀疏性的原因就是潜在的巨大范围变量域。


 一个预测任务的例子就是使用上面那些数据,为了去估计出一个函数

网络异常,图片无法展示
|
去预测一个用户的评分举止对于一个物品在某个时间点。


 示例1展示了一个例子就是特征向量是怎样从集合S中创建出来的。这里首先有

网络异常,图片无法展示
|
个二进制变量表示一个事务的活跃用户,接下来
网络异常,图片无法展示
|
个二进制变量包含活跃的物品,对于那些黄色的向量列包含了一些向量用户曾经评分过的电影。对于每个用户,这个变量都会被标准化,就像它们的和加起来等于1。绿色的变量代表时间,并且最终的棕色向量包含用户在它之前已经评分的电影。例如Alice已经评分过Titanic在它评分诺丁山之前,在五部分,我们将会展示FM是如何使用这些特征向量作为输入数据和那些特定的先进分解模型相关的。


 我们将会使用这些示例数据贯穿整篇论文进行阐述。然后请注意FMs是通用的预测器像SVMs一样,并且因此是适用于任何值的特征向量,而且不只限制于推荐系统。


四、分解机(FM)


 在这个部分,我们会介绍分解机模型FMs。我们会详细的讨论模型方程并且简要的展示怎样应用FMs到几个预测任务。


A. Factorization Machine Model


1)模型方程:对于一个分解机模型度为2的模型方程被定义为:


网络异常,图片无法展示
|


  • 网络异常,图片无法展示
    |
  • 网络异常,图片无法展示
    |
  • 网络异常,图片无法展示
    |
  • 网络异常,图片无法展示
    |


网络异常,图片无法展示
|
向量描述的是第i个特征的隐向量,也就是 embedding ,其中包含k个特征,k是一个超参数被分解维度进行定义。


2-way FM(d=2)捕捉了所有单一和成对的变量之间的交互


  • 网络异常,图片无法展示
    |
    :它是全局的偏置
  • 网络异常,图片无法展示
    |
    :它是特征i的权重系数
  • 网络异常,图片无法展示
    |
    :它描述的是两个不同特征之间的权重系数,在SVM中使用权重系数
    网络异常,图片无法展示
    |
    ,而FMs通过分解它来描述交互情况,我们将会看到,这就是关键的地方允许高质量的参数估计即使是在高度系数的情况。


2)模型表达能力:任何被明确被定义的矩阵W都可以存在一个矩阵V,使得

网络异常,图片无法展示
|
,如果k充分的大,这也就是说如果k足够的大FMs可以表达任何交互矩阵。尽管是在系数的情况下,通常选取一个小的k值,因为没有足够的数据去评估复杂的交互矩阵,所以通过限制k的大小可以导致更好的泛化能力,并且在稀疏的情况下改善交互矩阵。


3)稀疏情况下的参数估计:在稀疏的情况下,通常是没有足够的数据去直接估计变量之间的交互。但是FMs在这种情况下可以进行估计,因为它通过分解参数打破了参数之间的独立性。我们将会利用这个想法去解释示例1。假设我们想要估计Alice和Star Trek之间的交互然后去预测目标y(这里是评分)。很明显,在训练集中是没有这样的特征向量的二者都为非0值,因此直接进行估计可能会导致变量之间没有交互,也就是说权重为0。但是通过分解权重系数即使是在这种情况下我们也可以进行参数估计。首先,Bob和Charlie将会有相同的特征

网络异常,图片无法展示
|
,因为它们有 相似的交互 对于 Star Wars对于预测评分,也就是说
网络异常,图片无法展示
|
网络异常,图片无法展示
|
,Alice将会有一个不同的交互特征对于特征向量Titanic和 Star Wars对于预测评分。接下来,特征向量Star Trek是很有可能相似的对于Star Wars 因为Bob有相同的交互对这两个电影。总的来说,这意味着特征向量 Alice和Star Trek的点积将会和 Alice 和 Star Wars 将会很相似。


4)计算:接下来,我们将会展示如何对FMs进行计算。模型方程(1)的复杂度为

网络异常,图片无法展示
|
,因为它们都是成对的交互进行计算。蚕食我们将会重新进行调整将它降低到线性时间。


定义3.1:模型方程可以在线性时间(

网络异常,图片无法展示
|
被进行计算。


证明:由于是分解成对的参数,所以模型没有直接依赖的变量。所以成对交互能够重新被调整。


网络异常,图片无法展示
|


这个方程仅仅是线性复杂度,k和n(

网络异常,图片无法展示
|
)。


而且,在稀疏情况下大多数的元素都是0,因此计算的都是非0的元素。因此在稀疏情况下,矩阵分解将被计算到

网络异常,图片无法展示
|


B. Factorization Machines as Predictors


FM能够被应用于不同的预测任务中:


  • Regression:
    网络异常,图片无法展示
    |
    能够直接的使用作为预测器,并且优化指标可以是最小平方误差
  • Binary classification:
    网络异常,图片无法展示
    |
    可以被使用并且参数可以被优化使用 hinge loss或者logit loss
  • Ranking:向量 x被
    网络异常,图片无法展示
    |
    的分数进行排序,然后被优化使用成对的分类loss


在所有这些情况中,正则化术语L2通常会被加入到优化中为了防止过拟合。


C. Learning Factorization Machines


正如我们所展示,FMs有一个封闭的模型方程能够在线性时间被计算,因此模型参数能够被有效的学习通过使用梯度下降法,例如随机梯度下降(SGD),对于不同的损失,一般是平方误差,对数或者合页误差。梯度FM模型为:


网络异常,图片无法展示
|


总的来说,每个梯度能够在常数时间

网络异常,图片无法展示
|
下被计算出来。并且所有的参数更新能够在稀疏的情况下达到
网络异常,图片无法展示
|


我们提供了一个通用的实现,就是使用SGD和支持元素成对和损失成对。


D. d-way Factorization Machine


2-way FM能够很容易的被d-way FM所概括:


网络异常,图片无法展示
|


这个交互参数对于第l个特征交互被分解通过PARAFAC模型。


这个模型可以直接计算复杂度为

网络异常,图片无法展示
|
,但是相同的争论就是其中一个能够展示在线性的时间被计算出来。


E. Summary


FMs通过使用分解交互参数替代使用全参数,来为特征向量之间的参数进行建模,这主要有两个主要的优势:


1)变量之间的交互甚至可以在极度稀疏的情况下进行评估参数,特别地,它很有可能产生未观察到的交互。


2)参数的数量对于学习和预测都是线性的,这使得可以直接使用SGD进行优化并且允许使用不同的损失函数。


在文章的剩余部分,我们将会展示FMs和SVMs矩阵张量或者特定的分解模型之间的不同。


五、FMs vs. SVMs


A. SVM model


支持向量机的模型方程可以被输入数据特征之间的点积进行表达,

网络异常,图片无法展示
|
,这个
网络异常,图片无法展示
|
是从特征空间R到另外一个更加复杂的空间F。这个 映射
网络异常,图片无法展示
|
和核函数 之间的关系为:


网络异常,图片无法展示
|


在下文,我们会讨论FMs和SVMs的关系通过分析SVMs的原始形式:


1)Linear kernel:


最简单的核函数就是线性核,

网络异常,图片无法展示
|
,这是对应着映射
网络异常,图片无法展示
|
。因此线性核的SVM的模型方程可以重新被写为:


网络异常,图片无法展示
|


很明显线性核SVM是相同的和使用FMs对应degree=1。


2)Polynomial kernel:


多项式核允许SVM模型去对变量之间的交互进行更高的建模,它被定义为

网络异常,图片无法展示
|
。例如当 d=2 这就对应这下面的映射:


网络异常,图片无法展示
|


所以,多项式核函数的模型方程能够重新定义为:


网络异常,图片无法展示
|


对比多项式核的SVM核FMs,能够看出模型对所有变量之间进行度为2的嵌套交互建模。主要的不同就是参数方式不同。SVMs中所有的参数

网络异常,图片无法展示
|
是完全独立的对于
网络异常,图片无法展示
|
。但是FMs的参数被分解,因此
网络异常,图片无法展示
|
互相依赖 的,因此它们是重叠的并且 共享参数
网络异常,图片无法展示
|


B. Parameter Estimation Under Sparsity


下面,我们将会展示为什么线性核和多项式核的SVM会失败在一些非常稀疏的问题上。我们将会展示这个一协同过滤的例子,用户核物品之间的指示变量。这里特征向量是非常稀疏的并且仅仅有两个元素是非0值(活跃用户u核活跃物品i)。


1)Linear SVM:


对于数据x,Linear SVM等价于:


网络异常,图片无法展示
|


因为

网络异常,图片无法展示
|
当且仅当
网络异常,图片无法展示
|
或者
网络异常,图片无法展示
|
。这个模型对应着最基本的 协同过滤模型 ,仅仅捕获了用户核物品的偏置。因为这个模型非常简单,所以这个参数能够被估计的非常好即使是在稀疏的情况下。然而,经验预测质量通常是较低的。


2)Polynomial SVM:


有了多项式核,SVM能够捕捉高阶的交互(用户和物品之间)。在我们的稀疏例子中,

网络异常,图片无法展示
|
,这个SVM的模型方程等价于:


网络异常,图片无法展示
|


首先,

网络异常,图片无法展示
|
网络异常,图片无法展示
|
表达着相同的意思,其中一个 可以被丢掉 。现在这个模型方程就和线性方程是一样的,除了额外的用户和物品之间的交互
网络异常,图片无法展示
|
。在典型的协同过滤中,对于每个参数
网络异常,图片无法展示
|
交互,几乎在训练集中只有一个观测值,并且对于每个这样的数据在测试集中几乎是没有的。因此多项式核的SVM几乎没有利用到任何2-way的交互信息去进行预测测试示例。所以多项式SVM仅仅 依赖用户和物品的偏置 并且不能提供更好的评估比线性核SVM。


对于SVMs,评估高阶的参数交互不仅是在CF中,在很多稀疏矩阵的情况都会出现这个问题,因为对于一个可靠的评估参数

网络异常,图片无法展示
|
需要成对的交互
网络异常,图片无法展示
|
,必须要足够的例子在训练集D中,需要
网络异常,图片无法展示
|
 ,只要其中一个等于0,那么该向量就不能很好的进行评估参数
网络异常,图片无法展示
|
。总而言之,如果数据特别稀疏,就会又太少的数据用于建模,进而导致SVM在一些稀疏的情况下失败。


C. Summary


1)SVMs的参数稠密需要直接的观测值,但是通常情况下这在稀疏情况下是很难达到的。FMs的参数能够被评估甚至是在很稀疏的情况下。


2)FMs能够直接在原始的情况下进行学习。非线性核的SVMs通常是以对偶形式进行学习。


3)FMs的模型方程式独立于训练集的,SVMs的预测是依赖于部分训练集的(支持向量)。


References


[1] R. A. Harshman, “Foundations of the parafac procedure: models and conditions for an ’exploratory’ multimodal factor analysis.” UCLA Working Papers in Phonetics, pp. 1–84, 1970.


[2] Y. Koren, “Factorization meets the neighborhood: a multifaceted collaborative filtering model,” in KDD ’08: Proceeding of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining. New York, NY, USA: ACM, 2008, pp. 426–434.


[3] S. Rendle and L. Schmidt-Thieme, “Pairwise interaction tensor factorization for personalized tag recommendation,” in WSDM ’10: Proceedings of the third ACM international conference on Web search and data mining. New York, NY, USA: ACM, 2010, pp. 81–90.


[4] S. Rendle, C. Freudenthaler, and L. Schmidt-Thieme, “Factorizing personalized markov chains for next-basket recommendation,” in WWW ’10: Proceedings of the 19th international conference on World wide web. New York, NY, USA: ACM, 2010, pp. 811–820.


[5] T. Joachims, “Optimizing search engines using clickthrough data,” in KDD ’02: Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining. New York, NY, USA: ACM, 2002, pp. 133–142.


[6] V. N. Vapnik, The nature of statistical learning theory. New York, NY, USA: Springer-Verlag New York, Inc., 1995.


[7] N. Srebro, J. D. M. Rennie, and T. S. Jaakola, “Maximum-margin matrix factorization,” in Advances in Neural Information Processing Systems 17. MIT Press, 2005, pp. 1329–1336.


[8] R. Salakhutdinov and A. Mnih, “Bayesian probabilistic matrix factorization using Markov chain Monte Carlo,” in Proceedings of the International Conference on Machine Learning, vol. 25, 2008

目录
相关文章
|
6月前
|
设计模式 搜索推荐 测试技术
电影推荐系统的设计与实现(论文+系统)_kaic
电影推荐系统的设计与实现(论文+系统)_kaic
|
机器学习/深度学习 搜索推荐 算法
基于协同过滤的旅游推荐系统设计与实现(论文+源码)_kaic
摘要:旅游已经成为了大众节假日放松的主要方式,但因为不熟悉旅游地点带来的选择困难却是不可避免的。随着旅游业的发展旅游行业越来越信息化,用户获取旅游景点信息更加方便。然而,用户在选择旅游目的地时,往往会面对海量的景点信息,这导致他们难以找到适合自己的景点,同时也费时费力 。数量众多的旅游景点存在着信息过载现象且日益严重,用户在网上查找时很难真正搜索到自己感兴趣的旅游景点,对此推荐系统是一种行之有效的解决方法。目前推荐系统已在电影、新闻、音乐、电子商务等方面应用广泛,但在旅游领域还未广泛使用。各大旅游网站多是提供信息查询及订票服务,因此本文将协同过滤算法应用于旅游景点的推荐。
|
SQL 存储 搜索推荐
基于线上考研资讯数据抓取的推荐系统的设计与实现(论文+源码)_kaic
随着互联网的飞速发展,互联网在各行各业的应用迅速成为众多学校关注的焦点。他们利用互联网提供电子商务服务,然后有了“考研信息平台”,这将使学生考研的信息平台更加方便和简单。 对于考研信息平台的设计,大多采用java技术。在设计了一个搭载mysal数据库的全人系统,是根据目前网上考研信息平台的情况,专门开发的,专门根据学生的需要,实现网上考研信息平台的在线管理,并定期进行各种信息存储,进入考研信息平台页面后,即可开始操作主控界面。系统功能包括学生前台:首页、考研信息、申请指南、资料信息、论坛信息、我的、跳转到后台、购物车、客服、管理员:首页、人人中心、研究生信息管理、学生管理、申请指南管理、资料信
|
搜索推荐 安全 关系型数据库
基于知识图谱的个性化学习资源推荐系统的设计与实现(论文+源码)_kaic
最近几年来,伴随着教育信息化、个性化教育和K12之类的新观念提出,一如既往的教育方法向信息化智能化的转变,学生群体都对这种不受时间和地点约束的学习方式有浓厚的兴趣。而现在市面上存在的推荐系统给学生推荐资料时不符合学生个人对知识获取的需求情况,以至于推荐效果差强人意。与此同时,这种信息数字化的新学习方法在给学生群体带来方便的同时,也带来了很多其他的问题,例如信息冗杂、形式让人眼花缭乱的问题,导致系统检索变得难以运行。 解决问题的关键是个性化学习推荐系统,它适合于各式各样的用户产生的各式各样的需求。
|
机器学习/深度学习 搜索推荐 TensorFlow
【推荐系统】TensorFlow复现论文Wide&Deep网络结构
【推荐系统】TensorFlow复现论文Wide&Deep网络结构
226 0
【推荐系统】TensorFlow复现论文Wide&Deep网络结构
|
搜索推荐 TensorFlow 数据处理
【推荐系统】TensorFlow复现论文DeepCrossing特征交叉网络结构
【推荐系统】TensorFlow复现论文DeepCrossing特征交叉网络结构
123 1
【推荐系统】TensorFlow复现论文DeepCrossing特征交叉网络结构
|
人工智能 搜索推荐 算法
AAAI 2023杰出论文一作分享:新算法加持的大批量学习加速推荐系统训练
AAAI 2023杰出论文一作分享:新算法加持的大批量学习加速推荐系统训练
294 0
|
搜索推荐 TensorFlow 数据处理
【推荐系统】TensorFlow复现论文PNN网络结构
【推荐系统】TensorFlow复现论文PNN网络结构
121 0
【推荐系统】TensorFlow复现论文PNN网络结构
|
搜索推荐 TensorFlow 算法框架/工具
【推荐系统】TensorFlow复现论文NeuralCF网络结构
【推荐系统】TensorFlow复现论文NeuralCF网络结构
184 0
【推荐系统】TensorFlow复现论文NeuralCF网络结构
|
机器学习/深度学习 自然语言处理 搜索推荐
【推荐系统论文精读系列】(五)--Neural Collaborative Filtering
近年来,深度神经网络在语音识别、计算机视觉和自然语言处理方面取得了巨大的成功。然而,深度神经网络在推荐系统上的探索相对较少受到关注。在这项工作中,我们致力于开发基于神经网络的技术来解决推荐中的关键问题——基于隐式反馈的协同过滤。
347 0