前言

FM (Factorization Machine)

假设一个点击预测的问题可以建模为:

Clicked? Country=USA Country=China Month=May Month=June Month=July Type=Movie Type=Game
1 1 0 1 0 0 1 0
0 0 1 0 1 0 0 1
1 0 1 0 0 1 0 1

那么可以将是否点击作为预测目标,该问题可以认为是一个回归问题,或者是二元分类问题。那么预测的目标可以建模为:

\[\hat{y}(x) := w_0 + \sum_{i=1}^{n}w_ix_i + \sum_{i=1}^{n}\sum_{j=i+1}^{n} <v_i, v_j> x_i x_j\]

其中模型的参数有\(w_0 \in \mathbb{R}, w \in \mathbb{R}^n, V \in \mathbb{R}^{n \times k}\)。

\(<\cdot, \cdot>\)代表的是两个维度为\(k\)的向量的点积运算,即:

\[<v_i, v_j> := \sum_{f=1}^k v_{i, f} \cdot v_{j, f}\]

[paper] [slides]

FFM (Field-aware Factorization Machine)

\[\hat{y}(x) := w_0 + \sum_{i=1}^{n}w_i x_i + \sum_{i=1}^{n} \sum_{j=i+1}^{n} <v_{i,f_j}, v_{j,f_i}>x_i x_j\]

[slides]

PNN

DeepFM

DCN(Deep Cross Network)

xDeepFM

参考资料