一种融合局部相似度和全局相似度的协同过滤推荐方案的方法技术

技术编号:22262448 阅读:59 留言:0更新日期:2019-10-10 14:59
一种融合局部相似度和全局相似度的协同过滤推荐方案的方法,属于方案推荐技术领域。基于协同过滤算法的思想,从相似度计算方面进行突破,一是采用全部用户项目评分计算全局相似度,有效利用了数据的信息,能够解决数据稀疏性,二是利用用户的共同评分信息,将评分分为都是积极评分、都是消极评分以及两种评分结合三种情况,计算局部相似度,能够充分有效利用用户之间的共有信息,将两种相似度进行融合,能够有效提高预测的准确度。

A Collaborative Filtering Recommendation Scheme Combining Local Similarity and Global Similarity

【技术实现步骤摘要】
一种融合局部相似度和全局相似度的协同过滤推荐方案的方法
本专利技术属于推荐方案
,涉及到一种协同过滤中推荐方案的方法,尤指一种基于用户的协同过滤推荐方案的方法。
技术介绍
第四代工业革命已悄然而至,现如今正处在数据爆炸的时代,随着大数据时代的到来,人们面临很多物品的选择难题,如何高效并且准确的找到自己的目标成为现实问题,因此推荐系统应运而生。推荐系统源自非常简单的现象,就是人们在做自己的选择的时候通常会听取他人的意见。推荐系统在很多网站中扮演着很重要的角色,例如阿里的商品推荐、腾讯的好友推荐、网易云的歌单推荐、百度的搜索关联等。推荐系统中协同过滤算法应用最多,协同过滤算法在1992年被提出,因为协同过滤算法推荐只依赖用户的行为,不需要对内容进行了解,所以应用范围十分广泛,最早应用于邮件过滤方面,目前已经应用到各种商业推荐领域。协同过滤算法包括基于用户的协同过滤算法和基于项目的协同过滤算法,基于用户的协同过滤算法通过计算目标用户与其他用户的相似度,根据相似度大小排序得到用户的邻居用户集,再通过邻居用户集对某一项目的评分来预测目标用户对这一项目的评分,最后从中选取若干个项目对目标用户进行推荐。传统的协同过滤算法计算相似度采用余弦相似性或者皮尔逊相似性等方法,都是利用用户的共同评分信息进行计算,没有充分利用完整的数据评分,已有的数据集自身的稀疏性就很高,用户的共同评分信息仅占据了一部分的比例,传统的算法更是加剧了这种数据稀疏性,导致预测精度不高。针对数据稀疏和预测精度低等问题,提出一种融合局部相似度和全局相似度的协同过滤推荐方案的方法,本方法能够充分利用数据信息计算相似度,有效解决该问题带来的影响。
技术实现思路
本专利技术针对协同过滤算法中现有的数据稀疏和推荐精度不高问题,提出了一种融合局部相似度和全局相似度的协同过滤推荐方案的方法,即(Combine-local-and-globalsimilaritiesmeasures,CLAG_CF)方法,该方法能够有效解决数据稀疏问题,并提高推荐精度。为了达到上述目的,本专利技术提出一种融合局部相似度和全局相似度的协同过滤推荐方案的方法,本方法结构如图1所示,该方法利用用户的全部评分以及共同评分分别计算全局相似度和局部相似度,具体步骤包括:步骤一:利用收集到的用户评分信息构建用户项目评分矩阵R;步骤二:确定目标用户m,对其进行推荐,利用步骤一中的用户项目评分矩阵R进行相似度计算,计算用户m和其他用户n之间的相似度,如图2所示,其中涉及包含局部相似度计算模块和全局相似度计算模块,对以上两个模块分别进行设计;(1)局部相似度计算模块利用用户m、n对共同评分项目的评分,将其分为三部分进行计算,计算方案如下所示:其中siml(m,n)表示用户m和n的局部相似度,如表1所示,A表示两个用户的评分都是积极评分的部分,对A部分进行相似度记算,得到L(A),B表示两个用户的评分都是消极评分,对B部分进行相似度计算,得到L(B),C表示两个用户的评分一个是积极评分,另一个是消极评分,对C部分的评分进行相似度计算,得到L(C),rmi、rni分别表示用户m、n对项目i的评分,表示用户m和n对全部评分项目的评分平均值,表示对于项目i评分是积极评分用户个数所占的比例,表示对于项目i评分是消极评分用户个数所占的比例;对于数据评分,高于中位数的是积极评分,属于集合Rp,低于和等于中位数的是消极评分,属于集合Rq。例如在一个评分范围在1-5的推荐系统中,Rp={4,5},Rq={1,2,3}表1:用户共同评分不同情况组合(2)全局相似度计算模块利用所有的评分信息进行计算,其包含两部分,前半部分是用户的共同评分惩罚因子,后半部分是分别计算出用户评分数量,得到用户的评分爱好信息,全局相似度计算模块计算方案如下所示:其中Im表示用户m评分的项目,In表示用户n评分的项目,表示用户m的评分向量,表示用户n的评分向量,k表示用户的评分值,fk,lk表示用户将评分评为k分的个数。将求得的局部相似度和全局相似度融合得到综合相似度值:sim(m,n)=α*siml(m,n)+β*simg(m,n)(4)其中α、β是权重因子,取值为[0,1],同时满足α+β=1,二者在不同推荐系统中进行动态调整以达到不同的推荐效果;步骤三:将步骤二中求得的多个不同其他用户n与用户m的综合相似度值按照大小排序,选取前K个用户作为目标用户m的最近邻居集;步骤四:利用步骤三求得的邻居以及对应的相似度预测目标用户m未评分项目t的评分,评分公式如式(5)其中rm,t表示用户m对未评分项目t的预测评分,表示用户m和n对全部评分项目的评分平均值;步骤五:重复步骤四,预测出所有未评分的评分,选取评分前N个项目,得到top-N推荐。本专利技术提供的上述一种融合局部相似度和全局相似度的协同过滤推荐方案的方法,基于协同过滤算法的思想,从相似度计算方面进行突破,一是采用全部用户项目评分计算全局相似度,有效利用了数据的信息,能够解决数据稀疏性,二是利用用户的共同评分信息,将评分分为都是积极评分、都是消极评分以及两种评分结合三种情况,计算局部相似度,能够充分有效利用用户之间的共有信息,将两种相似度进行融合,能够有效提高预测的准确度。附图说明图1为本专利技术一种融合局部相似度和全局相似度的协同过滤推荐方案的方法流程图;图2为本专利技术相似度计算模块图;图3为具体事例不同邻居下四种算法的MAE对比图;图4为具体事例不同推荐数量下四种算法的F-measure对比图具体实施方式下面结合实施例对本专利技术做进一步说明,但本专利技术并限于以下实施例。一种融合局部相似度和全局相似度的协同过滤推荐方案的方法,流程如图1所示,具体包括以下步骤:步骤一:读取movielens数据集数据,将数据整理成用户-项目的评分矩阵R步骤二:利用评分矩阵R和相似度计算公式(1)(2)分别计算出全局相似度和局部相似度,为了能够得到更精确的预测精度,在此我们设定α权重因子从0.1开始以0.1为梯度进行遍历,本方法采用MAE作为评价指标,计算公式如式(9),MAE越小,预测准确度越高,在动态调整过程中,我们设定邻居数K=30,推荐数量N=20,得到最小的MAE值,将此时的α、β因子作为最终的权重系数进行融合,β=1-α,我们观察MAE值和α的关系就能求出β,根据实验结果设定α=0.7,β=0.3,将两种相似度进行融合,得到目标用户和其他用户的相似度值;步骤三:对步骤二中的相似度值进行大小排列,选取前K个作为目标用户的邻居集(先选取5个,后面的实验依次多加入5个直到50);步骤四:利用预测评分公式对未评分项目进行评分预测,重复进行,直到所有未评分项目都评分完毕;步骤五:选取步骤四中评分高的前N个作为推荐。采用Movielens-100k公开数据集进行对本方案的验证,Movielens-100k数据集是包含了943个用户对1682部电影的近10万条评分信息,其中每名用户至少点评20部电影,评分范围是1-5分,每名用户可以对电影评分为1,2,3,4,5,评分越高说明对电影越感兴趣。将数据集分为80%训练集和20%测试集进行实验,利用测试集数据进行预测准确度判定,我们分别选取不同的邻居数目进行实验,邻居数目依次选取本文档来自技高网
...

