- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
A Collaborative Filtering Algorithm Based on Users’Partial Similarity
一个基于用户的部分相似性的协同过滤算法摘要协同过滤是推荐系统建设中最成功的技术之一,被广泛用于许多个性化的系统。但是,现有的协同过滤算法已患有数据稀疏性和可扩展性问题,从而导致不准确的推荐。在本文中,我们集中协同过滤的问题在两个关键步骤:(1)为活跃用户计算邻居用户,(2)丢失数据的预测算法。因此,我们提出一个有效的基于用户部分相似度的协同过滤算法,(我们简称为CFUPS)。CFUPS的主要思想是我们计算用户之间的相似性,依赖他们共同兴趣的部分项目,而不是所有的共同评分项目。我们结合项目的属性相似性和评分相似度来正确计算丢失的评分。从理论上讲,我们的方法有效改善建议的精度,抵御数据稀疏。同时,实验结果表明,我们提出的CFUPS算法优于其他现有的协同过滤方法。关键词:协同过滤,推荐系统,部分相似度,基于项目,基于用户介绍个性化推荐技术可以直接或间接跟踪用户行来在线地挖掘自己的喜好,为建议预测他们的兴趣,这是一个非常有效的办法来解决信息过载问题。协同过滤(CF)是推荐系统中最成功的技术之一 [5,6]。CF可以推荐信息,只根据用户项目评分矩阵,并为用户找到新的偏好,不需要思考详细的项目信息。协同过滤(CF)的主要思想是系统为一个活跃用户发现兴趣相同的用户,使用他们对信息资源的意见,在活跃用户需要一个建议时生成一个建议。这种方法已被证明在多个领域是非常成功的,特别是多值评分数据的领域。协同过滤的研究始于基于内存的方法,这个方法利用整个用户-项目数据库,基于用户或项目的相似性生成预测。已研究了两种基于内存的方法:基于用户的[10,11]和基于项目的[5,12]协同过滤。基于用户的方法首先寻找一些与活跃用户有着相似评分风格的相似用户,使用这些相似用户的评分来为活跃用户的评分做预测。基于项目的方法与基于用户的方法想法相同。唯一的区别是基于用户的方法,试图一个为活跃用户找到相似用户,但基于项目的方法,试图为每个项目找到相似项目。因此,我们可以看到,在协同过滤推荐中非常关键的一步是用户或项目之间的相似度计算。然而,随着系统的不断扩大,数据稀疏成为一个严重的问题。一般来说,信息资源的数量是巨大的,与用户的意见占全部项目的一个小比例,从而导致稀疏的用户项目评分矩阵。在这种情况下,使用传统的协同过滤方法很难准确找到相似用户,这导致少得可怜的建议数量。为了解决这个问题,文献[17]提出,使用称为奇异值分解(SVD)的方法来减少推荐系统数据库维数,这样用户对降维的每一个用户都有评分。但参考文献[1]的研究表明,这种方法可能会导致信息丢失,其影响非常依赖于数据。在高维情况下,降维不能取得良好的业绩。参考文献[12]提出了一种生成的概率框架,为了将要做出的推荐,通过混合所有的预测值评分,利用更多的用户-项目矩阵提供的可用数据。参考文献[7]提出了一种协同过滤的框架,将基于内存的方法和基于模型的方法的长处结合起来,通过引入基于平滑的方法,并预测用户项目矩阵中的所有丢失的数据,减轻数据稀疏的问题。然而,基于集群的平滑算法限制了每个群集的用户多样性,为活跃用户的建议而做的用户-项目矩阵中的所有丢失数据的预测可能带来的负面影响。一般情况下,上述方法不能得到高性能的建议。传统的协同算法和最近的改善,都计算对每一个共同评分的项目的用户或项目之间的相似性,这引起了不准确和稀疏的邻居,因为用户的疏评的级数据。我们改善现有的协同过滤,基于这样一个事实,即用户可能有几个相同的兴趣,虽然对于大多数不是这样,我们引进项目的属性,以得到更准确的项目之间的相似度,这有助于更精确的建议。相关工作在本节中,我们描述了传统的协同过滤算法和改进细节。我们还分析了在传统的相似度计算方法的问题,并举了一个例子。现有的基于内存的协同过滤算法基于用户的协同过滤假定一个推荐系统有m个用户和n个项目,在传统的算法中,输入数据被描述为一个m*n的评分矩阵。在传统的基于用户的协同过滤中,我们计算活跃用户u的最近邻居集,通过比较用户u和其他用户之间的相似性,根据输入的评分数据。然后,我们可以预测丢失的数据,根据最近的邻居集,并得到前 N个建议集合。基于项目的协同过滤典型的协同算法,基于用户的协同过滤,需要一个计算,它随着用户数和项目数的增长而增长。随着数以百万计的用户和项目,推荐系统运行现有的算法将有着严重的可扩展性问题。在[5,8]中作者提出了基于项目的协作算法,它比较项目之间的相似性。这种方法研究数据集,这个数据集被目标用户评分,并被计算对于目标项目这个数据集有多相似。通过对目标用户对这些相似项目的评分的加权平均来计算预测。可以离线计算相似度,因为项目之间的相似度比用户之间的相似度更稳定。混合式过滤方法文献[8]提出了一种混合方法,称为EMDP,它以基于项目、基于用户的协同过滤为基础,首先基于两个传统的方
文档评论(0)