1概述
因子分解机(Factor Machine,MF)是一种机器学习预测模型,在模型原理方面主要有以下三个优点:
FM可用于解决分类或者回归问题,工程化部署相对容易且结果有良好解释性,目前已在CTR点击预测、个性化推荐等领域有广泛应用。
2原理简述
这里参考论文《Factorization Machines》简述一下FM的模型原理,同步对应上述所提的三个优点。
FM的模型公式如下,可以看出,公式前面用红色框出来的部分,就是传统的线性模型,FM是在线性模型的基础上增加了交叉项。
在进行预测前的特征构造过程中,经常需要对特征进行组合以扩展模型的能力,FM模型相当于直接把特征组合加入模型不需人为处理。这里可以观察到,交叉项的权重是两个矩阵的点乘而不直接是一个权重矩阵,这是因为类型变量经过One-Hot或其他类似形式的编码后,会产生高维稀疏矩阵,导致有的交叉项在训练样本中从未出现过,如直接是一个权重矩阵则权重为0,训练不出相关信息。因而相当于是通过矩阵分解的形式,将原本的权重矩阵表示为两个矩阵相乘。这样,即使交叉项为0还是可以得到相关权重,以此解决高维稀疏矩阵的问题。
因为交叉项的存在,如果直接计算则时间复杂度为
,但通过公式变换可把时间复杂度降低为
,其中k是一个超参,为v的维数。
并且因为输入为稀疏矩阵,大部分是零,所以求和的时候仅需计算非零的值即可,运算量进一步降低。
论文中根据用户对电影打分场景给出了一个构建输入特征的示例,如下图。蓝色框中为用户id的编码后特征,橙色框中为用户对应打分电影的编码后特征,黄色代表了用户对其他电影的交互特征并进行归一化,绿色为打分时间变量,棕色框中为用户上一个打分电影的编码后特征,y为打分分数。这样,就可以进行一个多分类预测,预测结果就是用户对电影的打分。
3总结
FM曾在多项CTR预测竞赛中夺得冠军,在实际的推荐应用中,FM可以用于召回也可用于排序过程,无不展现了其有效性,即便在深度学习逐渐应用在推荐领域的时期,FM依然是众多厂商选择使用的方法。