Community-detection algorithm
来源:互联网 发布:c语言里 n 编辑:程序博客网 时间:2024/06/13 00:35
source:
https://arxiv.org/pdf/0803.0476.pdf
https://sites.google.com/site/findcommunities/
- 有很多种 community detection algorithms:
- divisive algorithms: detect inter-community links and remove them from the network
- agglomerative algorithms: merge similar nodes/communities recursively
- optimization methods: based on the maximisation of an objective function
- modularity show the quality of the partitions results
- The modularity of a partition is a scalar value between -1 and 1
- measures the density of links inside communities as compared to links between communities
- can also be as an objective function to optimize
Louvain method:
Two phases (repeated iteratively):
- First phase
- assign a different community to each node of the network. (这个时候,有多少个点就有多少个community)
- for each node i, consider the neighbors j of i and evaluate the gain of modularity that would take place by removing i from its community and by placing it in the community of j. The node i is then placed in the community for which this gain is maximum
- If no positive gain is possible, i stays in its original community
- repeat and sequentially for all nodes until no further improvement can be achieved. The first phase is then complete.
- second phase (build a new network whose nodes
are now the communities found during the first phase.)- weights between the new nodes are given by the sum of the weight of the links between nodes in the corresponding two communities
- Links between nodes of the same community lead to self-loops for this community in the new network.
- Once this second phase is completed, it is then possible to reapply the first phase of the algorithm to the resulting weighted network and to iterate.
- 这两个 phase 一起打包看作 “pass”的话,
- the number of meta-communities decreases at each pass
- most of the computing time is used in the first pass.
- The passes are iterated until there are no more changes and a maximum of modularity is attained.
- The first pass of the algorithm finds the natural partition of the network.
- The second pass finds the global maximum of modularity where cliques are combined into groups of two.
- This first phase stops when a local maxima of
the modularity is attained - the output of the algorithm depends on the order in which the nodes are considered.
总结:
每个 pass 有两个阶段(phase):
第一个阶段,modularity is optimized by allowing only local changes of communities。
第二个阶段,the found communities are aggregated in order to build a new network of communities.
The passes are repeated iteratively until no increase of modularity is possible
阅读全文
0 0
- Community-detection algorithm
- Community detection
- A Dynamic Algorithm for Local Community Detection in Graphs--阅读笔记
- Community Detection 算法
- Community detection (2)
- 社区发现 Community Detection
- 社区发现Community Detection
- Community Detection 算法
- 社区发现(Community Detection)算法
- Community detection 社团检测 (1)
- 社区发现(Community Detection)算法
- 社区发现(Community Detection)算法
- 社区发现(Community Detection)算法
- 学习记录 Community Detection 算法
- The Louvain method for community detection
- 社区发现(Community Detection)算法
- iGraph库中Community Detection方法比较
- Community Detection (社区发现)算法
- .NET相关的获取硬盘物理序列号的方法
- Android中沉浸式透明状态栏和导航栏的终极解决方案
- websocket 利用json 传递多个参数
- 51单片机之电阻、发光二极管、74HC573的基本知识点
- android打包批量处理文件名称
- Community-detection algorithm
- 回应『Angular有哪些地方比Vue更优秀?』
- 欢迎使用CSDN-markdown编辑器
- 如何绕开对通用VMware虚拟机检测
- git 分支
- Shell编程详解
- hdu5695(拓扑+优先队列)Gym Class
- 新生晚会 HDU-2519 【计算排列组合】
- SpringMVC的各种参数绑定方式