Factorization Machines
要真正理解这个东西,我们得先从线性回归和多项式回归说起。
- 线性回归
一个基本的线性回归模型可以表示为:
$$
\hat{y(x)} = w_{0} + \sum_{i=1}^{n}w_{i}x_{i}
$$ - 多项式回归
那么多项式回归就是在此基础上增加交叉项(也就是多项式):
$$
\hat{y(x)} = w_{0} + \sum_{i=1}^{n}w_{i}x_{i} + \sum_{i=1}^{n}\sum_{j=i+1}^{n}w_{ij}x_{i}x_{j}
$$
后面增加的就是多项式交叉项,Factorization Machines的主要目的就是优化多项式交叉项。那么这个多项式交叉项有什么问题呢?为什么需要被优化呢? -
第一个明显的问题就是参数太多了,\(n\)个特征,两两交叉,参数个数就是\(n(n-1)/2\).
- 各个参数\(w_{ij}\)之间是互相独立,并没有什么联系。
- 在高度稀疏的训练样本中无法准确地学习得到这些参数。为什么?因为最终[……]