一种基于局部回路的标签传播方法与流程

文档序号:18940851发布日期:2019-10-23 01:08阅读:560来源:国知局
一种基于局部回路的标签传播方法与流程

本发明涉及复杂网络分析技术领域,特别涉及一种基于局部回路的标签传播方法。



背景技术:

现实生活中的许多复杂系统都可表示为复杂网络,如社交网络、万维网和科学协作网等。大多数复杂网络呈现模块化特征,即系统内存在一些相对独立的群组。这种内部节点连接稠密而与网络中其它部分连接稀疏的群组称为社区。一般而言,社区内的节点之间存在某种程度的相似性,而这种相似性对于人们研究复杂网络具有重要的意义。社区发现的目标就是发现网络中存在的这样节点群组,这对研究复杂系统具有重要的意义。

标签传播lpa是raghavan等人提出一种社区发现方法,该方法是一种接近线性时间复杂度的社区发现方法,这也是到目前为止最快的社区发现方法。标签传播的主要思想是:一个节点的标签取决于它的所有邻居节点的标签值,而且标签相同的节点属于同一个社区。

标签传播lpa的大致流程描述如下:

步骤一:初始时,为网络图中的每一个节点赋予一个唯一的标签值,标签值代表了其所属的社区编号;

步骤二:对网络图中的所有节点进行迭代更新

对于节点的更新顺序是无序的,每次迭代之后节点的标签值更新为邻居节点中出现频率最高的标签值。如果邻居节点中存在多个标签值的出现频率同为最大的情况时,从这多个标签值中随机选取一个标签值来更新自己的标签。

步骤三:进行多次迭代直至标签值不再改变,所有具有相同标签值的节点归为同一个社区。

标签传播lpa是一种基于启发策略的不依赖于先验知识的方法,不需要设定目标函数,在许多真实网络中取得了较好的效果。标签传播lpa看似完善,但是标签传播lpa在标签传播时平等对待所有邻居节点,这种随机选择一个邻居标签的方法可能导致不同社区之间的标签也随意传播。

传统标签传播方法在标签传播过程中,认为被更新节点的每一个邻居节点对该节点的影响是平等的,邻居节点与该节点间的连接关系没有加以考虑,这很容易导致标签在不同社区间的任意传播,进而影响了标签传播的准确率。

标签在社区边缘间随意传播是影响标签传播lpa准确率的一个重要原因,那么在社区边缘节点标签更新的时候,如果能抑制边缘节点标签在不同社区间的随意传播就可以提高社区划分的准确率。

针对标签传播过程中标签传播的随机性问题,本发明设计了一种基于局部回路的标签传播方法。



技术实现要素:

本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于局部回路的标签传播方法。

本发明是通过如下技术方案实现的:

一种基于局部回路的标签传播方法,其特征在于:将局部最短回路概念运用到标签传播的过程中,当节点邻居中标签出现频率存在多个最高时,不是随机选择一个邻居的标签作为该节点的标签,而是选择与该节点构成最短局部回路的邻居标签作为该节点标签,进而避免了标签在社区之间的任意传播。

所述局部最短回路概念是指在一定范围内,一个节点至少经过几个相连的路径构成闭合回路,在社区边缘节点标签更新的时候,选择与节点构成最短局部回路的邻居标签作为节点标签。

如果三个节点彼此相连,也即形成闭合三角形,那么任何两个节点都只需要经过一个节点就可以构成闭合回路;采用节点每一条闭合回路的连边数来标记节点的每一条回路,称为节点的闭合回路值。

节点间越紧密,它们的构成的闭合回路越短,它们属于同一个社区的可能性也大,当邻居节点中存在多个最大标签值时,待更新节点和能与其构成最短回路的节点属于同一个社区的可能性更大;因此选择这些邻居中能与该点构成最短回路的标签值来更新,而不是随机选择一个标签值进行更新,可以有效遏制标签在社区间的传播,提高标签传播的稳定性和准确性。

本发明基于局部回路的标签传播方法,包括以下步骤:

第一步:初始时,为网络图中的每一个节点赋予一个唯一的标签值,标签值代表了其所属的社区编号;

第二步:对网络图中的所有节点进行迭代更新

对于节点的更新顺序是无序的,每次迭代之后节点的标签值更新为邻居节点中出现频率最高的标签值;当邻居节点中存在多个标签值的出现频率同为最大的情况时,选择其中最小的最短回路来更新;

第三步:进行多次迭代至标签值不再改变,所有具有相同标签值的节点归为同一个社区。

所述第二步中,当邻居节点中存在多个标签值的出现频率同为最大的情况时,再根据最短回路的思想,计算这多个标签与待更新节点间的最短回路,选择其中最小的最短回路来更新;如果存在多个最小最短回路,再从多个最小最短回路的节点的标签值中随机选取一个标签值来更新自己的标签。

