首页 理论教育 推荐算法的分类方法

推荐算法的分类方法

时间:2023-06-24 理论教育 版权反馈
【摘要】:推荐算法层出不穷,按照不同的分类标准可以得到不同的分类结果。图10-3推荐系统分类框架数据是推荐系统的基础。1)基于用户行为数据的推荐基于用户行为数据的推荐算法,也称为协同过滤算法,是推荐系统领域应用最广泛的算法。下面详细论述这七种推荐算法,并对每一类别的推荐方法比较分析优缺点及各自常用的推荐模型。因此,基于项目的协同过滤推荐关键在于计算物品之间的相似度。

推荐算法的分类方法

推荐算法层出不穷,按照不同的分类标准可以得到不同的分类结果。主流的推荐系统分为三类[1]:基于内容的推荐、协同过滤推荐和混合的推荐方法。随着推荐系统研究的不断深入和发展,涌现出越来越多的算法和模型。按照模型分为最近邻模型,隐因素模型(latent factor model, LFM)和图模型等。还可根据应用领域的不同分为电子商务领域的推荐,社交网络领域的推荐,多媒体领域的推荐,移动应用领域的推荐,跨领域推荐等。文献[7]提出了推荐系统分类框架,如图10-3所示,框架图左分支是推荐系统的应用领域:书籍、文本、图片、电影、音乐、购物、电视节目及其他,右分支是推荐系统用到的数据挖掘技术:关联规则、聚类、决策树、K-NN、链路分析、神经网络回归启发式方法等。

图10-3 推荐系统分类框架

数据是推荐系统的基础。从图10-2也可以看出,良好的推荐效果一定是来自丰富而准确的数据(用户信息、项目信息和偏好信息)。本章根据推荐系统使用的数据源不同,将推荐系统分为以下几类:基于用户行为数据的推荐、基于项目内容数据的推荐、基于社交网络数据的推荐、基于语境感知数据的推荐、基于人口统计学数据的推荐、基于心理学数据的推荐以及基于大数据的推荐。下面详细论述这七种推荐算法,并对每一类别的推荐方法比较分析优缺点及各自常用的推荐模型。

1)基于用户行为数据的推荐(user behavior-based recommendation)

基于用户行为数据的推荐算法,也称为协同过滤算法,是推荐系统领域应用最广泛的算法。利用某兴趣相投、拥有共同经验的群体喜好来给使用者推荐可能感兴趣的项目。协同过滤,即个人通过合作的机制给予项目相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选项目[8]。该算法不需要预先获得用户或项目的特征,仅依赖于用户的历史行为(显式反馈或隐式反馈)给用户兴趣建模,从而为用户作推荐。这里,显式反馈是指用户直接对项目的打分或报告,隐式反馈包括用户购买历史、浏览历史、搜索模式,甚至鼠标移动等。协同过滤方法主要分为三种类型:基于用户的协同过滤、基于项目的协同过滤和基于模型的协同过滤。

(1)基于用户的协同过滤算法(user-based CF) 。 user-based CF基于这样的假设:一个用户喜欢和他具有相似喜好的用户喜欢的项目,两个用户喜欢的项目交集越大,这两个用户越相似。两个用户兴趣相似度的计算可以有多种方法。常见的如Pearson相关系数余弦相似度计算。给定两个用户u、v,令I(u)是u感兴趣的项目集,I(v)是用户v感兴趣的项目集,计算出相似性用户u和v的相似性simm(u, v)后,可通过式10-1计算用户u对项目i的喜好程度:

其中,S(u, K)包含和用户u兴趣最接近的K个用户,N(i)是对项目有过行为的用户集合,rvi代表用户v对项目i的兴趣度。由于用户的喜好通常随时间而变化,所以需要周期性的对用户之间的相似性做一次更新。

(2)基于项目的协同过滤推荐(item-based CF)。 item-based CF基于这样的假设[9]:一个用户会喜欢与他之前喜欢的项目相似的项目。因此,基于项目的协同过滤推荐关键在于计算物品之间的相似度。item-based CF认为两个项目被越多的用户同时喜欢,两个项目就越相似。通过式10-2计算用户u对一个物品j的兴趣度:

这里N(u)是用户喜欢的项目的集合,S(j, K)是和项目j最相似的K个项目的集合,sim(j, i)是项目j和i的相似度,rui是用户u对项目i的兴趣度。

基于用户的协同过滤和基于项目的协同过滤统称为基于邻域的推荐(nearest neighbor recommendation),也称作基于记忆的推荐算法(memory-based recommendation)。基于邻域的推荐算法需要维护一个用户相似度矩阵或项目相似度矩阵,因此,对于项目的数目更新速度远远小于用户数目增长速度的情况,宜采用基于项目的推荐算法,如亚马逊建立的推荐系统正是基于项目的协同过滤推荐算法[6],还有移动应用产品的推荐[10]。另外,有研究表明,基于项目的算法一般在性能上要优于基于用户的算法[11]。 Jun Wang等人[12]通过相似性融合,统一了基于用户和基于项目的协同过滤方法,这样就避免了单纯基于用户或基于项目CF的局限性。基于领域的推荐算法不足之处在于数据稀疏性等问题,难以处理大数据量下的即时结果。因此提出了基于模型的协同过滤推荐算法。

