英语原文共 14 页,剩余内容已隐藏,支付完成后下载完整资料
一种改进的基于优化用户相似度的协同推荐算法
Hao Chen1 · Zhongkun Li1 · Wei Hu1
在线发布:2015年9月15日
copy;斯普林格科学 商业媒体纽约2015
摘要:传统的协同过滤推荐存在许多问题,如数据稀缺性,冷启动,推荐准确性和及时性。如何提高推荐的效率和质量是协同推荐的关键问题。在传统的协同过滤算法中,在计算相似度时,有时可能忽略所有项目的不同用户的评级量表。为了优化这一问题,提出了一些算法,如调整后的余弦相似度算法和Pearson相似度算法,但仍存在单个评级量表对于同一项目用户不同的问题。当用户对共同集合上的得分向量具有显着差异时,它可以导致类似的结果向量结果。这种现象的实质存在直接影响用户相似度计算的准确性。此外,它将影响目标用户的预测分数准确性。为解决该问题,提出了一种基于优化用户相似度的改进协同推荐算法。将平衡因子添加到传统的余弦相似度算法中,该算法用于计算不同用户之间的项目评级量表差异。此外,可以通过实验获得最合适的平衡因子阈值,通过一系列合理的实验来验证基于阈值的算法的有效性。实验结果表明,所提出的改进的基于用户相似度的协同过滤算法可以显着优化用户相似度的准确性,获得更好的推荐结果。
1 湖南大学计算机科学与电子工程学院,长沙410082
关键词:协作推荐用户相似度评定量表差异平衡因子
· · ·
介绍
协同过滤推荐系统是推荐技术在个性化推荐技术中最成功的应用之一。随着个性化推荐技术的快速发展,电子商务的个性化推荐带来了巨大的商业利益,并为社会生活的各个领域的公众提供高效,准确和个性化的功能。在各行各业的研究人员的共同努力下,这项技术的研究和开发从未停止过。个性化推荐技术日趋成熟,协同过滤技术成为最广泛推荐的技术之一。随着商品数量和网络用户的增加,协同过滤推荐技术面临着时效性和数据稀缺等多重挑战,但这并不会完全影响协同过滤技术的普及。研究人员提高了协同过滤的质量,如基于聚类的协同过滤,协同过滤算法的概率,基于神经网络的协同过滤,协同过滤,矩阵分解,基于概率模型,贝叶斯模型等多种模型抽象,最大熵模型,吉布斯抽象,线性回归和光泽。
基于这些研究,本文利用用户评级历史信息,用户之间的单一分数数据差异以及与传统用户相似性度量算法的结合,提出了基于用户相似度改进的协同推荐算法,并验证了可行性和通过实验改进协同推荐算法。
相关作品
协同过滤推荐系统是迄今为止最广泛的个性化推荐应用,最受欢迎,最成功,最着名的推荐系统。这些年来对个性化建议的相关研究包括反映模型的错误[1],基于项目的方法和奇异值方法[2] 等等。Tapestry系统是推荐的过滤系统,主要用于新闻和邮件;它是一个基于研究的协同过滤推荐系统消息[3].GroupLens主要用于推荐的新闻和信息是一种自动类型的协同过滤系统[4].范等人。提出了一种结合基于内容的算法和用户活动的协同过滤算法,有效地优化了数据稀疏性问题[5].K Zhao根据用户评级和协同过滤提出了一系列项目,以提高传统协同过滤算法的效率[6].李ZL等。提出了一种基于改进蚁群算法的动态协同过滤推荐方法;它可以更准确地表示真实的用户功能[7].
协同过滤推荐算法的基础是类似用户的类似偏好。寻找协同目标受众是协同过滤算法的核心步骤之一。基于用户的协同过滤算法用于查找目标用户的最近邻居以协调目标用户。为了提高协同过滤推荐技术的准确性,解决冷启动问题,降低计算复杂度,学者们在用户相似度计算和最近邻用户选择方面进行了大量研究。田秋提出了一种面向项目的推荐算法[4];它着重于解决由冷启动和流行项目引起的推荐准确性问题。
Linas Baltrunas和Francesco Ricci提出了基于项目的上下文感知分裂协同过滤算法,该算法将项目分为两个上下文,即使用矩阵分解合成数据集和邻居CF进行条件和评估。推荐系统可以根据用户过去的行为信息建立用户兴趣模型,并通过个性化推荐算法向用户推荐其行为尚未产生的商品。为了提高协同过滤推荐的质量,研究人员提出了多种推荐算法。例如,Piraste通过使用信息和电影导演的类型减少了矩阵稀缺并解决了冷启动的问题[5],这需要使用额外的信息并指挥流派;Pitsilis通过使用系统用户评级数据建立了假设的信任关系。通过这种方式,您可以解决一些冷启动问题和稀缺问题[6],但这种方法中的信任关系并不是真正的社交网络问题;库马尔使用矩阵分解技术[7]减少矩阵的维数,提高推荐系统的准确性;Tsai和Hung提出了分阶段评分预测方法[8利用初始评分矩阵的聚类方法对用户和商品进行聚类,然后通过加权非负矩阵分解方法对早期商品聚类的结果进行预测和推荐。
张等人。提出了一种应用于用户协同推荐的聚类算法[9].近年来,多个学习领域已成为一个新的研究方向[10,11];有许多学者开始关注学习方法,将应用程序迁移到协同过滤算法。移民学者提出了许多学习方法相应的协同过滤算法有基于模型的迁移方法,如评级矩阵生成模型,RMG-M [12,集体矩阵分解,CMF [13],坐标系Ttansfer,CST [14此外,还存在基于样本的迁移方法,如通过综合因子分解的转移方法,TIF [等]15].
有一些学者基于社会网络结构相似度计算的改进[16–20].基于用于计算距离的社交网络图,一些方法使用加权距离作为用户之间的相似性指数校正。然而,随着互联网用户的快速增长,用户之间距离的计算复杂性也随之迅速增长。在一定程度上提高了推荐算法的性能,减轻了冷启动问题;更重要的是,它开辟了一个全新的视角研究人员。许多研究人员试图优化数据挖掘的效率[21–24],机器学习[25–27],从不同角度进行数据整合[28–32].
这些研究在一定程度上解决了协同过滤算法中的冷启动和数据稀疏问题,提高了推荐性能。然而,在计算用户相似度时,他们都没有考虑大量现象的存在。当两个用户面对分级向量和分数时,很容易得到类似的和向量,这会导致用户获得高度的相似性。假设用户得分为两个向量,分别为r(r1,r2,r3,r4),r˙j(r˙1j,r˙2j,r˙3j,r˙4j) ,rJJ(r1JJ,r2JJ,r3JJ,r˙4jj),如图所示
˙ = ˙ ˙ ˙ ˙ = =
r1
r2
r4
r3
r
r
1
r
2
r
3
r
4
r
r
1
r
4
r
2
r
3
r
图1不同和向量的比较
显然,从图中可以看出。 矢量r1,r2,r3,r4,r˙1j,r˙2j,r˙3j,r˙4j之间存在很大的差异, r1JJ,r2JJ,r3JJ,r˙4jj。但它们的和向量r,r˙j,rJJ具有高度相似性。在实际数据中,存在大量此类数据。如果有
˙ ˙ ˙ ˙ ˙
仅仅是用于计算用户相似度的简单调整余弦相似度算法,这将不可避免地导致大量用户相似度计算偏差。
鉴于此,学者们提出了调整后的余弦相似度算法(ACSA)和Pearson相似度算法(PSA),它们考虑了用户之间的评定量表差异。实验证明了这两种算法在一定程度上提高了用户相似度的准确性。
基于用户的协同过滤算法
基于用户的协同过滤算法需要先计算目标用户与其他用户之间的相似度;之后,我们将这些最近的用户组成具有较高相似度值的邻居集。然后瞄准邻居集中的项目并预测目标用户的所有评级。然后我们必须按降序计算得分,按照推荐给目标用户的降序选择前N项得分。
余弦相似度算法
在计算用户的相似度时,用户之间主要有三种相似性度量,包括标准余弦相似度算法,调整后的余弦相似度算法和Pearson相似度算法。
余弦相似度算法公式1:
调整后的余弦相似度算法公式2:
Pearson相似度算法公式3:
方程式(1)–(3):Ra,i 是项目i上的用户ua 的评级。这里Ra 是用户评级的平均值。Ia,b 表示用户ua 和ub 共同评估的项目。Ia 是用户ua 评定的项目集。Ib 是用户ub 评定的项目集。
生成邻居集
邻居集是与当前目标用户具有相似偏好的用户的集合。这项名为K-nearest-neighbor(KNN)的技术[33总是用于在基于用户的协作推荐系统中选择邻域。它使用相似度作为权重来选择top-K用户作为设置给目标用户的邻居。
生成推荐集
在选择了目标用户的邻居集之后,它与项目的所有邻居的得分以及用户之间的相似性相结合,以预测目标用户在测试项目上的得分。从分数集中选择前N个记录作为推荐结果。假设目标用户是u,测试程序是i,i的预测得分是
(5,4,4,3)
R1
R2 (3,2,2,1)
(1,0,0,1)
rdiffer1
rdiffer2
(1,0,0,1)
图2
方程式(4):Nu 是用户u的最近邻集,Rl,i 是用户的评分我在项目i上。
改进的基于用户相似度的过滤算法
准确地查找目标用户的协作邻居集是协同过滤算法的核心。通过计算两个用户之间的相似度,传统的基于用户的协同过滤算法找到目标用户的前K个最近邻居,然后通过最近邻居实现推荐。因此,用户相似度算法的准确性将直接影响所推荐算法的性能。然而,传统余弦相似度算法在计算用户相似度时忽略了一种普遍存在的现象。当两个用户的得分矢量和单个得分差别很大时,也很容易得到类似的和矢量,这导致用户获得高度的相似性。改进的协作推荐算法是引入平衡因子,其考虑邻居集内的用户之间的单一差异。因此,为了获得一组具有更好推荐质量的类似用户,我们需要结合传统算法并提出类似的平衡因子。也就是说,它考虑用户与邻居集中的单个分数差异之间的相似性。为了证明存在
在该现象中,我们假设用户1的得分向量是R˙1 =(5,4,4,3),用户2的得分向量是R˙2 =(3,2,2,1)。用户1的评级和用户2在项目上的评级差异向量是R˙Differ2(1,0,0,1)。下图比较了他们的情况向量:如图。2 表明,当调整余弦相似度算法和Pearson相似度算法在单个项目上的得分在项目集合中存在较大差异时,会出现高度的用户相似现象。虽然这种现象是基于用户的平均得分而存在一定的合理性,但即使得到的结果具有高度的相似性,也不是正常现象。在大量数据的情况下,这种现象也是合理的,因此也有必要改善这种现象。下一个本节将介绍旨在改善问题的平衡因素的概要。
=
平衡因素
基于用户的协同过滤推荐算法在用户单一评定量表的高差异条件下计算用户相似度时存在用户相似度高的问题。目前提出的算法并未将用户单一评定量表的差异视为权重来平衡相似度计算结果。为了解决这个问题,本文提出了平衡因子的概念,它将用户评分量表的差异考虑到用户相似度计算中,以弥补传统相似度计算方法的这一缺点。用户ua 和用户ub 之间的比例差异计算如下公式5:
平衡因子计算如下公式6:
改进的相似度算法
这里,改进的用户相似度计算方法Imp_sim(ua,ub)基于将平衡指数omega;(ua,ub)与结果相加的传统调整余弦相似度算法。然后使用相似度计算结果邻居集并根据公式推荐项目(2) 最后。
用户相似度计算流程图如下图所示。3.
用户相似度计算过程可以脱机运行,因此可以减少建议的运行时间并提高推荐速度,从而解决问题
lt;
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[19931],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。