标签传播算法应用于非重叠社区(SLPA算法)

标签传播算法应用于非重叠社区

LPA应用于非重叠社区,也是最基础的标签传播算法。本文只考虑非重叠社区。

SLPA算法

通过Speaker-listener互动的动态过程揭示社交网络中的重叠社区。

我们提出了一个有效的算法使用底层网络结构来识别单个重叠节点和整个重叠社区。本文提出的算法是标签传播算法(LPA)的扩展。解决重叠的一种方法是允许每个节点拥有多个标签。
本算法基于说话者-听者的信息传播过程(SLPA),来模仿人类的交流行为,来使节点的标签更新。
在SLPA中,每个节点可以是一个listener或一个speaker。根据节点是充当信息提供者还是充当信息使用者来切换角色。通常,一个节点可以根据需要保留任意数量的标签,这取决于它在底层网络结构所驱动的随机过程中所经历的。节点积累了反复观察的标签的知识,而不是擦除其中一个标签以外的所有标签。此外,节点观察到某一标签的次数越多,将此标签传播到其他节点的可能性就越大(模仿人们喜欢传播最常讨论的观点)。
标签传播算法应用于非重叠社区(SLPA算法)_第1张图片
简而言之,SLPA包括以下三个阶段:
1)首先,使用此节点的ID(即,使用唯一标签)初始化每个节点的内存。
2)然后,重复以下步骤,直到满足停止条件为止:
A.选择一个节点作为侦听器。
B.选定节点的每个邻居都按照特定的说话规则发出单个标签,例如从其内存中选择一个随机标签,其概率与该标签在内存中的出现频率成正比。
C.侦听器遵循某些侦听规则,从邻居收到的标签集合中接受一个标签,例如从当前步骤中观察到的标签中选择最受欢迎的标签。
3)最后,基于节点内存中标签的后处理被应用于输出社区。

你可能感兴趣的:(社区挖掘)