01-《Factorization-Machines》

因子分解机(FM)是一种解决稀疏数据场景下特征组合问题的模型。FM通过将参数分解为隐向量内积,能在稀疏数据中估计参数,并具有线性时间复杂度。文章介绍了FM的背景、one-hot编码、模型公式、参数估计和梯度下降,并强调了FM在线性时间复杂度上的优势。
摘要由CSDN通过智能技术生成

1. 什么是FM

    Factorization-Machines(简称FM),中文一般叫做因子分解机”,它最早由Steffen Rendle在2010年提出,解决了稀疏数据场景下的特征组合问题。

    所谓稀疏数据场景,指的是:(1)许多真实世界的特征向量数据涉及到大量的分类变量域,本身是稀疏的(2)将特征向量转换成one-hot向量后,会存在大量0。

    FM具有几下几个优点:

  •     FM可以在稀疏数据场景下进行参数估计
  •     FM具有线性的时间复杂度
  •     FM是一种可用于任何实值特征向量的通用预测器

    我们需要关注:FM如何应用在稀疏数据下,以及FM为什么具有线性时间复杂度。

2. one-hot

    在介绍FM模型前,需要先了解one-hot编码,因为categorical特征数据首先需要经过one-hot编码,然后才能被使用。

    我们以用户对电影评分的数据来举例:

    当我们有用户集U = {Alice (A),Bob (B),Charlie (C),...},

                   电影集I = {Titanic (TI),Notting Hill (NH),Star Wars (SW),Star Trek (ST),...}

                   评分集S = {(A,TI,2010-1,5),(A,NH,2010-2,3),(A,SW,2010-4,1),(B,SW,2009-5,4),(B,ST,2009-8,5),(C,TI,2009-9,1),(C,SW,2009-12,5)}

    经过one-hot编码后,得到了以下数据:

    我们现在可以只关注第一个蓝色区域,第二个橙色区域和最后的Target y区域。他们分别是我们之前提到的U,M和S集合经过one-hot编码得到的。每个区域,我们可以当做是一个特征。

    Feature vector x中的每一行,就是接下来我们以向量形式送入公式的数据(即下一节里的特征向量X了)。

 

3. FM model

    模型的公式如下(以二次为例):

                                        \hat{y(x)} = w_{0}+ \sum_{i=1}^{n}w_{i}x_{i}+\sum_{i=1}^{n}\sum_{j=i+1}^{n}<v_{i},v_{j}>x_{i}x_{j}       

                                                                             <v_{i},v_{j}> = \sum_{f=1}^{k}v_{i,f} \cdot v_{j,f}   

   公式(1)中:

       X :长度为n的向量,即经过one-hot编码的特征向量

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值