加入收藏 | 设为首页 | 会员中心 | 我要投稿 湘西站长网 (https://www.0743zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

携程BI团队实践:推荐系统中基于深度学习的混合协同过滤模型

发布时间:2020-12-24 20:31:06 所属栏目:大数据 来源:网络整理
导读:背景 近些年,深度学习在语音识别、图像处理、自然语言处理等领域都取得了很大的突破与成就。相对来说,深度学习在推荐系统领域的研究与应用还处于早期阶段。 携程在深度学习与推荐系统结合的领域也进行了相关的研究与应用,并在国际人工智能顶级会议AAAI 20
副标题[/!--empirenews.page--]

背景

近些年,深度学习在语音识别、图像处理、自然语言处理等领域都取得了很大的突破与成就。相对来说,深度学习在推荐系统领域的研究与应用还处于早期阶段。

携程在深度学习与推荐系统结合的领域也进行了相关的研究与应用,并在国际人工智能顶级会议AAAI 2017上发表了相应的研究成果《A Hybrid Collaborative Filtering Model with Deep Structure for Recommender Systems》,本文将分享深度学习在推荐系统上的应用,同时介绍携程基础BI团队在这一领域上的实践。


一、推荐系统介绍


推荐系统的功能是帮助用户主动找到满足其偏好的个性化物品并推荐给用户。推荐系统的输入数据可以多种多样,归纳起来分为用户(User)、物品(Item)和评分(Ratings)三个层面,它们分别对应于一个矩阵中的行、列、值。对于一个特定用户,推荐系统的输出为一个推荐列表,该列表按照偏好得分顺序给出了该用户可能感兴趣的物品。

携程BI团队实践:推荐系统中基于深度学习的混合协同过滤模型图1. 推荐系统问题描述

如图1右边所示,推荐问题一个典型的形式化描述如下:我们拥有一个大型稀疏矩阵,该矩阵的每一行表示一个User,每一列表示一个Item,矩阵中每个“+”号表示该User对Item的Rating,(该分值可以是二值化分值,喜欢与不喜欢;也可以是0~5的分值等)。

现在需要解决的问题是:给定该矩阵之后,对于某一个User,向其推荐那些Rating缺失的Item(对应于矩阵中的“?”号)。

有了如上的形式化描述之后,推荐系统要解决的问题归结为两部分,分别为预测(Prediction)与推荐(Recommendation)。

“预测”要解决的问题是推断每一个User对每一个Item的偏爱程度,“推荐”要解决的问题是根据预测环节所计算的结果向用户推荐他没有打过分的Item。

但目前绝大多数推荐算法都把精力集中在“预测”环节上,“推荐”环节则根据预测环节计算出的得分按照高低排序推荐给用户,本次分享介绍的方案主要也是”预测”评分矩阵R中missing的评分值。


二、基于协同过滤的推荐


基于协同过滤的推荐通过收集用户过去的行为以获得其对物品的显示或隐式信息,根据用户对物品的偏好,发现物品或者用户的相关性,然后基于这些关联性进行推荐。其主要可以分为两类:分别是memory-based推荐与model-based推荐。其中memory-based推荐主要分为Item-based方法与User-based方法。协同过滤分类见图2。

携程BI团队实践:推荐系统中基于深度学习的混合协同过滤模型图2. 协同过滤分类

Memory-based推荐方法通过执行最近邻搜索,把每一个Item或者User看成一个向量,计算其他所有Item或者User与它的相似度。有了Item或者User之间的两两相似度之后,就可以进行预测与推荐了。

携程BI团队实践:推荐系统中基于深度学习的混合协同过滤模型图3. 矩阵分解示意图

Model-based推荐最常见的方法为Matrix factorization,其示意图见图3左边。矩阵分解通过把原始的评分矩阵R分解为两个矩阵相乘,并且只考虑有评分的值,训练时不考虑missing项的值,如图3右边所示。R矩阵分解成为U与V两个矩阵后,评分矩阵R中missing的值就可以通过U矩阵中的某列和V矩阵的某行相乘得到。矩阵分解的目标函数见图3,U矩阵与V矩阵的可以通过梯度下降(gradient descent)算法求得,通过交替更新u与v多次迭代收敛之后可求出U与V。

矩阵分解背后的核心思想,找到两个矩阵,它们相乘之后得到的那个矩阵的值,与评分矩阵R中有值的位置中的值尽可能接近。这样一来,分解出来的两个矩阵相乘就尽可能还原了评分矩阵R,因为有值的地方,值都相差得尽可能地小,那么missing的值通过这样的方式计算得到,比较符合趋势。

协同过滤中主要存在如下两个问题:稀疏性与冷启动问题。已有的方案通常会通过引入多个不同的数据源或者辅助信息(Side information)来解决这些问题,用户的Side information可以是用户的基本个人信息、用户画像信息等,而Item的Side information可以是物品的content信息等。例如文献[1]提出了一个Collective Matrix Factorization(CMF)模型,如图4所示。

携程BI团队实践:推荐系统中基于深度学习的混合协同过滤模型图4. Collective Matrix Factorization模型

CMF模型通过分别分解评分矩阵R,User的side information矩阵,Item,的side information矩阵,其中User或者Item出现在多个矩阵中,其所分解的隐向量都是一致的。

(编辑:湘西站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读