前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >推荐算法|FM模型原理简介

推荐算法|FM模型原理简介

作者头像
三猫
发布2022-01-11 08:00:39
1.4K0
发布2022-01-11 08:00:39
举报

1概述

因子分解机(Factor Machine,MF)是一种机器学习预测模型,在模型原理方面主要有以下三个优点:

  1. 可以解决高维稀疏矩阵问题
  2. 具有线性复杂度
  3. 相比于其他矩阵分解类的模型,FM允许更丰富的输入维度

FM可用于解决分类或者回归问题,工程化部署相对容易且结果有良好解释性,目前已在CTR点击预测、个性化推荐等领域有广泛应用。

2原理简述

这里参考论文《Factorization Machines》简述一下FM的模型原理,同步对应上述所提的三个优点。

  • 解决高维稀疏矩阵问题的原理

FM的模型公式如下,可以看出,公式前面用红色框出来的部分,就是传统的线性模型,FM是在线性模型的基础上增加了交叉项。

在进行预测前的特征构造过程中,经常需要对特征进行组合以扩展模型的能力,FM模型相当于直接把特征组合加入模型不需人为处理。这里可以观察到,交叉项的权重是两个矩阵的点乘而不直接是一个权重矩阵,这是因为类型变量经过One-Hot或其他类似形式的编码后,会产生高维稀疏矩阵,导致有的交叉项在训练样本中从未出现过,如直接是一个权重矩阵则权重为0,训练不出相关信息。因而相当于是通过矩阵分解的形式,将原本的权重矩阵表示为两个矩阵相乘。这样,即使交叉项为0还是可以得到相关权重,以此解决高维稀疏矩阵的问题。

  • 解决复杂度的问题

因为交叉项的存在,如果直接计算则时间复杂度为

,但通过公式变换可把时间复杂度降低为

,其中k是一个超参,为v的维数。

并且因为输入为稀疏矩阵,大部分是零,所以求和的时候仅需计算非零的值即可,运算量进一步降低。

  • 解决输入维度问题

论文中根据用户对电影打分场景给出了一个构建输入特征的示例,如下图。蓝色框中为用户id的编码后特征,橙色框中为用户对应打分电影的编码后特征,黄色代表了用户对其他电影的交互特征并进行归一化,绿色为打分时间变量,棕色框中为用户上一个打分电影的编码后特征,y为打分分数。这样,就可以进行一个多分类预测,预测结果就是用户对电影的打分。

3总结

FM曾在多项CTR预测竞赛中夺得冠军,在实际的推荐应用中,FM可以用于召回也可用于排序过程,无不展现了其有效性,即便在深度学习逐渐应用在推荐领域的时期,FM依然是众多厂商选择使用的方法。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习养成记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档