Factorization Machine 学习笔记

FM模型有效解决特征稀疏和组合问题,适用于多种场景,训练速度快,复杂度低。相较于线性回归,FM通过引入向量Vi改善了特征组合的考虑,避免了高复杂度和训练不足的问题。

FM 的 优点:

  1. 解决了特征稀疏的问题,能在非常系数数据的情况下进行预估。
  2. 解决了特征组合的问题,研究了特征与特征之间的向量,不像LR线性回归那样没有组合
  3. FM使一个通用模型,适用于大部分场景,而其他因式分解模型只能用于一些输入数据比较固定的情况
  4. 训练速度快,线性复杂度是线性的,优化效果很好

一般的线性回归:
在这里插入图片描述
考虑了特征组合:
在这里插入图片描述
缺点:复杂度太高,复杂度n^2,wij只能在xi,xj不同时为0的情况下训练,特征稀疏的情况下,大多数情况下xi,xj大多数情况下为0,训练不充分

FM的推导:
引入一个变量ViV_iVi,让ViV_iVi等于
Vi=(vi1,vi2,vi3,...,vik)T V_i = (v_{i1},v_{i2},v_{i3},...,v_{ik})^T Vi=(vi1,vi2,vi3,...,vik)T
所以当 i =1或者n时:
V1=(v11,v12,v13,...,v1k)T V_1 = (v_{11},v_{12},v_{13},...,v_{1k})^T V1=(v11,v12,v13,...,v1k)T
Vn=(vn1,vn2,vn3,...,vnk)T V_n = (v_{n1},v_{n2},v_{n3},...,v_{nk})^T Vn=(vn1,vn2,vn3,...,vnk)T
已知wijw_{ij}wij可以组成一个矩阵:
W=[w11w12...w1nw21w22...w2n⋮⋮⋱⋮wn1wn2...wnn]nn W = \begin{bmatrix} w_{11} & w_{12}& ... & w_{1n}\\ w_{21} & w_{22}& ... & w_{2n}\\ \vdots & \vdots& \ddots & \vdots\\ w_{n1} & w_{n2}& ...& w_{nn} \end{bmatrix} _{nn} W=w11w21wn1w12w22wn2.........w1nw2nwnnnn
ViV_iVi组成一个矩阵VVV
V=[V1TV2T ⋮VnT]=[v11v12...v1kv21v22...v2k⋮⋮⋱⋮vn1vn2...vnk]nk V = \begin{bmatrix} {V_{1}}^T\\ {V_{2}}^T\\\ \vdots\\ {V_{n}}^T\\ \end{bmatrix} = \begin{bmatrix} v_{11} & v_{12}& ... & v_{1k}\\ v_{21} & v_{22}& ... & v_{2k}\\ \vdots & \vdots& \ddots & \vdots\\ v_{n1} & v_{n2}& ...& v_{nk} \end{bmatrix} _{nk} V=V1TV2T VnT=v11v21vn1v12v22vn2.........v1kv2kvnknk
所以可以有VVT=WVV^T = WVVT=W

所以可以得到一个FM的推导公式:
在这里插入图片描述
其中,点积可以写成
在这里插入图片描述
所以原公式又可以写成
在这里插入图片描述
在这里插入图片描述
复杂度只n, k有关,所以这个FM的复杂度是nk,是线性复杂度,相对较小

拓展,FFM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值