一、为什么要用FM算法

在计算广告和推荐系统中,CTR预估(click-through rate)是非常重要的一个环节,判断一个商品的是否进行推荐需要根据CTR预估的点击率来进行。而在处理这类数据时,我们常常会使用one-hot编码(例如对用户ID、商品ID等),但这样就带了一个问题,数据太过稀疏。在面对如此稀疏的数据时,我们仅仅考虑每一个特征显然是不够的。这个时候,考虑特征之间的组合就显得尤为重要。

二、算法主体

普通的线性模型,我们都是将各个特征独立考虑的,并没有考虑到特征与特征之间的相互关系:

CTR学习笔记系列——FM

当我们考虑特征之间的组合时,我们稍微改动一下上面的公式就可以得到我们想要的算法: 
CTR学习笔记系列——FM

但这个公式有个问题,对于稀疏数据来说,xi和xj都不为0的情况太少,这样将导致无法通过训练很好地得到ωij。

所以,将wij拆成两块来训练得到:

CTR学习笔记系列——FM

通过2xy = (x+y)^2 – x^2 – y^2的思路简化计算的复杂度:

CTR学习笔记系列——FM

使用梯度下降求解:

CTR学习笔记系列——FM

这样就得到了FM算法

相关文章:

  • 2021-05-27
  • 2021-10-04
  • 2021-11-19
  • 2021-10-16
  • 2022-02-02
  • 2021-12-28
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-14
  • 2021-06-12
  • 2021-11-18
  • 2021-05-21
  • 2021-10-05
  • 2021-05-19
  • 2021-10-23
相关资源
相似解决方案