一种优化的基于项目评分预测的协同过滤推荐算法

2018-06-07 09:38张华伟
科教导刊·电子版 2018年9期
关键词:协同过滤推荐系统算法

张华伟

摘 要 用户评分数据极端稀疏的情况之下进行了分析,根据现有的项目进行评分预测的协同过滤推荐算法中,项目与项目之间的相似度量不够准确以及新的项目冷启动问题,从而给出一种优化的基于项目评分预测的协同过滤推荐算法,这种算法是在计算项目与项目之间的相似性的时候,不但考虑项目的评分相似度,还会考虑到项目的特性之间的相似性。通过实验表明,利用优化后的算法会计算出项目与项目之间的相似度更加精准,并且有效地可以解决新项目的推荐问题,这样让数据稀疏性对推荐的结果产生的负面影响相对较小,还可以提高系统的推荐质量问题。

关键词 算法 推荐系统 协同过滤 评分相似性

1协同过滤推荐算法技术的阐述

目前最为成功的个性化推荐技术就是协同过滤推荐技术,在协同过滤推荐技术当中,用户可以利用相互协作的作用来选择有用的信息,就是可以根据其他用户对信息作出评价来选择想要的信息。协同过滤推荐技术方法会向用户的行为进行合理分析,但并不会关心信息的实际内容,系统会自动的收集用户对信息评价具有相同兴趣爱好的用户,然后把具有相同兴趣爱好的用户对于信息评价从而产生出推荐结果。

协同过滤推荐技术是有两种方式的,一种是基于用户的协同过滤推荐,另一种是基于项目的协同过滤推荐。前面一种是根据评分相似的具有相同兴趣爱好的用户的信息评分来对目标用户产生推荐结果。因为相同兴趣爱好的用户对于项目的评分与目标用户是非常接近的,为此目标用户对于没有评分项的评分可以通过相同兴趣爱好的用户对项的评分来进行预判。

为了可以找到与目标用户相同兴趣爱好的用户从而必须推荐度量用户之间的相似性,然后在通过选择相似性最高的若干用户作为目标用的相同兴趣爱好的用户。计算用户之间相似性的方法有好几种其中以下两种较为普遍:

(1)余弦相似性 (cosine)。 用户评分则是看出n维项目空间上的向量, 若用户没有对项目进行评分, 那么用户对这个项目的评分是0, 用户之间的相似性可以通过向量间的余弦夹角度量。设立用户u和用户v,在n维项目空间上的评分可以分别表示为:

向量u和v, 则用户u和v之间的相似性sim(u, v)为 :

sim(u, v)=cos(u, v)=u· v/(‖ u‖ 住?v‖ ) (1) 式中表示:分子是两个用户评分向量的内积;而分母则是两个向量模的乘积,当夹角越小时,则相似度越高。

(2)关联的相似性correlation)。可以设置用户u与用户v共同评分过的项目集合用Iuv表示, 则用户u和用户v之间的相似性 sim(u, v)经过pearson有关联的系数度量: sim(u, v)=[ ∑i∈ Iuv (Ru, i-Ru)(Rv, i-Rv)] / [ ∑i∈ Iuv (Ru, i-Ru)2 ∑i∈ Iuv (Rv, i-Rv)2 ] ,其中(2)式中:Ru,i表示用户u对项目i的评分;Ru和Rv则分别表示为用户u和用户v对项目的平均评分。

2实验以及结果分析

2.1数据集

该实验的数据集是来自MovieLens站点,这个站点是是一个Web的上研究型推荐系统,使用该系统必须满足一个条件,就是注册用户必须对他所拥有的电影中的15部进行评价才能够使用这个系统,至少15部。对此,这个站点每一个注册用户都至少对15部电影评价过。当前,这个站点的注册用户已经超过了45000人,电影超过6600部被用户评分过。实验数据集就从这个站点的数据集中随机的抽取100000个评价数据,当中有943名用户对1682部电影进行评价,同时要求每个用户都要至少对100部电影进行评价;与此同时,还会对这1682部电影的20个特征属性都给予一定的权值。把这个分为两部分进行实验,分别是训练集和测试集,经过实验表明训练集数据是占整个数据集的80%,而测试集是占整个数据集的20%。

2.2评价的标准

评价推荐系统推荐质量的度量标准,采取的是统计度量方法中的平均绝对偏差MAE进行度量。MAE经过计算预测用户评分与实际用户评分之间是有偏差的,利用偏差来度量预测的准确性,若是MAE的值越小,那么推荐质量就越高。根据评分数据来预测的评分集合表示为{p1 , p2 , …,pN},而实际的评分集合则表示为成{q1 , q2 , …, qN}, 一般常用的的推荐质量度量方法为MAE=∑ N i=1 piqi /N进行度量。

2.3实验的结果以及分析

这个实验所提出的算法都是具有有效性的,采取的基于项目评分以及项目特质属性相互结合的方法来计算出项目之间的相似之处。在这个基础之上可以应用本文提出的优化算法计算推荐集。同样可以把本文的算法与原始的基于项目评分预测的协同过滤算法以及可以提出一种改进的算法,就是基于修正条件概率下的推荐算法进行比较,从而计算出各种的推荐算法的MAE。通过分析计算其实可以知道在邻居个数不相同的时候,本文提出的优化基于项目评分预测的协同过滤推荐算法有着最小的MAE。对此,用户可以在评分数据极端稀疏的情况之下进行。

3结语

综上所述,提出一种优化的基于项目评分预测的协同过滤推荐算法,在此算法之上有充分考虑到计算项目相似性的项目之间的评分相似性和属性相似性,这样可以让数据稀疏性对计算结果的负面影响变小。本文通过优化算法可以在一定程度上提升系统的推荐质量。

参考文献

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

[2] 姚忠,魏佳,吴跃.基于高维稀疏数据聚类的协同过滤推荐算法[J].信息系统学报,2015,2(02):78-96.

[3] 黄创光,印鉴,汪靜,刘玉葆,王甲海.不确定近邻的协同过滤推荐算法[J]. 计算机学报,2010,33(08):1369-1377.

[4] 贾冬艳,张付志.基于双重邻居选取策略的协同过滤推荐算法[J].计算机研究与发展,2013,50(05):1076-1084.

[5] 于金明,孟军,吴秋峰.基于改进相似性度量的项目协同过滤推荐算法[J]. 计算机应用,2017,37(05):1387-1391+1406.

猜你喜欢
协同过滤推荐系统算法
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
进位加法的两种算法
基于用户偏好的信任网络随机游走推荐模型
一种改进的整周模糊度去相关算法