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

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

Info

Publication number
CN104239496A
CN104239496A CN201410457937.1A CN201410457937A CN104239496A CN 104239496 A CN104239496 A CN 104239496A CN 201410457937 A CN201410457937 A CN 201410457937A CN 104239496 A CN104239496 A CN 104239496A
Authority
CN
China
Prior art keywords
user
similarity
fuzzy
sigma
rightarrow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410457937.1A
Other languages
English (en)
Other versions
CN104239496B (zh
Inventor
齐小刚
张雅科
郑耿忠
刘立芳
马军艳
李强
杨国平
冯海林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Hanshan Normal University
Original Assignee
Xidian University
Hanshan Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University, Hanshan Normal University filed Critical Xidian University
Priority to CN201410457937.1A priority Critical patent/CN104239496B/zh
Publication of CN104239496A publication Critical patent/CN104239496A/zh
Application granted granted Critical
Publication of CN104239496B publication Critical patent/CN104239496B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2468Fuzzy queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种结合模糊权重相似性度量和聚类协同过滤的方法
技术领域
本发明属于推荐系统技术领域,尤其涉及一种结合模糊权重相似性度量和聚类协同过滤的方法。
背景技术
随着互联网和信息技术的快速发展和普及,人们对信息的依赖程度与日俱增。信息技术的大量使用提高了信息的生产、处理和传播的效率。互联网作为信息时代的基础平台,承载了大量的信息资源。面对海量的信息资源,用户无法筛选出对自己有用的信息,这就是信息过载问题。为了解决信息过载问题,推荐系统应运而生。与传统的信息过滤技术搜索引擎相比,推荐系统不需要用户提供搜索的关键词,而是通过分析用户历史行为记录发现用户潜在爱好,从而产生推荐。因此,推荐系统满足了用户的个性化需求。
协同过滤推荐算法是推荐系统的主流算法,这种算法的基本思想是:用户会喜欢(不喜欢)与他兴趣相同(不相同)的用户所喜欢的项目。协同过滤算法主要分为:基于内存的算法和基于模型的算法。基于内存的协同过滤算法可分为基于用户的协同过滤算法(user-based collaborative filtering,UBCF)和基于项目的协同过滤算法(item-based collaborative filtering,IBCF)。两种算法的关键都在于相似度的计算,不同的相似度计算方法会对目标用户产生不同的邻居集,进而影响推荐结果。而传统的相似度计算方法直接应用用户的评分值或评分偏差,没有考虑用户评分的不确定性和不同的评分习惯。因此,我们应该给原始评分加上合适的权重值,以逼近用户真实的评分意愿。文献Improving Coll-aborative Filtering Recommender System Results and Performance Using GeneticAlgorithms研究了评分和权重线性组合以优化相似度计算函数方法,其中权重通过遗传算法(genetic algorithm)迭代收敛到预定条件。文献OptimizingCollaborative Filtering Recommender Systems提出了对用户和邻近项目采用不同的权重方式来提高推荐的质量。文献Cluster ensembles in collaborative filteringrecommendation提出了聚类融合技术,首先应用两个著名的聚类技术(self-organizing maps(SOM)和k-means)对用户进行聚类寻找相似用户群,然后分别用三种聚类融合算法(the cluster-based similarity partitioning algorithm(CSPA),hypergraph partitioning algorithm(HGPA)和majority voting)对相似用户群进行融合得到综合相似关系群。最后,利用综合相似关系群为目标用户推荐项目。该方法改善了基于用户的协同过滤推荐算法面临的“冷启动”问题,而且提高了推荐系统的推荐精度。文献A fuzzy recommender system based on theintegration of subjective preferences and objective information将模糊语义模型融入到协同过滤推荐中,并提出了组合主观和客观用户观点的协同过滤算法(aggregated subjective and objective users’ viewpoint(ASOV))该算法在一定程度上解决了“冷启动”和数据稀疏性问题。文献Facing the cold start problem inrecommender systems提出了改进的相似度技术、预测机制,将人口统计信息应用到相似关系群的查找,该方法改善了协同过滤推荐算法面临的“冷启动”问题。
虽然国内外的众多学者对协同过滤推荐算法进行了深入地研究,但协同过滤算法仍存在很多值得研究的问题,特别是大量数据导致的稀疏性问题,“冷启动”问题和提高推荐精度等方面仍值得进行探索。
发明内容
本发明实施例的目的在于提供一种结合模糊权重相似性度量和聚类协同过滤的方法,旨在解决协同过滤算法中存在的提高推荐精度,数据稀疏性问题和“冷启动”问题。
本发明实施例是这样实现的,一种结合模糊权重相似性度量和聚类协同过滤的方法,该结合模糊权重相似性度量和聚类协同过滤的方法根据用户评分值和模糊权重wc,计算任意两个用户之间的相似度;利用k-means聚类方法对全部用户分成若干类;对于目标用户,在所属的类中按相似度由高到底选取邻居集;然后,根据邻居集内其他用户对目标项目的评分,预测目标用户对目标项目的评分。
进一步,该结合模糊权重相似性度量和聚类协同过滤的方法包括以下步骤:
步骤一,处理用户—项目评分矩阵Rm×n,确定目标用户Ui、待评分的项目Ic、最近邻居查询个数knear和分类数kcluster;
步骤二,依据评分矩阵Rm×n,用fcos,fcor,fadj分别计算用户三种不同的相似度矩阵FCOS,FCOR,FADJ,从相似度矩阵中知道任意两个用户之间的相似度;fcos:模糊加权余弦相似性;fcor:模糊加权相关相似性;fadj:模糊加权修正余弦相似性;
步骤三,由步骤二得出的相似度,再根据k-means算法和分类个数kcluster对所有用户进行分类;
步骤四,选取用户Ui所在的类index;确定用户的最近邻居集s(Ui);
步骤五,然后利用ri,c计算预测评分;
r i , c = r i ‾ + Σ U j ∈ S ( U i ) sim ( U i , U j ) × ( r jc - r j ‾ ) Σ U j ∈ S ( U i ) sim ( U i , U j )
ri,c:用户Ui对项目Ic的评分;用户Ui的平均评分;s(Ui):用户Ui的最近邻居集;
步骤六,循环步骤四和五直到对测试集中的所有用户的评分都进行了预测。
进一步,步骤二中的fcos,fcor,fadj通过引入模糊权重wc,模糊加权余弦相似性、模糊加权相关相似性和模糊加权修正余弦相似性的定义如下:
f cos ( U i , U j ) = Σ c ∈ I ij w c r i , c r j , c Σ c ∈ I ij r i , c 2 Σ c ∈ I ij r j , c 2
fcor ( U i , U j ) = Σ c ∈ I ij w c ( r i , c - r i ‾ ) ( r j , c - r j ‾ ) Σ c ∈ I ij ( r i , c - r i ‾ ) 2 Σ c ∈ I ij ( r j , c - r j ‾ ) 2
fadj ( U i , U j ) = Σ c ∈ I ij w c ( r i , c - r i ‾ ) ( r j , c - r j ‾ ) Σ c ∈ I j ( r i , c - r i ‾ ) 2 Σ c ∈ I i ( r j , c - r j ‾ ) 2 .
ri,c表示用户Ui对项目Ic的评分,分别表示用户Ui和用户Uj的平均评分。
进一步,fcos中wc求得的方法:
模糊向量中的元素个数是由模糊集的个数决定,评分的隶属函数为:
μ bad ( r ) = r - 1 4 1 ≤ r ≤ 5 μ good ( r ) = 5 - r 4 1 ≤ r ≤ 5
r=4时,相应的二元隶属向量为任取用户Ui和用户Uj共同评价过的推荐项目Ic∈Iij,向量关于推荐项目Ic∈Iij的模糊权重wc为:
w c = 2 - dis ( r → ic - r → jc )
dis ( r → ic - r → jc ) = Σ k = 1 l ( r ic k - r jc k ) 2
其中表示向量之间的欧式距离,l为向量的维数,为向量中的第k个元素;在wc中,用减去其它值是因为的最大值(对于向量 r → ic = ( 0,1 ) , r → jc = ( 1,0 ) 的dis(·))。
进一步,fcor:和fadj中wc的求得方法:
用户Ui和用户Uj对共同评分过的推荐项目Ic∈Iij的评分与各自评分均值的偏差为devic和devjc;分别用very bad(vb)、bad(b)、fair(f)、good(g)、very good(vg)表示5个模糊集,由5个模糊集组成评分偏差的隶属函数为:
devic=2.7,根据隶属函数的定义,隶属向量为:对于向量关于推荐项目c∈Iij的模糊权重wc为:
w c = 2 - dis ( dev ic → - dev jc → )
dis ( dev ic → - dev jc → ) = Σ k = 1 l ( dev ic k - dev jc k ) 2
其中表示向量之间的欧式距离,l为向量的维数,为向量的第k个元素;在wc中,用减去其它值是因为的最大值(对于 dev ic → = ( 0,0,0,0,1 ) , dev jc → = ( 1 , 0 , 0 , 0,0 ) 的dis(·))。
进一步,在步骤五中s(Ui)的更新方法包括:
第一步,对用户Ui与所在的类index中的其它用户按照相似度大小降序排列;并与对目标项目Ic评分不为0的用户集USERc中用户求交集组成用户群q(Ui);
第二步,若|q(Ui)|≥knear,取q(Ui)中前knear个用户组成s(Ui);
第三步,当0<|q(Ui)|≤knear时,则s(Ui)为q(Ui);
第四步,当|q(Ui)|=0时,对用户Ui与所有用户U按照相似度大小降序排列;并与USERc中用户求交集组成新用户群q(Ui);
第五步,若|q(Ui)|≥knear,取q(Ui)中前knear个用户组成s(Ui);
第六步,当0<|q(Ui)|≤knear时,则s(Ui)为q(Ui);
第七步,当|q(Ui)|=0时,对用户集USERc按照相似度大小降序排列,取前knear个用户作为s(Ui);如果0<|USERc|≤knear,取|USERc|个用户组成s(Ui);否则|USERc|=0,则s(Ui)为空集。
与现有技术相比,本发明具有如下的优点:
(1)本发明给出了新的评分值和评分偏差的隶属函数,运用模糊数代替具体评分值和评分偏差的方法,对评分进行模糊化,考虑到用户评分的不精确性对推荐性能的影响,提高了推荐精度。
(2)本发明对传统的几种相似度计算方法加入模糊权重,降低相关性差的用户评分对预测评分的干扰,和评分习惯对推荐结果的影响,有效的提高了相似邻居集查找的准确性。
(3)本发明提出了模糊相似度k-means聚类的协同过滤算法,在准确得到用户相似度关系后,进一步缩小邻居查找范围,提高了算法执行效率,降低数据稀疏性问题导致的预测结果不准确。
(4)本发明运用模糊逻辑理论对相似度进行改进并结合聚类算法到协同过滤系统中,对于大规模真实数据集依然适用,方法理论基础可靠、运行稳定,同时求解方法实现简单且具有较好的推荐精度。
附图说明
图1是本发明实施例提供的结合模糊权重相似性度量和聚类协同过滤的方法流程图;
图2是本发明实施例提供的实施例1的总流程图;
图3是本发明实施例提供的评分三角模糊集隶属函数示意图;
图4是本发明实施例提供的评分偏差梯形模糊集隶属函数示意图;
图5是本发明实施例提供的余弦相似性模糊相似度聚类IBCF\UBCF和聚类IBCF\UBCF比较示意图;
图6是本发明实施例提供的相关相似性模糊相似度聚类IBCF\UBCF和聚类IBCF\UBCF比较示意图;
图7是本发明实施例提供的修正余弦相似性模糊相似度聚类IBCF\UBCF和聚类IBCF\UBCF比较示意图;
图8是本发明实施例提供的模糊相似度聚类UBCF和聚类UBCF三种相似性模糊加权前后比较示意图;
图9是本发明实施例提供的模糊相似度聚类IBCF和聚类IBCF三种相似性模糊加权前后比较示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图及具体实施例对本发明的应用原理作进一步描述。
如图1所示,本发明实施例的结合模糊权重相似性度量和聚类协同过滤的方法包括以下步骤:
S101:根据用户评分值和模糊权重,计算任意两个用户之间的相似度;
S102:利用k-means聚类方法对全部用户分成若干类;对于目标用户,在所属的类中按相似度由高到底选取邻居集;
S103:然后,根据邻居集内其他用户对目标项目的评分,预测目标用户对目标项目的评分。
本发明的工作原理:根据用户评分值和模糊权重wc,计算任意两个用户之间的相似度;利用k-means聚类方法对全部用户分成若干类;对于目标用户,在所属的类中按相似度由高到底选取邻居集;然后,根据邻居集内其他用户对目标项目的评分,预测目标用户对目标项目的评分;
具体实现包括如下步骤:
步骤一,处理用户—项目评分矩阵Rm×n,确定目标用户Ui、待评分的项目Ic、最近邻居查询个数knear和分类数kcluster;
步骤二,依据评分矩阵Rm×n,用fcos,fcor,fadj分别计算用户三种不同的相似度矩阵FCOS,FCOR,FADJ,从相似度矩阵中知道任意两个用户之间的相似度;
步骤三,由步骤二得出的相似度,再根据k-means算法和分类个数kcluster对所有用户进行分类;
步骤四,选取用户Ui所在的类index;确定用户的最近邻居集s(Ui);
步骤五,然后利用ri,c计算预测评分;
r i , c = r i ‾ + Σ U j ∈ S ( U i ) sim ( U i , U j ) × ( r jc - r j ‾ ) Σ U j ∈ S ( U i ) sim ( U i , U j )
步骤六,循环步骤四和五直到对测试集中的所有用户的评分都进行了预测;
s(Ui)更新机制为:
(1)对用户Ui与其所在的类index中的其它用户按照相似度大小降序排列;并与对目标项目Ic评分不为0的用户集USERc中用户求交集组成用户群q(Ui);
(2)当|q(Ui)|不为0时,取q(Ui)中前min{|q(Ui)|,knear}组成s(Ui);
(3)当|q(Ui)|=0时,对用户Ui与所有用户U按照相似度大小降序排列;并与USERc中用户求交集组成新用户群q(Ui);
(4)当|q(Ui)|不为0时,取q(Ui)中前min{|q(Ui)|,knear}组成s(Ui);
(5)当|q(Ui)|=0时,对用户集USERc按照相似度大小降序排列,取前knear个用户作为s(Ui);如果0<|USERc|≤knear,取|USERc|个用户组成s(Ui);否则|USERc|=0,则s(Ui)为空集。
定义1(rating of membership function and fuzzy weight)(评分的隶属函数和模糊权重)一个具体的评分值r可经过相应的隶属函数转化为一个模糊向量模糊向量中的元素个数是由模糊集的个数决定,评分的隶属函数为:
μ bad ( r ) = r - 1 4 1 ≤ r ≤ 5 μ good ( r ) = 5 - r 4 1 ≤ r ≤ 5
图3为评分三角模糊集隶属函数图;如r=4时,相应的二元隶属向量为任取用户Ui和用户Uj共同评价过的推荐项目Ic∈Iij,向量关于推荐项目Ic∈Iij的模糊权重wc为:
w c = 2 - dis ( r → ic - r → jc )
dis ( r → ic - r → jc ) = Σ k = 1 l ( r ic k - r jc k ) 2
其中表示向量之间的欧式距离,l为向量的维数,为向量中的第k个元素;在wc中,用减去其它值是因为的最大值(对于向量 r → ic = ( 0,1 ) , r → jc = ( 1,0 ) 的dis(·));
定义2(rating deviation value of membership function and fuzzy weight)设用户Ui和用户Uj对共同评分过的推荐项目Ic∈Iij的评分与各自评分均值的偏差为devic和devjc;分别用very bad(vb)、bad(b)、fair(f)、good(g)、very good(vg)表示5个模糊集,由5个模糊集组成评分偏差的隶属函数为:
图4为评分偏差梯形模糊集隶属函数图;如devic=2.7,根据隶属函数的定义,隶属向量为:对于向量关于推荐项目c∈Iij的模糊权重wc为:
w c = 2 - dis ( dev ic → - dev jc → )
dis ( dev ic → - dev jc → ) = Σ k = 1 l ( dev ic k - dev jc k ) 2
其中表示向量之间的欧式距离,l为向量的维数,为向量的第k个元素;在wc中,用减去其它值是因为的最大值(对于 dev ic → = ( 0,0,0,0,1 ) , dev jc → = ( 1 , 0 , 0 , 0,0 ) 的dis(·));
定义3(fuzzy-weighted similarity measure)通过引入模糊权重wc,模糊加权余弦相似性(fuzzy-weighted cosine similarity measure(fcos))、模糊加权相关相似性(fuzzy-weighted Pearson correlation coefficient(fcor))和模糊加权修正余弦相似性(fuzzy-weighted adjusted cosine similarity measure(fadj))的定义如下:
f cos ( U i , U j ) = Σ c ∈ I ij w c r i , c r j , c Σ c ∈ I ij r i , c 2 Σ c ∈ I ij r j , c 2
fcor ( U i , U j ) = Σ c ∈ I ij w c ( r i , c - r i ‾ ) ( r j , c - r j ‾ ) Σ c ∈ I ij ( r i , c - r i ‾ ) 2 Σ c ∈ I ij ( r j , c - r j ‾ ) 2
fadj ( U i , U j ) = Σ c ∈ I ij w c ( r i , c - r i ‾ ) ( r j , c - r j ‾ ) Σ c ∈ I j ( r i , c - r i ‾ ) 2 Σ c ∈ I i ( r j , c - r j ‾ ) 2
其中,fcos中wc由定义1求出,fcor和fadj中的wc由定义2求得;ri,c表示用户Ui对项目Ic的评分,分别表示用户Ui和用户Uj的平均评分。
在现实生活中,很多的评价系统要求用户使用数值的形式对项目进行评价;但是,用户的喜好程度并不能被精确表达,因为用户评分往往涉及用户个人口味、个人倾向和当时的心情状况等不确定因素的影响;从这个方面讲,采用数值评分的推荐系统收集到的用户喜好信息是模糊、不精确和不完整的;另一方面,用户喜好信息和用户自己的理解、感知和辨别能力密切相关;一个单一的数值不能包含丰富的信息来表达用户喜好,也会导致推荐结果的不准确性;在这种情况下,我们采用模糊逻辑(Fuzzy Logic)的方法给用户喜好信息添加一定的权重,使预测值更接近用户的真实意愿从而提高预测准确率;并且由于用户—项目评分矩阵规模较大且具有稀疏性,且为了进一步提高邻居集查找准确度,我们引入k-means聚类方法;
本发明的具体实施例:
实施例1:
参照图1,本发明的具体步骤如下:
步骤一,在训练集中处理用户—项目评分矩阵Rm×n,去掉评分少于20个的用户和没有被任何用户评分的项目,相应的测试集的用户和评分也去掉;确定目标用户Ui、待评分的项目Ic、最近邻居查询个数knear和分类数kcluster;
步骤二,依据处理后的评分矩阵Rm×n,用fcos,fcor,fadj分别计算用户三种不同的相似度矩阵FCOS,FCOR,FADJ,从相似度矩阵中知道任意两个用户之间的相似度;
步骤三,由步骤二得出的相似度,再根据k-means算法和分类个数kcluster对所有用户进行分类;
步骤四,选取用户Ui所在的类index;取类index和对目标项目Ic评分不为0的用户集USERc的交集组成用户群q(Ui),选取用户群q(Ui)中相似度较高的knear个用户组成s(Ui);如果q(Ui)不足knear个,则s(Ui)为q(Ui);如果目标用户Ui为孤立点,或者目标项目Ic在类index中都没有评分,则在整个用户空间U中根据相似度寻找s(Ui);
步骤五,然后根据下式计算预测评分ric
r i , c = r i ‾ + Σ U j ∈ S ( U i ) sim ( U i , U j ) × ( r jc - r j ‾ ) Σ U j ∈ S ( U i ) sim ( U i , U j )
步骤六循环步骤四和五直到对测试集中的所有用户的评分都进行了预测。
下面详述s(Ui)更新机制;
(1)对用户Ui与其所在的类index中的其它用户按照相似度大小降序排列;并与对目标项目Ic评分不为0的用户集USERc中用户求交集组成用户群q(Ui);
(2)若|q(Ui)|≥knear,取q(Ui)中前knear个用户组成s(Ui);
(3)当0<|q(Ui)|≤knear时,则s(Ui)为q(Ui);
(4)当|q(Ui)|=0时,对用户Ui与所有用户U按照相似度大小降序排列;并与USERc中用户求交集组成新用户群q(Ui);
(5)若|q(Ui)|≥knear,取q(Ui)中前knear个用户组成s(Ui);
(6)当0<|q(Ui)|≤knear时,则s(Ui)为q(Ui);
(7)当|q(Ui)|=0时,对用户集USERc按照相似度大小降序排列,取前knear个用户作为s(Ui);如果0<|USERc|≤knear,取|USERc|个用户组成s(Ui);否则|USERc|=0,则s(Ui)为空集;
通过以下仿真对本发明的应用效果进行进一步的说明:
1.仿真条件:
本发明使用的数据集是GroupLens研究产品组(http://www.grouplens.org)提供的电影评分数据MovieLens,通过实验仿真,来说明算法的有效性;仿真实验室在一台2G内存,赛扬双核2.6GHz,32位win7操作系统下,使用matlab2012b进行的;实验采用5折交叉验证法,将实验数据集平均分成5个互不相交的数据子集,其中训练集和测试集的数据比例为4:1;每次实验选择其中一个数据子集作为测试集,其余4个数据集作为训练集;循环5次,取5次实验结果的平均值作为最终结果;5折交叉实验可以有效的降低数据集的不同对实验结果的影响;
2.评价标准
本发明中采用统计精度度量方法中的平均绝对偏差MAE(mean absoluteerror)对推荐结果进行度量;设预测的用户评分集合表示为{r′1,r′2,...,r′n},相应的实际用户评分集合为{r1,r2,...,rn},平均绝对偏差MAE为:
MAE = Σ i = 1 n | r i ′ - r i | n
3.仿真内容
仿真1,对于相似性的三种计算方法(余弦相似性、相关相似性和修正余弦相似性),我们对模糊相似度聚类IBCF\UBCF和聚类IBCF\UBCF进行比较;
图5中当kcluster=5,对于余弦相似性模糊加权前后的MAE对比图;图中用模糊相似度聚类IBCF\UBCF和聚类IBCF\UBCF产生推荐结果;knear从10变化到80,聚类IBCF\UBCF的MAE有所下降,但下降幅度较小,为5个百分点;相比之下,模糊相似度聚类IBCF\UBCF在knear较小时的MAE就明显低于聚类IBCF\UBCF,其值分布在0.6,随着knear的增加,MAE变化不大;
图6为对于相关相似性模糊相似度聚类IBCF\UBCF和聚类IBCF\UBCF进行比较;图7为对于修正余弦相似性模糊相似度聚类IBCF\UBCF和聚类IBCF\UBCF进行比较;三个图中,模糊相似度聚类IBCF\UBCF得出的MAE大体为0.75,聚类IBCF\UBCF得出的MAE平均为0.6,MAE下降为15个百分点;
仿真2,对于模糊相似度聚类UBCF和聚类UBCF,三种相似度之间的比较图;和对于模糊相似度聚类IBCF和聚类IBCF,三种相似度之间的比较图;
图8为模糊相似度聚类UBCF和聚类UBCF的三种相似性模糊加权前后比较图,图中每个点为kcluster=[5,10,15,20]四种不同情况下所得MAE的平均值;未加模糊权重前,余弦相似性的MAE值比其它两种两种相似性算法平均高出7个百分点,加上模糊权重后,三种相似性计算方法的结果基本相同;通过加权前后的比较,对于三种相似性计算方法,加上模糊权重后,都明显的提高了推荐的准确性;而余弦相似性加上模糊权重后,效果更明显;图9则是模糊相似度聚类IBCF和聚类IBCF三种相似性模糊加权前后比较图;
上述现象说明本发明的模糊相似度聚类IBCF\UBCF在邻居集s(Ui)查找准确度上有了明显提高;在相同的knear和kcluster下,模糊相似度聚类IBCF\UBCF的MAE值低于聚类IBCF\UBCF,较低的MAE是因为模糊相似度聚类IBCF\UBCF中对评分值和评分偏差进行模糊化,更接近于用户对于项目的真实评价;加入模糊权重wc后,用户间的相似度更趋于精确;上述原因直接导致在查找邻居集s(Ui)时,真正相似的用户的聚类;
符号说明:UBCF:基于用户的协同过滤算法;IBCF:基于项目的协同过滤算法;Rm×n:用户评价矩阵;wc:模糊权重;fcos:模糊加权余弦相似性;fcor:模糊加权相关相似性;fadj:模糊加权修正余弦相似性;ri,c:用户Ui对项目Ic的评分;用户Ui的平均评分;knear:邻居数;kcluster:分类数;s(Ui):用户Ui的最近邻居集。
相对于现有技术,本发明具有如下的优点:
(1)本发明给出了新的评分值和评分偏差的隶属函数,运用模糊数代替具体评分值和评分偏差的方法,对评分进行模糊化。
(2)本发明对传统的几种相似度计算方法加入模糊权重,计算相似度。
(3)本发明提出了模糊相似度聚类的协同过滤算法,提高相似邻居查找准确性。
(4)本发明对于大规模真实数据集依然适用,且具有较好的试验效果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种结合模糊权重相似性度量和聚类协同过滤的方法,其特征在于,该结合模糊权重相似性度量和聚类协同过滤的方法包括以下步骤:
步骤一,处理用户—项目评分矩阵Rm×n,确定目标用户Ui、待评分的项目Ic、最近邻居查询个数knear和分类数kcluster;
步骤二,依据评分矩阵Rm×n,用fcos,fcor,fadj分别计算用户三种不同的相似度矩阵FCOS,FCOR,FADJ,从相似度矩阵中知道任意两个用户之间的相似度;fcos:模糊加权余弦相似性;fcor:模糊加权相关相似性;fadj:模糊加权修正余弦相似性;
步骤三,由步骤二得出的相似度,再根据k-means算法和分类个数kcluster对所有用户进行分类;
步骤四,选取用户Ui所在的类index;确定用户的最近邻居集s(Ui);
步骤五,然后利用ri,c计算预测评分;
r i , c = r i ‾ + Σ U j ∈ S ( U i ) sim ( U i , U j ) × ( r jc - r j ‾ ) Σ U j ∈ S ( U i ) sim ( U i , U j )
ri,c:用户Ui对项目Ic的评分;用户Ui的平均评分;s(Ui):用户Ui的最近邻居集;
步骤六,循环步骤四和步骤五直到对测试集中的所有用户的评分都进行了预测。
2.如权利要求1所述的结合模糊权重相似性度量和聚类协同过滤的方法,其特征在于,步骤二中的fcos,fcor,fadj通过引入模糊权重wc,模糊加权余弦相似性、模糊加权相关相似性和模糊加权修正余弦相似性的定义如下:
f cos ( U i , U j ) = Σ c ∈ I ij w c r i , c r j , c Σ c ∈ I ij r i , c 2 Σ c ∈ I ij r j , c 2
fcor ( U i , U j ) = Σ c ∈ I ij w c ( r i , c - r i ‾ ) ( r j , c - r j ‾ ) Σ c ∈ I ij ( r i , c - r i ‾ ) 2 Σ c ∈ I ij ( r j , c - r j ‾ ) 2
fadj ( U i , U j ) = Σ c ∈ I ij w c ( r i , c - r i ‾ ) ( r j , c - r j ‾ ) Σ c ∈ I j ( r i , c - r i ‾ ) 2 Σ c ∈ I i ( r j , c - r j ‾ ) 2 ;
ri,c表示用户Ui对项目Ic的评分,分别表示用户Ui和用户Uj的平均评分。
3.如权利要求2所述的结合模糊权重相似性度量和聚类协同过滤的方法,其特征在于,fcos中wc求得的方法:
模糊向量中的元素个数是由模糊集的个数决定,评分的隶属函数为:
μ bad ( r ) = r - 1 4 1 ≤ r ≤ 5 μ good ( r ) = 5 - r 4 1 ≤ r ≤ 5
r=4时,相应的二元隶属向量为任取用户Ui和用户Uj共同评价过的推荐项目Ic∈Iij,向量关于推荐项目Ic∈Iij的模糊权重wc为:
w c = 2 - dis ( r → ic - r → jc )
dis ( r → ic - r → jc ) = Σ k = 1 l ( r ic k - r jc k ) 2
其中表示向量之间的欧式距离,l为向量的维数,为向量中的第k个元素;在wc中,用减去其它值是因为的最大值(对于向量 r → ic = ( 0,1 ) , r → jc = ( 1,0 ) 的dis(·))。
4.如权利要求2所述的结合模糊权重相似性度量和聚类协同过滤的方法,其特征在于,fcor和fadj中wc的求得方法:
用户Ui和用户Uj对共同评分过的推荐项目Ic∈Iij的评分与各自评分均值的偏差为devic和devjc;分别用very bad(vb)、bad(b)、fair(f)、good(g)、very good(vg)表示5个模糊集,由5个模糊集组成评分偏差的隶属函数为:
devic=2.7,根据隶属函数的定义,隶属向量为:对于向量关于推荐项目c∈Iij的模糊权重wc为:
w c = 2 - dis ( dev ic → - dev jc → )
dis ( dev ic → - dev jc → ) = Σ k = 1 l ( dev ic k - dev jc k ) 2
其中表示向量之间的欧式距离,l为向量的维数,为向量的第k个元素;在wc中,用减去其它值是因为的最大值(对于 dev ic → = ( 0,0,0,0,1 ) , dev jc → = ( 1 , 0 , 0 , 0,0 ) 的dis(·))。
5.如权利要求1所述的结合模糊权重相似性度量和聚类协同过滤的方法,其特征在于,在步骤五中s(Ui)的更新方法包括:
第一步,对用户Ui与所在的类index中的其它用户按照相似度大小降序排列;并与对目标项目Ic评分不为0的用户集USERc中用户求交集组成用户群q(Ui);
第二步,若|q(Ui)|≥knear,取q(Ui)中前knear个用户组成s(Ui);
第三步,当0<|q(Ui)|≤knear时,则s(Ui)为q(Ui);
第四步,当|q(Ui)|=0时,对用户Ui与所有用户U按照相似度大小降序排列;并与USERc中用户求交集组成新用户群q(Ui);
第五步,若|q(Ui)|≥knear,取q(Ui)中前knear个用户组成s(Ui);
第六步,当0<|q(Ui)|≤knear时,则s(Ui)为q(Ui);
第七步,当|q(Ui)|=0时,对用户集USERc按照相似度大小降序排列,取前knear个用户作为s(Ui);如果0<|USERc|≤knear,取|USERc|个用户组成s(Ui);否则|USERc|=0,则s(Ui)为空集。
CN201410457937.1A 2014-09-10 2014-09-10 一种结合模糊权重相似性度量和聚类协同过滤的方法 Active CN104239496B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410457937.1A CN104239496B (zh) 2014-09-10 2014-09-10 一种结合模糊权重相似性度量和聚类协同过滤的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410457937.1A CN104239496B (zh) 2014-09-10 2014-09-10 一种结合模糊权重相似性度量和聚类协同过滤的方法

Publications (2)

Publication Number Publication Date
CN104239496A true CN104239496A (zh) 2014-12-24
CN104239496B CN104239496B (zh) 2017-11-03

Family

ID=52227555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410457937.1A Active CN104239496B (zh) 2014-09-10 2014-09-10 一种结合模糊权重相似性度量和聚类协同过滤的方法

Country Status (1)

Country Link
CN (1) CN104239496B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899246A (zh) * 2015-04-12 2015-09-09 西安电子科技大学 基于模糊机制用户评分邻域信息的协同过滤推荐方法
CN106095761A (zh) * 2015-12-16 2016-11-09 段云涛 一种多准则目标决策方法及装置
WO2017041541A1 (zh) * 2015-09-08 2017-03-16 北京邮电大学 推送推荐信息的方法、服务器及存储介质
CN106920198A (zh) * 2015-12-24 2017-07-04 日本电气株式会社 用于污染物溯源的设备和方法
CN107134778A (zh) * 2017-07-03 2017-09-05 湖南工业大学 基于互联网直流侧电压自适应调节apf 电流预测控制方法
CN108205682A (zh) * 2016-12-19 2018-06-26 同济大学 一种用于个性化推荐的融合内容和行为的协同过滤方法
CN109241426A (zh) * 2018-08-31 2019-01-18 苏州大学 一种对象推荐方法、装置、设备及可读存储介质
CN110020141A (zh) * 2017-11-15 2019-07-16 航天信息股份有限公司 一种基于改进聚类和Spark框架的个性化推荐方法及系统
CN111581503A (zh) * 2020-04-26 2020-08-25 中国工商银行股份有限公司 模糊k邻近的推荐方法和装置、电子设备以及存储介质
CN114528888A (zh) * 2022-04-25 2022-05-24 广东玖智科技有限公司 一种ppg信号聚类中心获取方法及装置和ppg信号处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190225A1 (en) * 2005-02-18 2006-08-24 Brand Matthew E Collaborative filtering using random walks of Markov chains
US20080120287A1 (en) * 2006-11-17 2008-05-22 Wei Guan Collaborative-filtering contextual model based on explicit and implicit ratings for recommending items
CN101685458A (zh) * 2008-09-27 2010-03-31 华为技术有限公司 一种基于协同过滤的推荐方法和系统
CN103412948A (zh) * 2013-08-27 2013-11-27 北京交通大学 基于聚类的协同过滤的商品推荐方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190225A1 (en) * 2005-02-18 2006-08-24 Brand Matthew E Collaborative filtering using random walks of Markov chains
US20080120287A1 (en) * 2006-11-17 2008-05-22 Wei Guan Collaborative-filtering contextual model based on explicit and implicit ratings for recommending items
CN101685458A (zh) * 2008-09-27 2010-03-31 华为技术有限公司 一种基于协同过滤的推荐方法和系统
CN103412948A (zh) * 2013-08-27 2013-11-27 北京交通大学 基于聚类的协同过滤的商品推荐方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MOHAMMAD YAHYA H. AL-SHAMRI AND NAGI H. AL-ASHWAL: "Fuzzy-weighted Pearson Correlation Coefficient for Collaborative Recommender Systems", 《PROCEEDINGS OF THE 15TH INTERNATIONAL CONFERENCE ON ENTERPRISE INFORMATION SYSTEMS》 *
周张兰: "基于协同过滤的个性化推荐算法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899246B (zh) * 2015-04-12 2018-06-26 西安电子科技大学 基于模糊机制用户评分邻域信息的协同过滤推荐方法
CN104899246A (zh) * 2015-04-12 2015-09-09 西安电子科技大学 基于模糊机制用户评分邻域信息的协同过滤推荐方法
US10609433B2 (en) 2015-09-08 2020-03-31 Tencent Technology (Shenzhen) Company Limited Recommendation information pushing method, server, and storage medium
WO2017041541A1 (zh) * 2015-09-08 2017-03-16 北京邮电大学 推送推荐信息的方法、服务器及存储介质
CN106095761A (zh) * 2015-12-16 2016-11-09 段云涛 一种多准则目标决策方法及装置
CN106920198A (zh) * 2015-12-24 2017-07-04 日本电气株式会社 用于污染物溯源的设备和方法
CN108205682A (zh) * 2016-12-19 2018-06-26 同济大学 一种用于个性化推荐的融合内容和行为的协同过滤方法
CN108205682B (zh) * 2016-12-19 2021-10-08 同济大学 一种用于个性化推荐的融合内容和行为的协同过滤方法
CN107134778A (zh) * 2017-07-03 2017-09-05 湖南工业大学 基于互联网直流侧电压自适应调节apf 电流预测控制方法
CN110020141A (zh) * 2017-11-15 2019-07-16 航天信息股份有限公司 一种基于改进聚类和Spark框架的个性化推荐方法及系统
CN109241426A (zh) * 2018-08-31 2019-01-18 苏州大学 一种对象推荐方法、装置、设备及可读存储介质
CN111581503A (zh) * 2020-04-26 2020-08-25 中国工商银行股份有限公司 模糊k邻近的推荐方法和装置、电子设备以及存储介质
CN114528888A (zh) * 2022-04-25 2022-05-24 广东玖智科技有限公司 一种ppg信号聚类中心获取方法及装置和ppg信号处理方法及装置
CN114528888B (zh) * 2022-04-25 2022-07-12 广东玖智科技有限公司 一种ppg信号聚类中心获取方法及装置和ppg信号处理方法及装置
WO2023206888A1 (zh) * 2022-04-25 2023-11-02 广东玖智科技有限公司 一种ppg信号聚类中心获取方法及装置和ppg信号处理方法及装置

Also Published As

Publication number Publication date
CN104239496B (zh) 2017-11-03

Similar Documents

Publication Publication Date Title
CN104239496A (zh) 一种结合模糊权重相似性度量和聚类协同过滤的方法
CN104935963B (zh) 一种基于时序数据挖掘的视频推荐方法
CN103793476B (zh) 基于网络社区的协同过滤推荐方法
CN104462383B (zh) 一种基于用户多种行为反馈的电影推荐方法
CN105893609A (zh) 一种基于加权混合的移动app推荐方法
CN107220365A (zh) 基于协同过滤与关联规则并行处理的精准推荐系统及方法
CN101694652A (zh) 一种基于极速神经网络的网络资源个性化推荐方法
CN105740401A (zh) 一种基于个体行为和群体兴趣的兴趣地点推荐方法及装置
CN104166732B (zh) 一种基于全局评分信息的项目协同过滤推荐方法
CN104281956A (zh) 基于时间信息的适应用户兴趣变化的动态推荐方法
Bok et al. Social group recommendation based on dynamic profiles and collaborative filtering
CN104615687A (zh) 一种面向知识库更新的实体细粒度分类方法与系统
CN103927347A (zh) 一种基于用户行为模型和蚁群聚类的协同过滤推荐算法
Bin et al. Collaborative filtering recommendation algorithm based on multi-relationship social network
CN106708953A (zh) 基于离散粒子群优化的局部社区检测协同过滤推荐方法
CN106126549A (zh) 一种基于概率矩阵分解的社区信任推荐方法及其系统
CN109508428A (zh) 基于兴趣点真流行度与隐式信任挖掘的兴趣点推荐方法
CN103559622A (zh) 基于特征的协同过滤推荐方法
CN104899246A (zh) 基于模糊机制用户评分邻域信息的协同过滤推荐方法
CN105095476A (zh) 基于Jaccard均衡距离的协同过滤推荐方法
CN105678590A (zh) 一种面向社交网络基于云模型的topN推荐方法
CN108415913A (zh) 基于不确定邻居的人群定向方法
CN103390032B (zh) 基于关系型协同话题回归的推荐系统及方法
CN109840833A (zh) 贝叶斯协同过滤推荐方法
CN108897750A (zh) 融合多元上下文信息的个性化地点推荐方法及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant