zoukankan      html  css  js  c++  java
  • 《上下文感知协同过滤推荐系统的矩阵分解技术综述》学习笔记

    《Matrix Factorization Techniques for Context-Aware Collaborative Filtering Recommender System: A Survey》,2018年,在dblp可下载。

    摘要

    协同过滤推荐系统通过学习过去用户项目关系来预测用户在在线信息、产品、服务的偏好。协同过滤的一个主要方法是基于邻域的,用户和项目的评分通过相似项目或用户计算。随着信息量和活跃用户增多,这种方法因为数据稀疏性和可伸缩性的限制,导致性能下降、推荐低质量、不准确预测。尽管有这些缺点,信息过载的问题还是引起了人们对个性化推荐技术的兴趣。上下文信息、矩阵分解技术被证明是一种解决这些挑战的方案。我们对使用了矩阵分解的上下文感知推荐系统领域的文献做了一个集中回顾。本文对上下文感知推荐系统和大规模数据集性能提高方法和上下文信息对推荐质量准确性的影响做了详细文献综述。研究结果可作为改进和优化现有基于上下文感知的协同过滤推荐系统的基本参考。本文的主要贡献是对上下文感知协同过滤推荐系统中的矩阵分解技术进行了综述。

    引言

    推荐系统是一类web应用程序,它通过提供关于各种类型的信息、产品和服务的个性化建议来帮助用户实现信息过载。现有的推荐系统应用可分为娱乐、电子商务、电子学习和旅游服务推荐、专家咨询和配对等特定领域。随着可访问的信息量和用户的不断增长,用于生成建议的各种技术都存在稀疏性和可伸缩性问题,导致准确性和质量下降。然而,该方法的普及吸引了大量的研究,以提高预测精度和质量的建议。由于对实际应用程序的需求不断增长,人们对这一领域的兴趣仍然很高,这些应用程序能够提供个性化的建议并有效地处理信息过载问题。这是因为个性化技术的重要性,它不仅旨在根据客户的偏好、限制或口味为客户提供量身定制的信息,而且还可以增加商业系统的利润。

    这些不断增长的需求对推荐系统和解决这些问题提出了一些关键的挑战,许多先进的技术,如内容增强的协同过滤,内容增强的矩阵分解,以及上下文信息的合并一直致力于提高推荐预测的准确性。上下文感知推荐系统方法已经证明可以提供更准确的预测和相关建议。

    在协同过滤中使用了两种主要的方法:基于邻域的和矩阵分解。邻域方法依赖于用户邻居的偏好,即具有相似偏好的其他用户来估计用户偏好矩阵分解的基本形式是用因子向量来表征项目和用户。这些因素是从项目评级模式中推断出来的(Koren&Bell,2015)。矩阵分解通过一组潜在因素(也称为特征)来表示用户和项目之间的关系。它形成两个低秩矩阵,分别表示用户(或项目)与集合潜在特征之间的关系。这两个矩阵相乘可以估计用户未来的偏好(Chertov、Brun、Boyer和Aleksandrova,2015)。

    在这篇论文中,我们探讨了在研究中所研究的各种矩阵因子分解方法,这些方法的目的是提高大规模数据集的性能和合并上下文信息的影响。

    评价指标

    没有一个通用的评价框架可以适用于所有的推荐系统。然而,有各种各样的方法来评估它们的性能。通常使用三种度量算法质量的指标:预测、分类和排名精度。预测精度衡量系统预测的评级与实际评级之间的差异。这类度量中最流行的是平均绝对误差(MAE)。(几篇关于推荐算法的比较,都是用MAE这个度量)使用的其他相关度量包括均方误差(MSE)、均方根误差(RMSE)或标准化平均绝对误差。分类的准确性衡量了系统如何区分好的项目和坏的项目。分类指标有Precision、Recall和ROC。排名精度衡量系统像用户那样对推荐项目进行排序的能力。

    相关文献

    本节简要概述了有关推荐系统的调查。我们将现有的调查分为四类。第一类介绍推荐系统研究。这包括(Adomavicius&Tuzhilin,2005;Bouraga、Jureta、Faulkner和Herssens,2014;Park、Choi、Kim和Kim,2011)的工作。第二类调查提供了方法;上下文感知系统(Baldauf、Dustdar和Rosenberg,2007)、方法和限制(M.Sharma,2013)、基于社会网络的协作过滤(Yang、Guo、Liu和Steck,2013);推荐系统的基本方法(Felfrnig等人,2014)。第三类是推荐系统的各种应用。这包括旅游套餐推荐)、旅游指南、电台托管,第四类包括各种推荐系统技术的评估。

    协同过滤的研究主要集中在传统的二维用户/项目问题上。2006年,为了改善电影推荐状态,推出了价值100万美元的网络电影推荐竞赛,推荐系统算法的研究得到了重视。这场竞赛引起了许多研究人员的兴趣。Koren等人。证明了矩阵分解模型优于经典的最近邻技术(Koren等人,2009)

    标准矩阵分解的扩展包含了上下文信息,如时间感知矩阵分解,上下文感知矩阵分解(Baltrunas,Ludwig,&Ricci,2011)和上下文SLIM(Zheng,Mobasher,&Burke,2014)。Tensor Factorization的应用。

    文章会将对之前的推荐信息过滤系统进行补充和扩展。Su和Khoshgoftaar的调查研究了协同过滤技术,并全面介绍了基于内存、模型和混合方法的优点、缺点和挑战。Karydi和Margaritis调查介绍了并行和分布式系统在推荐系统领域的应用。该调查为采用并行和分布式技术的推荐系统提供了详细的背景知识。

    文章架构

    论文的其余部分由四个部分组成。下一节描述了本研究中使用的方法,而第3节概述了上下文感知矩阵分解技术。最后一部分给出了结论,并对未来的发展方向提出了建议。

    方法

    我们进行了一次集中的文献回顾,以确定上下文感知矩阵分解技术的研究论文,重点关注2007年至2016年现有上下文感知协同过滤推荐系统的局限性、优点和挑战。布尔搜索技术的搜索条件是推荐系统、协同过滤、矩阵分解以及它们与上下文感知的组合。在最初的搜索中,重复的文章被删除了。那些不符合我们调查要求的论文摘要被删除了。最后,对基于矩阵分解技术的CARS论文进行了全文回顾。

    上下文感知协同过滤推荐系统的矩阵分解技术

    上下文感知协同过滤

    软件应用系统中的上下文感知的概念已经被许多不同应用领域的研究团体所接受。上下文的精确定义取决于推荐系统应用领域(Bazire&Brézillon,2005)。我们采用了一个被广泛接受的上下文定义,即可以用来描述一个实体的情况的任何信息(Dey&Abowd,2000)。实体是被认为与用户和应用程序(包括用户和应用程序本身)之间的交互相关的人、地方或对象。除了用户、项目和评分之外,上下文通常扮演着附加信息的角色,这些信息可能与当前的推荐相关。合并上下文信息的目的是通过使它们适应用户的上下文情况来生成更相关的建议。

    上下文感知系统根据不断变化的上下文感知和调整其行为,通常由四个基本组件组成:上下文获取、上下文发现、上下文模型和上下文处理。传统的二维推荐系统处理两类实体,用户和项目,试图在用户×项目矩阵中估计未知的评分。

    在过去的十年里,许多推荐系统的算法和应用已经被开发出来,将上下文信息引入到推荐算法中。Sarkaleh等人。(Sarkaleh、Mahdavi和Baniardalan,2012)提出了一种模型,该模型能够向游客推荐博物馆内的新地点,同时向游客提供有关建议地点某些特征的基本信息,并考虑到学生、游客和普通人的特殊需要。基于特征的个性化推荐系统,分类为知识水平、工具、民族语言和工具,考虑访问者获取艺术作品的内容。在TripAdvisor(Wang、Chan和Ngai,2012)中,一个专注于所提供景点的应用程序,结合人口统计学数据,研究推荐算法与机器学习方法相结合,用于预测旅游景点评级的适用性。情绪作为上下文变量的角色(Zheng,Mobasher,&Burke,2013)评估了两种流行的上下文感知推荐算法——上下文感知分割方法和差异上下文建模。结果表明,情绪关联语境对情境感知推荐有重要贡献。使用额外的上下文信息数据,如天气、时间、社交媒体情绪和用户偏好,可以提供用户当前上下文的更准确模型,从而改进推荐(Meehan、Lunney、Curran和McCaughey,2013)。

    矩阵分解技术

    随着用户和项目数量的增加,协同过滤面临着数据稀疏性和可伸缩性问题。矩阵分解已经成为揭露数据背后隐藏结构的有力工具。一些常用的矩阵分解模型有奇异值分解(Sarwar、Karypis、Konstan和Riedl,2000)、主成分分析(PCA)(Goldberg&Roeder,2014)、概率矩阵分解(PMF)(Salakhutdinov&Mnih,2008)和非负矩阵分解(Cai、He、Han和Huang,2011)。矩阵分解方法基于矩阵分解。结果表明,基于奇异值分解的预测算法可以利用潜在关系克服稀疏性问题。SVD可以通过增加用户和项目的偏差来进一步改进。Koren等人。提出了SVD++利用隐式反馈,以较高的计算成本为代价,获得了较高的精度。

    张量分解(TF)通过结合上下文信息,将传统的二维矩阵分解问题扩展为同一问题的n维版本(Gautam、Chaudhary、Sindhwani和Bedi,2016)。多维矩阵被分解为低维表示,其中用户、项目和每个上下文维度用一个低维特征向量表示(Baltrunas等人,2011;Hidasi&Tikk,2013)。Karatzoglou等人。(Karatzoglou等人,2010)提出了一种基于张量分解的CF方法的多宇宙推荐模型。

    一些研究侧重于解释由用户项矩阵的因式分解产生的潜在特征。从非负矩阵分解中提取的特征用于建立用户和项目之间的关系。在这些作品中,特征被视为用户组、组或项或项的属性。这些解释需要人为干预。在(Brun,Aleksandrova和Boyer,2014)中,潜在特征被解释为用户。

    上下文感知系统的矩阵分解

    开发上下文感知推荐算法有三种基本方法(Adomavicius&Mobasher,2011):预过滤、后过滤和上下文建模。在预过滤方法中,上下文信息被用来过滤掉不相关的评级,然后再用于计算推荐。上下文感知分割方法(CASA)有三种方法:用户、项和用户项分割。在项目拆分(Baltrunas&Ricci,2014);(Baltrunas&Ricci,2009)中,会创建一个项目的多个副本,以保存基于评级的上下文在不同上下文中生成的评级。当寻求建议时,只考虑与当前上下文匹配的项目。以用户拆分为例(Baltrunas&Amatriain,2009年);(Said,De Luca,&Albayrak,2011年),它分割用户而不是项目。第三个CASA是用户项拆分,它是项拆分和用户拆分的结合。用户项目分割方法已经被证明优于单独项目或用户分割方法(Zheng,Mobasher,et al.,2013)。

    在后过滤方法中,将经典的二维推荐方法应用于非上下文推荐数据后,使用上下文信息(Baltrunas&Ricci,2014);(Zheng,Burke,&Mobasher,2014);(Zheng,Mobasher,&Burke,2015)。在后过滤中有两种常用的方法:基于模型的方法和启发式方法。在基于模型的方法中,通过构建模型来预测在给定的上下文情况下推荐的项目与用户相关的概率,从而从推荐结果列表中筛选出项目。将从列表中筛选出概率低于设定阈值的项目,并根据概率加权评级进行重新排名。

    上下文建模包括在推荐模型中使用上下文(Zheng、Burke和Mobasher,2012年);(Zheng、Burke和Mobasher,2013年)。上下文建模将上下文信息直接整合到其推荐过程中。上下文感知矩阵分解、回归和决策树等预测模型都是将上下文纳入其方法的上下文建模技术的示例。

    为用户提供一种基于社交关系的间接推荐方式。基于信任的上下文感知矩阵分解(TCMF)将信任信息结合到用户偏好和用户项上下文交互中(Li,Sun,&Lv,2014)。因子分解方法建立在信任感知协同过滤(Jamali&Ester,2010)的工作基础上。在(Li,Y ang,&Jiang,2016)中,通过使用社会网络分析将静态信任模型扩展到新的基于动态信任的上下文感知矩阵分解(DTCMF),以充分捕捉信任的动态。比较结果表明,动态信任上下文感知矩阵分解技术具有更好的性能。

    布尔矩阵分解(BMF)与奇异值分解(SVD)的比较研究由(Akhmatnurov&Ignatov,2015)提出。用二元矩阵的布尔矩阵乘积进行的实验表明,在邻域数目不多的情况下,二元矩阵的布尔矩阵乘积具有更高的精度。

    (Fang&Guo,2013)提出了一种基于上下文因子和潜在因子之间模糊映射的张量因子分解模型在这个工作电影标签和发布时间我们使用作为上下文变量。标签和发布时间的组合被建模为多维上下文。据报道,时间标签(TTSVD)实现了更好的RMSE和HLU,同时减少了25%的迭代次数。

    稀疏线性方法(SLIM)是为传统推荐系统中的Top-N推荐而设计的(Ning&Karypis,2011)通过直接从数据中学习聚集系数的稀疏矩阵(与传统项目项相似性相似)改进了基于项目的最近邻协同过滤。上下文SLIM(Zheng,Mobasher,et al.,2014)源于SLIM合并上下文信息,是Top-N推荐的矩阵分解方法。表1总结了上下文感知矩阵分解技术、评估指标和比较研究的结果。

    (Akhmatnurov & Ignatov, 2015) BMF与SVD的比较研究。将原始矩阵分解为二元矩阵的布尔矩阵乘积的实验,并与SVD进行了比较。

    结论和未来工作

    这篇综述提供了一个广泛的概述,利用矩阵分解技术将上下文信息合并到基于协同过滤的推荐系统中。尽管推荐系统领域已经有了长足的发展,但是自从推荐系统研究开始以来,推荐质量、稀疏性、可扩展性、冷启动和隐私问题等方面的问题一直没有得到解决。
    推荐系统无论他们提供推荐的方法如何,都证明通过提供相关的个性化信息来克服信息过载的问题是有用的。CF是最成功、应用最广泛的推荐技术。然而,与其他方法一样,该技术也受到数据稀疏性和可伸缩性问题的限制,这些问题阻碍了预测的性能、质量和准确性。协同过滤中数据稀疏的主要原因是大多数用户没有对大多数项目进行评分,使得可用的评分稀疏。CF面临这个问题,因为它依赖于评级矩阵。为了克服传统推荐系统存在的问题,提出了引入上下文信息的方法。除了用户、项目和评分之外,上下文还扮演着其他信息的角色,这些信息可能与当前的推荐相关。

    矩阵分解是一种发现数据背后隐藏结构的强大技术。奇异值分解、非负矩阵分解和概率矩阵分解是目前比较流行的分解模型。SVD能够有效地处理大数据集、等级矩阵稀疏性和CF算法的可扩展性问题。NMF被广泛用于降维和提取潜在因子。PMF模型对用户和电影特征设置高斯先验,将推荐任务转化为概率问题。矩阵/张量因子分解模型可以通过使用随机梯度下降(SGD)、交替最小二乘法(ALS)或MCMC(MCMC)来优化。张量因式分解模型计算量大,在实际应用中并不流行。现有的各种评价指标也可以通过测量推荐系统的覆盖率和准确性来评价推荐系统的性能,但现有的评价指标还不足以评价推荐系统的质量和有用性。推荐系统的评价指标被困在推荐准确度上。

    未来CARS的研究方向应该是对语境的统一定义以及语境信息的构成。另一个需要考虑的重要方面是解决因合并上下文信息而产生的隐私问题。在用户研究中进行更多的研究对于获得必要的反馈和走出准确性的笼子至关重要。虽然已经开发了许多先进的技术来解决数据稀疏性问题,但它仍然是一种解决数据稀疏性的方法。对快速和可伸缩计算的需求是至关重要的,因此必须花费大量精力来开发高效和可伸缩的算法。

  • 相关阅读:
    Eclipse搭建springboot项目(八)拦截器、过滤器、监听器
    JAVA LOG
    Eclipse搭建springboot项目(七)启动方式
    Eclipse搭建springboot项目(六)全局异常
    Eclipse搭建springboot项目(五)单元测试
    Eclipse搭建springboot项目(四)热部署
    Eclipse搭建springboot项目(三)配置文件自动注入+文件上传需求
    报错
    Eclipse搭建springboot项目(二)springboot目录
    Linux window查询网络端口
  • 原文地址:https://www.cnblogs.com/chenshaowei/p/13419091.html
Copyright © 2011-2022 走看看