协同过滤算法中的相似度优化方法

合集下载

协同过滤算法中的物品属性相似度计算方法(九)

协同过滤算法中的物品属性相似度计算方法(九)

在推荐系统中,协同过滤算法是一种常用的推荐方法。

它通过分析用户的历史行为数据,发现用户对物品的偏好,然后根据相似用户或物品的偏好来进行推荐。

在协同过滤算法中,物品属性相似度计算方法是一个重要的环节,直接影响推荐结果的准确性和有效性。

一、基于内容的物品属性相似度计算方法在协同过滤算法中,基于内容的物品属性相似度计算方法是一种常见的计算方法。

该方法首先需要对物品的属性进行特征提取,例如对商品的描述、标签、关键词等进行提取和编码。

然后通过计算这些属性之间的相似度来确定物品之间的相似程度。

在基于内容的方法中,常用的相似度计算方法包括余弦相似度、欧式距离、皮尔逊相关系数等。

其中,余弦相似度是一种常用的计算方法,它可以有效地衡量两个向量之间的相似程度。

具体计算方法为两个向量的点积除以它们的模长的乘积。

欧式距离则是另一种常用的相似度计算方法,它可以度量两个向量之间的距离,距离越小表示相似度越高。

二、基于协同过滤的物品属性相似度计算方法除了基于内容的方法外,基于协同过滤的物品属性相似度计算方法也是推荐系统中常用的方法之一。

该方法通过分析用户对物品的行为数据,发现用户对物品的偏好,然后根据相似用户或物品的偏好来进行推荐。

在这种方法中,物品之间的相似度可以通过用户的行为数据来进行计算。

在基于协同过滤的方法中,常用的相似度计算方法包括基于用户的协同过滤和基于物品的协同过滤。

基于用户的协同过滤是通过分析用户对物品的行为数据,发现相似用户之间的偏好,然后根据相似用户的偏好来进行推荐。

而基于物品的协同过滤则是通过分析物品之间的关联性,发现相似物品之间的偏好,然后根据相似物品的偏好来进行推荐。

三、综合考虑的物品属性相似度计算方法除了基于内容和协同过滤的方法外,还有一种综合考虑的物品属性相似度计算方法。

该方法结合了基于内容和基于协同过滤的优点,通过综合考虑物品的属性和用户的行为数据来计算物品之间的相似度。

在综合考虑的方法中,常用的相似度计算方法包括基于内容和协同过滤的加权相似度计算方法。

协同过滤算法中的用户群体相似度计算方法(七)

协同过滤算法中的用户群体相似度计算方法(七)

协同过滤算法中的用户群体相似度计算方法在推荐系统中,协同过滤算法是一种常用的方法,它通过分析用户的行为和偏好来推荐相关的物品。

而在协同过滤算法中,用户群体相似度的计算方法是非常重要的一环。

本文将探讨协同过滤算法中用户群体相似度计算方法的一些常见技术和算法。

1. 基于用户的协同过滤算法基于用户的协同过滤算法是协同过滤算法的一种主要方法。

它的核心思想是通过计算用户之间的相似度来进行推荐。

其中,计算用户相似度的方法有很多种,比如基于皮尔逊相关系数、基于余弦相似度等等。

皮尔逊相关系数是一种常用的用户相似度计算方法。

它通过计算用户之间的评分数据的相关性来衡量他们的相似度。

具体来说,皮尔逊相关系数是通过计算用户之间的评分数据的协方差和标准差来得到的。

而余弦相似度则是通过计算用户之间的向量夹角的余弦值来衡量他们的相似度。

这两种方法都有各自的优缺点,可以根据具体情况来选择使用。

2. 基于物品的协同过滤算法除了基于用户的协同过滤算法外,基于物品的协同过滤算法也是一种常见的方法。

它的核心思想是通过计算物品之间的相似度来进行推荐。

在这种算法中,物品之间的相似度计算同样是非常重要的一环。

