摘自

https://www.jianshu.com/p/1687f8964a32

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

https://blog.csdn.net/google19890102/article/details/45532745

一、FM简介

1、FM又叫因子分解机。被广泛应用到广告点击中,跟LR相比,效果据说是强了不少。这个个人觉得还是利用数据集测试下比较靠谱。其主要解决的问题是当数据比较稀疏的时候,特征组合的问题。

2、以一个广告点击的例子。特征如下图所示

FM(Factorization Machines) 随笔 第1张

  • clicked是是否点击
  • Country,Day,Ad_type是类型值,一般进行One hot编码

One hot编码后的特征如下图所示

FM(Factorization Machines) 随笔 第2张

当类型值特别多的时候,One-hot的特征量就会变得特别大。有些互联网特征有上亿纬就是这么来的。采用FM可以很好的学习这些特征之间的关系。

 

二、FM优点

  1. FMs allow parameter estimation under very sparse data where SVMs fails. 
  2. FMs have linear complexity, can be optimized in the primal and do not rely on support vectors like SVMs.
  3. FMs are a general predictor that can work with any real valued feature vector. In contrast to this, other state-of-the-art factorization models work only on very restricted input data.

 

三、FM模型

1、一般的模型为线性模型

FM(Factorization Machines) 随笔 第3张

2、

FM(Factorization Machines) 随笔 第4张

3、其中,v∈ℝ^{n,k},vi,vj表示的是两个大小为k的向量之间的点积:

FM(Factorization Machines) 随笔 第5张

与线性模型相比,FM的模型就多了后面特征组合的部分。

 

4、对vi,vj求解

亮亮交叉的时间复杂度是O(k*n^2)。通过数学公式的转化,2xy = (x+y)^2 – x^2 – y^2。时间复杂度就变成了O(kn)。

FM(Factorization Machines) 随笔 第6张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