5.1 FM模型的引入
5.1.1 逻辑回归模型及其缺点
FM模型其实是一种思路,具体的应用较少。一般来说做推荐CTR预估时最简单的思路就是将线性组合(逻辑回归LR),传入sigmoid中得到一个概率值,本质上这就是一个线性模型,因为sigmoid是单调函数不会改变里面的线性模型的CTR预测顺序,因此逻辑回归模型效果会比较差。
LR的缺点:
- 是一个线性模型
- 每个特征对最终输出结果独立,需要手动特征交叉,比较麻烦。
5.1.2 二阶交叉项的考虑及改进
由于LR模型的上述缺陷(主要是手动做特征交叉比较麻烦),干脆就考虑所有的二阶交叉项。
5.2 FM公式的理解
从公式看,模型前半部分就是普通的LR线性组合,后半部分的交叉项:特征组合。首先,但从模型表达能力上来看,FM是要强于LR的,至少它不会比LR弱,当交叉项参数全为0的时候,整个模型就退化为普通的LR模型。
5.3 FM模型的应用
最直接的想法就是直接把FM得到的结果放进sigmoid中输出一个概率值,由此做CTR预估,事实上我们也可以做召回。
由于FM模型是利用两个特征embedding做内积得到二阶特征交叉的权重,那么我们可以将训练好的FM特征取出离线存好,之后用来做KNN向量检索。
工业应用的具体操作步骤:
- 离线训练好FM模型(学习目标可以是CTR)
- 将训练好的FM模型Embedding取出
- 将每个uid对应的embedding做avg pooling 形成该用户最终的embedding,item也做同样的操作。
- 将所有的embedding向量放入Faiss等
- 线上uid发出请求,取出对应的uesr embedding,进行检索召回。