在基于物品的协同过滤算法中,常用的物品相似度计算方法包括基于余弦相似度、基于调整的余弦相似度等。

基于余弦相似度的方法是通过计算物品之间的向量夹角的余弦值来衡量它们的相似度。

而基于调整的余弦相似度则是通过对余弦相似度进行一定的调整来得到更准确的相似度值。

3. 基于模型的协同过滤算法除了基于用户和基于物品的协同过滤算法外,基于模型的协同过滤算法也是一种常见的方法。

它的核心思想是通过建立用户和物品之间的模型来进行推荐。

在这种算法中,用户和物品之间的相似度计算同样是非常重要的一环。

在基于模型的协同过滤算法中,常用的相似度计算方法包括基于矩阵分解、基于深度学习等。

矩阵分解是一种常用的方法,它通过分解用户-物品评分矩阵来得到用户和物品的隐含特征向量,从而计算它们之间的相似度。

协同过滤算法中的用户群体相似度计算方法(十)

协同过滤算法中的用户群体相似度计算方法(十)

协同过滤算法中的用户群体相似度计算方法在电商平台、社交媒体和视频网站等各种在线服务中,协同过滤算法广泛应用于个性化推荐系统中。

协同过滤算法的核心是通过分析用户的行为数据,发现用户之间的相似性,从而推荐给用户可能感兴趣的商品或内容。

而用户群体相似度计算方法是协同过滤算法中的重要环节,本文将探讨几种常见的用户群体相似度计算方法。

1. 基于用户行为数据的相似度计算方法用户行为数据包括用户对商品的评分、点击、购买等行为。

常见的用户相似度计算方法包括皮尔逊相关系数、余弦相似度和欧氏距离等。

其中,皮尔逊相关系数是一种常用的计算方法,它可以衡量两个用户之间评分的相关程度。

当两个用户之间的评分数据较为稀疏或者存在偏差时,皮尔逊相关系数能够更好地反映用户之间的相似度。

2. 基于社交关系的相似度计算方法在社交网络中,用户之间的社交关系也可以作为计算相似度的重要指标。

通过分析用户之间的好友关系、互动频率等社交数据,可以构建用户之间的社交网络图,进而计算用户之间的相似度。

例如,可以利用图论算法中的PageRank算法或者Katz相似度算法来计算用户之间的社交相似度,从而为个性化推荐系统提供更准确的推荐结果。

3. 基于内容特征的相似度计算方法除了用户行为数据和社交关系,用户的个人特征和偏好也可以作为相似度计算的重要因素。

通过分析用户的年龄、性别、地理位置、历史偏好等个人特征,可以构建用户的特征向量,进而计算用户之间的相似度。

基于内容特征的相似度计算方法在一些特定场景下有着较好的效果,例如在音乐推荐系统中,根据用户对音乐风格、歌手喜好等内容特征进行相似度计算。

4. 基于深度学习的相似度计算方法近年来,随着深度学习技术的发展,基于深度学习的相似度计算方法在协同过滤算法中也得到了广泛应用。

通过构建用户行为数据的深度神经网络模型,可以学习到更复杂的用户相似度计算规律,从而提高推荐系统的推荐准确度。

例如,可以利用卷积神经网络(CNN)或者循环神经网络(RNN)来学习用户之间的行为序列模式,进而计算用户之间的相似度。

协同过滤算法中的物品属性相似度计算方法(Ⅲ)

协同过滤算法中的物品属性相似度计算方法(Ⅲ)

协同过滤算法是一种用于推荐系统的算法,它基于用户对物品的评分历史,来预测用户对未评分物品的评分。

而物品属性相似度计算方法是协同过滤算法中的一个重要环节,它用于衡量物品之间的相似性,从而在推荐过程中起到关键作用。

一、基于内容的相似度计算方法在协同过滤算法中,有一种常见的物品相似度计算方法是基于内容的方法。

