一种基于信任矩阵的协同过滤推荐方法

2024-06-26 04:19彭玉马永波
电脑知识与技术 2024年14期
关键词:协同过滤推荐系统

彭玉 马永波

摘要:协同过滤算法是当今电子商务推荐系统中主要采用的技术之一,然而用户-物品矩阵的稀疏性问题却是协同过滤算法的主要限制之一。为了解决这一问题,文章提出了一种基于信任的协同过滤算法。该方法利用用户对物品的评分来计算用户间的直接信任,然后基于信任推理生成信任矩阵,以找到最近的邻居并为用户进行推荐。与传统的协同过滤算法相比,提出的方法能够利用额外的信息来帮助缓解稀疏性问题。实验结果表明,该算法可以显著改善推荐性能。

关键词:推荐系统;协同过滤;信任推理;稀疏性

中图分类号:TP31 文献标识码:A

文章编号:1009-3044(2024)14-0035-03 开放科学(资源服务)标识码(OSID) :

0 引言

推荐系统根据用户的过往行为和兴趣向他们推荐产品和信息,它是解决信息过载问题、帮助用户做出更好决策的有用工具。如今,电子商务网站广泛使用推荐系统来推荐图书、CD、新闻、电影、旅行产品等。协同过滤是当今推荐系统中使用的主要技术。它通过识别与目标用户有相似兴趣和偏好的其他用户,然后通过汇总这些用户对物品的评分来进行推荐。

然而,随着电子商务推荐系统中用户和物品数量的急剧增加,即使是那些在评分方面活跃的用户也只能对总体物品中的少数进行评分,甚至流行的物品也只能被总体用户中的少部分评价过,导致了一个稀疏的用户-物品矩阵。由于稀疏性,无法正确计算用户之间的相似度并进行推荐。即使相似度的计算可行,由于信息不足,推荐可能也不可靠。这个稀疏性问题已被确定为协同过滤的主要局限之一,提出了几种方法来解决这个问题,包括降低用户-物品矩阵的维度[1],使用基于物品的相似度或物品类别相似度替代基于用户的相似度[2],对用户进行聚类以找到相似用户[3],并使用信任度指标代替相似度。

本论文提出了一种基于信任矩阵的协同过滤推荐算法,以处理稀疏性问题。该算法利用用户之间的信任关系和信任推理来为目标用户寻找更多的邻居,能够缓解传统协同过滤算法的稀疏性问题并提高推荐性能。本文的组织如下:第1节回顾了基于信任的推荐算法的相关工作。第2节详细说明了提出的基于信任的协同过滤推荐算法。第3节用相应的实验来验证提出算法的有效性。第4节总结了本文并提出未来研究工作的方向。

1 相关工作

信任被定义为用户对另一个用户可靠性的主观信念。信任可以分为直接信任和间接信任。直接信任是一个用户通过直接互动而对另一个用户产生的信任,而间接信任是一个用户通过信任传播而对另一个用户间接产生的信任。所有用户之间的信任关系可以在一个全局信任网络中进行聚合,该网络是一个有向加权图。节点代表用户,实线边和虚线边分别表示用户之间的直接信任和间接信任。每条边的权重表示一个用户对另一个用户的信任程度。

许多研究者已经将不同的信任度量引入到协同过滤中,以替代或补充相似度度量,以便为目标用户找到最近的邻居,并提出了不同的基于信任的协同过滤算法。他们利用来自Epinions.com的用户显式信任评级和信任传播来为给定用户寻找更多的邻居[4]。这种方法可以增加协同过滤的覆盖率并提高推荐性能,但需要用户提供显式的信任评级,并为用户带来额外的成本。其他方法使用用户对物品的评分来计算一个全局的“声誉”值,该值近似表示所有其他用户对特定用户的整体信任程度[5]。这种方法并没有考虑不同用户对特定用户有不同的意见。此外,正如所提出的,使用全局信任指标会增加预测错误,特别是当存在一些具有争议的用户,受到许多人的信任和不信任的情况下。本文使用用户对物品的评分来计算用户之间的信任值,这反映了不同用户的主观意见,然后利用这些信任值来替代相似度度量,为给定用户找到邻居并进行推荐。

