一种基于随机游走的标签传播社区发现方法技术

技术编号:11514377 阅读:104 留言:0更新日期:2015-05-27 22:30
本发明专利技术请求保护一种基于随机游走的标签传播社区发现算法,包括以下步骤:1)构建转移矩阵:根据网络拓扑图生成邻接矩阵,通过节点的度结合邻接矩阵计算该节点到其他节点的转移概率,最后得出转移矩阵;2)计算节点的权重值:定义游走者的位置概率分布,根据转移矩阵计算游走者游走t步到达稳态以后的位置概率分布,此时的位置概率分布中的值则为节点的权重值;3设置中心节点的门限值,根据节点权重的降序排序完成中心节点的筛选,初步生成子社区;4)初始化节点标签,从中心节点出发进行标签传播,相互连接比较紧密的节点标签逐渐趋于一致,最后持有相同标签的节点形成一个社区。该方法消除了经典标签传播算法中更新节点标签顺序的随机性问题,从而有效的提高了算法的精确度。

【技术实现步骤摘要】
一种基于随机游走的标签传播社区发现方法
本专利技术涉及通信
,涉及一种基于随机游走的标签传播社区发现算法。
技术介绍
社区广泛的存在于具有网络结构的系统中,从生物、计算机科学、工程、经济、政治。例如在蛋白质与蛋白质的交互网络中,社区就是细胞中具有相同特定功能的蛋白质群;在万维网中、社区就是那些具有相同或者相关主题的网页,在新陈代谢网络中社区就是那些循环、通路的功能团。在社会中广泛存在着一些群体组织如家庭、工作或朋友圈、村庄、国家等,随着近些年由于互联网的兴起和社会媒体的应用,社区成员之间的地理限制逐渐被消除,因而产生了许多虚拟群体如在线社区等,社交网络关系变得复杂。社区发现技术被应用于消除这些复杂性,从社交网络节点属性中挖掘其中的隐藏结构,其社区的发现是基于社会成员之间的交互。但是随着大规模在线社交网络的出现如Facebook、QQ等,社交网络中的节点拥有成百上千万,社区之间的差异和大小变得更加的复杂和多样性。许多算法如一些层次聚类算法在一些小规模网络上取得了较好的社区发现结果,但是这类算法需要一个全局的视野,需要优化功能函数(模块度)来促使算法的运行,具有较高的时间复杂度,难以扩展到大规模的复杂网络中。如何快速并精确的发现大规模网络中社区变成了一个亟待解决的难题。随后,Raghavan、Albert等提出了一种接近线性复杂度用于发现大规模网络中的社区的经典标签传播的社区发现算法。算法的优点是简单,具有趋近于线性的时间复杂度,不需要社区数目、大小等先验性信息,社区发现的进行不需要通过优化目标函数,可以应用到大规模网络的社区发现。但是算法具有较高的随机性:网络中节点的标签具有相同的权重,因而在社区发现过程中会出现多个最优的标签情况,算法只是随机的选择其中的一个标签;加上算法随机的遍历节点,进行标签更新,导致社区发现的结果不能收敛,多次重复实验不能得到相同结果。因此一种适用于大规模网络的、稳定精确的社区发现算法将会有非常重要的意义和广阔的应用前景。
技术实现思路
针对以上现有技术中的不足,本专利技术的目的在于提供一种稳定精确的社区发现方法,本专利技术的技术方案如下:一种基于随机游走的标签传播社区发现方法,其包括以下步骤:101、创建随机游走模型:获取网络拓扑图并生成邻接矩阵,通过节点的度结合邻接矩阵计算该节点到其他节点的转移概率,最后得出转移矩阵P,其中转移矩阵P中的每一行数值代表的是游走者从本节点位置上转移到其他节点的概率,定义一个行向量I表示游走者当前的位置概率分布,则游走者游走一步后的位置概率分布就表示为I×P;102、通过计算游走者t步之后的位置概率分布It,It表示节点的重要性分布,计算出网络中每个节点的权重值,则It中的每一个元素则代表相应节点的权重值;103、根据步骤102中得出的网络中每个节点的权重值,筛选出中心节点,并对网络中的节点进行初步的划分,初始化节点标签,生成子社区;104、从中心节点开始进行标签传播和更新,形成社区,完成社区发现。进一步的,步骤102中的通过计算游走者游走t步之后的位置概率分布来得出节点的权重值,具体步骤是:计算游走者随机选择一个节点出发,沿着网络中的边,进行不停的随机游走,t步之后到达稳态的位置概率分布,用公式表示如下:It=I0×PtIt表示的是t步之后游走者的位置概率分布,I0则是初始时游走者的位置概率分布。进一步的,在步骤103中确定中心节点的步骤为:设置一个阈值r作为中心节点的门限值,权重值p≥r则作为中心节点的候选节点。进一步的,在步骤104中标签的传播和更新具体为:选择标签邻居节点中标签权重最大的标签作为自己的标签:公式如下:cx表示的是节点x的标签,Nl(x)是节点x邻居节点标签集,这里节点x也是自己的邻居,Li表示的是标签i的权重。进一步的,在步骤104中,中心节点开始进行标签传播和更新,节点更新标签的顺序不再是随机的,而是从第一个中心节点出发进行一轮广度优先遍历中心节点的邻居,依照标签更新条件判断节点是否更新标签,若更新则按照公式更新标签,否则什么也不做,并且在一个时间段内更新完一层后,跳转到下一个中心节点进行相同的更新,直到所有的节点标签不再发生变化。本专利技术的优点及有益效果如下:本专利技术提供了一种基于随机游走的标签传播社区发现方法,该方法有效的解决了经典标签传播社区发现算法中的随机性问题:通过计算游走者的位置概率分布得出节点的权重值,使得标签具有权重,从而有效的消除了经典标签传播算法选择标签时的随机性。通过引入一种中心节点的发现方法,发现社区的中心,因此提供一个迭代的从社区中心出发进行广度优先遍历邻居节点,更新标签的顺序,消除了经典标签传播算法中更新节点标签顺序的随机性问题,从而有效的提高了算法的精确度。附图说明图1是按照本专利技术优选实施例宏观流程图;图2所示为网络拓扑示意图;图3所示为更新标签时的网络示意图。具体实施方式下面结合附图给出一个非限定的实施例对本专利技术作进一步的阐述。但是应该理解,这些描述只是示例的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。图1为本专利技术所描述的宏观流程图,如图所示,本专利技术所述的基于随机游走的标签传播社区发现算法包括以下四个步骤:1)建立随机游走模型,其中包括游走者位置概率分布的定义、转移矩阵的确立;2)节点权重值的确立则是根据游走者随机游走t步之后的位置概率分布It确定的,节点的权重值等于向量It中相应位置的值,3)筛选中心节点,初始化节点标签,生成子社区;4)迭代的从每个中心节点开始进行标签传播和更新,形成稳定社区,完成社区发现;在本实施例中,具体来说,在步骤1)中转移矩阵的建立是通过网络的邻接矩阵计算A得来,邻接矩阵反应的是节点之间的边连关系,如图2所示的网络拓扑图他所对应的邻接矩阵A为:aij为1则表示节点i和j有边连接,转移矩阵P则是A中的每一行除以度数,Pi=Ai/ki,Pi表示的是第i个节点转移到其他节点的概率,定义行向量I为当前时刻的位置概率分布,这里设置I0=(1,0,0,0,0,0,0,0,0,0,0),表示游走者当前的位置为节点1,则游走者游走一步的概率则为I1=I0P,也就是游走者的游走可以用行向量与矩阵的相称来表示。在步骤2)中节点的重要性分布的值,也就是节点的权重值分布等于游走者游走达到稳态以后的位置概率分布,公式如下:It=I0×PtIt表示的是t步之后游走者的位置概率分布,I0则是初始时游走者的位置概率分布。在步骤3)中筛选中心节点的主要步骤是:将节点的权重值进行降序排列,pi表示的是第i个节点的权重值。通过实验确定阈值r。取1步骤中的降序列表中权重值p≥r的部分节点,从大到小依次做这样的处理:若节点i不属于任何社区,那么节点i就可以作为一个子社区的中心节点;如果i同中心节点相连则i加入中心节点所在的子社区;如果i已经加入了一个子社区则跳过这个节点,直到过程结束。然后初始化节点标签,同一子社区中的节点分配相同的标签,标签值等于子社区中心节点的id值,不同子社区之间标签则不同;每个游离节点则单独初始化为不同标签,标签值等于各个游离节点的id值。在步骤4)中标签具有权重是因为持有标签的节点具有权重值,标签的权重值Li=p本文档来自技高网
...
一种基于随机游走的标签传播社区发现方法

