基于离散粒子群优化的局部社区检测协同过滤推荐方法技术

技术编号:15437403 阅读:159 留言:0更新日期:2017-05-26 03:29
本发明专利技术公开了一种基于离散粒子群优化的局部社区协同过滤推荐方法,主要解决现有技术在获得用户之间相似度数据时存在稀疏性,造成推荐准确率低的问题。其实现步骤是:获取用户对待推荐项目的评分信息,并利用用户对待推荐项目的评分数据间接生成用户之间的关系网络;计算用户之间的相似度,通过相似度对用户关系网络进行局部社团检测,得到局部最密集用户社区,并对其扩展得到局部用户社区;将用户关系网络划分成若干个用户社区,选取用户所在社区内相似度最大的k个用户组成近邻用户集合;根据近邻用户集合对目标用户未评分的项目预测评分,将评分预测值中最大的项目推荐给用户。本发明专利技术能得到更好的推荐结果,可用于向用户推荐用户感兴趣的项目。

Collaborative filtering recommendation method for local community detection based on discrete particle swarm optimization

The invention discloses a collaborative filtering recommendation method of local community based on discrete particle swarm optimization, mainly to solve the problems of existing technology in data sparse similarity between users, causing the problem of low recommendation accuracy. It comprises following steps: acquiring user to recommend project grading information network, the relationship between score data and use indirect users to treat recommended items to generate user; calculating the similarity between users, the similarity of local community detection on the user network, get the most intensive local user community, and the expansion of local user community; the user relationship network is divided into several user community, select user community similarity within the K largest users of neighbor users set; according to the neighbor users set the target user not score project prediction score will score the biggest project value recommended to the user. The invention can obtain better recommendation results and can be used to recommend the user interested items to the user.

