注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

罗维的博客

{ 关注机器学习、计算广告、自然语言处理、大规模数据处理等 }

 
 
 
 
 

日志

 
 

Factorization Machines介绍  

2013-11-14 18:29:26|  分类: 机器学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Steffen Rendle2010年提出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介绍 - vividfree - 罗维的BLOG

 公式说明:

(1) 模型的参数包括:Factorization Machines介绍 - vividfree - 罗维的BLOG

(2) n是特征维度;

(3) k是定义factorization维度的超参数,是正整数。

(4) FM中,如何对特征之间的依赖关系建模?首先用k维向量去描述每个维度,然后对2个维度所对应的vi和vj求点积,以此来刻画2个特征之间的特征关系。如果需要刻画x(x>2)个特征之间的关系,可以用x-way FM模型。

(5) 表面上看式子的第3项的计算复杂度为O(kn2),但其实可以经过简单的数学处理,计算复杂度降为O(kn)

 

FM可以用于多种预测问题,包括回归、分类和排序。对不同的预测问题,可以选择合适的loss termregularization term。另外,FM的梯度也很容易求。

资料推荐

[1] FM的开山之作:http://www.inf.uni-konstanz.de/~rendle/pdf/Rendle2010FM.pdf

[2] libFM工具:http://www.libfm.org/

[3] KDD2012toturialhttp://www.inf.uni-konstanz.de/~rendle/pdf/Rendle2012-kddtutorial.pdf

  评论这张
 
阅读(10566)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017