社区发现(一):社区简介
文章目录
引用:https://blog.csdn.net/itplus/article/details/9286905
社区发现(Community Detection)算法用来发现网络中的社区结构,也可以视为一种广义的聚类算法。
1. 研究背景
复杂网络是复杂系统的抽象,现实中许多复杂系统都可以用复杂网络的相关特性进行描述和分析。
网络中的节点表示系统中的个体,边表示个体之间的关系。如:
- 社会关系网络
- 食物链
- 万维网
- 城市交通网络
- 电力网
对复杂网络的研究一直是许多领域的研究热点,其中社区结构是复杂网络中的一个普遍特征,整个网络是由许多个社区组成的。
社区发现(Community Detection)是一个复杂而有意义的过程,它对研究复杂网络的特性具有重要作用。近几年,发现及分析复杂网络中的社区结构得到了许多学者的关注,同时也出现了很多社区发现算法。
2. 什么是社区
A precise definition of what a “community” really is does not exist yet. One of the most widely accepted and used definitions is that given by Newman and Gievan (2004):
A community is a subgraph containing nodes which are more densely linked to each other than to the rest of the graph or equivalently, a graph has a community structure if the number of links into any subgraph is higher than the number of links between those subgraphs.
同一社区内的节点与节点之间的连接很紧密,而社区与社区之间的连接比较稀疏。
从上述定义可以看出:社区是一个比较含糊的概念,只给出了一个定性的刻画。另外需要注意的是,社区是一个子图,包含顶点和边。
3. 数学描述
设图G = G(V, E),所谓社区发现是指在图G中确定nc (≥1) 个社区
C={C1,C2,...,Cnc}
C = \{C_1, C_2, ..., C_{nc}\}
C={C1,C2,...,Cnc}
使得各社区的顶点集合构成V的一个覆盖。
若任意两个社区的顶点集合的交集均为空,则称C为非重叠社区(disjoint communities);否则称为重叠社区(overlapping communities)。
非重叠社区
重叠社区
- Unity3D的GUI插件(UIToolkit,GUIX)在Unity的社区里发现一个不错的UI插件----UIToolkit.
- 前端进阶试题css(来自js高级前端开发---豪情)既然被发现了HOHO,那我就置顶了嘿嘿!觉得自己技术OK的可以把这套题目做完哦,然后加入高级前端的社区咯
- 社团发现算法分类及简介
- 异地分居几乎没有夫妻生活,通过调查取证发现妻子有出轨情况怎么办?-CSDN论坛-CSDN.NET-中国最大的IT技术社区
- kubernetes 简介:kube-dns 和服务发现
- KDD2012 社区发现文章推荐
- 社区发现算法总结(二)
- 社区发现
- Spring Cloud简介-服务与发现
- 新发现的linux技术社区
- 【复杂网络系列】社团发现简介
- 社区发现(Community Detection)算法
- SpringCloud服务发现(Eureka)简介
- ASONAM 2012社区发现文章 推荐
- 社区发现 -- 数据挖掘
- 社区发现算法问题&&NetworkX&&Gephi
- SpringCloud服务发现(Eureka)简介
- 社区发现综述
- 演化算法(EA)在社区发现方面的进展
- 社交网络图挖掘2--社区的直接发现和图划分