Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >推荐系统之FM与MF傻傻分不清楚

推荐系统之FM与MF傻傻分不清楚

作者头像
张小磊
发布于 2020-06-20 06:28:58
发布于 2020-06-20 06:28:58
4K0
举报

目录

  • 前言
  • FM模型简介
  • MF模型简介
  • FM vs MF

前言

之前分享过一篇关于围绕LR周边模型展开的文章,主要前向回顾了它与Linear Regression的关系,后向介绍了它与Softmax Regression以及Linear SVM的关系,同时延伸了它与Factorization Machine的联系以及它与Multiple Layer Perceptron的关联。记得有朋友在底下评论说MF和FM到底有啥区别和联系,希望能够真正把他们搞懂,因此文本的目的就在于此。概括一句话就是:FM是MF的全能版本,MF是FM的一种简单存在形式。

FM模型简介

因子分解机(Factorization Machine, FM)是由Steffen Rendle提出的一种基于矩阵分解思想的机器学习算法,FM的提出是为了解决大规模稀疏数据中的特征组合问题。

1.1 FM模型

最常见的预测任务是估计一个函数:,将实值特征映射到目标域中(其中对回归任务,对分类任务)。在监督模型中,已知训练数据。另外在排序任务中,可以通过成对的训练数据来训练得到打分函数,其中特征元组,排名高于。

假设我们从电影评论系统中获取了这么一组交互数据(见下图),其中用户集合,物品(这里为电影)集合。根据以上数据构造了如图1所示的实值特征向量,蓝色框框内代表用户的one-hot编码,橙色框框内代表电影的one-hot编码,黄色框框内代表用户评论过的其他物品,并做了归一化,绿色框框内表示评论的时间,紫色框框内表示最近评论过的物品,最后一列Target y表示用户对该物品的一个评分(以为例,即用户A对电影TI的评分为5)。

图1

1.2 FM模型公式

(1)二阶FM

FM是在逻辑回归(LR)的基础上扩展的,因此在特征线性组合的前提下增加了特征交叉项,公式如下:

二阶FM公式

其中,内积表达式 。

从上述公式中可以看出时间复杂度为,但通过化解公式之后可以得到线性的时间复杂度。

二阶FM捕捉了所有变量的单个特征和变量之间的成对交互联系。

(二)高阶FM

高阶FM公式

相比二阶FM,高阶FM考虑了更多特征之间的联系。

MF模型简介

推荐系统核心技术是协同过滤技术 其中协同过滤技术中最常用的便是矩阵分解技术,矩阵分解将用户与物品嵌入到一个共享的低维隐空间内。

我们将用户和物品构造成一个二维矩阵(后称U-I矩阵),其中每一行代表一个用户,每一列代表一个物品,由于U-I矩阵的稀疏性,许多用户对物品没有过相应的评分,那么预测某一个用户对某一个物品的喜爱程度便成了推荐系统的主要任务。矩阵分解的思想是将U-I矩阵分解为两个低秩稠密的矩阵P和Q,其中P为用户的隐因子矩阵,Q为物品的隐因子矩阵,通过这两个矩阵来预测用户对物品的评分,也即:

但是考虑一些额外因素:1、一些用户给分偏高,一些用户给分较低,2、一些物品本就比较受欢迎,一些物品不被大众所喜爱,3、评分系统的固有属性,与用户物品都无关。因此,考虑到这些因素,将用户对物品的预测函数升级为:

其中为全局偏置,为用户偏置,为物品偏置。

FM vs MF

分解机的思想是从线性模型中通过增加二阶交叉项来拟合特征之间的交叉,为了拓展到数据稀疏场景并便于计算,吸收了矩阵分解的思想。这一节中主要简单了解一下FM与MF之间的关系。

  • MF是FM的特例

本质上,MF模型是FM模型的特例,MF可以被认为是只有User ID 和Item ID这两个特征信息时的FM模型。接下来,举个栗子方便大家理解FM是如何在仅有User ID 和Item ID时退化成MF模型的。假设用户集合为,物品集合为,我们以图1中的为例,在仅包含用户ID和物品ID信息时,特征维度,则特征向量,即为用户ID和物品ID的one-hot表示的拼接,由于特征向量中第一位和第四位为非零元素,因此二阶FM公式便如下所示:

由此,将上述公式和矩阵分解公式联系起来,可看作是MF中的全局偏置,为MF中的用户偏置,则为MF中的物品偏置。因此,MF是FM在仅有用户ID和物品ID信息下的特殊形式。

  • FM与MF的不同
  • 「输入数据的形式不同」 一般来说,FM的输入数据是一个实值特征向量(如图1的每一行),相当于是对多个one-hot特征的拼接;MF的输入数据是一个二元组,为用户ID,为物品ID。往往对于FM和MF理解的难点在于此,一个数据形式为one-hot,一个数据形式为标号ID。只不过MF中的数据只有user和item,因此可以通过标号ID直接查询对应的隐向量,而FM则需要通过one-hot的形式与隐向量矩阵做乘得到对应的隐向量。
  • 「参数矩阵的不同」 往往我们在FM模型中只初始化一个参数矩阵,其中为特征的数目;MF模型由于只涉及user和item的隐特征,因此可以分别学得一个用户矩阵和物品矩阵。如果FM中只有user和item的特征时,。因此,只不过MF为了方便,把user和item分开进行初始化,其实类似于FM只初始化一个矩阵未尝不可,只不过需要注意user和item的下标不要重复,比如user从1开始,那么item很可能需要从开始。
  • 「融合附加信息的方式不同」 他们输入数据的形式决定了他们融合附加信息的形式不同。直观来讲,FM融合附加信息的方式更直接。比如FM融合边信息直接在列的维度拼接特征即可,比如增加性别、年龄等信息;而MF融合边信息不能直接在输入数据上拼接,而是需要通过增加正则项约束,或者在预测函数上做文章。更具体的融合方式可参考之前的博文推荐系统之矩阵分解家族,可见MF也可以方便快捷的融合各种附加信息。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习与推荐算法 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于评论文本的深度推荐系统总结