这种方法首先需要对物品的属性进行描述,然后通过计算这些属性的相似度来衡量物品之间的相似性。

例如,对于图书推荐系统,可以通过图书的题目、作者、出版社等属性来描述每本图书,然后通过计算这些属性的相似度来确定图书之间的相似性。

基于内容的相似度计算方法的优点是能够充分利用物品的属性信息,从而得到比较准确的相似度计算结果。

然而,它的缺点是需要对物品的属性进行详细描述,并且需要获得这些描述信息,这对于一些特定领域的推荐系统来说可能会比较困难。

二、基于协同过滤的相似度计算方法除了基于内容的相似度计算方法之外,协同过滤算法还可以使用基于用户历史行为的方法来计算物品的相似度。

这种方法通过分析用户对不同物品的评分历史,来推断物品之间的相似性。

如果两个物品被相同的用户高度评价,那么这两个物品很可能具有一定的相似性。

基于协同过滤的相似度计算方法的优点是不需要对物品的属性进行详细描述,只需要分析用户的评分历史即可得到物品之间的相似性。

然而,这种方法也存在一定的局限性,例如对于新加入系统的物品,由于缺乏评分历史,可能无法准确地计算其相似性。

三、基于混合方法的相似度计算除了基于内容和基于协同过滤的相似度计算方法之外,还有一种常见的方法是基于混合的方法。

这种方法综合了基于内容和基于协同过滤的方法,通过综合考虑物品的属性信息和用户的评分历史,来计算物品之间的相似性。

例如,可以先使用基于内容的方法来计算物品的相似性,然后再结合用户的评分历史来调整相似度的计算结果。

基于混合方法的相似度计算方法的优点是能够充分利用物品的属性信息和用户的评分历史,从而得到比较准确的相似度计算结果。

协同过滤算法中的物品属性相似度计算方法(五)

协同过滤算法中的物品属性相似度计算方法(五)

协同过滤算法中的物品属性相似度计算方法在推荐系统中,协同过滤算法是一种常用的推荐算法。

它基于用户的历史行为数据,如用户对物品的评分或点击行为,来预测用户对未见过物品的喜好程度。

而在协同过滤算法中,物品属性相似度计算方法是非常重要的一环。

物品属性相似度计算方法可以帮助推荐系统发现物品之间的相似性,从而更准确地为用户推荐物品。

常见的物品属性包括物品的内容特征、标签、分类等信息。

在计算物品属性相似度时,我们可以采用不同的方法,下面将介绍一些常见的物品属性相似度计算方法。

一、基于内容的相似度计算方法基于内容的相似度计算方法是一种常见的物品属性相似度计算方法。

它基于物品的内容特征,如文本、图片、音频等,来计算物品之间的相似度。

常见的基于内容的相似度计算方法包括余弦相似度、欧式距离、Jaccard相似度等。

1. 余弦相似度余弦相似度是一种常用的文本相似度计算方法。

它衡量两个文本向量之间的夹角余弦值,值越接近1表示两个文本的相似度越高。

在推荐系统中,我们可以将物品的内容特征表示为向量,然后利用余弦相似度来计算物品之间的相似度。

2. 欧式距离欧式距离是一种常用的距离度量方法。

它衡量两个向量之间的距离,距离越小表示两个向量越相似。

在推荐系统中,我们可以将物品的内容特征表示为向量,然后利用欧式距离来计算物品之间的相似度。

3. Jaccard相似度Jaccard相似度是一种常用的集合相似度计算方法。

它衡量两个集合的交集与并集之间的比值,值越大表示两个集合越相似。

在推荐系统中,我们可以将物品的标签表示为集合,然后利用Jaccard相似度来计算物品之间的相似度。

二、基于标签的相似度计算方法除了基于内容的相似度计算方法外,基于标签的相似度计算方法也是一种常见的物品属性相似度计算方法。

它基于物品的标签信息,如用户给物品打的标签、物品所属的分类等,来计算物品之间的相似度。

