当前位置: 首页 > 专利查询>山东大学专利>正文

一种基于节点亲密性与标签传播的社区发现方法技术

技术编号:19436430 阅读:91 留言:0更新日期:2018-11-14 13:08
本发明专利技术提出了一种基于节点亲密度与标签传播的社区发现方法,该方法属于复杂网络分析领域。所述方法的主要技术特点为:利用局部拓扑信息评估网络中相邻节点之间的亲密性并以此构建亲密度矩阵;基于亲密度矩阵评估网络中节点的重要性,保证节点按照重要性从大到小的顺序更新;在迭代更新过程中,每个节点将自身的标签更新为邻居中影响力最大的标签,若存在多个影响力最大的标签,则通过计算标签的紧密性确定唯一的标签。当算法满足停止条件时跳出标签传播过程,具有相同标签的节点归属到同一社区。本发明专利技术设计合理,能够快速地检测到高质量的社区,并能有效地提高标签传播方法的鲁棒性,可广泛应用于蛋白质功能预测、疫情监测和电子商务精准推荐等领域中。

【技术实现步骤摘要】
一种基于节点亲密性与标签传播的社区发现方法
本专利技术属于复杂网络分析领域,具体涉及一种基于节点亲密度的标签传播算法进行社区发现的问题。
技术介绍
在现实世界中许多复杂系统可以被抽象为网络模型,如社交网络(QQ、微信、微博、Facebook、Twitter等)、科学家引文网络、蛋白质交互网络以及万维网等。在这些网络中,普遍存在一些如“小世界”、“无标度”和“社区结构”等简单网络所不具备的统计特征。众多研究表明,复杂网络中的个体之间并非随机连接,而是存在着异构特征,即相同类型的节点之间连接紧密,而不同类型的节点之间连接稀疏。这种特征被称为社区结构,即相同类型的节点及它们之间的连接同属一个社区。社区发现作为复杂网络分析中的一个热点研究方向,对于揭示复杂网络的结构和功能具有重要的理论意义和应用前景,吸引了来自统计物理学、运筹学、计算机科学等多门学科领域的研究者们的关注。目前,社区发现已经在多个领域中发挥着重要的作用。在生物领域中,探测蛋白质交互网络中的模块结构有助于理解生物系统的组织和功能以及对未来蛋白质功能进行预测;在疫情监测方面,通过社区发现找出传染病病毒的核心社区有助于预测病毒传播路径和保护易感人群;在社交网络中利用社区发现技术可以进行好友推荐和精准广告投放。近十几年来,研究者们已经提出了很多在复杂网络中进行社区发现的方法。然而,这些传统的社区发现方法广泛存在的问题是:1.计算开销大,无法适用于大型复杂网络。随着大数据时代的到来,很多社交网站拥有了数以亿计的用户,传统的社区发现算法(如GN算法等)由于时间复杂度过高的缺陷而无法扩展到规模如此庞大的复杂网络。2.依赖于先验信息。多数社区发现方法的效果依赖于预先设定的社区个数或大小,不同的预设信息所产生的社区质量具有较大的差异。在实际复杂网络中,很难获得关于此类信息的最佳设定。标签传播算法作为一种图的半监督学习算法,由Raghavan等人首次引入到社区发现领域中。该算法因其计算开销小、无需先验信息的优点而对大型复杂网络有很强的适应性,从而受到研究者们的广泛关注。然而,标签传播算法的低鲁棒性的缺点使得多次执行该算法产生的解的质量具有较大的差异,有的解甚至可能包含整个网络,即所谓的“怪物社区”。因此,如何提高传统标签传播算法的准确性和稳定性成为一个亟待解决的难题。
技术实现思路
本专利技术的目的在于针对当前技术的缺陷,提出一种基于节点亲密度的标签传播算法进行社区发现的方法。该方法在保持低时间开销的同时,提高了标签传播算法的稳定性和准确性。本专利技术所采用的技术方案如下:步骤(1):构建图模型。根据复杂网络模型构造一个无向无权图G=(V,E)。其中V={v1,v2,…,vn}表示网络中节点集,E={e1,e2,…,em}表示网络中边集,n表示网络中节点的个数,m表示网络中边的条数。该图可用n维的邻接矩阵A表示。Au,v为邻接矩阵A中第u行、第v列的元素。若图中节点u和节点v为相邻节点(u和v之间通过一条边相连),则Au,v=1;否则Au,v=0。步骤(2):评估节点亲密度及构建亲密度矩阵。对于图中的每一对相连节点u和v,利用局部拓扑信息评估它们之间的亲密度,并将该值保存在亲密度矩阵第u行、第v列中。步骤(3):评估节点重要性并生成更新序列。基于亲密度矩阵计算网络中节点的重要性,将网络中节点按照重要性从大到小的顺序初始化更新序列,保证网络中的节点在每轮迭代中按照此序列更新标签。步骤(4):初始化网络中的每个节点拥有单独的标签。步骤(5):对于序列中的每个节点,根据标签更新规则将该节点的标签更新为其邻居节点中影响力最大的标签。步骤(6):一轮迭代完成后,若图中所有节点的标签均为最大影响力的标签,则标签传播过程结束,具有相同标签的节点归属到同一个社区;否则返回步骤5。进一步,所述步骤(2)中节点亲密度的计算公式为:其中,Г(u)表示节点u和其邻居节点集合。Iu,v表示节点v对节点u的亲密度。进一步,所述步骤(3)中节点重要性的计算公式为:NI(u)表示节点u的重要性,该值为亲密度矩阵中第u行元素之和。进一步,所述步骤(5)中,具体实现包含以下子步骤:步骤(5-1):评价节点v所有邻居标签的影响力值。标签影响力的计算公式如下:若lu=l,δ(lu,l)=1;否则δ(lu,l)=0。LI(l)表示标签l的影响力值。步骤(5-2):从节点v的邻居中选取影响力最大的标签,标签选取规则如下:步骤(5-3):判断邻居标签中是否存在多个影响力最大的标签。若只存在一个影响力最大的标签,则将该标签作为节点v的标签。节点更新规则如下:l(v)=lmax(v)若存在多个影响力最大的标签,则使用紧密度函数代替传统算法中随机选取的原则。紧密度函数的计算方法如下所示:其中,nv(l)表示v的邻居节点中标签为l的节点的集合,Mv(l)表示nv(l)的节点之间最大可能的边的数量(Mv(l)=(|nv(l)|-1)*|nv(l)|/2,|nv(l)|表示nv(l)中节点的个数),mv(l)表示nv(l)的节点之间实际存在的节点的数量,Dv(l)表示nv(l)中节点度之和。通过计算标签的紧密度,选取紧密度最大的标签作为当前节点的新的标签。节点标签更新规则如下:其中l(v)表示节点v的新的标签。本专利技术的优点及有益效果如下:本专利技术提供了一种基于节点亲密性与标签传播的社区发现方法,该方法继承了标签传播算法的优良特性,一方面无需先验信息,能够自适应地在各种网络中进行社区检测;另一方面时间复杂度低,可以扩展到大型复杂网络。此外,同传统的标签传播方法相比,基于节点亲密度的标签传播算法从准确性和稳定性方面都有了明显的提升。该方法通过利用图的局部拓扑信息评估网络中相邻节点之间的亲密性并构建亲密度矩阵,在该矩阵的基础上计算网络中节点重要性,保证网络中的节点按照重要性从高到低的顺序进行更新,代替了传统算法中随机更新的方式;在标签传播过程中,该方法通过亲密度矩阵计算邻居标签的影响力。当有多个标签满足影响力最大的条件时,通过引入一个新的紧密度评价函数代替原有的随机选取的原则,进一步消除算法的随机性。上述改进措施能够保证算法快速且稳定地检测到高质量的社区。附图说明图1为本专利技术的算法流程图;图2为本专利技术在经典数据集Zachary’skarateclub上的应用结果示意图;图3为本专利技术在经典数据集Zachary’skarateclub上的节点重要性图。具体实施方式图1为本专利技术所描述的宏观流程图。如图所示,本专利技术所述的基于节点亲密度与标签传播的社区发现算法包括以下步骤:1)建立图模型,可用邻接矩阵的方式存储;2)根据图的局部拓扑信息评价构建亲密度矩阵;3)评估节点重要性并生成初始化序列;4)为网络中的每个节点初始化独立的标签;5)对于序列中的每个节点,计算其邻居标签的影响力;6)若存在多个最大影响力的标签,则通过紧密型函数的评估确定唯一的标签;7)更新节点标签;8)所有的节点更新结束后,判断是否满足收敛条件(每个节点的标签同其邻居中影响力最大的标签相同),若满足则跳出循环,否则转到步骤5)继续执行;9)拥有相同标签的节点归属到相同的社区。下面结合图2对本专利技术做进一步的详细描述:步骤(1):构建图模型。根据复杂网络模型构造一个无向无权图G本文档来自技高网
...

