Exploring Graph Neural Networks
Graph Neural Networks (GNNs) are powerful models that allow handling graph-structured data, making them useful in various real-world applications such as social networks, biological data analysis, and recommendation systems.
This project explores how GNNs can be used for different tasks, including:
- Graph-Based Classification: implementing a GNN that can classify entire graphs while dealing with an interesting dataset. Exploring different graph-level aggregation techniques, analyzing class distributions, and experimenting with ways to improve model performance.
- Node-Based Classification in a Heterogeneous Graph: designing a GNN that can correctly classify nodes of different natures and feature dimensions inside a single graph, all while considering their heterogeneity.
- Investigating Topology in Node-Based Classification: analysis of how the structure (or topology) of a graph affects the performance of GNNs by exploring key graph measures such as node degree, modularity, and Ollivier-Ricci curvature and examining their impact on model performance.