常见的基于标签的相似度计算方法包括TF-IDF算法、标签关联规则算法等。

推荐系统中的协同过滤算法优化与问题解决

推荐系统中的协同过滤算法优化与问题解决

推荐系统中的协同过滤算法优化与问题解决引言:随着互联网的快速发展和大数据的普及,推荐系统在我们的日常生活中发挥着越来越重要的作用。

协同过滤算法作为推荐系统中的一种重要技术手段,其基本原理是通过分析用户历史行为数据,找出与目标用户兴趣相似的其他用户或物品,然后给用户推荐具有相关性的物品。

然而,在实际应用中,协同过滤算法也面临一些挑战和问题,本文将对协同过滤算法的优化方法和问题解决进行详细阐述。

一、协同过滤算法的优化方法1.1 基于相似度度量的优化在协同过滤算法中,相似度度量是一个核心问题。

传统的相似度度量方法主要有欧氏距离、余弦相似度以及皮尔逊相关系数等。

然而,这些方法在处理大规模数据时存在计算复杂度高和内存消耗大的问题。

为了解决这个问题,研究人员提出了基于稀疏矩阵的近似相似度度量方法,如局部敏感哈希(LSH)和随机投影(RP)等。

这些方法可以快速计算出相似度,并提高算法的效率。

1.2 基于特征选择的优化协同过滤算法需要考虑大量的用户和物品特征,但不是所有的特征对推荐结果都有着相同的影响。

而在实际应用中,用户和物品的特征可能是高维稀疏的,包含了很多无关紧要的特征。

因此,通过特征选择的方法来筛选出对推荐结果有重要影响的特征,可以提高算法的准确性和效率。

常用的特征选择方法包括信息增益、卡方检验和互信息等。

1.3 基于上下文信息的优化传统的协同过滤算法仅仅考虑用户的历史行为数据来进行推荐,忽略了用户当前的上下文信息,如时间、地点、情感等。

然而,这些上下文信息对于推荐结果的准确性和个性化程度有着重要的影响。

因此,研究人员提出了基于上下文信息的协同过滤算法,通过引入上下文信息来改善推荐结果。

例如,可以考虑用户在不同时间段对不同物品的兴趣变化,来进行个性化推荐。

二、协同过滤算法的问题解决2.1 数据稀疏性问题协同过滤算法在处理稀疏数据时容易出现冷启动和长尾问题,即对于新用户和冷门物品缺乏足够的历史行为数据,导致推荐结果不准确。

协同过滤算法中的相似度优化方法

协同过滤算法中的相似度优化方法
smia i a u e o t ia o c e o a h f l n t od i l rt me s r p i z t n s h me f re c l g me h . y m i i i
[ ywod ]c lb rt eftrn aet e h o;i l i ereco dmo e Ke rs ol oai l ; ersn i b rs a t dge; lu dl a v ie g mi ry
第3 6卷 第 6期
V . 6 o1 3






21 00年 3月
M a c 1 r h 20 0
No 6 .
Co pu e g ne r ng m t rEn i e i
软件 技术 与数据 库 ・
文章编号:1 32( 10_ o2_ 文 o .48oo _ 5 o 0 2 ) 0 —3 献标识码: A
ma k n ma x.Di e e t i l g r ig r f r n f i me o h s i e e t fe t n i lrt c lu a i n e u t T r s l e h s r b e ,t i p pe ln h t d a d f r n e c o s mi i y ac lto r s l a . o e o v t i p o lm h s a r ma e ks r c m me d t n b sn e r s e g b ra g rt m n ma k n e s o sr ce y t e i d f i i g me h dss p r tl , nay e eme e o n a i y u i g n a e tn i h o l o ih o r i g s t n tu t d b hre k n s o l n t o e a a e y a l z st  ̄u e o c fl h r

如何优化协同过滤算法中的相似度计算(Ⅰ)

如何优化协同过滤算法中的相似度计算(Ⅰ)

