前面写到LR是个线性的概率二分类模型,SVM是个可以通过kernel引入非线性的线性二分类模型;LR的优点是简单、方便、易于求解,但缺点在于线性模型中假设不同特征之间是独立的,即没有考虑特征间的相互影响;为了解决简单线性模型无法学得特征间交叉影响的问题,SVM通过引入核函数来实现特征的交叉,而本篇要讲的FM(Factorization Machine)与FFM(Field Factorization Machine)则是通过直接引入特征之间的交叉的概率二分类模型,可以把FM看做是LR的升级,FFM是FM的升级。
FM
FM本质上是一个多项式模型,一般使用二阶(三阶及以上太过复杂),二阶多项式模型的表达式如下:
,很显然该模型的参数数量是,当特征维度d比较大时,该模型的参数数量会很大,实际应用(尤其是当特征很稀疏)时,往往只有极少数的二阶组合模式才能在样本中找到(