Machine learning on graphs
A.A. 2026/2027
Obiettivi formativi
1. Conoscenza e capacità di comprensione
Acquisire una solida comprensione teorica delle principali tecniche di machine learning applicate a dati strutturati come grafi, incluse le basi delle Graph Neural Networks, gli algoritmi di embedding e i modelli per reti eterogenee e temporali.
2. Conoscenza e capacità di comprensione applicate
Saper implementare, utilizzare e valutare algoritmi di apprendimento su grafi mediante librerie software moderne (NetworkX, DGL, PyTorch Geometric) e applicarli a problemi reali nei settori dell'informatica, biologia computazionale, economia dei dati e scienze sociali.
3. Autonomia di giudizio
Sviluppare la capacità critica di selezionare e adattare metodi di machine learning su grafi in funzione del contesto applicativo, del tipo di grafo e degli obiettivi analitici; essere in grado di valutare i risultati ottenuti e proporre miglioramenti ai modelli.
4. Abilità comunicative
Essere in grado di presentare in modo chiaro ed efficace le scelte progettuali, le metodologie adottate e i risultati ottenuti, sia in forma scritta sia orale, anche mediante la discussione di articoli scientifici.
5. Capacità di apprendimento
Sviluppare l'autonomia nello studio di metodologie avanzate e nell'aggiornamento continuo tramite letteratura scientifica, promuovendo la capacità di apprendere nuovi modelli e tecnologie emergenti nel campo dell'apprendimento automatico su grafi.
Acquisire una solida comprensione teorica delle principali tecniche di machine learning applicate a dati strutturati come grafi, incluse le basi delle Graph Neural Networks, gli algoritmi di embedding e i modelli per reti eterogenee e temporali.
2. Conoscenza e capacità di comprensione applicate
Saper implementare, utilizzare e valutare algoritmi di apprendimento su grafi mediante librerie software moderne (NetworkX, DGL, PyTorch Geometric) e applicarli a problemi reali nei settori dell'informatica, biologia computazionale, economia dei dati e scienze sociali.
3. Autonomia di giudizio
Sviluppare la capacità critica di selezionare e adattare metodi di machine learning su grafi in funzione del contesto applicativo, del tipo di grafo e degli obiettivi analitici; essere in grado di valutare i risultati ottenuti e proporre miglioramenti ai modelli.
4. Abilità comunicative
Essere in grado di presentare in modo chiaro ed efficace le scelte progettuali, le metodologie adottate e i risultati ottenuti, sia in forma scritta sia orale, anche mediante la discussione di articoli scientifici.
5. Capacità di apprendimento
Sviluppare l'autonomia nello studio di metodologie avanzate e nell'aggiornamento continuo tramite letteratura scientifica, promuovendo la capacità di apprendere nuovi modelli e tecnologie emergenti nel campo dell'apprendimento automatico su grafi.
Risultati apprendimento attesi
Al termine del corso, lo studente sarà in grado di:
Descrivere e spiegare i principali algoritmi di machine learning su grafi, incluse tecniche senza feature learning e modelli di graph representation learning.
Implementare e applicare tecniche di embedding per grafi utilizzando librerie Python specializzate.
Valutare le prestazioni degli algoritmi su dataset reali, identificando metriche appropriate e ottimizzando i modelli.
Progettare soluzioni a problemi pratici che richiedano l'analisi e la modellazione di dati a grafo, comprese reti eterogenee e temporali.
Analizzare criticamente articoli scientifici e implementare i metodi descritti, discutendone vantaggi, limiti e applicabilità.
Comunicare in modo chiaro le scelte metodologiche e i risultati ottenuti, sia in forma scritta che orale.
Descrivere e spiegare i principali algoritmi di machine learning su grafi, incluse tecniche senza feature learning e modelli di graph representation learning.
Implementare e applicare tecniche di embedding per grafi utilizzando librerie Python specializzate.
Valutare le prestazioni degli algoritmi su dataset reali, identificando metriche appropriate e ottimizzando i modelli.
Progettare soluzioni a problemi pratici che richiedano l'analisi e la modellazione di dati a grafo, comprese reti eterogenee e temporali.
Analizzare criticamente articoli scientifici e implementare i metodi descritti, discutendone vantaggi, limiti e applicabilità.
Comunicare in modo chiaro le scelte metodologiche e i risultati ottenuti, sia in forma scritta che orale.
Periodo: Terzo quadrimestre
Modalità di valutazione: Esame
Giudizio di valutazione: voto verbalizzato in trentesimi
Corso singolo
Questo insegnamento può essere seguito come corso singolo.
Programma e organizzazione didattica
Edizione unica
Responsabile
Periodo
Terzo quadrimestre
Programma
Introduzione al Machine Learning su Grafi
- Fondamenti di teoria dei grafi: definizioni di base (nodi, archi, grado, cammini, connettività, centralità), tipi di grafi (orientati, pesati, multigrafi, bipartiti, ecc.), rappresentazioni computazionali (liste di adiacenza, matrici).
- Terminologia e notazione standard usata nella letteratura e nelle implementazioni.
Machine Learning su Grafi senza Feature Learning
- Compiti principali:
-- Classificazione dei nodi basata su proprietà strutturali.
-- Predizione degli archi basata sulla topologia del grafo.
- Metodi basati sulla topologia:
-- Similarità strutturali (Common Neighbors, Jaccard, Adamic-Adar).
-- Random walk e PageRank per ranking e inferenza.
Graph Representation Learning con Shallow Networks
- Motivazioni per l'embedding dei grafi: ridurre la complessità strutturale, mappare nodi/archi/grafi in spazi vettoriali.
- Metodi shallow (non end-to-end):
-- DeepWalk: random walk + modello Skip-gram.
-- node2vec: estensione di DeepWalk con esplorazione guidata (BFS/DFS).
-- LINE: preservazione della prossimità di primo e secondo ordine.
- Valutazione degli embedding:
-- Metriche per link prediction, classificazione dei nodi e clustering.
-- Benchmark su dataset standard.
Graph Representation Learning con Deep Feature Learning
- Introduzione alle Graph Neural Networks (GNNs)
-- Concetti fondamentali: message passing, aggregazione, aggiornamento.
-- Differenze tra GNN e MLP/CNN tradizionali.
- Architetture principali:
-- Graph Convolutional Networks (GCNs): convoluzione spaziale su grafi.
-- Graph Attention Networks (GATs): meccanismi di attenzione per aggregazione pesata.
-- GraphSAGE: campionamento dei vicini e aggregazione differenziabile.
- Aspetti avanzati del training:
-- Tecniche di mini-batching e sampling.
-- Over-smoothing e regolarizzazione.
-- Negative sampling per training efficiente.
- Implementazione e valutazione:
-- Pipeline di addestramento e validazione.
Graph Representation Learning per Reti Eterogenee e Knowledge Graphs
- Definizione di reti eterogenee: grafi con tipi multipli di nodi e archi.
- Knowledge graphs: grafi con relazioni tipate e semantica esplicita (triplette soggetto-predicato-oggetto).
- Metodi di embedding per reti eterogenee:
-- R-GCN: estensione delle GCN per dati relazionali.
- Metodi di embedding per knowledge graphs:
-- Metodi traslazionali: TransE, TransH.
-- Metodi basati su fattorizzazione: DistMult, ComplEx.
Graph Representation Learning per Reti Temporali
- Introduzione ai grafi temporali:
-- Definizioni: grafi che evolvono nel tempo (eventi, nodi/archi dinamici).
-- Classificazione: basati su snapshot (tempo discreto) vs. basati su eventi (tempo continuo).
- Metodi per grafi temporali discreti:
-- Varianti di GCN basate su snapshot.
- Metodi per grafi dinamici in tempo continuo:
-- TGN (Temporal Graph Networks): rappresentazione di nodi/eventi con memoria.
- Fondamenti di teoria dei grafi: definizioni di base (nodi, archi, grado, cammini, connettività, centralità), tipi di grafi (orientati, pesati, multigrafi, bipartiti, ecc.), rappresentazioni computazionali (liste di adiacenza, matrici).
- Terminologia e notazione standard usata nella letteratura e nelle implementazioni.
Machine Learning su Grafi senza Feature Learning
- Compiti principali:
-- Classificazione dei nodi basata su proprietà strutturali.
-- Predizione degli archi basata sulla topologia del grafo.
- Metodi basati sulla topologia:
-- Similarità strutturali (Common Neighbors, Jaccard, Adamic-Adar).
-- Random walk e PageRank per ranking e inferenza.
Graph Representation Learning con Shallow Networks
- Motivazioni per l'embedding dei grafi: ridurre la complessità strutturale, mappare nodi/archi/grafi in spazi vettoriali.
- Metodi shallow (non end-to-end):
-- DeepWalk: random walk + modello Skip-gram.
-- node2vec: estensione di DeepWalk con esplorazione guidata (BFS/DFS).
-- LINE: preservazione della prossimità di primo e secondo ordine.
- Valutazione degli embedding:
-- Metriche per link prediction, classificazione dei nodi e clustering.
-- Benchmark su dataset standard.
Graph Representation Learning con Deep Feature Learning
- Introduzione alle Graph Neural Networks (GNNs)
-- Concetti fondamentali: message passing, aggregazione, aggiornamento.
-- Differenze tra GNN e MLP/CNN tradizionali.
- Architetture principali:
-- Graph Convolutional Networks (GCNs): convoluzione spaziale su grafi.
-- Graph Attention Networks (GATs): meccanismi di attenzione per aggregazione pesata.
-- GraphSAGE: campionamento dei vicini e aggregazione differenziabile.
- Aspetti avanzati del training:
-- Tecniche di mini-batching e sampling.
-- Over-smoothing e regolarizzazione.
-- Negative sampling per training efficiente.
- Implementazione e valutazione:
-- Pipeline di addestramento e validazione.
Graph Representation Learning per Reti Eterogenee e Knowledge Graphs
- Definizione di reti eterogenee: grafi con tipi multipli di nodi e archi.
- Knowledge graphs: grafi con relazioni tipate e semantica esplicita (triplette soggetto-predicato-oggetto).
- Metodi di embedding per reti eterogenee:
-- R-GCN: estensione delle GCN per dati relazionali.
- Metodi di embedding per knowledge graphs:
-- Metodi traslazionali: TransE, TransH.
-- Metodi basati su fattorizzazione: DistMult, ComplEx.
Graph Representation Learning per Reti Temporali
- Introduzione ai grafi temporali:
-- Definizioni: grafi che evolvono nel tempo (eventi, nodi/archi dinamici).
-- Classificazione: basati su snapshot (tempo discreto) vs. basati su eventi (tempo continuo).
- Metodi per grafi temporali discreti:
-- Varianti di GCN basate su snapshot.
- Metodi per grafi dinamici in tempo continuo:
-- TGN (Temporal Graph Networks): rappresentazione di nodi/eventi con memoria.
Prerequisiti
Non sono richieste conoscenze preliminari aggiuntive rispetto a quelle necessarie alla laurea magistrale, tuttavia sono suggerite conoscenze di base acquisibili
mediante gli insegnamenti del percorso "ARTIFICIAL INTELLIGENCE, DATA ANALYTICS AND BIG DATA".
mediante gli insegnamenti del percorso "ARTIFICIAL INTELLIGENCE, DATA ANALYTICS AND BIG DATA".
Metodi didattici
Il docente utilizzerà: a) lezioni frontali; b) codice Python per i metodi presentati; c) discussione di paper scientifici e relativi repository di codice inerenti gli
argomenti caratterizzanti l'insegnamento.
argomenti caratterizzanti l'insegnamento.
Materiale di riferimento
I materiali didattici verranno resi disponibili sulla piattaforma Deepnote e sul sito web MyAriel dell'insegnamento.
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consiste in una discussione orale su un articolo di ricerca: uno studente seleziona uno dei paper scientifici assegnati dal docente implementando e analizzando il
metodo proposto nella pubblicazione assegnata.
La valutazione complessiva è espressa in trentesimi. Il voto finale è assegnato in base ai seguenti criteri: conoscenza degli argomenti, abilità nell'applicare le
conoscenze acquisite in pratica, l'abilità di risolvere problemi in modo autonomo, e chiarezza nell'esprimere i concetti.
metodo proposto nella pubblicazione assegnata.
La valutazione complessiva è espressa in trentesimi. Il voto finale è assegnato in base ai seguenti criteri: conoscenza degli argomenti, abilità nell'applicare le
conoscenze acquisite in pratica, l'abilità di risolvere problemi in modo autonomo, e chiarezza nell'esprimere i concetti.
INFO-01/A - Informatica - CFU: 6
Lezioni: 48 ore
Docente:
Zignani Matteo
Turni:
Turno
Docente:
Zignani MatteoDocente/i