-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modularity Maximization Lifting (Graph to Hypergraph) #49
base: main
Are you sure you want to change the base?
Modularity Maximization Lifting (Graph to Hypergraph) #49
Conversation
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
Hello @ValentinaSanchezMelchor! Thank you for your submission. As we near the end of the challenge, I am collecting participant info for the purpose of selecting and announcing winners. Please email me (or have one member of your team email me) at guillermo_bernardez@ucsb.edu so I can share access to the voting form. In your email, please include:
Before July 12, make sure that your submission respects all Submission Requirements laid out on the challenge page. Any submission that fails to meet this criteria will be automatically disqualified. |
This is a novel lifting based on modularity maximization and community detection. This approach extends the spectral method for community detection described by Newman [1] to create a hypergraph representation that preserves the community structure of the original graph. This method is useful for preserving the global community structure of graphs, making it valuable for tasks that require understanding large-scale network organization. Examples of this are identifying functional modules in biological networks, detecting social circles in social networks, or uncovering thematic clusters in citation networks.
This approach works as follows:
(1) Compute the modularity matrix B of the graph.
(2) Perform spectral clustering on B to detect communities:
- Compute the leading eigenvectors of B
- Apply k-means clustering to these eigenvectors
(3) For each node i, create a hyperedge H_i containing:
- Node i itself
- The k nearest neighbors of i within its detected community
This method leverages both the graph structure (through the modularity matrix) and the original node features (for nearest neighbor calculations). It's particularly suitable for cases where the global structure and community organization of the graph are important.
The modularity matrix B is defined as:
where A is the adjacency matrix, k_i is the degree of node i, and m is the total number of edges.
Our method extends beyond traditional bi-partitioning by allowing for the detection of multiple communities, making it adaptable to more complex network structures. The number of communities and the size of the neighborhood for hyperedge creation are adjustable parameters.
Note that due to the random initialization in the k-means clustering step, this method is non-deterministic. This can be advantageous for exploring various possible community structures in the network.
The computational complexity is approximately$O(n^2 + nk + nct)$ , where n is the number of nodes, k is the number of nearest neighbors, c is the number of communities, and t is the number of k-means iterations.
[1] Newman, M. E. J. (2013). Spectral methods for network community detection and graph partitioning. Physical Review E, 88(4), 042822. https://arxiv.org/abs/1307.7729
Submission by Valentina Sánchez [@ValentinaSanchezMelchor]