FM&FFM理解(初版)- FM部分

403 阅读2分钟

FM算法:(Factorization Machines),因子分解机模型

  • 本文仅作为一个简单介绍,关于推理和代码部分可以见参考资料

1 模型提出背景:

  1. 在传统的线性模型中,每个特征都是独立的,如果需要考虑特征与特征之间的相互作用,可能需要人工对特征进行交叉组合。非线性SVM可以对特征进行核变换,但是在特征高度稀疏的情况下,并不能很好的进行学习。推荐系统是一个高度稀疏的数据场景,由此产生了FM系列算法。
  2. FM提出主要是为了解决数据稀疏的情况下,特征怎样组合的问题。可用于回归任务,二分类任务、排名任务,特别是在数据稀疏场景下,效果明显,广泛应用于推荐系统、广告系统等领域。

2 FM模型公式推导过程(见最下方链接,公式较多不再重复粘贴)

3 FM模型所用损失函数(本文不做详解)

  1. 回归任务:最小平方误差
  2. 二分类任务:对数损失函数,交叉熵损失函数
  3. 排序任务:成对分类函数

4 FM模型训练方法:(本文不做详解)

  1. 随机梯度下降法 SGD
  2. 参考资料:梯度下降法与反向传播法 - 知乎 (zhihu.com)
  3. 交替最小二乘法 ALS
  4. 马尔科夫链蒙特卡洛法 MCMC

5 关于FM模型特征工程构建的解释书名

  1. FM模型对特征两两组合是自动的,不需要人工参与
  2. FM模型对类别特征进行One-hot编码,然后才能参与计算

6 FM模型二分类问题实例(代码可运行,见最下方链接)

[原文链接](FM&FFM理解(初版) - 知乎 (zhihu.com))