2 基于信任的协同过滤推荐算法

提议的基于信任的协同过滤推荐算法将用户-项目矩阵作为输入,并计算出直接信任的程度,以生成一个初始的信任矩阵。然后,按照预定义的信任传播规则,算法推断出用户之间的间接信任程度,并将初始信任矩阵转换为更密集的信任矩阵。这个更密集的矩阵用于找到目标用户的k个最近邻居,并推荐具有最高预测评分的项目。

2.1 直接信任

正如文献[6]所建议的,信任和用户相似度之间存在着强烈且正向的相关性,两个用户越相似,它们之间建立的信任就越大。因此,在推荐系统的背景下,相似度可以用来衡量信任。有多种相似度度量方法,比如皮尔逊相关系数、余弦向量相似度和均方差差异。本文使用常用的皮尔逊相关系数来计算两个用户之间的相似度。

这里,Cab 表示由用户a 和用户b 共同评分的条目数,而用户rak 和rbk 表示评分用户a 和用户b 分别对项目k 的评分。-ra 和-rb 分别表示用户a 和用户b 的平均评分。

此外,引入了一个置信度变量Ponfab 来表示两个用户之间相似度的可靠性。置信度与用户a 和用户b共同评分的项目数量相关,并且可以计算为:

在等式(2) 中Ponfab 表示用户a 对用户b 的相似性的信心,Cab 表示由用户a 和用户b 共同评分的项目数量,N 是所有用户的数量,并且max {Can },n =1,...,N,n ≠ i 是由用户a 共同评分的项目数以及用户b共同评分项目数最多的用户。用户a 对用户b 的直接信任为:

Ta → b = Ponfab × sim(a,b) (3)

用户之间的直接信任可以使用方程(3) 来计算,并产生一个初始的信任矩阵。这种方法考虑了信任的主观性。不同的用户对于特定用户的可信度有不同的意见,用户a 对用户b 的信任并不一定等于用户b和用户a的信任。

2.2 信任推断

用于推断用户之间间接信任的信任传播规则定义如下。设l 为最大信任传播距离。如果存在一个从节点S 到节点M 的信任传播路径,表示为P (S,N1,N2,...,Nt,M ),并且路径的距离不大于l,则节点S对节点M的间接信任被定义为沿着信任传播路径的节点之间直接信任值的最小值。

TS → M = min {TS → N1,TN1 → N2,...,TNT → M } (4)

如果节点S和节点M之间存在多个信任传播路径p1,p2,...pm,其距离都不大于l,则节点S对节点M的间接信任值被计算为所有从节点S到节点M的信任传播路径获得的间接信任值的平均值。

使用上述方法,表示用户直接信任的初始信任矩阵可以转换为一个更密集的信任矩阵。

2.3 推荐的产生

从生成的信任矩阵中选择目标用户最信任的k个最近邻居,然后使用如下公式来预测用户对未知项目的评分,并推荐具有最高预测评分的项目。

在这里,Pai 表示目标用户a 对未知项目i 的预测评分。-ra 和-ru 分别表示目标用户a 和用户u 的平均评分。rui 表示用户u 对项目i 的评分。wau 表示推荐项目i 中用户u 的权重,在本文中它代表目标用户a 对用户u的信任程度。

3 实验结果及分析

3.1 数据集

