| Literature DB >> 28157183 |
Yansen Su1, Bangju Wang1, Xingyi Zhang1.
Abstract
Community detection has received a great deal of attention, since it could help to reveal the useful information hidden in complex networks. Although most previous modularity-based and local modularity-based community detection algorithms could detect strong communities, they may fail to exactly detect several weak communities. In this work, we define a network with clear or ambiguous community structures based on the types of its communities. A seed-expanding method based on random walks is proposed to detect communities for networks, especially for the networks with ambiguous community structures. We identify local maximum degree nodes, and detect seed communities in a network. Then, the probability of a node belonging to each community is calculated based on the total probability model and random walks, and each community is expanded by repeatedly adding the node which is most likely to belong to it. Finally, we use the community optimization method to ensure that each node is in a community. Experimental results on both computer-generated and real-world networks demonstrate that the quality of the communities detected by the proposed algorithm is superior to the- state-of-the-art algorithms in the networks with ambiguous community structures.Entities:
Mesh:
Year: 2017 PMID: 28157183 PMCID: PMC5291113 DOI: 10.1038/srep41830
Source DB: PubMed Journal: Sci Rep ISSN: 2045-2322 Impact factor: 4.379
The number of strong and weak communities in real-world networks.
| Karate | Dolphins | Polbooks | Football | |
|---|---|---|---|---|
| strong | 0 | 1 | 1 | 8 |
| weak | 2 | 1 | 2 | 4 |
‘Karate’, ‘Dolphins’, ‘Polbooks’ and ‘Football’ represent the Zachary’s Karate Club network, the Bottlenose Dolphins network, the Books about US politics network and the American College Football network, respectively.
Figure 1The comparative results on the GN benchmark networks.
Each point is the mean of NMI and F1 values averaged over 30 independent runs. Error bars show the standard deviations estimated from 30 networks.
Figure 2The comparative results on the LFR benchmark networks.
Each point is the mean of NMI and F1 values averaged over 30 independent runs. Error bars show the standard deviations estimated from 30 networks.
Figure 3The comparative results on real-world networks.
‘kar’, ‘dol’, ‘pol’ and ‘foo’ represent the Zachary’s Karate Club network, the Bottlenose Dolphins network, the Books about US politics network and the American College Football network, respectively.
The performance in strong and weak communities of real-world networks.
| Karate | Dolphins | Polbooks | Football | Total | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| s(0) | w(2) | s(1) | w(1) | s(1) | w(2) | s(8) | w(4) | s(10) | w(9) | |
| GN | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 10% | 11.11% |
| FN | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 10% | 0 |
| FUA | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 22.22% |
| FEC | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 2 | 30% | 22.22% |
| LMDR | 0 | 0 | 1 | 0 | 0 | 0 | 5 | 1 | 60% | 11.11% |
| RWA | 0 | 2 | 1 | 1 | 1 | 1 | 5 | 3 | 60% | 77.78% |
‘Karate’, ‘Dolphins’, ‘Polbooks’ and ‘Football’ represent the Zachary’s Karate Club network, the Bottlenose Dolphins network, the Books about US politics network and the American College Football network, respectively. ‘s(*)’ represents the number of strong communities is ‘*’ in a specific network. ‘w(**)’ represents the number of strong communities is ‘**’. ‘Total s(10)’ means the total number of strong communities in four real-world networks is 10, and ‘Total w(9)’ means the total number of weak communities in four real-world networks is 9.
Figure 4Sensitivity of Z.
Each point is the mean of NMI and F1 values averaged over 30 independent runs and error bars show the standard deviations estimated from 30 networks.
The algorithm to calculate the probability of a node belonging to each community.
| Node-set | |
|---|---|
| The probability vector for the node | |
| Step 1 | Initialize an array |
| Step 2 | For |
| Step 3 | Construct the graph |
| Step 4 | Calculate the matrix |
| Step 5 | Iterate the |
| Step 6 | Calculate |
| Step 7 | Calculate |
| Step 8 | End For |
| Step 9 | Normalize |
| Step 10 | Return |