一种结合模糊权重相似性度量和聚类协同过滤的方法

文档序号:6626468阅读:551来源:国知局
一种结合模糊权重相似性度量和聚类协同过滤的方法
【专利摘要】本发明公开了一种结合模糊权重相似性度量和聚类协同过滤的方法,依据用户—项目评分矩阵Rm×n,用fcos,fcor,fadj分别计算用户三种不同的相似度矩阵FCOS,FCOR,FADJ,再根据k-means算法和分类个数kcluster对所有用户进行分类。确定用户的最近邻居集s(Ui),然后利用ri,c计算预测评分;依照上述策略,直到对所有用户评分进行预测。本发明的模糊相似度聚类IBCF\UBCF在邻居集s(Ui)查找准确度上有了明显提高;对评分值和评分偏差进行模糊化,更接近于用户对于项目的真实评价;相似度计算加入模糊权重wc后,用户间的相似度更趋于精确,从而提高了推荐系统的性能。
【专利说明】一种结合模糊权重相似性度量和聚类协同过滤的方法

【技术领域】
[0001] 本发明属于推荐系统【技术领域】,尤其涉及一种结合模糊权重相似性度量和聚类协 同过滤的方法。

【背景技术】
[0002] 随着互联网和信息技术的快速发展和普及,人们对信息的依赖程度与日俱增。信 息技术的大量使用提高了信息的生产、处理和传播的效率。互联网作为信息时代的基础平 台,承载了大量的信息资源。面对海量的信息资源,用户无法筛选出对自己有用的信息,这 就是信息过载问题。为了解决信息过载问题,推荐系统应运而生。与传统的信息过滤技术 搜索引擎相比,推荐系统不需要用户提供搜索的关键词,而是通过分析用户历史行为记录 发现用户潜在爱好,从而产生推荐。因此,推荐系统满足了用户的个性化需求。
[0003] 协同过滤推荐算法是推荐系统的主流算法,这种算法的基本思想是:用户会喜欢 (不喜欢)与他兴趣相同(不相同)的用户所喜欢的项目。协同过滤算法主要分为:基于 内存的算法和基于模型的算法。基于内存的协同过滤算法可分为基于用户的协同过滤算法 (user-basedcollaborativefiltering,UBCF)和基于项目的协同过滤算法(item-based collaborativefiltering,IBCF)。两种算法的关键都在于相似度的计算,不同的相似度计 算方法会对目标用户产生不同的邻居集,进而影响推荐结果。而传统的相似度计算方法直 接应用用户的评分值或评分偏差,没有考虑用户评分的不确定性和不同的评分习惯。因 此,我们应该给原始评分加上合适的权重值,以逼近用户真实的评分意愿。文献Improving Coll-aborativeFilteringRecommenderSystemResultsandPerformanceUsing GeneticAlgorithms研究了评分和权重线性组合以优化相似度计算函数方法,其中权重通 过遗传算法(geneticalgorithm)迭代收敛到预定条件。文献OptimizingCollaborative FilteringRecommenderSystems提出了对用户和邻近项目采用不同的权重方式来提高 推荐的质量° 文献Clusterensemblesincollaborativefilteringrecommendation 提出了聚类融合技术,首先应用两个著名的聚类技术(self-organizingmaps(SOM) 和k-means)对用户进行聚类寻找相似用户群,然后分别用三种聚类融合算法(the cluster-basedsimilaritypartitioningalgorithm(CSPA),hypergraphpartitioning algorithm(HGPA)和majorityvoting)对相似用户群进行融合得到综合相似关系群。最 后,利用综合相似关系群为目标用户推荐项目。该方法改善了基于用户的协同过滤推荐算 法面临的"冷启动"问题,而且提高了推荐系统的推荐精度。文献Afuzzyrecommender systembasedontheintegrationofsubjectivepreferencesandobjective information将模糊语义模型融入到协同过滤推荐中,并提出了组合主观和客观用户观点 的协同过滤算法(aggregatedsubjectiveandobjectiveusers'viewpoint(ASOV)) 该算法在一定程度上解决了"冷启动"和数据稀疏性问题。文献Facingthecoldstart probleminrecommendersystems提出了改进的相似度技术、预测机制,将人口统计信息 应用到相似关系群的查找,该方法改善了协同过滤推荐算法面临的"冷启动"问题。
[0004] 虽然国内外的众多学者对协同过滤推荐算法进行了深入地研究,但协同过滤算 法仍存在很多值得研究的问题,特别是大量数据导致的稀疏性问题,"冷启动"问题和提 高推荐精度等方面仍值得进行探索。


【发明内容】

[0005] 本发明实施例的目的在于提供一种结合模糊权重相似性度量和聚类协同过滤的 方法,旨在解决协同过滤算法中存在的提高推荐精度,数据稀疏性问题和"冷启动"问题。
[0006] 本发明实施例是这样实现的,一种结合模糊权重相似性度量和聚类协同过滤的方 法,该结合模糊权重相似性度量和聚类协同过滤的方法根据用户评分值和模糊权重《。,计 算任意两个用户之间的相似度;利用k-means聚类方法对全部用户分成若干类;对于目标 用户,在所属的类中按相似度由高到底选取邻居集;然后,根据邻居集内其他用户对目标项 目的评分,预测目标用户对目标项目的评分。
[0007] 进一步,该结合模糊权重相似性度量和聚类协同过滤的方法包括以下步骤:
[0008] 步骤一,处理用户一项目评分矩阵Rmxn,确定目标用户%、待评分的项目I。、最近邻 居查询个数knear和分类数kcluster;
[0009] 步骤二,依据评分矩阵Rmxn,用fcos,fcor,fadj分别计算用户三种不同的相似度 矩阵FCOS,FCOR,FADJ,从相似度矩阵中知道任意两个用户之间的相似度;fcos:模糊加权 余弦相似性;fcor:模糊加权相关相似性;fadj:模糊加权修正余弦相似性;
[0010] 步骤三,由步骤二得出的相似度,再根据k-means算法和分类个数kcluster对所 有用户进行分类;
[0011] 步骤四,选取用户Ui所在的类index;确定用户的最近邻居集S(Ui);
[0012] 步骤五,然后利用计算预测评分;

【权利要求】
1. 一种结合模糊权重相似性度量和聚类协同过滤的方法,其特征在于,该结合模糊权 重相似性度量和聚类协同过滤的方法包括以下步骤: 步骤一,处理用户一项目评分矩阵Rmxn,确定目标用户Ui、待评分的项目I。、最近邻居查 询个数knear和分类数kcluster; 步骤二,依据评分矩阵Rmxn,用fcos,fcor,fadj分别计算用户三种不同的相似度矩阵FCOS,FCOR,FADJ,从相似度矩阵中知道任意两个用户之间的相似度;fcos:模糊加权余弦 相似性;fcor:模糊加权相关相似性;fadj:模糊加权修正余弦相似性; 步骤三,由步骤二得出的相似度,再根据k-means算法和分类个数kcluster对所有用 户进行分类; 步骤四,选取用户Ui所在的类index;确定用户的最近邻居集s(Ui); 步骤五,然后利用
ιγ。计算预测评分; k。:用户Ui对项目I。的评分;^ :用户Ui的平均评分;s(Ui):用户Ui的最近邻居集; 步骤六,循环步骤四和步骤五直到对测试集中的所有用户的评分都进行了预测。
2. 如权利要求1所述的结合模糊权重相似性度量和聚类协同过滤的方法,其特征在 于,步骤二中的fcos,fcor,fadj通过引入模糊权重w。,模糊加权余弦相似性、模糊加权相关 相似性和模糊加权修正余弦相似性的定义如下:
表示用户Ui对项目I。的评分,f和f分别表示用户Ui和用户%的平均评分。
3. 如权利要求2所述的结合模糊权重相似性度量和聚类协同过滤的方法,其特征在 于,fcos中w。求得的方法: 模糊向量中的元素个数是由模糊集的个数决定,评分的隶属函数为:
r=4时,相应的二元隶属向量为? =(0,75,0.25);任取用户Ui和用户%共同评价过的 推荐项目I。e Iij,向量4和4关于推荐项目I。e Iij的模糊权重w。为:
其中《^(4 -孓)表示向量4和4之间的欧式距离,1为向量的维数,K为向量4中 的第k个元素;在w。中,用万减去其它值是因为为孓)的最大值(对于向量 4=(0,丨),孓=(丨,0)的乜8(·))。
4.如权利要求2所述的结合模糊权重相似性度量和聚类协同过滤的方法,其特征在 于,fcor和fadj中w。的求得方法: 用户Ui和用户%对共同评分过的推荐项目1。^Iu的评分与各自评分均值的偏差为devic 和(Ievjc ;分别用verybad(vb)、bad(b)、fair(f)、good(g)、verygood(vg)表不 5 个 模糊集,由5个模糊集组成评分偏差的隶属函数为:
devic; = 2. 7,根据隶属函数的定义,隶属向量为:?/?·τ/(. =(0,0,0,0.3,0.7);对于向量 和^*关于推荐项目ceIu的模糊权重w。为:
其中-ifeVp)表示向量和£/£^/(;之间的欧式距离,1为向量的维数,i/evf为 向量dev:c的第k个元素;在w。中,用▲减去其它值是因为万为-办v'A.)的最大值 (对于i/c,v,i; =(0,0,0,0,1),c/i,v/r =(1,0,0,0,0)的dis( ·))。
5.如权利要求1所述的结合模糊权重相似性度量和聚类协同过滤的方法,其特征在 于,在步骤五中S(Ui)的更新方法包括: 第一步,对用户Ui与所在的类index中的其它用户按照相似度大小降序排列;并与对 目标项目I。评分不为〇的用户集USER。中用户求交集组成用户群Ci(Ui); 第二步,若|9(1^)|彡1〇16&1',取9(1^)中前1〇16&1'个用户组成8(1^) ; 第三步,当 0 <Iq(Ui)I彡knear时,则S(Ui)为q(Ui); 第四步,当Iq(Ui)I= 0时,对用户Ui与所有用户U按照相似度大小降序排列;并与USER。中用户求交集组成新用户群Ci(Ui); 第五步,若|9(1^)|彡1〇1631',取9(1^)中前1〇1631'个用户组成8(1^); 第六步,当 〇 <Iq(Ui)I彡knear时,则S(Ui)为Q(Ui); 第七步,当Iq(Ui)I=0时,对用户集USER。按照相似度大小降序排列,取前knear个用 户作为s(Ui);如果〇<IusercJ彡knear,取IusercJ个用户组成s(Ui);否则IusercJ=〇, 则S(Ui)为空集。
【文档编号】G06F17/30GK104239496SQ201410457937
【公开日】2014年12月24日 申请日期:2014年9月10日 优先权日:2014年9月10日
【发明者】齐小刚, 张雅科, 郑耿忠, 刘立芳, 马军艳, 李强, 杨国平, 冯海林 申请人:西安电子科技大学, 韩山师范学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1