在当今信息爆炸的时代,人们在互联网上获取信息的需求越来越强烈。

在这种情况下,协同过滤算法逐渐成为了推荐系统的主要算法之一。

协同过滤算法是一种通过分析用户的历史行为来给用户推荐可能感兴趣的物品的技术。

它的一个核心问题是相似度计算,相似度计算的好坏直接影响了算法的推荐效果。

因此,如何优化协同过滤算法中的相似度计算成为了一个重要的课题。

一、基于用户的协同过滤算法中的相似度计算在基于用户的协同过滤算法中,相似度计算通常采用皮尔逊相关系数或者余弦相似度。

这两种相似度计算方法都存在一些问题。

比如,皮尔逊相关系数对于稀疏数据和大规模数据的计算效率较低,而余弦相似度对用户评分的绝对值比较敏感,容易受到异常值的影响。

为了优化基于用户的协同过滤算法中的相似度计算,可以考虑引入一些附加信息,比如用户的属性信息、社交关系等。

这些附加信息可以帮助改善相似度计算的准确性,从而提高算法的推荐效果。

同时,还可以考虑采用基于矩阵分解的方法来降低相似度计算的复杂度,提高算法的推荐效率。

二、基于物品的协同过滤算法中的相似度计算在基于物品的协同过滤算法中,相似度计算通常采用余弦相似度或者改进的余弦相似度。

与基于用户的协同过滤算法类似,这两种相似度计算方法也存在一些问题。

比如,余弦相似度对物品流行度的变化比较敏感,容易受到热门物品的影响。

为了优化基于物品的协同过滤算法中的相似度计算,可以考虑引入一些附加信息,比如物品的内容信息、标签信息等。

这些附加信息可以帮助改善相似度计算的准确性,从而提高算法的推荐效果。

同时,还可以考虑采用基于图的方法来捕捉物品之间的关联关系,从而提高相似度计算的准确性。

三、深度学习在协同过滤算法中的应用近年来,深度学习技术在推荐系统领域取得了一些突破性进展。

深度学习模型可以自动学习特征表示,从而能够更好地捕捉用户和物品之间的关联关系。

因此,可以考虑将深度学习技术应用到协同过滤算法中,来优化相似度计算。

在基于用户的协同过滤算法中,可以考虑使用基于神经网络的方法来学习用户的表示,从而改善相似度计算的准确性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

—52—协同过滤算法中的相似度优化方法徐 翔,王煦法(中国科学技术大学计算机科学与技术系,合肥 230027)摘 要:在协同过滤推荐系统中,通过对稀疏评分矩阵进行填充,可以提高对用户相似度的度量效果和系统的推荐精度。

不同填充方法对相似度计算结果的影响存在较大差异。

为解决该问题,针对3类填充方法构建的评分数据集,以最近邻算法进行推荐,分析传统相似度和基于云模型的相似度经2种方法优化后的度量效果,分别为各填充方法选取最有效的相似度优化方案。

关键词:协同过滤;最近邻;相似度;云模型Optimization Method of Similarity Degreein Collaborative Filter AlgorithmXU Xiang, WANG Xu-fa(Department of Computer Science and Technology, University of Science and Technology of China, Hefei 230027)【Abstract 】In collaborative filter recommendation systems, the performance of user similarity measuring can be improved by filling the sparse marking matrix. Different filling method has different effect on similarity calculation result. To resolve this problem, this paper makes recommendation by using nearest neighbor algorithm on marking sets constructed by three kinds of filling methods separately, analyzes the measure performance optimized by two methods of traditional similarity measures and the similarity based on cloud model, and selects the most effective similarity measure optimization scheme for each filling method.【Key words 】collaborative filter; nearest neighbor; similarity degree; cloud model计 算 机 工 程 Computer Engineering 第36卷 第6期Vol.36 No.6 2010年3月March 2010·软件技术与数据库· 文章编号:1000—3428(2010)06—0052—03文献标识码:A中图分类号:TP3911 概述协同过滤是用于减少信息过载的常用技术,已成为个性化推荐系统的主要工具。