(3)基于模型的协同过滤推荐(model-based CF)。基于模型的协同过滤推荐,是用训练数据来学习识别复杂模式,从而得到学习模型,然后基于学习模型在数据集上做智能预测[13]。文献[14]提出一个概率方法的协同过滤,未知打分的计算如式10-3所示,

这里,假设打分值是整数在0到n之间,概率表示为:给定已有的被打分项目的用户的打分,用户u将对项目s给出一个特定的打分。

比较有名的基于模型的CF推荐算法还有:贝叶斯信念网CF模型(Bayesian belief nets CF models)[15]、聚类CF模型(clustering CF models)[16]、概率因素模型(probabilistic factor models) 17]、隐语义模型(latent semantic CF models)[11] 、隐因素模型[18]也称为矩阵分解模型(matrix factorization),采用SVD、主成分分析[19]、SVD++[20]等矩阵分解方法来推荐。文献[21]结合传统的协同过滤和概率主题模型的优点,为用户和项目提供一个可解释的隐语义结构,用来给某一个在线社区的用户推荐科技文章。此外,还有基于图模型的推荐[22,23],将推荐问题转化为图模型中的节点选择问题,通过分析节点之间的路径,来增加CF算法推荐结果给用户带来的惊喜度。(www.xing528.com)

2)基于内容数据的推荐(content-based recommendation)

基于内容数据推荐的基本思想[24]是对一个给定的用户推荐与他之前喜欢的项目在内容上有相似性的其他项目。这种推荐仅需要得到两类信息:项目特征的描述和用户过去的喜好信息。它不需要一个很大的用户社区或打分历史,对单个用户就可以产生推荐列表。关键技术是对项目建模和对用户的喜好建模,并计算它们的相似性。建模的方法有多种,Salton等人提出的传统向量空间模型[25]是最常用的基于内容数据的推荐方法。其他建模方法还有很多,如改进的向量空间模型、显式决策模型、线性分类和机器学习等。

基于内容的推荐有两个主要缺陷:①推荐给用户的项目与该用户已经消费过的项目很相似,这使得不易发现用户不熟悉但是潜在感兴趣的项目种类;②需要预处理项目以得到能够代表他们的项目特性,但这种预处理在实际问题中往往非常困难,特别是在多媒体领域的数据(图像、音频、视频等)。针对以上不足,一种利用领域专家给项目打标签的方法被提出[26],也即传统的分类系统(taxonomy);另一种是用户给项目打标签,也即大众分类系统(folksolomy)。前一种比较科学权威,但是不能很好地表达用户的个人观点,是单向无互动的。后一种比较多元化,不够准确,但能及时反馈用户观点,有助于兴趣挖掘。

3)基于社会网络数据的推荐(social network-based recommendation)

社会推荐(social recommender)主要是针对用户和他们过去行为的社会关系进行系统化平衡。它基于这样的信念:在社会网络中,与其他用户进行链接的用户,表示愿意分享一定共同的兴趣爱好或者他们之间有相似的品位(同质性原理),这里的相似性被期望来帮助改进推荐准确率和质量。

基于社会网络的推荐早先大部分是基于领域的方法。首先探索打分者的社会网络,聚集打分者的打分来计算预测打分:然后找到打分者的邻居。除了简单的基于邻域的方法,还有许多是基于模型的推荐方法,如采用矩阵分解方法[27]、图模型[28],将用户的社会网络和用户物品的喜好关系建模到一张图中,联合基于项目的推荐和基于信任(trust-based)的推荐,然后利用随机游走算法给用户做推荐。采用异构数据源对用户兴趣进行建模,从异构社会网络中学习相关性[29]。这里,基于信任的推荐是将信任度引入推荐系统,用信任度代替相似度。有许多方法可以计算用户的top N信任邻居。用一个信任矩阵(如Eigentrust[30])来计算top N被信任的用户,或者激活扩散模型(spreading activation model)[31]通过他们接收到的能量来给结点排序。更进一步,考虑到一个用户可能在不同的领域信任不同的朋友子集,文献[32]通过引进一个“推测的朋友圈”概念,来决定用户朋友的最佳子集合,即将用户的朋友分到与所属类别相关的社会信任环,提出基于环的在线社会网络推荐。

4)基于语境感知数据的推荐(context aware-based recommendation)

