什么是社团结构 | 集智百科

什么是社团结构 | 集智百科

图1:社团结构示意图

社团结构普遍存在于信息网络、社会网络、生物网络等各类网络中。这些网络中的社团内部连接紧密,常对应某种特点或功能,而社团外部的连接则相对稀疏,即“内紧外松”。根据这个特点,人们可以设计算法来探测网络中的社团结构,从而更好地理解网络中蕴含的信息。

图2:社团结构可视化

二、社团结构应用

社团结构对研究复杂系统有重要价值:在人际关系网络中,社团可表示具有相似特点(如职业、年龄)的群体;在生物网络中,社团与功能模块密切相关;在论文引用网络中,社团代表了某一的研究领域等等。下面介绍几个社团结构应用实例。

领英(Linkedin)职业网络

为了研究劳动力在公司间流动的特点,学者使用领英用户的就业数据构建了一个职业网络,见下图。在网络中,节点为公司,如果职员从一个公司跳槽到另一公司,则在两公司间形成边。图中每个社团对应一种颜色。通过分析社团结构发现,劳动力的流动受地缘位置和行业特点两因素共同影响。

图3:领英职业网络中的社团结构

Global labor flow network reveals the hierarchical organization and dynamics of geo-industrial clusters

蛋白质相互作用网络

图4:蛋白质相互作用网络中的社团结构

论文题目:Community detection in graphs

论文地址:https://arxiv.org/abs/0906.0612

论文引用网络

在科学研究中,思想交流非常重要。为了描述科学家之间交流的痕迹,可以观察期刊论文之间的相互引用,构建论文引用网络。为突出论文所属的科学领域,可围绕论文引用网络中的社团构建如下科学图谱。图谱中,节点代表社团所属的领域,边为领域间的引用,箭头代表引用方向(即谁引用谁)。根据图谱,应用领域论文大多引用基础科学领域论文。

图5:基于论文引用的图谱

论文题目:Community detection in graphs

论文地址:https://arxiv.org/abs/0906.0612

三、社团结构发现算法

检测社团结构是个相对困难的任务, 因为网络中的社团数目通常是未知的,且社团的大小、密度不尽相同。尽管如此,还是不断有学者发明了大量检测社团的方法,使这个领域取得了长足发展。下面列举一些经典社团检测算法。

层次聚类(Hierarchical clustering)

层次聚类是一种传统且有效的方法。它通过一种相似性度量(如欧氏距离),来计算节点间拓扑结构的相似性。然后每次找到距离最短的两个社团,然后进行合并成一个大的社团,直到全部合并为一个社团,形成一个树结构。根据需要可自行决定社团数目,得到最终结果。

Girvan-Newman 社团检测算法

模块度最大值法 (Modularity maximization)

模板度最大值法是用于使用最为广泛的社团检测算法之一。 模块度(Modularity)是一种衡量社团划分质量的标准。模块度最大值法通过搜索所有可能的分组,找到使模块度最大的分组方式作为结果。由于穷举所有可能的分组十分困难,所以实际的算法都采用近似优化方法,如贪婪算法等。

图6:模板度最大值法检测社团结构

注:使用网络科学工具包NetworkX , 可以轻松调用上述三种算法,实现社团检测。

四、知名学者简介

Mark Newman

图7:Mark Newman

美国密歇根大学物理系和复杂系统研究中心特聘教授。同时也是圣塔菲研究所 (Santa Fe Institue)外聘教授。网络科学的先驱者之一,2014年被授予拉格朗日奖。他的论文总引用量超过18万,著有网络科学经典著作《Networks: An Introduction》。

在社团检测领域,他提出了模块度最大值算法,是使用最广泛的算法之一。

Santo Fortunato

图8:Santo Forunato

美国印第安纳大学Bloomington分校信息学、计算和工程学院教授。印第安纳大学网络科学研究中心主任。论文总引用量超3万,其中最著名的论文为2010年发表的"Comunity detection in graphs",引用量超8000,是社团检测领域的经典综述之一。

经典文献

S. Fortunato (2010). "Community detection in graphs". Phys. Rep. 486 (3–5): 75–174. arXiv:0906.0612.

课程

复杂网络中的社团结构

该课程中主要讲解了网络中集团结构的定义,以及层次聚类法、GN 聚类法的思想,从中观尺度——社团结构去探索复杂网络的性质。

复杂网络中的社团结构

https://campus.swarma.org/course/1197

算法讲解

Github上热门分享 (收藏超1.2k) - 社团检测相关论文及代码实现集:

https://github.com/benedekrozemberczki/awesome-community-detection

模块度(Modularity)与Fast Newman算法讲解与代码实现:

http://rrd.me/gDT2S

该文章主要介绍了模块度的产生、原理和实现过程。作者利用矩阵形式减少计算时长,最后使用matlab进行计算。

注:以上算法代码均可以实现,更多详情查看词条链接

社团结构:

https://wiki.swarma.org/index.php?title=社团结构

六、百科项目志愿者招募

作为集智百科项目团队的成员,本文内容由李欣儒、刘佩佩、刘世康、李媛翯参与贡献。我们也为每位作者和志愿者准备了专属简介和个人集智百科主页,更多信息可以访问其集智百科个人主页:

以上内容都是我们做这项目的起点,作为来自不同学科和领域的志愿者,我们建立起一个有效的百科团队,分配有审校、翻译、编辑、宣传等工作。我们秉持:知识从我而来,问题到我为止的信念,认真负责编撰每一个词条。

在这里从复杂性知识出发与伙伴同行,同时我们希望有更多志愿者加入这个团队,使百科词条内容得到扩充,并为每位志愿者提供相应奖励与资源,建立个人主页与贡献记录,使其能够继续探索复杂世界。

参 考资料 :

[1]社团结构 集智百科 :

https://wiki.swarma.org/index.php?title=社团结构

[2]社团结构 维基百科:

https://en.wikipedia.org/wiki/Community_structure

[3]社团结构 百度百科 :

[4]CSDN相关算法页面

http://rrd.me/gDT2S

[5]GitHub相关算法页面

https://github.com/benedekrozemberczki/awesome-community-detection

[6]集智学园课程

https://campus.swarma.org/course/1197

来源:集智百科

编辑:曾祥轩返回搜狐,查看更多

相关文章

车辆的轮旋是哪里
beat365中文版

车辆的轮旋是哪里

📅 10-15 👁️ 2704