mf模型 svd++_序列推荐模型(一): FPMC

8ee37c396063b000b1c96e25cb003e2d.png

Factorizing Personalized Markov Chains for Next-Basket Recommendation

摘要和介绍

这篇文章发表于 WWW2010,当时主流的推荐方法是MF和MC

  1. MF(Matrix Factorization) : 用于建模用户与物品的偏好。给定已知用户和物品的交互,来预测矩阵中其他未知位置的用户偏好,方法有SVD分解,隐变量模型和基于优化/学习的方法等。
  2. MC(Markov Chain): 用于建模用户与商品交互的序列信息。MC方法基于转移矩阵,通过上一时刻的交互来预测下一个时刻的用户交互。

FPMC(Factorizing Personalized Markov Chains for Next-Basket Recommendation):

MF方法适合于建模personalized的推荐场景,MC方法适合于建模sequential的推荐场景,那么在Next-Basket Rec的任务中,如果既想考虑user-taste,又想考虑sequential信息,应该怎么做?

作者想了一个很自然的方法,那就是给每一个user建模一个markov transition matrix。也就是建模一个

的transition tensor,来融合序列和个性化两方面的信息。由于我们多考虑了一个user的维度,所以数据更加稀疏,为了应对数据稀疏,导致的不容易估计的问题,作者建立了一个分解模型来做分解。

任务介绍

首先为了说明MF和MC方法各有优缺点,Rendle举了两个例子:

  1. 有一个小伙平时爱看科幻电影,比如星战之类的。有一天陪女朋友看了泰坦尼克号,MC模型倾向于下一个推荐浪漫电影,而MF是global recommender,MF倾向于推荐科幻片。这说明MC模型容易受到最近交互的噪声影响。
  2. 有一个小伙买了camera,MF模型可能会继续推荐电子产品,MC模型会推荐胶片之类的"配件"。这说明MF这种全局建模u-i关系的难以利用序列化信息,做next item的预测。

FPMC的任务:

已知用户列表

,物品列表
和每一个用户的历史交互序列
, 注意,这里的
不是单个的物品,而是物品的basket。去求解一个排序问题:
, 也就是说对每一个用户的每一个时间形成一个item的排序。

方法

核心问题在于如何估算transition tensor的参数:

方法1: MLE 和 full parametrization

这是极大似然的估计方法,由于tensor的每一个位置都需要估算,所以又是一个全参数估计的方法。这种方法计算简单,但是面临一个问题, 就是每一个

的共现只是对
有贡献,这造成了本来稀疏的信息更加利用不完全,最后矩阵中出现大量的0。如果我们考虑u,这种问题尤为严重,因为要
三者的共现才能做出有效的估计,而这样的共现对是稀疏的。

方法2:tensor分解

根据上面的分析,单独考虑每一个user->item, 和 item->item之间的转移概率估计,不能完全利用信息,这说明u-i和i-i之间的信息应该可以share。全参数的估计面临稀疏性的问题,希望得到低秩表示。

Tucker分解:

显然有如下的关系式:

考虑最简单的单位tensor分解核:

通过上面的式子,可以看到这其实是向量内积做矩阵分解的tensor分解版本。

由于数据是稀疏的,Rendle 提出了下面的pairwise interaction的tensor分解:

对user,current item和next item 三者的pair关系设置两方面的embedding,通过点积的和来估算:

这样做的好处:

  1. 降低计算复杂度,相比较TD分解,这种分解方法参数量有所降低(因为没有三维的core),分解和推断的代价都会降低。
  2. 个人理解: 因为数据是稀疏的,TD分解想要降低复杂度,就只能使得core tensor更加稀疏,一个极端的情况,使用单位core tensor,这样变成三个embedding的element-wise的乘法,如果数据(embedding)稀疏, 按位置乘法就有可能造成0位置过多。
  3. 显式建模pairwise的interaction信息,可能更为直接。

回到MC:

这种建模方法比方法1的全参数建模参数量更少,而且解决了数据稀疏的问题。

训练方法

对于序列中的每一个转移,都可以采集作为偏序关系的学习样本。

从t-1 -> t, 的转移过程采用BPR优化器训练,学习偏序关系。序列中的BPR优化方法被作者命名为S-BPR。

和MF/MC方法的关系

注意到在训练的过程中,并没有对current-item做负采样,也就是说这个打分和括号里面和U,L相关的项,对于训练过程都是一样的,做差之后就抵消了,完全没有影响。

所以在BPRloss下可以简化为:

显然前一项是描述U-I的关系的,可以视为MF项,后一项是描述I-I关系的,可以视为FMC项。

值得注意的是: 并不能将FPMC视为 简单的MF,FMC线性相加。理由如下:

  • 训练是联合的,不是单独训练拼起来
  • 这是建立在优化器和采样方法对U-L之间的关系没有感知的基础上
  • 采用pairwise interaction的tensor分解方法才可能出现这种情况

所以应该将FMC+MF视为一种退化的解。

结果和启示

  • FMC和MC相比克服了数据稀疏的问题,而且这种低秩估计的分解方法不容易overfit。
  • MF和FMC相比,在dense数据上MF更好,因为user相关的信息比较多。FMC在sparse数据上更好,因为这时没有足够的信息来学习用户的偏好,反而是最后一项物品更重要。
  • 无论在dense还是sparse,FPMC都比FMC和MF好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科学计算机怎么算四分位数,83939数理分析网

【www.shanpow.com--节日作文】第一篇83939数理分析网:手机号码数理分析手机号码数理分析手机是大家日常生活中最常用的东西,手机号码也暗喻数理卦象玄机,有些人甚至比姓名更看重,毕竟换手机号码比改名字简单。互联网上有很多可以测试的网站&…

使用python读取iphone文件_如何在连接的iPhone上用Python从windows7访问照片?