本文主要总结下近几年结合评论文本的推荐系统 (Review-based Recommendation),侧重深度学习的模型,并且开源了一个代码库: Neu-Review-Rec(https://github.com/ShomyLiu/Neu-Review-Rec) 主要完成了数据处理,模型构建,baseline复现等完整的Pipeline。
张小磊
2020/05/08
3.4K0
基于评论文本的深度推荐系统总结
[深度学习] FM & FFM 算法基本原理
在推荐系统和计算广告业务中,点击率CTR(click-through rate)和转化率CVR(conversion rate)是衡量流量转化的两个关键指标。准确的估计CTR、CVR对于提高流量的价值,增加广告及电商收入有重要的指导作用。
全栈程序员站长
2022/08/14
8190
[深度学习] FM & FFM 算法基本原理
原理篇 | 推荐系统之矩阵分解模型
导语:本系列文章一共有三篇,分别是 《科普篇 | 推荐系统之矩阵分解模型》 《原理篇 | 推荐系统之矩阵分解模型》 《实践篇 | 推荐系统之矩阵分解模型》 第一篇用一个具体的例子介绍了MF是如何做推荐的。第二篇讲的是MF的数学原理,包括MF模型的目标函数和求解公式的推导等。第三篇回归现实,讲述MF算法在图文推荐中的应用实践(将于后续发布)。下文是第二篇——《原理篇 | 推荐系统之矩阵分解模型》,敬请阅读。 上一篇我们用一个简单的例子讲述了矩阵分解(Matrix Factorization, MF)是如
腾讯技术工程官方号
2019/06/06
3.2K2
原理篇 | 推荐系统之矩阵分解模型
CTR点击率预估之经典模型回顾
CTR(Click-through rate, 点击率)预估在工业级推荐系统、广告系统中是非常重要的一个环节, 其预估效果会直接影响推荐系统的性能. CTR预估常伴有训练数据量大、特征高度稀疏、推断性能要求高等特点, 使得算法的设计多围绕这些特点来进行. 本文旨在梳理经典CTR预估模型的演化历程, 分为如下几个小节:
SIGAI学习与实践平台
2019/05/23
3.3K0
算法大佬看了流泪,为什么这么好的CTR预估总结之前没分享(上篇)
在广告、推荐系统CTR预估问题上,早期的完全规则方法被过渡到以LR为代表的机器学习方法,为了充分发挥组合特征的价值,在相当长一段时间里,业界热衷于使用LR+人工特征工程。但人工组合特征成本高昂 ,在不同任务上也难以复用。2010年FM因子分解方法的出现解决了人工组合特征的困境,2014年Facebook提出的GBDT+LR也给出了一种利用树模型特点构建组合特征的思路。不过随着深度学习的崛起,2015年以后,借助非线性自动组合特征能力的深度模型,开始成为业内的主流。从经典DNN到结合浅层的Wide&Deep,用于CTR预估的深度模型在近些年间百花盛开,各种交叉特征建模方法层出不穷,Attention机制也从其他研究领域引入,帮助更好的适应业务,提升模型的解释性。在这进化路线之下,核心问题离不开解决数据高维稀疏难题,自动化组合特征,模型可解释。我们梳理了近些年CTR预估问题中有代表性的模型研究/应用成果,并对部分经典模型的实现原理进行详细剖析,落成文字作为学习过程的记录。
炼丹笔记
2021/05/14
5.3K0
算法大佬看了流泪,为什么这么好的CTR预估总结之前没分享(上篇)
技术干货丨想写出人见人爱的推荐系统,先了解经典矩阵分解技术
对于一个推荐系统,其用户数据可以整理成一个user-item矩阵。矩阵中每一行代表一个用户,而每一列则代表一个物品。若用户对物品有过评分,则矩阵中处在用户对应的行与物品对应的列交叉的位置表示用户对物品的评分值。这个user-item矩阵被称为评分矩阵。
用户1737318
2018/07/23
4810
技术干货丨想写出人见人爱的推荐系统,先了解经典矩阵分解技术
一文带你了解推荐系统常用模型
通过对用户之间的关系,用户对物品的评价反馈一起对信息进行筛选过滤,从而找到目标用户感兴趣的信息。
timerring
2022/09/19
1.5K0
一文带你了解推荐系统常用模型
最全推荐系统传统算法合集
我花了半个多月将推荐系统传统算法分别进行了总结归纳,应该时目前全网最全的版本了。希望对大家了解推荐系统传统算法有所帮助。
张小磊
2022/02/28
1.2K0
最全推荐系统传统算法合集
从模型到应用,一文读懂因子分解机
作者在上篇文章中讲解了《矩阵分解推荐算法》,我们知道了矩阵分解是一类高效的嵌入算法,通过将用户和标的物嵌入低维空间,再利用用户和标的物嵌入向量的内积来预测用户对标的物的偏好得分。本篇文章我们会讲解一类新的算法:因子分解机(Factorization Machine,简称FM,为了后面书写简单起见,中文简称为分解机),该算法的核心思路来源于矩阵分解算法,矩阵分解算法可以看成是分解机的特例(我们在第三节1中会详细说明)。分解机自从2010年被提出后,由于易于整合交叉特征、可以处理高度稀疏数据,并且效果不错,在推荐系统及广告CTR预估等领域得到了大规模使用,国内很多大厂(如美团、头条等)都用它来做推荐及CTR预估。
AI科技大本营
2019/09/09
1.7K0
从模型到应用,一文读懂因子分解机
网易如何做新闻推荐:深度学习排序系统及模型
深度学习的概念源于人工神经网络的研究。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的有效表示,而这种使用相对较短、稠密的向量表示叫做分布式特征表示(也可以称为嵌入式表示)。本部分主要对于目前使用较广的一些学习算法进行一个简单的回顾。
机器学习AI算法工程
2019/10/28
1.4K0
网易如何做新闻推荐:深度学习排序系统及模型
推荐算法三视角
关于推荐系统,如果在忘掉所有的公式和代码,忘记所有的语言描述,脑海里就剩下几张图景,会是什么?一张二维表格,一个拓扑图,一条时间线。这三幅图景,是我看待推荐算法的三种视角。
石晓文
2019/12/19
1.2K0
推荐算法三视角
重磅整理!推荐系统之深度召回模型综述(PART III)
前段时间读完了李航、何向南的《Deep learning for matching in search and Recommendation》,文章思路清晰,总结详实到位,值得一再翻阅,就想借这篇文章结合自己最近一年多的推荐召回工作内容,总结一下推荐系统中的深度召回模型,论文因篇幅限制,很多模型并未详细介绍,因此本文补充了一些内容。
NewBeeNLP
2021/04/12
1.8K0
【技术分享】推荐系统中的自动化特征工程
在机器学习的各个子领域中,特征工程都扮演着重要的角色。业界有这么一句话,数据和特征决定了机器学习算法的上限,而模型、算法的选择和优化只是在不断逼近这个上限。通过运用领域知识,在原始数据集中构造解释变量,有利于机器学习模型预测目标。传统的特征工程方法是运用与问题相关的领域专业知识,从数据集中提取特征。我们称之为手动特征工程,手动特征工程的缺点在于繁琐耗时,对于不同的问题需要重新开始,过于依赖人的经验与判断。因此,研发自动特征工程就尤为重要。
腾讯云TI平台
2020/06/10
3.1K0
主流CTR预估模型的演化及对比
学习和预测用户的反馈对于个性化推荐、信息检索和在线广告等领域都有着极其重要的作用。在这些领域,用户的反馈行为包括点击、收藏、购买等。本文以点击率(CTR)预估为例,介绍常用的CTR预估模型,试图找出它们之间的关联和演化规律。
数说君
2019/07/17
1.1K0
主流CTR预估模型的演化及对比
推荐系统提纲笔记
相关图文Xmind、PDF、视频讲解、代码,请参阅语雀地址:https://www.yuque.com/chudi/tzqav9/ny150b
小爷毛毛_卓寿杰
2022/09/30
4730
推荐系统召回四模型之全能的FM模型
作者简介:中国中文信息学会理事,中科院软件所博士。目前在新浪微博 AI Lab 担任资深算法专家。在此之前,张俊林曾经在阿里巴巴任资深技术专家并负责新技术团队,以及在百度和用友担任技术经理及技术总监等职务。同时他是技术书籍《这就是搜索引擎:核心技术详解》(该书荣获全国第十二届优秀图书奖)、《大数据日知录:架构与算法》的作者。
AI科技大本营
2019/03/15
2.6K0
推荐系统召回四模型之全能的FM模型
技术干货丨想写出人见人爱的推荐系统,先了解经典矩阵分解技术
网络中的信息量呈现指数式增长,随之带来了信息过载问题。推荐系统是大数据时代下应运而生的产物,目前已广泛应用于电商、社交、短视频等领域。本文将针对推荐系统中基于隐语义模型的矩阵分解技术来进行讨论。 NO.1 达观数据 技术大讲堂 评分矩阵、奇异值分解与Funk-SVD 对于一个推荐系统,其用户数据可以整理成一个user-item矩阵。矩阵中每一行代表一个用户,而每一列则代表一个物品。若用户对物品有过评分,则矩阵中处在用户对应的行与物品对应的列交叉的位置表示用户对物品的评分值。这个user-item矩阵被称
达观数据
2018/04/02
2.3K0
技术干货丨想写出人见人爱的推荐系统,先了解经典矩阵分解技术
推荐系统(十六)——FM全家桶(1),FM,FFM,DeepFM,NFM,AFM
因子分解机(Factorization Machines,FM)及其变种已经在推荐系统中得到了广泛的应用,本文就FM的系列模型进行简单总结。
秋枫学习笔记
2022/09/19
1.1K0
从Wide and Deep、DeepFM到DLRM,现代的推荐系统算法研究
2019年5月,Facebook开放了他们的一些推荐方法,并引入了DLRM(深度学习推荐模型)。这篇文章旨在解释DLRM和其他现代推荐方法是如何以及为什么能够如此出色地工作的,通过研究它们是如何从该领域以前的结果中衍生出来的,详细解释它们的内部工作原理和思路。
deephub
2021/02/12
2K0
从Wide and Deep、DeepFM到DLRM,现代的推荐系统算法研究
《深度学习推荐系统》-阅读笔记
本文是《深度学习推荐系统》一书的阅读笔记和思维导图,建议大家入手一本王喆老师的新书,看完绝对会收获颇丰!
guichen1013
2020/09/25
1.9K0
《深度学习推荐系统》-阅读笔记
推荐阅读
相关推荐
基于评论文本的深度推荐系统总结
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档