网上有很多实现FM的代码,基本一样且没有注释,看着很难受,就重新写了一下。
借鉴的一篇博客地址为https://blog.csdn.net/john_xyz/article/details/78933253
一、FM原理及用途
FM一般用在CTR预估场景,出处为论文:《Factorization Machines》
FM主要目标是:解决数据稀疏的情况下,特征怎样组合的问题
根据paper的描述,FM有一下三个优点:
1. 可以在非常稀疏的数据中进行合理的参数估计
2. FM模型的时间复杂度是线性的
3. FM是一个通用模型,它可以用于任何特征为实值的情况
算法原理:
在一般的线性模型中,是各个特征独立考虑的,没有考虑到特征与特征之间的相互关系。但实际上,大量的特征之间是有关联的。模型为:<