首页 > 范文大全 > 正文

基于用户偏好序列的协同过滤推荐算法

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于用户偏好序列的协同过滤推荐算法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:提出了一种新的协同过滤推荐算法,该算法有效地解决了传统协同过滤推荐中过分依赖不能真实反映用户兴趣偏好的用户等级评价的问题,改进了传统协同过滤算法中计算邻居用户的方法。

关键词:协同过滤;相似性;等级评价;偏好序列

中图分类号:TP311 文献标识码:A 文章编号:1007-9599 (2011) 18-0000-01

Collaborative Filtering Recommendation Algorithm Based on User's Preference Order

Guo Hua

(Xinyang Normal University,HuaRui College,Xinyang 464000,China)

Abstract:This paper describes a new algorithm for collaborative filtering;it can be used to solve the problem on severe dependence of traditional Collaborative filtering on user's rank rating,which does not reflect user interests.This algorithm may effectively improve the traditional collaborative filtering algorithms used to find the target user’s neighbors.

Keywords:Collaborative filtering;Similarity;Rank rating;Preference order

一、引言

随着互联网的普及和电子商务的发展,推荐系统逐渐成为电子商务IT技术的一个重要研究内容,得到了越来越多研究者的关注。目前,几乎所有大型的电子商务系统,如Amazon、CDNOW、eBay、当当网上书店等,都不同程度的使用了各种形式的推荐系统[1]。协同过滤是当前应用最为典型的一种个性化推荐方法,也是应用最为成功的方法[2]。传统的协同过滤推荐算法通过用户之间的关系生成推荐结果。它首先找出和目标用户最相似的用户即最近邻居,然后根据最近邻居对项目的评分预测目标用户对项目的评分,产生相应的推荐列表[3]。

二、传统的协同过滤推荐算法的不足

传统的协同过滤推荐算法都是基于用户对商品的等级评价上的,也就是基于语义差别上的。这种方法有两个缺点:第一、要求所有用户对刻度的范围、区间以及端点值都有相同的理解。第二、用户经常很难对项目做出具体的等级判断,尤其是当评价等级较多时,用户给出评价等级并不准确,不能真实的反映用户的兴趣偏好,同时用户给出的评价分易受其它因素的影响,这使得到的数据不准确,如用户有一种中庸思想,很多情况下都会用中立的评价等级。

三、基于用户偏好序列协同过滤推荐算法

基于用户偏好序列的协同过滤推荐算法与传统的协同过滤推荐算法一个最大的不同就是获得的用户的资料不一样,前者要求用户对一些产品做出偏好的有序排列,而后者需要对相关产品做出评价等级分。两种推荐算法的基本步骤一样,不同之处在于两种方法计算邻居用户的方法不一样,传统协同过滤推荐算法是基于两用户向量的相似性,后者是基于两序列的相似性得到的。

下面首先给出该算法中涉及到的序列的定义的计算方法,然后给出该算法描述。

序列:

定义:序(Order)――一系列根据其属性排列顺序的事物或对象(Object),记为O。

例如,有三个对象:x1,x2,x3,某用户根据其对这三个对象的偏好排序为x1Φx3Φx2。

记:序列O中的所有对象的集合为X,r(O,x)为对象在对象x在序列O中的排序号。如O=x1Φx3Φx2,则r(O,x1)=1,r(O,x2)=3,r(O,x3)=2。

四、实验及结果分析

(一)数据集。整个实验数据集划分为训练集和测试集,通过变化训练集用户个数,变化测试集用户评价过的项目来检验本文提出的算法在不同情况下的有效性。分别选取50个用户和100个用户作为训练集用户,其余用户则作为测试集用户。已知测试集用户评价过的项目分别选取为5个、10个、20个,来预测测试集用户对其他项目的评分,并与实际评分相比较得到评价准确度。

(二)实验结果。把本文的算法与传统的基于余弦相似性、基于相关相似性的协同过滤推荐算法进行比较,使用MAE作为度量标准,得到如图2所示的MAE随用户评价项目数变化而变动的折线图。

在传统的协同过滤推荐算法中,两个用户之间的相似性由用户评价过的项目的表面评分决定,使得最近邻居的选择不够准确,推荐质量下降。本文提出的算法是基于用户的偏好序列信息,真实的反映了用户的兴趣偏好,计算结果更具有实际意义和准确性

五、结束语

基于用户偏好序列的协同过滤算法有效地解决了协同过滤中的一个关键问题,即真实的反映了用户的兴趣偏好问题。传统的方法,用户相似度都是通过用户对项目的等级评分直接计算,本文的方法首先计算用户对项目偏好的排序,然后基于偏好排序计算用户的相似度,决定邻居用户;根据邻居用户对目标项目的偏好程度,计算当前用户对目标项目的偏好,根据预测的偏好排序分,将最大的前N个项目推荐给用户。本文的预测都是基于用户偏好排序做出的,实验结果表明,本文提出的方法有较好的推荐质量。

参考文献:

[1]邓爱林,朱扬勇,施伯乐.基于项目评分预测的协同过滤推荐算法[J].软件学报,2003,14(9):1621-1628

[2]Breese,J.,Hecherman,D.,and Kadie,C.Empirical Analysis of Predictive Algorithms for Collaborative Filtering.In Proceedings of the 14th Conference on Uncertainty in Artificial Intelligence(UAI-98),1998,pages:43-52

[3]欧立奇,陈莉,马煜.协同过滤算法中新项目推荐方法的研究[J].微计算机信息,2005,21(23):186-188