基于优化的用户相似度的改进型协同推荐算法外文翻译资料

 2023-03-15 04:03

基于优化的用户相似度的改进型协同推荐算法

关键词:协同推荐;用户相似性;评级尺度差异;平衡因素

摘要

传统的协同过滤推荐存在着很多问题,比如数据稀缺性﹑冷后动﹑推荐准确性和及时性等。协同推荐的一个关键问题是如何提高推荐的效率和质量。在传统的协同过滤算法中,不同用户对所有项目的评分尺度在计算相似度时有时会被忽略掉。人们提出了一些算法来优化这个问题,比如调整后的余弦相似度算法和皮尔逊相似度算法,但这些算法仍然存在着不同用户对同一项目的单一评分尺度不同的问题。当用户在一个共同的集合上的评分向量有明显的差异时,它可能会导致相似的结果向量。这类现象的大量存在,直接影响了用户相似度计算的准确性。此外,它还会影响目标用户的预测得分准确性。为了解决这个问题,我们提出了一种基于优化用户相似度的改进型协同推荐算法。在传统的余弦相似度算法中加入了一个平衡因子,用它来计算不同用户之间的项目评分尺度差异。同时,通过实验可以得到最合适的平衡因子阈值,以及通过一系列合理的实验验证了基于阈值的拟议算法的有效性。实验结果表明,所提出的基于用户相似度的改进型协同过滤算法可以显著优化用户相似度的准确性,从而获得更好的推荐结果。

1简介

协同过滤推荐系统是个性化推荐技术中最成功的应用之一。随着个性化推荐技术的快速发展,电子商务的个性化推荐带来了巨大的商业利益,它以高效、准确和个性化的特点服务于社会生活的各个领域。在各行业研究人员的共同努力之下,该技术的研究和发展从未停止。个性化推荐技术已经越来越成熟,协同过滤技术成为最广泛的推荐技术之一。随着商品数量和网络用户的增加,协同过滤推荐技术面临着多种挑战,比如时效性和数据稀缺性,但这并不完全影响协同过滤技术的普及。研究者们提高了协同过滤的质量,如基于聚类的协同过滤﹑基于概率的协同过滤算法﹑基于神经网络的协同过滤﹑基于矩阵分解的协同过滤﹑基于概率模型﹑贝叶斯模型的抽象﹑最大熵模型﹑吉布斯抽象﹑线性回归等多种模型大放异彩。

在这些研究的基础上,本文利用用户评分历史信息﹑用户之间的单一评分数据差异以及与传统用户相似度度量算法的结合,提出了基于用户相似度改进的协同推荐算法,并通过实验验证了协同推荐算法的可行性和性能改进。

2相关成果

协同过滤推荐系统是迄今为止最广泛的个性化推荐应用,也是最流行、最成功和最著名的推荐系统。这些年关于个性化推荐的相关研究包括:误差反映模型、基于项目方法和奇异值方法等。Tapestry系统是一种基于研究的协同过滤消息推荐系统,主要用于推荐新闻和邮件。GroupLens系统是一种自动的协同过滤系统,主要用于推荐新闻和信息。范等人提出了一种基于内容的算法和用户活动相结合的协同过滤算法,有效地优化了数据的稀疏性问题。赵提出了一种基于用户评分和协同过滤的项目集合,以提高传统协同过滤算法的效率。李等人提出了一种基于改进的蚁群算法的动态协同过滤算法;它能更准确地表示真实的用户特征。

协同过滤推荐算法的基点是相似用户的相似偏好。寻找协同的目标受众是协同过滤算法的核心步骤之一。基于用户的协同过滤算法是用来寻找目标用户的最近邻居来协调目标用户。为了提高协同过滤推荐技术的准确性,解决冷启动问题和降低计算复杂度,学者们在用户相似度计算和最近邻用户选择方面进行了大量研究。田秋提出了一种面向项目的推荐算法;它着重解决了由冷启动和热门项目引起的推荐准确性问题。