【技术实现步骤摘要】
基于离散粒子群优化的局部社区检测协同过滤推荐方法
本专利技术属于计算机
,更进一步涉及一种局部社区检测的协同过滤推荐方法,可用于个性化服务的推荐系统中。
技术介绍
近些年,随着现实生活中计算机网络技术的技术进步,个性化服务已成为一种新的信息服务模式,其中推荐技术是个性化服务中一个重要的组成部分。个性化推荐是指根据用户的兴趣爱好对用户信息进行收集、过滤、分类,找到用户感兴趣的项目或信息并将其推荐给用户的技术。个性化推荐应用日益广泛,应用领域涉及电子商务,网页,电影,图书,音乐等多个方面。个性化推荐的最大的优点在于,它能收集用户特征资料并根据用户特征,如兴趣偏好,为用户主动做出个性化的推荐。而且,系统给出的推荐是可以实时更新的,即当系统中的商品库或用户特征库发生改变时,给出的推荐序列会自动改变。目前推荐技术主要分为基于内容的推荐技术和基于协同过滤的推荐技术两大类。传统基于内容的推荐方法通过收集项目的内容或属性信息等特征因素,依据用户信息与对应项目的匹配程度,推荐具有相似属性的项目而不考虑历史评分。基于协同过滤的推荐方法则通过分析用户兴趣,在用户群中找到指定用户的相似兴趣用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度预测。相比于基于内容的推荐技术,协同过滤技术无需获得对象的信息,可以在缺乏对象内容描述的情况下进行推荐。协同过滤推荐技术广泛应用于推荐系统中,然而其同样存在数据稀疏性的问题。所谓数据稀疏性问题是指在一个推荐系统中,用户的数量通常远小于项目的数量,很多用户对项目的评价数据较少,造成了协同过滤技术对于数据的缺乏,最终影响推荐系统的准确性。随着网络技术特别是Facebook、微博等社交网站的兴起,社会网络逐渐成为复杂网络领域的研究热点。社会网络以单个人为节点构成社会结构,人与人之间通过相互作用的关系联结起来。相互作用的关系包括友谊、利益关系、宗教信仰等。根据大量的研究发现,在许多社会网络中都有一个典型的特征结构-社区结构,即一个复杂网络可以划分成若干社区。通常认为,一个明显的社区结构要求社区内的节点与节点之间连接相对紧密,社区间的节点与节点之间连接相对稀疏。同一社区内的点往往具有相似的性质,检测这些具有相似性质的社区可以提供重要信息,有助于理解和推测网络的结构和个体之间的关系。对于社会网络来说,节点可以代表的人或社会群体,边代表两个人或者群体之间存在关系,可以建模为G=(V,E)模型,其中V表示一组节点或顶点,E表示一个链接的集合,称为边集,用于连接任意两个节点。在现有的大多数复杂网络的社区检测方法中,主要是对网络进行整体划分。而实际生活中,动态网络在许多真实网络无处不在,由于规模巨大,分散的,动态特性,传统的社区检测方法,从全局的观点很难获得真实的社团结构,而且社区的局部拓扑信息也不容易得到。局部社区是网络的密集连接的节点子集,这些子集能反映网络中社区的局部拓扑信息,因此具有重要意义。西安电子科技大学提出的专利申请“基于进化计算对社会系统进行社区检测的方法”(专利号:201210158332,公开号:CN102722639A)采用了图分割方法解决社会系统的社区检问题。该方法的实施步骤为:首先,通过统计社会系统的个体种类,记录个体相互间关系的属性分布;其次,依据这些统计信息构建能够描述社会系统层次结构的加权无向图,把复杂符号网络的社区检测问题转化为相应的图分割问题;然后,选取修正模块度作为图分割质量评价准则,并通过进化算法优化该修正模块度来对加权无向图进行分割;最后,将图分割结果作为该网络的社区检测结果。该方法存在的不足是:对网络进行整体划分,不容易得到局部拓扑信息,没有考虑到在实际应用中社会系统中网络规模很大,且对网络进行整体划分,所消耗的时间比较长。现有的大多数局部社区检测的方法,例如,Clauset方法首先定义一个局部模块度函数并且指定一个节点,然后对局部模块度函数进行贪婪优化,来发现包含此节点的局部社区。这种方法由于对源节点的位置很敏感,对于选取不同的源节点,会得到的不同社团结构,从而导致对节点社区划分的错误结果。
技术实现思路
本专利技术的目的在于针对上述已有技术的不足,提供一种基于离散粒子群优化的局部社区检测协同过滤推荐方法,以有效解决对源节点的位置敏感性和产生的数据稀疏性问题,提高推荐准确性。为实现上述目的,本专利技术对现有粒子群优化算法PSO进行改进,其技术方案包括如下:1.一种基于离散粒子群优化的局部社区检测的协同过滤推荐方法,包括如下步骤:(1)获取用户对待推荐项目的评分信息R(m,n),通过用户对待推荐项目的评分信息间接生成用户与用户之间的关系网络,其中任意两个用户共同评分的项目个数表示这两个用户之间的权值关系,这些用户之间的权值关系构成用户与用户的关系网络,用户对项目的评分信息R(m,n)用如下矩阵表示:其中m和n分别表示用户数和项目数,rij表示矩阵中第i行第j列的元素用户i对项目j的评分值;(2)通过用户与用户的关系网络,计算任意两个用户u与v之间的相似度s(u,v);(3)对用户与用户的关系网络进行局部的社团检测,得到局部最密集用户社区:(3a)粒子群初始化:将每个用户比作一个节点,获得用户网络的节点数N,随机生成100个初始粒子,每一个粒子同时拥有N维位置矢量Pl和N维速度矢量Vl:Pl={pl1,pl2,...,plr,...,plN},Vl={vl1,vl2,...,vlr,...,vlN},其中,plr表示第r个节点在位置矢量中所属的社团编号,同时vlr表示第r个节点在速度矢量中所属的社团编号,r∈[1,N],l∈[1,100];(3b)定义T(Ct)表示第t个社区Ct的质量函数:其中S表示的是最密集的社团,Sc表示社团S的补集,O(S)表示在社团S内两倍的连接边的数目,B(S)表示社团S中的节点与剩余网络中的节点连接边的数目,Abq表示在用户与用户的关系网络的邻接矩阵中用户b与用户q的连接关系,如果用户b与用户q之间有边相连,则Abq=1,否则,Abq=0;(3c)定义每个粒子内局部社区质量函数最高的值为粒子的适应度函数fun(TC):fun(Tc)=maxT(Ct);(3d)对粒子的位置矢量和速度矢量按照如下公式进行更新:得到更新后的粒子位置矢量和更新后的速度矢量:Pl'={p'l1,p'l2,...,p'lr,...,p'lN},Vl'={v'l1,v'l2,...,v'lr,...,v'lN},其中,p′lr表示第r个节点在更新后位置矢量中所属的社团编号,p′lr∈[1,N];v′lr表示第r个节点在在更新后速度矢量中所属的社团编号,v′lr∈[1,N];ω为粒子群优化算法中的一个惯性权重,取值为ω=0.7298;c1为第一学习因子,取值为0.5;c2为第二学习因子,取值为0.5;Pbestl是上一次适应度函数最大的第l个粒子对应的位置矢量,Gbest是到目前为止所有的粒子中的适应度函数最大的粒子对应的位置矢量;为乘法操作算子,⊙为减法操作算子,为加法操作算子;(3e)设ACu表示社区集合,根据粒子的位置矢量和速度矢量的更新公式迭代100次,取最后一次迭代后Gbest中适应度函数值对应的局部社区,作为局部最密集用户社区C本文档来自技高网
...
基于离散粒子群优化的局部社区检测协同过滤推荐方法

