论文部分内容阅读
随着科学技术快速发展,人类社会在不断向前迈进,社会中存在的各种事物以及人之间的关系也变得越来越复杂,形成了一个大规模、具有复杂结构的网络(图)。这一系列现象促使复杂网络相关问题的研究成为当今时代的热点问题,在这些问题中社团检测问题是其中的一个重要分支,该问题同时也是数据挖掘与知识发现过程中的重要步骤。发现网络中的社团结构对于揭示网络的本质,更深一步研究事物之间的相互关系有着重要的意义。由于社团结构的普适性,该问题已经渗透到物理学、生物学、社会学等多个学科,激发了各个领域专家的研究兴趣。本文中提出了两个从动力学角度出发进行社团检测的方法,第一种是基于动力同步距离更新的社团检测算法(DDS),该方法首先使用Jaccard距离作为网络中每条边的初始距离,同时把每个节点视为一个社团。然后根据网络固有的拓扑结构,DDS算法以迭代的方式不断更新网络中每条边的距离,直到最终每条边的距离达到稳定状态。在每一次距离更新过程中,我们首先根据当前时刻边上的距离对社团进行合并与分裂,然后使用网络中节点之间的连接关系计算与边的两个端点直接相邻的节点对该边上的距离产生的影响,进而更新边的距离,在每一轮迭代中位于同一社团内的节点之间的距离会不断缩短。本文提出的第二种方法是基于相似度方差的标签传播社团检测算法(SVLPA),该方法是对传统标签传播算法的改进。SVLPA算法首先计算每个节点的相似度方差,并对节点按照相似度方差值降序排序作为节点标签更新顺序。当网络中节点更新自己标签时,如果其邻居节点中有多个出现次数最多的标签,我们在标签出现次数最多的邻居节点中选择与当前节点相似度最大的邻居节点的标签作为当前节点标签。通过引入这两种策略,SVLPA算法在保证近似线性时间复杂度的前提下,克服了传统标签传播算法产生的社团结果不稳定的缺点。最后,分别在大量真实数据集和人工数据集上对本文提出的两个社团检测算法进行实验评估。实验结果表明,本文提出的两个算法可以在不需要任何参数输入的情况下检测出高质量的社团。DDS算法准确地将网络中的社团结构以直观的方式展现出来,同时又可以有效地避免社团划分结果分布“极端”的情况。SVLPA算法在保证原始标签传播算法时间效率的前提下,从网络中检测出稳定而又准确的社团结构。通过在Ring网络上的实验更进一步说明本文提出的两个算法不会受“分辨率极限”问题的影响。