【技术保护点】
1.一种融合局部相似度和全局相似度的协同过滤推荐方案的方法,其特征在于,该方法利用用户的全部评分以及共同评分分别计算全局相似度和局部相似度,具体步骤包括:步骤一:利用收集到的用户评分信息构建用户项目评分矩阵R;步骤二:确定目标用户m,对其进行推荐,利用步骤一中的用户项目评分矩阵R进行相似度计算,计算用户m和其他用户n之间的相似度,其中涉及包含局部相似度计算模块和全局相似度计算模块,对以上两个模块分别进行设计;(1)局部相似度计算模块利用用户m、n对共同项目的共同评分,将其分为三部分进行计算,计算方案如下所示:

【技术特征摘要】
1.一种融合局部相似度和全局相似度的协同过滤推荐方案的方法,其特征在于,该方法利用用户的全部评分以及共同评分分别计算全局相似度和局部相似度,具体步骤包括:步骤一:利用收集到的用户评分信息构建用户项目评分矩阵R;步骤二:确定目标用户m,对其进行推荐,利用步骤一中的用户项目评分矩阵R进行相似度计算,计算用户m和其他用户n之间的相似度,其中涉及包含局部相似度计算模块和全局相似度计算模块,对以上两个模块分别进行设计;(1)局部相似度计算模块利用用户m、n对共同项目的共同评分,将其分为三部分进行计算,计算方案如下所示:其中siml(m,n)表示用户m和n的局部相似度,如表1所示,A表示两个用户的评分都是积极评分的部分,对A部分进行相似度记算,得到L(A),B表示两个用户的评分都是消极评分,对B部分进行相似度计算,得到L(B),C表示两个用户的评分一个是积极评分,另一个是消极评分,对C部分的评分进行相似度计算,得到L(C),rm,i、rn,i分别表示用户m、n对项目i的评分,表示用户m和n的平均评分,表示对于项目i评分是积极评分用户个数所占的比例,表示对于项目i评分是消极评分用户个数所占的比例;对于数据评分,高于中位数的是积极评分,属于集合Rp,低于和等于中位数的是消极评分,属于集合Rq...

【专利技术属性】
技术研发人员:靳其兵张悦蔡鋈刘蕊周星陈思
申请(专利权)人:北京化工大学北京国控天成科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1