FM的理解

本来想写一些Factor Machine(FM)的理解,百度了下,发现有些帖子介绍的很详细,所以只做一些总结。

1、FM可以说是LR的特征组合的升级版本,LR只考虑了单个特征的重要性,而FM考虑了两两特征之间的重要性。

2、FM一般用于数据稀疏场景,比如分类变量0-1编码(one-hot编码)后的高度稀疏数据。

3、FM也是二项式多项式核的SVM版本的改进版本,SVM的多项式需要投影到高维空间,而FM直接在原空间计算。

4、FM可以求解稀疏数据两两特征之间权重的原因:

(1)通过学习变量x_i的因向量v_i,进而学习到x_i和x_j之间w_ij的权重(v_i * v_j的点积求和).

(2)在优化算法求解参数v_i时,v_i的梯度和其他的所有特征都有关联,避免了x_i和x_j因稀疏直接相乘为0的场景。

 

使用场景:

1、高维稀疏数据

2、变量交叉(组合)探索

 

时间复杂度:O(kn)

 

FM的完整函数形式(来自原始paper):

优化算法使用到的梯度形式:

 

可以使用的软件:

1、fastFM:https://github.com/ibayer/fastFM

2、通过keras/tenforflow等神经网络框架搭建指定优化器的梯度优化算法

 

更多学习笔记可以关注我的微信公众号「kelly学挖掘」,欢迎交流。

-- over --

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值