【技术保护点】
1.一种基于节点亲密度与标签传播的社区发现方法,其特征在于,包括以下步骤:步骤(1):构建图模型,根据复杂网络模型构造一个无向无权图G=(V,E),其中V={v1,v2,…,vn}表示网络中节点集,E={e1,e2,…,em}表示网络中边集,n表示网络中节点的个数,m表示网络中边的条数,该图可用n维的邻接矩阵A表示,Au,v为邻接矩阵A中第u行、第v列的元素,若图中节点u和节点v为相邻节点(u和v之间通过一条边相连),则Au,v=1,否则Au,v=0;步骤(2):评估节点亲密度及构建亲密度矩阵,对于图中的每一对相连节点u和v,利用局部拓扑信息评估它们之间的亲密度,并将该值保存在亲密度矩阵第u行、第v列中;步骤(3):基于亲密度矩阵计算网络中节点的重要性,为提高算法的稳定性,将网络中节点按照重要性从大到小的顺序初始化更新序列;步骤(4):初始化网络中的每个节点拥有单独的标签;步骤(5):对于序列中的每个节点,根据标签更新规则将该节点的标签更新为其邻居节点中影响力最大的标签;步骤(6):一轮迭代完成后,若图中所有节点的标签均为最大影响力的标签,则标签传播过程结束,具有相同标签的节点归属到同一个社区,否则返回步骤5。...

