前言
Factorization Machines 这篇论文于2011年提出,也就是在计算广告领域广为应用的FM。最近仔细学习了FM的算法原理,参考了很多大佬的资料和观点,在此总结。
正文
FM是个啥?
简单的说,FM是一种适合应用在高维稀疏数据场景的、具有线性时间复杂度的监督学习算法,其可以用作分类、回归、排序等类型的任务。
对于逻辑回归,我们都不陌生。在使用逻辑回归解决问题时,由于模型比较容易欠拟合,大家都一定尝试着基于对数据的理解或基于对业务的理解,去构造特征。
常用的一种特征工程方法叫做组合特征,也就是说,考虑原有的特征之间组合的关系,例如高、富、帅作为三个特征,组合在一起就非常有意义。
那么,当数据本身维度特别高且稀疏的时候,我们会遇到一个很难搞的问题,即由于数据稀疏,很多组合的特征在数据中没有对应,无法学习到信息
而FM通过矩阵分解的思想较好的解决了这个问题,该方法和推荐系统中的隐语义模型SVD有着异曲同工之妙。
FM的模型方程
为了方便理解,先介绍逻辑回归的模型方程:
而FM的模型方程可以理解为(只讨论二阶组合情况):