【技术保护点】
一种基于随机游走的标签传播社区发现方法,其特征在于:包括以下步骤:101、创建随机游走模型:获取网络拓扑图并生成邻接矩阵,通过节点的度结合邻接矩阵计算该节点到其他节点的转移概率,最后得出转移矩阵P,其中转移矩阵P中的每一行数值代表的是游走者从本节点位置上转移到其他节点的概率,定义一个行向量I表示游走者当前的位置概率分布,则游走者游走一步后的位置概率分布就表示为I×P;102、通过计算游走者t步之后的位置概率分布It,It表示节点的重要性分布,计算出网络中每个节点的权重值,则It中的每一个元素则代表相应节点的权重值;103、根据步骤102中得出的网络中每个节点的权重值,筛选出中心节点,并对网络中的节点进行初步的划分,初始化节点标签,生成子社区;104、从中心节点开始进行标签传播和更新,形成社区,完成社区发现。

【技术特征摘要】
1.一种基于随机游走的标签传播社区发现方法,其特征在于:包括以下步骤:101、创建随机游走模型:获取网络拓扑图并生成邻接矩阵,通过节点的度结合邻接矩阵计算该节点到其他节点的转移概率,最后得出转移矩阵P,其中转移矩阵P中的每一行数值代表的是游走者从本节点位置上转移到其他节点的概率,定义一个行向量I表示游走者当前的位置概率分布,则游走者游走一步后的位置概率分布就表示为I×P;102、通过计算游走者t步之后的位置概率分布It,It表示节点的重要性分布,计算出网络中每个节点的权重值,则It中的每一个元素则代表相应节点的权重值;步骤102中的通过计算游走者游走t步之后的位置概率分布来得出节点的权重值,具体步骤是:计算游走者随机选择一个节点出发,沿着网络中的边,进行不停的随机游走,t步之后到达稳态的位置概率分布,用公式表示如下:It=I0×PtIt表示的是t步之后游走者的位置概率分布,I0则是初始时游走者的位置概率分布;103、根据步骤102中得出的网络中每个节点的权重值,筛...

【专利技术属性】
技术研发人员:苏畅余跃谢显中吴琪贾小陶张步涛
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆;85

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

1