本文使用由GroupLens研究小组提供的MovieL?ens数据集进行实验,该数据集可公开获取(http://www.grouplens.org) 。该数据集包含了10万条评分,涉及943个用户和1 682部电影,评分范围从1(非常差)到5(非常好)。数据集的稀疏程度为93.69%。

3.2 评估指标

本文使用了最常用的统计准确性指标Mean Ab?solute Error(MAE) 来评估所提算法的预测准确性。MAE是实际评分值与预测评分值之间偏差的度量。设( pi,qi )为预测评分和实际评分值,MAE通过首先对这N个对应的评分的绝对误差求和,然后计算平均值来计算。MAE越低,算法的评分预测越准确。

3.3 实验结果

本文采用了5折交叉验证方法,将数据集分为五个部分。每次随机选择一个部分作为测试集,其他四个部分作为训练集。K最近邻协同过滤被选择为基准算法,分别在数据集上运行基准算法和所提出的算法,并将最终结果取不同训练集和测试集上的MAE值的平均值。

由于信任传播路径越长,推断的信任值越不可靠,实验仅考虑最大信任传播距离为2或3的情况。在这两种情况下,所提出的算法得到的结果相似。鉴于算法的时间复杂性,本文仅介绍了信任传播距离为2时的结果。最近邻数K从10到50,步长为10,并将基准算法和所提出的算法的MAE值进行比较。

从上图中可以看出,两种算法的预测质量随着邻居数量的增加而提高。而且,在所有邻居数量上,基于信任的协同过滤推荐算法的MAE值都低于K最近邻协同过滤算法。这个结果表明,所提出的算法具有比K最近邻协同过滤算法更好的预测准确性。

4 结论与未来工作

协同过滤是当前推荐系统中主要使用的技术,但用户-物品矩阵的稀疏问题是协同过滤的主要限制之一。为了解决这一稀疏问题,本文提出了一种基于信任矩阵的协同过滤推荐算法。该算法利用用户对物品的评分和信任推断来生成表示用户间信任值的信任矩阵,然后使用这些信任值替代相似度度量来寻找邻居并为给定用户进行推荐。实验证明,所提出的算法优于K最近邻协同过滤的预测准确性。与传统的K 最近邻协同过滤相比,该算法能够提供更多信息来缓解稀疏问题并增强推荐性能。未来的研究将致力于改进所提算法的信任度量,以提高算法对恶意攻击的抵抗能力和推荐系统的鲁棒性。

参考文献:

[1] GOLDBERG K,ROEDER T,GUPTA D,et al.Eigentaste:a con?stant time collaborative filtering algorithm[J]. Information Re?trieval,2001,4(2):133-151.

[2] SARWAR B,KARYPIS G,KONSTAN J,et a1.Item—based col?laborative filtering recommendation algorithm[C]//Vincent Y Shen,Nobuo Saito,Michael R.Lyu,et al,eds.Proceedings of the 10th International World Wide Web Conference. New York:ACM Press,2001:285-295.

[3] 邓爱林.电子商务推荐系统关键技术研究[D].上海:复旦大学,2003.

[4] MASSA P,AVESANI P.Trust-aware collaborative filtering for recommender systems[C]//MEERSMAN R,TARI Z.OTM Con?federated International Conferences "On the Move to Meaning?ful Internet Systems". Berlin, Heidelberg: Springer, 2004: 492-508.

[5] A K DEY. Understanding and using contex[J]. Personal and Ubiquitous Computing,2001,1(5):4-7.

[6] SARWAR B,KARYPIS G,KONSTAN J,et al.Item-based collab?orative filtering recommendation algorithms[C]//Proceedings of the 10th international conference on World Wide Web Confer?ence. New York, 2011:285-295.

【通联编辑:梁书】

猜你喜欢
协同过滤推荐系统
数据挖掘在选课推荐中的研究
图书推荐算法综述
基于用户偏好的信任网络随机游走推荐模型
改进的协同过滤推荐算法
基于链式存储结构的协同过滤推荐算法设计与实现
基于相似传播和情景聚类的网络协同过滤推荐算法研究
基于个性化的协同过滤图书推荐算法研究
个性化推荐系统关键算法探讨
基于协同过滤算法的个性化图书推荐系统研究
混合推荐算法在电影推荐中的研究与评述