最近邻协同过滤算法[1]是当前最成功的推荐技术之一。

但随着推荐系统规模的扩大,用户评分数据出现极端稀疏性,导致该算法的推荐质量降低。

为解决数据稀疏性问题,一些学者提出了新的相似度计算模型,如文献[2]提出基于云模型的相似度计算方法。

一些学者则采用对稀疏的用户-项矩阵进行填充的技术来提高相似度度量效果。

最简单的填充办法是将用户对未评分项目的评分设为一个固定的缺省值,如设定为用户的平均评分,实验表明该方法可以有效提高协同过滤算法的推荐精度,因此,被许多简单推荐系统采用。

另一种填充方法的处理过程如下:(1)采用预测评分的方式先估算出未评分项目的评分,将用 户-项矩阵填充完整;(2)在得到的稠密矩阵上计算用户间的相似度,以最近邻算法进行推荐。

例如,文献[3]提出一种基于项目评分预测的协同过滤推荐技术,通过估计用户评分来填充用户-项矩阵,减小数据稀疏性对计算结果的影响。

文献[4]通过奇异值分解(Singular Value Decomposition, SVD)算法估计未评分项目的评分,并在稠密矩阵上计算用户间的相关相似度,采用最近邻算法求取实际未评分项目的预测值。

选取合适的相似度方法对提高推荐精度具有重要作用,因此,本文在3类填充后的评分数据集下对现有相似度度量方法进行了优化分析。

2 现有相似度度量方法本文主要研究4种相似度:余弦相似度[2](Cos),修正的余弦相似度[2](ACos),相关相似度[2](Pearson)和基于云模型的相似度(Yun)。

前3种相似度是传统相似度度量方法得到的,下文简要介绍基于云模型的相似度。

云模型表达的概念的整体特性可以用期望Ex 、熵En 、超熵He 3个特征来表示,记为C (Ex , En , He ),称为云的向量。

在云模型中,云由多个云滴组成,每个用户的所有评分集合被视为一朵“云”,每个评分被视为一个“云滴”,可以通过逆向云算法[2]实现每朵云从定量值到云的特征向量的转换,2朵云之间的相似度可以由云的特征向量的夹角余弦来表示。

基于云模型的相似度度量算法描述如下:输入 用户i 的评分集合P i =(x 1,x 2,…,x N ),用户j 的评分集合P j =(y 1,y 2,…,y M ),其中,N , M 分别为用户i 和用户j 评分过的项目个数。

输出 用户i 和用户j 的相似度YSim (i , j )(1)计算用户i 的评分矢量的样本均值11Ni i X x N ==∑,一阶样本绝对中心矩11N i i x X N =−∑和样本方差2211()1N i i S x XN ==−∑−。

Ex i 的估计值为ˆEx X =,He i 的估计值为11ˆˆNii He x Ex N ==−∑,En i 的估计值为ˆEn =,则用户i 的云向量为i =C (,,)i i i Ex En He ,用户j 的云向量为j =C (,,)j j j Ex En He 。

(2)对任意2个用户i 和j 的相似度可以由C i 和C j 之间的余弦夹角来表示,即作者简介:徐 翔(1984-),男,硕士研究生,主研方向:电子商务个性化理论与方法;王煦法,教授、博士生导师 收稿日期:2009-10-25 E-mail :xuustc@—53—(,)cos(,)i j i j i jYSim i j ⋅==C C C C C C3 2种相似度优化方法3.1 基于用户评分项目并集的优化方法对稀疏的评分矩阵采用填充技术后,用户间的所有评分项目均为共同评分项目,此时相关相似度和修正的余弦相似度是等同的。

如果直接采用传统相似度方法计算最近邻,则用户的相似度由所有项目上的评分决定。

而在实际系统中这是不现实的,因此,基于所有项目的相似度是不准确的。