20世纪90年代,“语境感知计算”概念被提出,语境信息类型包括[33]时间、信息、外界物理环境(如天气、温度等)、设备类型、周围人员、活动状态、目的/意图等。还有些系统考虑了情绪、计算平台、网络条件、社会网络等更为广泛的语境。上下文/语境在一个消费者购买的行为中会引起很重要的变化,在用户行为模型中引入语境信息能改进预测的能力[34]。基于语境感知的推荐系统一般分为两种类型:①通过语境驱动的查询和搜索推荐;②通过语境的启发和评估推荐。基于语境驱动的查询和搜索已经被用在移动和游客推荐系统[35,36],典型的使用语境信息来查询或搜索一个特定的资源应答(如餐馆)并给出最好的匹配资源推荐给用户(如离用户最近的当前营业着的餐馆);基于语境喜好的启发和评估(包括不同用户提供的各种项目打分的启发和评估[37~39])方法可追溯到文献[38],使用多维方法来整合语境信息到推荐系统,这里传统的二维用户/项目被延伸来支持额外的语境维度,如时间、位置和公司。此后,许多针对语境喜好的启发和评估方法[39,40]被提出,所有这些都强调模型化和学习用户的语境感知喜好的必要。

5)基于人口统计学数据的推荐(demographic-based recommendation)

人口统计学(Demographic)由人口统计资料搜集方法、人口统计资料的汇总与整理和人口分析方法三个互相联系的部分组成[41]。通常人口统计学数据包括人的年龄、性别、国籍、民族、工作、学历、出生地等。基于人口统计学的推荐是根据人口统计学数据对每个用户建立一个用户剖面(user profile),系统根据用户的剖面图,计算用户间相似度,得到当前用户的最近邻集,最后系统会把基于“邻居”用户群喜好的项目推荐给当前用户。

目前已有应用概率模型或智能引擎来进行基于人口统计学数据推荐[42,43]。文献[42]考虑用户模式(stereotypes)应用基于概率的模型推荐书籍。还有利用智能引擎与互联网上的用户进行交互,基于用户的人口统计学剖面(profiles)来推荐网页。如文献[43]通过研究如何利用大量的用户人口统计数据和用户行为数据来构建用户的兴趣模型( lifestyle finder)的方法。首先作者根据用户看电视、购物的行为,将用户按照他们的人口统计学特征分成62个簇,然后对任意一个用户,先找到他所属的簇,再给他推荐这个簇里其他用户喜欢的项目。

6)基于心理学数据的推荐(psychology-based recommendation )

已有研究表明人的心理方面的如心理特征和情感因素在用户做决策的时候非常重要[44,45]。基于人类情感、个性的模型已经被广泛地应用[46]。基于心理学的推荐方法有情感智能(emotional intelligence)[ 47]、满意度(satisfaction )[48]、心理作用(psychological effects)[ 49]、个性特质(personality-based) 50]。文献[47]提出使用用户情感智能来改进推荐性能,这是最早把情感元素加入用户剖面来进行个性化推荐的研究。文献[51]开发了一个适应性强的智能用户模型(smart user mode, SUM)。值得一提的是,Neflix竞赛获得者之一就是学心理学的。

7)基于大数据的推荐(big data-based recommendation)

对推荐系统而言,“大数据”包含系统可触及的数据,如用户行为数据、社会网络数据、人口统计学数据、语境感知数据等。我们可以合理利用系统能够触及的所有数据进行推荐。相对于6种基于单一数据的推荐,大数据环境下的推荐是至少基于两种类型的数据而进行的推荐。研究表明基于大数据的各种混合推荐算法的推荐效果要优于单纯的基于一种数据的推荐,如将基于社会网络的推荐和协同过滤推荐结合[52]、将基于内容的推荐和协同过滤方法结合[53]、跨领域推荐[54]。文献[55]提出了如下组合思路:加权(weighted)、变换(switching)、混合(mixed)、特征组合(feature combination)、级联(cascade)、特征扩充(feature augmentation)和元级别(meta-level),以上7种组合思路都可用来做基于大数据的推荐。

基于大数据的推荐系统以对海量数据进行分析、挖掘为基础,收集系统涉及的数据,通过多种算法进行推荐,提高推荐质量。基于大数据的推荐本质上是一种个性化的排序,根据不同的场景,使用不同的数据和不同的推荐算法策略。不仅帮助用户发现感兴趣的信息,而且使用推荐系统,能够防止用户流失,提高了用户的忠诚度,同时一定程度上也提高了网站的点击率。此外,基于大数据的推荐,可利用分布式技术和云计算的优势,采集并存储大量的用户行为日志,并针对不同的用户产生个性化的推荐。同时,基于大数据的推荐系统具有横向扩容的特性,使得随着数据的增长,能够随时扩充推荐系统的计算与存储能力。另外,基于大数据推荐系统的性能优化方面,可以使用倒排索引和cache机制等。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