Machine Learning On Graphs
A.Y. 2025/2026
Learning objectives
1. Knowledge and understanding
Acquire a solid theoretical background in machine learning techniques for graph-structured data, including Graph Neural Networks, embedding algorithms, and models for heterogeneous and temporal graphs.
2. Applying knowledge and understanding
Develop practical skills in implementing, using, and evaluating graph learning algorithms with modern libraries (NetworkX, DGL, PyTorch Geometric), and applying them to real-world problems in various domains.
3. Making judgements
Gain the ability to critically assess, select, and adapt appropriate graph learning methods based on application context, graph structure, and analysis goals.
4. Communication skills
Effectively present design choices, methodologies, and results, both orally and in writing, including through the discussion of relevant scientific papers.
5. Learning skills
Develop autonomy in learning advanced methods and staying up to date through scientific literature, fostering the ability to acquire new models and technologies in the field.
Acquire a solid theoretical background in machine learning techniques for graph-structured data, including Graph Neural Networks, embedding algorithms, and models for heterogeneous and temporal graphs.
2. Applying knowledge and understanding
Develop practical skills in implementing, using, and evaluating graph learning algorithms with modern libraries (NetworkX, DGL, PyTorch Geometric), and applying them to real-world problems in various domains.
3. Making judgements
Gain the ability to critically assess, select, and adapt appropriate graph learning methods based on application context, graph structure, and analysis goals.
4. Communication skills
Effectively present design choices, methodologies, and results, both orally and in writing, including through the discussion of relevant scientific papers.
5. Learning skills
Develop autonomy in learning advanced methods and staying up to date through scientific literature, fostering the ability to acquire new models and technologies in the field.
Expected learning outcomes
Describe and explain the main graph-based machine learning algorithms, including approaches without feature learning and graph representation learning models.
Implement and apply graph embedding techniques using specialized Python libraries.
Evaluate algorithm performance on real datasets, selecting suitable metrics and optimizing models accordingly.
Design solutions for practical problems involving graph-structured data, including heterogeneous and temporal networks.
Critically analyze scientific papers and implement the described methods, discussing their advantages, limitations, and applicability.
Clearly communicate methodological choices and results, both in written reports and oral presentations.
Implement and apply graph embedding techniques using specialized Python libraries.
Evaluate algorithm performance on real datasets, selecting suitable metrics and optimizing models accordingly.
Design solutions for practical problems involving graph-structured data, including heterogeneous and temporal networks.
Critically analyze scientific papers and implement the described methods, discussing their advantages, limitations, and applicability.
Clearly communicate methodological choices and results, both in written reports and oral presentations.
Lesson period: Third four month period
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course can be attended as a single course.
Course syllabus and organization
Single session
Responsible
Lesson period
Third four month period
Course syllabus
Introduction to Machine Learning on Graphs
- Fundamentals of graph theory: basic definitions (nodes, edges, degree, paths, connectivity, centrality), graph types (directed, weighted, multigraphs, bipartite, etc.), computational representations (adjacency lists, matrices).
- Standard terminology and notation used in the literature and implementations.
- Motivations and context: why graphs are a natural data structure for machine learning.
- Practical applications: examples from biology (protein interaction networks), social sciences (social networks), finance (fraud detection), industry (predictive maintenance), knowledge representation.
Machine Learning on Graphs without Feature Learning
- Main tasks:
—- Node classification based on structural properties.
—- Link prediction based on graph topology.
- Topology-based methods:
—- Structural similarities (Common Neighbors, Jaccard, Adamic-Adar).
—- Random walks and PageRank for ranking and inference.
- Graph Kernels and Graph SVM:
—- Graph and substructure kernels (walk-based, subtree-based, graphlet-based).
—- Use of kernels in SVM classifiers.
- Graph clustering techniques:
—- Metis (cut minimization-based partitioning).
—- Leiden and Infomap (community detection).
- Case studies: classification and clustering on real-world datasets (e.g., citation networks, social graphs).
Graph Representation Learning with Shallow Networks
- Motivations for graph embedding: reducing structural complexity, mapping nodes/edges/graphs to vector spaces.
- Shallow methods (non end-to-end learning):
—- DeepWalk: random walks + Skip-gram model.
—- node2vec: extension of DeepWalk with biased exploration (BFS/DFS).
—- LINE: first- and second-order proximity preservation.
- Evaluation of embeddings:
—- Metrics for link prediction, node classification, and clustering.
—- Benchmarking on standard datasets.
Graph Representation Learning with Deep Feature Learning
- Introduction to Graph Neural Networks (GNNs)
— Core concepts: message passing, aggregation, update.
— Differences between GNNs and traditional MLPs/CNNs.
- Main architectures:
—- Graph Convolutional Networks (GCNs): spatial convolution on graphs.
—- Graph Attention Networks (GATs): attention mechanisms for weighted aggregation.
—- GraphSAGE: neighborhood sampling and differentiable aggregation.
- Advanced training aspects:
—- Mini-batching and sampling techniques.
—- Over-smoothing and regularization.
—- Negative sampling for efficient training.
- Implementation and evaluation:
—- Frameworks (PyTorch Geometric, DGL).
—- Training and validation pipelines.
Graph Representation Learning for Heterogeneous Networks and Knowledge Graphs
- Definition of heterogeneous networks: graphs with multiple node and edge types.
- Knowledge graphs: graphs with typed relations and explicit semantics (subject-predicate-object triples).
- Embedding methods for heterogeneous networks:
—- metapath2vec: meta-path guided random walks.
—- HERec: meta-path decomposition + personalized embeddings.
—- R-GCN: extension of GCNs for relational data
—- HAN: hierarchical attention over meta-paths.
- Knowledge graph embedding methods:
—- Translational methods: TransE, TransH.
—- Factorization-based methods: DistMult, ComplEx.
- Application:
—- Knowledge-graph-based recommendation systems.
Graph Representation Learning for Temporal Networks
- Introduction to temporal graphs:
— Definitions: graphs evolving over time (events, dynamic nodes/edges).
— Classification: snapshot-based (discrete time) vs. event-based (continuous time).
- Methods for discrete-time temporal graphs:
—- Snapshot-based GCN variants.
—- Temporal random walks and adaptations of node2vec/DeepWalk.
- Methods for continuous-time dynamic graphs:
—- TGN (Temporal Graph Networks): memory-based node/event representation.
—- TGAT (Temporal Graph Attention Networks): temporal attention mechanisms.
- Case studies:
—- Social network evolution.
—- Event prediction in communication or financial networks.
- Fundamentals of graph theory: basic definitions (nodes, edges, degree, paths, connectivity, centrality), graph types (directed, weighted, multigraphs, bipartite, etc.), computational representations (adjacency lists, matrices).
- Standard terminology and notation used in the literature and implementations.
- Motivations and context: why graphs are a natural data structure for machine learning.
- Practical applications: examples from biology (protein interaction networks), social sciences (social networks), finance (fraud detection), industry (predictive maintenance), knowledge representation.
Machine Learning on Graphs without Feature Learning
- Main tasks:
—- Node classification based on structural properties.
—- Link prediction based on graph topology.
- Topology-based methods:
—- Structural similarities (Common Neighbors, Jaccard, Adamic-Adar).
—- Random walks and PageRank for ranking and inference.
- Graph Kernels and Graph SVM:
—- Graph and substructure kernels (walk-based, subtree-based, graphlet-based).
—- Use of kernels in SVM classifiers.
- Graph clustering techniques:
—- Metis (cut minimization-based partitioning).
—- Leiden and Infomap (community detection).
- Case studies: classification and clustering on real-world datasets (e.g., citation networks, social graphs).
Graph Representation Learning with Shallow Networks
- Motivations for graph embedding: reducing structural complexity, mapping nodes/edges/graphs to vector spaces.
- Shallow methods (non end-to-end learning):
—- DeepWalk: random walks + Skip-gram model.
—- node2vec: extension of DeepWalk with biased exploration (BFS/DFS).
—- LINE: first- and second-order proximity preservation.
- Evaluation of embeddings:
—- Metrics for link prediction, node classification, and clustering.
—- Benchmarking on standard datasets.
Graph Representation Learning with Deep Feature Learning
- Introduction to Graph Neural Networks (GNNs)
— Core concepts: message passing, aggregation, update.
— Differences between GNNs and traditional MLPs/CNNs.
- Main architectures:
—- Graph Convolutional Networks (GCNs): spatial convolution on graphs.
—- Graph Attention Networks (GATs): attention mechanisms for weighted aggregation.
—- GraphSAGE: neighborhood sampling and differentiable aggregation.
- Advanced training aspects:
—- Mini-batching and sampling techniques.
—- Over-smoothing and regularization.
—- Negative sampling for efficient training.
- Implementation and evaluation:
—- Frameworks (PyTorch Geometric, DGL).
—- Training and validation pipelines.
Graph Representation Learning for Heterogeneous Networks and Knowledge Graphs
- Definition of heterogeneous networks: graphs with multiple node and edge types.
- Knowledge graphs: graphs with typed relations and explicit semantics (subject-predicate-object triples).
- Embedding methods for heterogeneous networks:
—- metapath2vec: meta-path guided random walks.
—- HERec: meta-path decomposition + personalized embeddings.
—- R-GCN: extension of GCNs for relational data
—- HAN: hierarchical attention over meta-paths.
- Knowledge graph embedding methods:
—- Translational methods: TransE, TransH.
—- Factorization-based methods: DistMult, ComplEx.
- Application:
—- Knowledge-graph-based recommendation systems.
Graph Representation Learning for Temporal Networks
- Introduction to temporal graphs:
— Definitions: graphs evolving over time (events, dynamic nodes/edges).
— Classification: snapshot-based (discrete time) vs. event-based (continuous time).
- Methods for discrete-time temporal graphs:
—- Snapshot-based GCN variants.
—- Temporal random walks and adaptations of node2vec/DeepWalk.
- Methods for continuous-time dynamic graphs:
—- TGN (Temporal Graph Networks): memory-based node/event representation.
—- TGAT (Temporal Graph Attention Networks): temporal attention mechanisms.
- Case studies:
—- Social network evolution.
—- Event prediction in communication or financial networks.
Prerequisites for admission
No additional prerequisites are required beyond those needed for the Master's degree. However, basic knowledge acquired through the "ARTIFICIAL INTELLIGENCE, DATA ANALYTICS AND BIG DATA" track is recommended.
Teaching methods
The instructor will use: a) lectures; b) Python code to illustrate the presented methods; c) discussion of scientific papers and related code repositories relevant to the core topics of the course.
Teaching Resources
The teaching materials will be available on the Deepnote platform and the MyAriel course website.
Assessment methods and Criteria
The exam consists of an oral discussion based on a project: the student selects one of the scientific papers assigned by the instructor, implementing and analyzing the method proposed in the selected publication. The code will be tested on benchmark datasets commonly used in the scientific community.
The overall evaluation is expressed in thirtieths. The final grade is based on the following criteria: knowledge of the topics, ability to apply the acquired knowledge in practice, ability to solve problems independently, and clarity in presenting concepts.
The overall evaluation is expressed in thirtieths. The final grade is based on the following criteria: knowledge of the topics, ability to apply the acquired knowledge in practice, ability to solve problems independently, and clarity in presenting concepts.
Professor(s)