【技术保护点】
一种基于离散粒子群优化的局部社区检测的协同过滤推荐方法,包括如下步骤:(1)获取用户对待推荐项目的评分信息R(m,n),通过用户对待推荐项目的评分信息间接生成用户与用户之间的关系网络,其中任意两个用户共同评分的项目个数表示这两个用户之间的权值关系,这些用户之间的权值关系构成用户与用户的关系网络,用户对项目的评分信息R(m,n)用如下矩阵表示:

【技术特征摘要】
1.一种基于离散粒子群优化的局部社区检测的协同过滤推荐方法,包括如下步骤:(1)获取用户对待推荐项目的评分信息R(m,n),通过用户对待推荐项目的评分信息间接生成用户与用户之间的关系网络,其中任意两个用户共同评分的项目个数表示这两个用户之间的权值关系,这些用户之间的权值关系构成用户与用户的关系网络,用户对项目的评分信息R(m,n)用如下矩阵表示:其中m和n分别表示用户数和项目数,rij表示矩阵中第i行第j列的元素用户i对项目j的评分值;(2)通过用户与用户的关系网络,计算任意两个用户u与v之间的相似度s(u,v);(3)对用户与用户的关系网络进行局部的社团检测,得到局部最密集用户社区:(3a)粒子群初始化:将每个用户比作一个节点,获得用户网络的节点数N,随机生成100个初始粒子,每一个粒子同时拥有N维位置矢量Pl和N维速度矢量Vl:Pl={pl1,pl2,...,plr,...,plN},Vl={vl1,vl2,...,vlr,...,vlN},其中,表示第r个节点在位置矢量中所属的社团编号,同时表示第r个节点在速度矢量中所属的社团编号,,r∈[1,N],l∈[1,100];(3b)定义T(Ct)表示第t个社区Ct的质量函数:其中S表示的是最密集的社团,Sc表示社团S的补集,O(S)表示在社团S内两倍的连接边的数目,B(S)表示社团S中的节点与剩余网络中的节点连接边的数目,Abq表示在用户与用户的关系网络的邻接矩阵中用户b与用户q的连接关系,如果用户b与用户q之间有边相连,则Abq=1,否则,Abq=0;(3c)定义每个粒子内局部社区质量函数最高的值为粒子的适应度函数fun(TC):fun(Tc)=maxT(Ct);(3d)对粒子的位置矢量和速度矢量按照如下公式进行更新:得到更新后的粒子位置矢量和更新后的速度矢量:其中,表示第r个节点在更新后位置矢量中所属的社团编号,表示第r个节点在在更新后速度矢量中所属的社团编号,ω为粒子群优化算法中的一个惯性权重,取值为ω=0.7298;c1为第一学习因子,取值为0.5;c2为第二学习因子,取值为0.5;Pbestl是上一次适应度函数最大的第l个粒子对应的位置矢量,Gbest是到目前为止所有的粒子中的适应度函数最大的粒子对应的位置矢量;为乘法操作算子,⊙为减法操作算子,为加法操作算子;(3e)设ACu表示社区集合,根据粒子的位置矢量和速度矢量的更新公式迭代100次,取最后一次迭代后Gbest中适应度函数值对应的局部社区,作为局部最密集用户社区Cu;(4)对局部最密集用户社区Cu进行扩展,得到局部用户社区:(4a)定义M(Cu)表示社区Cu的局部模块度函数:其中表示局部最密集用户社区Cu的内部节点相似度之和,表示局部最密集用户社区Cu的内部节点与外部节点相似度之和;(4b)从局部最密集用户社区Cu找到与其的相连节点构成节点集U,选择U中能使局部模块化函数M(Cu)的值增大到最大的节点,把此节点添加到当前的社区Cu中,此时的局部最密集用户社区,记为Cu',并更新与其的相连节点构成节...

【专利技术属性】
技术研发人员:刘静焦李成王朋
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

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

1