Linas Baltrunas和Francesco Ricci提出了基于项目的情境感知拆分协同过滤算法,该算法将项目拆分为条件和评估两个情境,用矩阵分解合成数据集和邻居CF。推荐系统可以根据用户过去的行为信息建立用户的兴趣模型,并通过个性化的推荐算法向用户推荐其行为还未产生的商品。为了提高协同过滤推荐的质量,研究人员提出了多种推荐算法。例如,Piraste通过使用信息和电影导演的类型,减少了矩阵的稀缺性,解决了冶启动的问题,这需要使用额外的信息和导演流派;Pitsilis通过使用系统用户评分数据建立了一个假想的信任尖系。通过这种方式可以解决一些冶启动问题和稀缺性问题,但这种方法中的信任尖系并不是真正的社会网络问题;Kumar使用矩阵分解技术来降低矩阵的维度,以提高推荐系统的准确性;Tsai和Hung提出了一种分阶段的分数预测方法,即采用初始评分矩阵的聚类方法,先对用户和商品进行聚类﹐然后通过加权非负矩阵分解方法对前期的商品聚类结果进行预测和推荐。

张等人提出了一种聚类算法,该算法适用于用户的合作性推荐。近年来,学习的多个领域已经成为一个新的研究方向。已经有很多学者开始关注学习方法,将应用迁移到协同过滤算法。迁移学者们提出了许多与协同过滤算法相对应的学习方法。其中有基于模型的迁移方法,如评分矩阵生成模型,RMG-M,集体矩阵分解,CM,集体矩阵分解法,CMF,坐标系迁移法,CST等。此外,还存在基于样本的迁移方法,如综合因子化的转移方法,TIF。

有一些学者基于对社会网络结构相似度计算的改进。基于社会网络图来计算距离,有些方法采用加权距离作为用户间的相似度指标修正。然而,随着互联网用户的迅速增加,用户间距离的计算复杂性也相应地迅速增长。在一定程度上提高了推荐算法的性能,缓解了冷后动的问题;更重要的是,它为推荐算法开辟了一个全新的视角。许多研究人员尝试从不同角度优化数据挖掘、机器学习和数据集成的效率。

这些研究在一定程度上解决了协同过滤算法中的冷后动和数据稀少的问题,提高了推荐性能。但是,他们在计算用户相似度时都没有考虑到大量现象的存在。当两个用户面对的评分向量和分数有很大差异时﹐很容易得到一个相似的和向量,这就导致用户得到高相似度。假设用户对两个向量进行评分,分别为

如图1所示:

显然,从图1中可以看出,向量r1、r2、r3、r4、r1rsquo;、r2rsquo;、r3rsquo;、r4rsquo;、r 1”、r2”、r3”、r4”之间存在着很大的尺度差异。但是它们的和向量r, rrsquo;, rrsquo;rsquo;有高度的相似性。在实际数据中,这种类型的数据数量巨大。如果仅仅使用一种简单的调整余弦相似度算法来计算用户相似度,必然会导致大量的用户相似度计算偏差。

有鉴于此,学者们提出了调整余弦相似性算法(ACSA)和皮尔逊相似性算法(PSA),这两种算法都考虑了用户之间的评分尺度差异。实验证明,这两种算法在一定程度上提高了用户相似度的准确性。

3基于用户的协同过滤算法

基于用户的协同过滤算法首先需要计算目标用户与其他用户之间的相似度,然后将这些相似度较高的最近的用户组成邻居集。然后瞄准邻居集合中的项目,预测目标用户的所有评分。然后,我们按降序计算分数,选择分数最高的N个项目按降序推荐给目标用户。

3.1 余弦相似度算法

在计算用户相似度时,用户之间的相似度度量方法主要有三种,包括标准余弦相似度算法,调整后的余弦相似度算法和皮尔逊相似度算法。

余弦相似度算法:

调整后的余弦相似度算法:

皮尔逊相似度算法:

方程(1)-(3):R(a,i)是用户U(a)关于项目i的评分。这里的R(a)是项目i的平均评分。I(a,b)表示用户Ua和Ub共同评价的项目。Ia是用户U(a)评价的项目集。Ib是用户Ub评价的项目集。

