Factorization Machines
FM算法是一种能够降低特征工程复杂性的模型,它能够处理高维稀疏数据。特征被分为一阶以及二阶交互,一阶项是原始特征的线性组合,二阶项则是特征对之间的交互。FM算法通过将输入数据映射到一个稠密向量空间中来处理高维稀疏数据,然后在该向量空间上进行计算,从而解决了传统的LR以及SVM等模型在处理高维稀疏数据时遇到的困难。
1.1 FM模型的损失函数
假设我们有一个输入的样本
原始的计算代价为
其中
1.2 FM模型的推理(召回场景)
上面的公式很好地诠释了损失函数,但如果我们要把FM模型用在推荐系统的召回阶段,我们如何才能做到快速召回大量的Items? 我们需要把召回
看做是一个用户向量
物品向量
我们将公式用户
和物品
两大类别,这些项可以分为如下的三情况:
用户
特征及其内部的交叉特征物品
特征以及内部的交叉特征用户
和物品
之间的交叉特征
所以我们可以将这个匹配公式定义成如下的样子:
由于User特征一阶权重以及User特征内部交叉对于对于所有要召回的item都是相等的, 因此直接去掉, 所以上面的公式可以写作:
其中,
注意到在上面的式子中,我们已经在最后将匹配度
写成了向量的内积形式。第一个向量
其中,
所谓召回,实际上是计算
其中