当我将iPhone连接到windows7系统时,Windows资源管理器会打开DCIM内容的虚拟文件夹。我可以通过Pywin32(218)访问shell库接口,如下所述:Can I use library abstractions in python?给定在Windows资源管理器中工作的面向用户的编辑路径(SIGDN_…

离人愁有用计算机怎么写歌词,离人愁歌词是什么意思 今两股痒痒什么意思

最近《离人愁》这首富含古风的歌曲可是大火,既然是古风,里边的歌词也是让大多网友不理解其中表达什么意思,进而不能好好体会作者写这首歌的意图,其实每个人对于这首歌曲还是有很多自己的理解的,现在小编就来介绍这首歌…

手机耗电统计app_华为手机有哪些功能关掉比较好?

阅读本文前,请您先点击上面的蓝色字体“野趣说”,再点击“关注”,这样您就可以继续免费收到文章了。每天都有分享,完全是免费订阅,请放心关注!现在的手机使用一年半左右就会出现卡顿的情况,这也…

北京航空航天大学计算机科学与工程系,北航郑征主页 北京航空航天大学教师个人主页系统...

[1].教育部学位与研究生教育发展中心评审专家[2].IEEE Transactions on Dependable and Secure Computing客座编辑[3].国际SCI期刊Knolwedge-based Systems副主编[4].国际会议ISSRE2020程序委员会共同主席(International Symposium on Software Reliability Engineering-CCF B)…

3种团队分组适应项目_团队类型

展开全部根据团队存在的目的和拥有自主权的大小可将团队分成四种类型:问题解决型团队、自我32313133353236313431303231363533e59b9ee7ad9431333431363635管理型团队、多功能型团队、虚拟型团队。1、问题解决型团队问题解决型团队是指组织成员就如何改进工作程序、方…

制作html弹窗,js制作一个简单的div弹窗:

/p>"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">弹出层.black_overlay{display: none;position: absolute;top: 0%;left: 0%;width: 100%;height: 100%;background-color: black;z-index:1001;-moz-opacity: 0.8;opacity:.80;filter: alpha(op…

太原冶金技师学院计算机系,山西冶金技师学院2021年招生简章

山西冶金技师学院2021年招生简章随着考试的落幕,很多学生都比较关注一些学校的招生信息,其中山西冶金技师学院就受到很多学生关注,学校的专业专业设置也比较多,那么在今年,该学校的招生简章有什么要求呢?学校的专业招…

netty获取玩家chanel_Netty4.X 获取客户端IP

最近使用netty-4.0.23.Final 版本编写服务端代码,有个获取客户端代码的小需求,以前使用servlet开发时很机械的就:String ipAddr"0.0.0.0";if (reqest.getHeader("X-Forwarded-For") null) {ipAddr reqest.getRemoteAddr();}else{i…

html高度没有滚动条,Div扩展了页面高度,但没有滚动条

我在页面左侧有一个div用于导航链接。点击标题可展开链接的子集。我将此div设置为页面高度的100%,以便列占据页面的整个左侧。当所有子类别都展开时,会出现问题。 div的内容在页面底部运行,但不添加滚动条。Div扩展了页面高度&…

es 删除重复数据_怎么标识并删除SPSS数据库里的“重复个案”?

背景:测试学生体质数据时,由于部分学生第1次测试成绩不合格,让他们进行了补测。但是,录入数据时,没有替换,造成这部分学生有2个体测成绩,现在需要找到这些重复个案并删除较差的成绩。1. 数据概览…

计算机视觉sci需要什么水平论文,计算机视觉博士一般几篇论文_林达华博士_林达华视觉...

2019年,计算机视觉领域,你推荐哪些综述性的文章?...期待更多CVer在FGIA领域作出有影响力的工作,更多FGIA信息可参见也欢迎相关领域同学进入 旷视南京研究院 参与相关课题的研究...如何读一篇优秀的计算机论文?转载一个…

上海大学计算机考研试题,08-09上海大学计算机考研试卷.doc

08-09上海大学计算机考研试卷第 页 共 页 第 页 共 页第 页 共 页 第 页 共 页上海大学2008~2009学年 秋季学期研究生答题卷课程名称:计算机视觉基础 课程编号: 0座机电话号码 学 分: 4 考试日期: 2008年11月23日应试人…

python logging模块的作用及应用场景_Python常用模块功能简介(三)logging

logging基本介绍先介绍一下我们为什么要使用日志,平常我们编写程序为了验证程序运行与debug,通常会使用print函数来对一些中间结果进行输出验证,在验证成功后再将print语句注释或删除掉。这样做在小型程序中还比较灵活,但是对于大…

计算机科技文献中 CAM,计算机辅助设计、制造(CAD、CAM)和《机械制图》 课程的结合、探索与实践研究...

王建臣摘要:随着我国科学技术的迅猛发展,计算机技术也随之得到大范围推广,并迎来跨越式的发展,在机械行业中,管理、设计、制造都已经逐渐换装计算机来进行。计算机机械制图作为机械专业的基础课程,肩负着培…

docker linux 快速开窗口_Linux搭建docker环境并简单实用

记录生活:配置阿里云镜像源docker YUM[rootcentos-linux ~]# sudo yum install -y yum-utils device-mapper-persistent-data lvm2[rootcentos-linux ~]# sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装…

清华计算机接口原理,微机原理与接口技术课后习题答案清华大学

微机原理与接口技术课后习题答案清华大学 微机原理与接口技术课后部分习题参考答案 第一章 2. 第 3项任务,根据状态标志位的状态决定转移方向。 3. 程序存储是将要执行的程序的全部指令存储到存储器中,程序控制指程序开始执行后,通过指令流控…

vf求计算机系统当前日期的年份数,计算机二级VF常用函数列表

数值函数:1.绝对值和符号函数格式:ABS()SIGN()例如:ABS(-5)5,ABS(4)4,SIGN(8)1,SIGN(-3)-1,SIGN(0)02.求平方根表达式格式:SQRT()例如:SQRT(16)4,它与开二分之一次方等同。3.圆周率函数格式:PI()4.求整数函…

element走马灯自动_详细element-ui的走马灯carousel轻松实现自适应全屏banner详细过程...

div部分CSS部分.bannerImg{width: 100%;height: inherit;min-height: 600px;min-width: 1400px;}vue.JS部分var vm new Vue({el : #apptwo,data : {bannerHeight:"",BannerImg:["${request.contextPath}/statics/BCHimg/b6.png","${request.contextP…

4n35光耦引脚图_光耦继电器的主要特点以及输入特性!先进光半导体

光耦合器是一种电光电转换设备,可将电信号作为介质传输。它由两部分组成:光源和光接收器。发光源和光接收器被组装在同一气密壳体中,并通过透明绝缘体彼此隔开。发光源的引脚为输入端子,光接收器的引脚为输出端子,公共…