APP下载

基于项目特征的协同过滤推荐算法

2017-03-31石慧霞

软件导刊 2016年8期
关键词:相似度协同过滤

石慧霞

摘 要:协同过滤算法是最常用、最经典的个性化推荐算法之一。在算法计算中相似度计算是影响算法质量的关键因素,该算法中相似度计算根据用户评分差值作为距离来衡量,忽略了项目自身特征属性对相似性计算的制约。因此提出一种基于项目特征的协同过滤推荐算法(IFCF),结合项目评分相似度,利用Logistic二分类算法思想将用户对项目的偏好分为喜爱与不喜爱两类,再利用贝叶斯概率原理将用户对各项目特征的喜爱程度差值作为相似度调整度,以达到提高项目相似性度量准确度的目的。实验结果表明,该算法能够有效提高推荐算法的精度。

关键词关键词:协同过滤;相似度;项目特征;贝叶斯原理

DOIDOI:10.11907/rjdk.161567

中图分类号:TP312

文献标识码:A 文章编号:1672-7800(2016)008-0033-03

0 引言

与搜索引擎不同,个性化推荐系统能够基于个人行为数据为用户提供定制信息,此类系统通常使用协同过滤技术实现,并且在电子商务系统中得到广泛应用。邻协同过滤推荐是目前运用最广泛的推荐技术之一[1],以用户——项目评分矩阵表示用户对于相关项目的兴趣,通过计算用户或者项目的相似度进行最近邻推荐。然而,仅仅从用户的偏好值推导出相似度,并没有很强的说服力,例如项目相似度完全可以依据项目属性来计算。为此,基于项目类别与相似度[2-3]、基于用户兴趣特征[4-5]、基于矩阵分解降维[6-7]、基于聚类[8]、隐语义推荐算法[9]、基于内容的推荐算法[10]等多种改进算法被提出。文献[2]考虑项目类别对项目相似性的影响,根据类别矩阵以及类内用户相似度得出推荐结果。文献[4]融合用户对不同项目兴趣度与用户评分计算用户相似性,避免了仅依靠评分计算相似性的不足。文献[6]将矩阵分解运用到协同过滤推荐算法中,一定程度上解决了传统矩阵稀疏性问题。文献[8]提出了基于项目聚类的协同过滤,但该方法仅基于用户评分聚类,推荐质量并未提高。

从以上推荐算法可以看出,相似度计算以及最近邻居集的产生是制约协同过滤推荐算法的关键因素。虽然上述算法考虑到数据稀疏性以及传统相似度计算的弊端,但是并没有分析用户兴趣与项目特征之间的关联,仍然导致系统的推荐精度不高。为此本文提出一种基于项目特征的协同過滤推荐算法(Item-Feature Collaborative Filtering)IFCF,该算法根据用户兴趣度与项目特征之间的关联,结合Logistic二分类算法思想,采用一种基于贝叶斯概率的项目特征相似性度量方法,并结合传统最近邻协同过滤算法中基于项目评分相似性度量方法得出项目综合相似度。

1.2 常用的相似性度量方法分析

由于用户数目和项目数目呈指数级增长,用户评分的项目一般不会超过项目总数的1%,因此在用户评分数据极度稀疏的情况下,传统的相似性度量方法存在一定弊端。本文详细分析常用的相似性度量法在用户评分数据极度稀疏情况下的问题。

在皮尔逊相似度计算方法基于对项目i,j均有评分的用户集合进行,并没有考虑同时对两个项目评分的用户数目,有200个用户同时对项目i,j评分,即使他们的评分偶尔不一致,但可能要比仅有两个用户共同评分的项目更相似,因此皮尔逊存在弊端。

在余弦相似度计算方法中,将用户未评分项的评分值均设为0,以便参加相似性计算。但是用户对未评分项目的喜好程度不可能完全相同,对这些项目的评分也不可能完全相同,因此余弦相似性也不能很好地度量相似性。

在Jaccard相似性计算方法中仅仅考虑项目共同评分个数对相似度的影响,却忽略项目之间评分差距,如项目i,j有10个用户对其共同评分,而各用户对项目i,j的评分差距很大(1分和5分),很显然如果只有5个用户对项目i,k共同评分,而i,k的评分很接近,则项目i,k比项目i,j更具有相似性。

2 基于项目特征的协同过滤推荐算法(IFCF)

本文IFCF算法的基本思路:首先,结合项目之间共同评分的用户个数采用改进的皮尔逊相似度计算项目评分相似度;其次,根据Logistic二分类算法原理将用户对项目的偏好分为喜爱与不喜爱两类,再利用贝叶斯概率计算用户对项目特征的喜爱偏差并将值相似度调整度,综合计算得出项目相似性度量,最终得出Top-N推荐结果。

3 实验结果

3.1 数据集

实验采用Movielens站点提供的数据集,这个数据集由美国Minnesota大学的GroupLens工作组创建并维护,是一个基于Web的研究型推荐系统,用于接收用户对电影的评分并提供相应的电影推荐列表。本实验选择6 040个用户对3 900部电影做的100万条评分数据作为实验数据集,该数据集包括的电影属性有产地、时间、类别。其中该数据集包含19(0~18)类不同的电影类别,实验时只利用1~18类进行测试(0类为未知类,少数异常数据),其中每个用户至少对20部电影进行评分,评分范围为1~5,评分越高表示用户对项目兴趣度越高。用户评分数据的密度(稀疏度)为1-1000209/(6040×3900)=95.76%,说明此数据是比较稀疏的。将实验数据的评分矩阵进一步划分为训练集和测试集,在本文实验中随机地将数据集中的80%作为训练集,剩下的20%作为测试集。

