recsys
fm模型
YeeKal
•
•
"#recsys"
FM 模型
因子分解机(FM, Factorization Machine).线性模型假设特征之间是相互独立的,而FM模型增加了各特征之间的相互组合:
线性回归(Linear Regression)模型的方程式如下:
二阶多项式回归(Polynomial Regression)模型(Poly2 Model):
令$W=[w_{ij}]$,则$W$是一个对称矩阵,根据Cholesky分解:
可得FM模型方程:
其中$V_i$是矩阵$V$的第$i$行,可以看做是第$i$个特征的向量化,其中向量长度为$k(k\ll n)$,这样训练参数从$n^2$降到$nk$.
FM 模型计算
简化过程:
$$$$
- 时间复杂度由$O(kn^2)$降到$O(kn)$,时间复杂度降到线性。
- 在特征稀疏的场景下,很多特征为0,只需要计算非0特征就行。
梯度计算:
$$$$
FM模型应用
- 回归任务(regression)
- 二分类(binary classification)
- 排序(ranking)
FFM 模型
DeepFM 模型
ref
projects:
blog:
open source:
- LibFM Earliest library by the author himself for FMs
- LibFFM: Library exclusively FFMs, code
- xLearn: Scalable ML package for both FM & FFMs, github-code,doc
- tffm Tensorflow implementation of arbitrary order FMs