3.2 生成邻点集

邻居集是一个与当前目标用户有相似偏好的用户集合,被称为K-近邻(KNN)的技术在基于用户的协同推荐系统中总是被用来选择邻居。它使用相似性作为权重来选择前K个用户作为目标用户的邻居集。

3.3 生成推荐集

选定目标用户的邻居集后,结合所有邻居的项目得分和用户之间的相似度,预测目标用户在测试项目上的得分,从分数集中选择前N条记录作为推荐结果。假设目标用户为u,测试项目为i,i的预测分数为:

方程式(4):Nu是用户u的近邻集,R(l,i)是用户的评级分数。

4基于用户相似度的改进型过滤算法

准确找到目标用户的协同邻居集合是协同过滤算法的核心。传统的基于用户的协同过滤算法通过计算两个用户之间的相似度,找到目标用户的前K个最近的邻居,然后通过最近的邻居实现推荐。因此,用户相似度算法的准确性将直接影响推荐算法的性能。然而,传统的余弦相似度算法在计算用户相似度时忽略了一个普逼存在的现象,当两个用户的得分向量和单项得分相差很大时,也很容易得到一个相似的和向量,从而导致用户得到高相似度。改进的协同推荐算法是引人了一个平衡因素,它考虑了邻居集合内用户之间的单一差异。因此,为了得到具有更好推荐质量的相似用户集,我们需要结合传统算法,提出一个相似的平衡因子。也就是说,它考虑了用户之间的相似性和邻居集合中的单一分数差异。为了证明存在这种现象,我们假设用户1的评分向量为R1=(5,4,3,2,1),用户2的评分向量为R2=(5,4,3,2,1)。用户1的评分和用户2对项目的评分差异向量为R(Differ2)=(1,0,0,1)。下图比较了他们的向量:

如图所示2,当调整后的余弦相似度算法的和皮尔逊相似度算法的得分在单个项目的集合上有较大差异时,会出现用户高度相似的现象。虽然这种现象是基于用户的平均得分,存在一定的合理性。但即使得到的结果相似度很高,也不是一种正常现象。在数据量大的情况下,这种现象的发生也是有道理的,所以也有必要改善这种现象。接下来本节将介绍旨在改善这一问题的平衡因素的概念。

4.1平衡系数

基于用户的协同过滤推荐算法在计算用户相似度时,存在着在用户单次评分量表差异大的条件下,用户相似度高的问题。目前提出的算法没有将用户单项评分表的差异作为权重来平衡相似度的计算结果。为了解决这个问题,本文提出了平衡因子的概念,将用户评分尺度的差异考虑到用户相似度计算中,以弥补传统相似度计算方法的这个缺陷。用户Ua和用户U之间的尺度差异b计算如下:

平衡系数的计算方法如下:

这里sumDiffer omega;(ua, ub,)是用户Ua和用户Ub之间的规模差异b,omega;(ua, us)是用户Ua和用户Ub之间的平衡因子b,lambda;是平衡因子的权重指数,需要反复修正才能得到相对准确的数值,I(a,b)是用户Ua和Ub共同评价的项目集,R是用户的项目评分,M是I的a,b计数。通过计算,我们可以得到sumDiffer omega;(ua, ub)isin;[0,4],omega;( ua,ub)isin;(0,1)。当用户之间的分数差sumDiffer omega;(ua,ub)较低时,本文提出的平衡系数omega;(ua,ub)趋向于1。这样对初始相似度计算结果的影响就会比较小。但是用户之间的分数差sumDiffer omega;(ua,ub)越高,omega;(ua,ub)越小。那么我们就可以平衡传统的余弦相似度算法计算出来的结果,从而得到更准确的用户之间的相似度。

4.2改进的相似性算法

这里改进的用户相似度计算方法Imp_sim(ua,ub)是在传统的调整余弦相似度算法的基础上增加一个平衡指数omega;(ua,ub)的结果。然后使用相似度计算结果的邻居集,根据公式(2

剩余内容已隐藏,支付完成后下载完整资料


英语原文共 14 页,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[595965],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。