3.2 推荐质量的度量标准和实验环境

评价推荐系统推荐质量的度量标准主要包括统计精度度量方法和决策支持精度度量方法两类[14],平均绝对偏差MAE(mean absolute error)是目前使用最广泛的评价推荐系统精确度的评价标准[15]。该标准主要是计算测试集中用户实际评分与利用推荐算法预测出来的评估值之间的绝对差,MAE值越小,则系统的推荐质量越高。假设预测的用户评分集合表示为{P 1,P 2,…P n},对应的实际用户评分集合为{Q 1,Q 2,…Q n},则平均绝对偏差MAE定义如公式(12)所示:

3.3 实验结果分析

为了验证本文提出的基于相似度调整度即项目特征的相似度计算方法的有效性,参照传统的余弦相似性度量方法以及文献[2]、[3]提出的结合项目类别相似度计算方法进行实验,测试4个相似度计算度量平均偏差值,实验结果对比如图(1)所示,其中系列1是本文提出的相似度计算算法中邻居集个数与MAE值线性图,系列2采用余弦相似度算法,系列3采用文献[2]提出的相似度计算算法,系列4采用文献[3]提出的相似度计算算法。

4 结语

协同过滤算法中相似性度量直接影响到算法的预测精度及推荐质量。本文对传统的基于项目相似性协同过滤推荐算法改进,提出了一种基于项目特征属性的协同过滤推荐算法,本算法提出了相似度调整度的概念,将项目的特征相似性融合到基于项目评分的相似性度量计算中,使得项目相似度更精确。实验结果表明,该算法的推荐精度及计算效率有明显提升。后续将进一步对算法优化改进,考虑如何结合矩阵分解、聚类等方法,将用户特征属性也融合进入推荐算法中。

参考文献:

[1]BREESE J,HECHERMAN D ,KADIE C . Empirical analysis of predictive algorithms for collaborative filtering[C].Proceedings of the 14th Conference on Uncertainty in Artificial Intelligence,San Francisco:Morgan Kaufmann Publishers,1998:43-52.

[2]韦素云,业宁,吉根林,等. 基于项目类别和兴趣度的协同过滤推荐算法[J]. 南京大学学报:自然科学版,2013,49(2):142-149.

[3]LI C,LIANG C Y,DONG K. A collaborative filtering recommendation algorithm based on item category similarity[J]. Journal of Hefei University of Technology (Natural Sciences),2008, 31(3):360-363.

[4]邢春晓,高凤荣,战思南,等. 适应用户兴趣变化的协同过滤推荐算法[J]. 计算机研究与发展,2007,44(2):296-301.

[5]余肖生,孙珊. 基于网络用户信息行为的个性化推荐模型[J].重庆理工大学学报:自然科学版,2013,27(1):47-50.

[6]VOZALIS M G,MARGARITIS K G.Applying SVD on item-based filtering[C]. Proc of the 5th International Conference on Intelligent Systems Design and Applications,2005: 464-469.

[7]印鉴,王智圣,李琪,等. 基于大规模隐式反馈的个性化推荐[J]. 软件学报,2014,25(9): 1953-1966.

[8]D BRIDGE ,J KELLEHER. Experiments in sparsity reduction:using clustering in collaborative recommenders[C].Procs. of the Thirteenth Irish Conference on Artificial Intelligence and Cognitive Science.Springer, 2012(25):144-149.

[9]胡堰,彭启民,胡晓惠.一种基于隐语义概率模型的个性化Web服务推荐方法[J]. 计算机研究与发展,2014,51(8):1781-1793.

[10]ZENG CHUN, XING CHUNXIAO, ZHOU LIZHU. A personalized search algorithm by using content-based filtering[J]. Journal of Software, 2003,14(5): 999-1004.

[11]SARVAR B M. Sparsity, scalability and distribution in recommender systems[C].Minneapolis: University of Minnesota, 2001.

[12]XU X, FRANK E. Logistic regression and boosting for labeled bags of instances [J]. Lecture Notes in Computer Science,2004.

[13]BADRUL SARWAR, GEORGE KARYPIS, JOSEPH KONSTAN, et al.Item-based collaborative filtering recommendation algorithms[C].in Proceedings of the 10th International Conference on World Wide Web,2001:285-295.

[14]AGGARWAL C C, WOLF J L, WU K L, et al. Horting hatches an egg:a new graph-theoretic approach to collaborative filtering[C].Proc of the 5th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,NewYork: ACM Press, 1999:201-212.

[15]WILLMOTT C J,MATSUURA K.Advantages of the mean absolute error(MAE) over the root mean square error (RMSE) in assessing average model performance[J].Climate Research,2005,30(1):79.

(責任编辑:陈福时)

猜你喜欢

相似度协同过滤
改进的协同过滤推荐算法
模糊Petri网在油田开发设计领域的应用研究