关键词:
社团检测
社会网络
邻居相似性
半监督
数据挖掘
摘要:
社团检测分析作为社会网络领域中一个重要的研究领域,在国内外都受到学者们的广泛关注。随着数据挖掘技术的普及和互联网的发展,社团检测的地位也越来突出。其中标签传播算法(LPA:Label Propagation Algorithm)因其具有线性的时间复杂度受到学者们大力推崇,基于层次凝聚和层次分裂的社团检测算法(代表算法如FastQ和GN算法)为社团检测领域也做出了巨大贡献。然而,标签传播算法具有不稳定性,对标签更新顺序比较敏感,而基于层次凝聚和层次分裂的社团检测算法由于时间性能过低,在一定程度上限制了它们应用的广泛性。
本文设计了两个社团检测算法:
(1).基于邻居相似性的社团检测算法(NSA:Neighbor Similarity Based Algorithm):NSA算法分为两大步,第一步是根据相似性阈值对网络图进行初步的划分,得到社团结构的轮廓;第二步是对第一步得到的社团结构进行优化,得到更加清晰的社团结构。NSA算法在社团检测过程中只考虑每个节点和它的邻居节点之间的相似性关系,而不考虑和其它节点之间的相似性关系,这点和LPA算法有一定的相似性,只不过LPA算法考虑的是每个节点和其邻居节点的标签关系。所以NSA算法的时间性能和LPA算法相比不会相差甚远,NSA算法也具有接近线性的时间复杂度。同时NSA算法在多个数据集上的实验证明,用NSA算法可以得到高质量的社团划分结构。
(2).基于选点的半监督社团检测算法(SSCDAWSP:Semi-Supervised Community Detection Algorithm With Selected-Point):SSCDAWSP算法在研究社团检测特点和半监督学习理论过程中,发现了社团检测和半监督的结合点,将半监督思想应用到社团检测中。在SSCDAWSP算法设计过程中设计了节点的边界值和核心度定义,以此为选点提供规则基础,另外设计了节点之间的归属度定义,以此来判断相邻节点之间的社团划分关系。SSCDAWSP算法在选点过程中需要用到节点边界值信息和核心度信息,因此计算节点的边界值和核心度会消耗一定的时间性能。但相比其他大多数社团检测算法,SSCDAWSP算法的时间性能还是有一定优势,同时通过多个数据集上的实验证明,SSCDAWSP算法的社团划分精度可达到非常理想的期望。