文献[3]提出在预测评分矩阵上计算2个用户的相似度时,仅在用户实际评分项目的并集上进行,而不考虑他们均未评价的项目评分。

本文对云模型相似度采用文献[3]的思想进行修正。

设用户i 和用户j 的评分项目的集合分别为I i 和I j ,他们评分的项目并集记作ij i j U I I =∪,i 和j 在U ij 上的评分矢量分别记作UP i 和UP j ,且'{(,)|}i ij R i t t U =∈UP , '{(,)|}j ij R j t t U =∈UP ,R ’为填充后的用户-项矩阵,R ’(i ,t )表示用户i 对项目t 的评分。

修正后,算法的输入变为UP i 和UP j ,其他部分与原算法相同。

修正后基于云模型的相似度记作UYun 。

同理,修正后的余弦相似度记作UCos ,修正后的相关相似度记作UACos 。

3.2 基于相关加权因子的优化方法相关相似度虽然能反映用户间的相似程度,但不能显示相似度的可靠程度。

例如,2个用户在较少的项目上有相同评分不表示他们的兴趣相似,因为他们同时打过分的项目较少;如果2个用户共同评分的项目较多,则相关系数可以较准确地反映他们之间的相似关系。

一些推荐系统引入加权因子e 来提高相似度的可靠性,e =Q /T ,其中,Q 为2个用户共同评分的项目数;T 为预先设定的阈值,与数据集大小相关。

如果Q >T ,则加权因子为1。

经过修正后,与活动用户共同评价项目较少的用户对最终预测结果的贡献度有所降低。

实验表明,加权因子可以提高相关相似度的可靠程度。

基于上述思想,本文采用相关加权因子来修正其他相似度方法的度量结果,以提高协同过滤算法的推荐精度。

4 实验结果与分析为分析以不同矩阵填充方式填充的用户评分数据对各相似度方法度量效果的影响,本文选取3种采用不同填充方式的数据集作为测试集,即极度稀疏数据集、缺省评分数据集和SVD 预测评分数据集,并采用最近邻算法进行评分预测。

实验以协同过滤算法的推荐精度来衡量各相似度方法度量效果的优劣。

4.1 数据集及度量标准本文实验采用Grouplens 工作组提供的公开数据集,它由943个用户的10万条值为1~5的评价数据组成。

数据集中共有1 682个电影项目,每个用户至少对20个电影项目做出评价。

实验选取其中459个用户的2万条评分数据作为初始测试集,稀疏等级为97.4%。

对稀疏评分矩阵分别进行3种填充操作,构建不同的测试集,即极度稀疏数据集(未评分项目的评分设置为0)、缺省评分数据集(未评分项目的评分缺省设置为用户的平均评分)和SVD 预测评分数据集(未评分项目的评分由SVD 算法[5]估计)。

实验采用平均绝对偏差(Mean Absolute Error, MAE)来衡量各相似度方法的度量效果,即通过计算预测的用户评分与实际用户评分之间的偏差来衡量预测的准确性。

MAE 越小,相似度方法的度量效果越好。

假设预测的用户评分集合为{p 1,p 2,…,pN },对应的实际评分集合为{q 1,q 2,…,qN },则i ii Np q MAE N∈−∑=4.2 极度稀疏数据集为评估各相似度方法的有效性,最近邻算法分别采用Yun, Cos, ACos 和Pearson 4种相似度计算最近邻居集,并以MAE 来衡量相似度方法的度量效果。

图1给出了极度稀疏数据集下各相似度方法的MAE 。

结果表明,4种方法的预测效果都不好,Pearson 的效果最差,ACos 次之,Cos 和Yun 的效果较好,Cos 的效果最好。

图1 极度稀疏数据集下各相似度方法的MAE对各相似度值的分布情况做了统计分析。

Cos 有63%的计算结果集中在(0.0, 0.2]的范围内,小于等于0的计算结果占32%。

相关文档
最新文档