【技术特征摘要】
1.一种基于节点亲密度与标签传播的社区发现方法,其特征在于,包括以下步骤:步骤(1):构建图模型,根据复杂网络模型构造一个无向无权图G=(V,E),其中V={v1,v2,…,vn}表示网络中节点集,E={e1,e2,…,em}表示网络中边集,n表示网络中节点的个数,m表示网络中边的条数,该图可用n维的邻接矩阵A表示,Au,v为邻接矩阵A中第u行、第v列的元素,若图中节点u和节点v为相邻节点(u和v之间通过一条边相连),则Au,v=1,否则Au,v=0;步骤(2):评估节点亲密度及构建亲密度矩阵,对于图中的每一对相连节点u和v,利用局部拓扑信息评估它们之间的亲密度,并将该值保存在亲密度矩阵第u行、第v列中;步骤(3):基于亲密度矩阵计算网络中节点的重要性,为提高算法的稳定性,将网络中节点按照重要性从大到小的顺序初始化更新序列;步骤(4):初始化网络中的每个节点拥有单独的标签;步骤(5):对于序列中的每个节点,根据标签更新规则将该节点的标签更新为其邻居节点中影响力最大的标签;步骤(6):一轮迭代完成后,若图中所有节点的标签均为最大影响力的标签,则标签传播过程结束,具有相同标签的节点归属到同一个社区,否则返回步骤5。2.根据权利要求1所述的基于节点亲密度与标签传播的社区发现方法,其特征在于,在步骤(2)中,计算节点亲密度的方法为:其中,Г(u)表示节点u和其邻居节点集合,Iu,v表示节点v对节点u的亲密度。3.根据权利要求1所...

【专利技术属性】
技术研发人员:康钦马孔汉章王武闯邱会学
申请(专利权)人:山东大学
类型:发明
国别省市:山东,37

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

1