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.
【技术实现步骤摘要】
基于离散粒子群优化的局部社区检测协同过滤推荐方法
本专利技术属于计算机
,更进一步涉及一种局部社区检测的协同过滤推荐方法,可用于个性化服务的推荐系统中。
技术介绍
近些年,随着现实生活中计算机网络技术的技术进步,个性化服务已成为一种新的信息服务模式,其中推荐技术是个性化服务中一个重要的组成部分。个性化推荐是指根据用户的兴趣爱好对用户信息进行收集、过滤、分类,找到用户感兴趣的项目或信息并将其推荐给用户的技术。个性化推荐应用日益广泛,应用领域涉及电子商务,网页,电影,图书,音乐等多个方面。个性化推荐的最大的优点在于,它能收集用户特征资料并根据用户特征,如兴趣偏好,为用户主动做出个性化的推荐。而且,系统给出的推荐是可以实时更新的,即当系统中的商品库或用户特征库发生改变时,给出的推荐序列会自动改变。目前推荐技术主要分为基于内容的推荐技术和基于协同过滤的推荐技术两大类。传统基于内容的推荐方法通过收集项目的内容或属性信息等特征因素,依据用户信息与对应项目的匹配程度,推荐具有相似属性的项目而不考虑历史评分。基于协同过滤的推荐方法则通过分析用户兴趣,在用户群中找到指定用户的相似兴趣用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度预测。相比于基于内容的推荐技术,协同过滤技术无需获得对象的信息,可以在缺乏对象内容描述的情况下进行推荐。协同过滤推荐技术广泛应用于推荐系统中,然而其同样存在数据稀疏性的问题。所谓数据稀疏性问题是指在一个推荐系统中,用户的数量通常远小于项目的数量,很多用户对项目的评价数据较少,造成了协同过滤技术对于数据的缺乏,最终 ...
【技术保护点】
一种基于离散粒子群优化的局部社区检测的协同过滤推荐方法,包括如下步骤:(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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。