本发明基于局部回路的标签传播方法,采用用于评价复杂网络社区发现的模块度q作为评价指标,模块度q的物理意义是对于某个社区结构划分,连接社区内部2个节点间的边的比例减去任意2个节点边的比例的期望值。

所述模块度q的取值范围为[0,1],模块度q值越大则表明划分方案越精确;模块度q=0则意味着网络社区结构很差或不存在社区结构,而模块度q越接近1,则表明社区结构越明显或社区结构越好。

本发明的有益效果是:该基于局部回路的标签传播方法,从抑制标签传播中标签传播的随意性入手,通过对标签传播方式进行改进,将局部最短回路概念运用到标签传播的过程中,能够避免标签在社区之间的任意传播,提高了社区划分的准确率。

附图说明

附图1为球队比赛网络示意图。

附图2为本发明应用该基于局部回路的标签传播方法划分的社区结构示意图。

附图中,各节点分别代表一支球队,数字为各球队编号,为使社区划分更清楚,图中弱化了数字和节点,但是数字和部分节点不清晰并不影响通过图中连线得到社区划分结果。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

该基于局部回路的标签传播方法,将局部最短回路概念运用到标签传播的过程中,当节点邻居中标签出现频率存在多个最高时,不是随机选择一个邻居的标签作为该节点的标签,而是选择与该节点构成最短局部回路的邻居标签作为该节点标签,进而避免了标签在社区之间的任意传播。

所述局部最短回路概念是指在一定范围内,一个节点至少经过几个相连的路径构成闭合回路,在社区边缘节点标签更新的时候,选择与节点构成最短局部回路的邻居标签作为节点标签。

如果三个节点彼此相连,也即形成闭合三角形,那么任何两个节点都只需要经过一个节点就可以构成闭合回路;采用节点每一条闭合回路的连边数来标记节点的每一条回路,称为节点的闭合回路值。

节点间越紧密,它们的构成的闭合回路越短,它们属于同一个社区的可能性也大,当邻居节点中存在多个最大标签值时,待更新节点和能与其构成最短回路的节点属于同一个社区的可能性更大;因此选择这些邻居中能与该点构成最短回路的标签值来更新,而不是随机选择一个标签值进行更新,可以有效遏制标签在社区间的传播,提高标签传播的稳定性和准确性。

该基于局部回路的标签传播方法,包括以下步骤:

第一步:初始时,为网络图中的每一个节点赋予一个唯一的标签值,标签值代表了其所属的社区编号;

第二步:对网络图中的所有节点进行迭代更新

对于节点的更新顺序是无序的,每次迭代之后节点的标签值更新为邻居节点中出现频率最高的标签值;当邻居节点中存在多个标签值的出现频率同为最大的情况时,选择其中最小的最短回路来更新;

第三步:进行多次迭代至标签值不再改变,所有具有相同标签值的节点归为同一个社区。

所述第二步中,当邻居节点中存在多个标签值的出现频率同为最大的情况时,再根据最短回路的思想,计算这多个标签与待更新节点间的最短回路,选择其中最小的最短回路来更新;如果存在多个最小最短回路,再从多个最小最短回路的节点的标签值中随机选取一个标签值来更新自己的标签。

该基于局部回路的标签传播方法,采用用于评价复杂网络社区发现的模块度q作为评价指标,模块度q的物理意义是对于某个社区结构划分,连接社区内部2个节点间的边的比例减去任意2个节点边的比例的期望值。

所述模块度q的取值范围为[0,1],模块度q值越大则表明划分方案越精确;模块度q=0则意味着网络社区结构很差或不存在社区结构,而模块度q越接近1,则表明社区结构越明显或社区结构越好。

以某球队比赛网络图为实施例进行验证:

该网络有115个点和613条边,其中每个点表示一支球队,而每条边表示连接该边的两个球队间的比赛关系。赛事组织者把这115个球队分为12个组进行常规赛,每组有8~12支球队。显然每组内的各支球队之间的比赛次数要远远大于不同组球队之间的比赛次数,即该网络实际上应该是12个社区,每个社区代表一个分组,如图1所示。应用该基于局部回路的标签传播方法划分的社区结构如图2所示。

采用传统标签传播lpa方法和该基于局部回路的标签传播(lpalc)方法分别在该球队比赛网络数据集上各运行了100次,实验结果取平均值,测得的模块度q值分别为0.5481和0.5837。结果表明,该基于局部回路的标签传播方法划分得到的社区结构要优于传统标签传播lpa方法,该基于局部回路的标签传播方法社区划分的结果更接近于实际情况。

以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1