PATTERN RECOGNITION

Obiettivi formativi

ITA GENERALI Il corso si propone di fornire agli studenti una solida preparazione teorica e pratica sulle tecniche di Pattern Recognition, con particolare attenzione alla classificazione e al clustering anche in domini non algebrici e al modellamento del linguaggio naturale per mezzo di architetture neurali Transformers. Al termine del percorso formativo, gli studenti saranno in grado di comprendere e interpretare in modo critico testi scientifici avanzati nel settore, acquisendo così una conoscenza approfondita delle metodologie più attuali. Saranno inoltre capaci di applicare autonomamente gli algoritmi e i principi appresi per progettare sistemi di Pattern Recognition in ambiti multidisciplinari, scegliendo consapevolmente l’approccio più adatto in base ai requisiti specifici del problema. Il corso mira a sviluppare anche competenze trasversali: gli studenti impareranno a documentare in modo efficace il proprio lavoro tramite relazioni tecniche e presentazioni, comunicando in modo chiaro risultati, metodologie e prestazioni. Infine, è obiettivo centrale del corso stimolare un’attitudine all’apprendimento continuo, indispensabile per aggiornare le competenze in un contesto come quello dell’ICT, in costante evoluzione. SPECIFICI • Conoscenza e capacità di comprensione: Sono forniti i principi di base sulle tecniche di Pattern Recognition, classificazione e clustering su domini non necessariamente algebrici. Gli studenti che passano la prova finale saranno in grado di leggere e comprendere testi ed articoli su argomenti avanzati nell’ambito del Pattern Recognition. • Capacità di applicare conoscenza e comprensione: Gli studenti che passano la prova finale saranno in grado di applicare i principi metodologici e gli algoritmi studiati per la progettazione di innovativi sistemi di Pattern Recognition, in contesti multidisciplinari. • Autonomia di giudizio: Gli studenti che passano la prova finale saranno in grado di analizzare i requisiti di progettazione e di scegliere il sistema di classificazione che meglio si adatta al caso di studio. • Abilità comunicative: Gli studenti che passano la prova finale saranno in grado di compilare un rapporto tecnico e di costruire una opportuna presentazione inerente a un qualunque lavoro di progettazione, sviluppo e misura di prestazioni di un sistema di Pattern Recognition. • Capacità di apprendimento: Gli studenti che passano la prova finale saranno in grado di proseguire in autonomia l’approfondimento dei temi trattati a lezione, realizzando il necessario processo di apprendimento continuo che caratterizza la professionalità in ambito ICT.

Canale 1
ANTONELLO RIZZI Scheda docente

Programmi - Frequenza - Esami

Programma
Prima parte: Introduzione al riconoscimento di pattern. Problemi di classificazione e clustering. Capacità di generalizzazione. Inferenze logiche: deduzione e induzione. Principio di induzione su spazi normati. Scelta di una metrica. Spazi non metrici. Misure di prossimità punto-punto, punto-cluster e cluster-cluster. Distanza di Mahalanobis. Funzioni di rappresentazione e pre-elaborazione. Normalizzazione. Dati mancanti. Dati discreti ordinali e nominali. La pipeline di elaborazione di base nell'apprendimento automatico e nel riconoscimento di pattern. Algoritmi di clustering: k-means, BSAS. Il problema della validità dell’analisi di clustering; indice di sensibilità; indici di validazione relativi; indice di Davies-Bouldin; indice Silhouette; algoritmi di clustering basati su parametri di scala; indici di stabilità; algoritmi di clustering ottimizzati; problemi di modellamento non supervisionato, vincolato e non vincolato. Clustering gerarchico. Algoritmi di splitting e merging. Regole di decisione: K-NN e K-NN condensata. Sistemi di classificazione: misure di prestazioni e sensibilità. Sintesi di modelli di classificazione basata sull'analisi dei cluster. Classificazione robusta: tecniche di voting. Ensemble di classificatori. Tassonomia dei dati strutturati. Misure di dissimilarità su dati strutturati. Fusione dei dati. Domini di lunghezza variabile: sequenze di eventi, grafi. Principio di ottimalità di Bellman; distanza di edit. Misure di dissimilarità su spazi di grafi etichettati (Graph Matching). Algoritmi per la selezione automatica delle feature. Principi di base dell'ottimizzazione evolutiva. Introduzione al Granular Computing. Metric learning. Apprendimento di metriche locali. Rappresentazioni in spazi di dissimilarità. Istogrammi simbolici. Data Mining e Knowledge Discovery. Algoritmi paralleli e distribuiti basati su agenti per il Machine Learning. Accelerazione hardware su FPGA e GPU. Seconda parte: Fondamenti hardware e software per sistemi di Pattern Recognition. Installazione e configurazione di un ambiente Anaconda per la prototipazione di applicazioni di machine learning. Visual Studio Code e GitHub. Utilizzo di ambienti di sviluppo integrati e notebook Jupyter per la sperimentazione interattiva in Python. Strutture dati fondamentali in Python e loro applicazione nel Machine Learning classico. Introduzione alle librerie Python essenziali per l'analisi dei dati ed il calcolo scientifico. Esercitazione con i notebook Python su preprocessing dei dati, misure di distanza e dissimilarità, clustering e K-NN. Concetti statistici di base e ragionamento probabilistico. Teorema di Bayes e metodi di apprendimento bayesiano. Modelli di apprendimento probabilistico: criterio di massimo a posteriori (MAP) e stima di massima verosimiglianza. Classificatore Bayesiano Naïve. Superfici di decisione e funzioni discriminanti per classificatori bayesiani. Implementazione pratica della classificazione bayesiana in notebook Python. Modelli generativi e discriminanti. Regressione lineare e regressione logistica. Strategie di overfitting e regolarizzazione. Tecniche di validazione, N-fold cross validation. Introduzione al Reinforcement Learning. Distinzione tra paradigmi di apprendimento supervisionato, non supervisionato e per rinforzo. Strategie fondamentali e componenti dell'apprendimento per rinforzo. Architetture di deep learning e loro confronto con i modelli tradizionali di apprendimento automatico. Reti neurali, reti neurali convolutive, autoencoder. Implementazione pratica di modelli deep in notebook Python con TensorFlow/PyTorch. Tecniche di elaborazione del linguaggio naturale: approcci tradizionali e modelli neurali. Text mining, word embedding, modelli linguistici di grandi dimensioni (LLM) ed elaborazione di sequenze. L’architettura Transformer e il meccanismo di attenzione multi-head. Transformer classico e BERT. Esplorazione dell'architettura GPT. Tokenizzazione ed embedding. Codifica posizionale. Finestra di contesto ed elaborazione gerarchica. Apprendimento contestuale. Rappresentazioni astratte. Spiegabilità, ragionamento e IA generativa tramite agenti. Implementazione di modelli NLP in TensorFlow/PyTorch. Framework di agenti IA pronti per la produzione: il framework Cheshire Cat. Retrieval-Augmented Generation systems versus fine-tuning del modello. Casi di studio su applicazioni di modelli linguistici di grandi dimensioni.
Prerequisiti
Conoscenze di base di Geometria, Algebra, Analisi Matematica, Teoria dei Segnali e dell’Informazione, Fondamenti di Informatica.
Testi di riferimento
Sergios Theodoridis, Konstantinos Koutroumbas, Pattern Recognition, Fourth Edition, Academic Press, ISBN: 978-1597492720, September 2008. Dispense e lucidi delle lezioni disponibili sul sito del docente
Modalità insegnamento
Il corso consiste in lezioni frontali e illustrazione di casi di studio.
Frequenza
E' fortemente consigliata la frequenza.
Modalità di esame
L'esame finale consiste nella valutazione di una tesina. L'argomento è concordato con il docente.
ANTONELLO RIZZI Scheda docente

Programmi - Frequenza - Esami

Programma
Prima parte: Introduzione al riconoscimento di pattern. Problemi di classificazione e clustering. Capacità di generalizzazione. Inferenze logiche: deduzione e induzione. Principio di induzione su spazi normati. Scelta di una metrica. Spazi non metrici. Misure di prossimità punto-punto, punto-cluster e cluster-cluster. Distanza di Mahalanobis. Funzioni di rappresentazione e pre-elaborazione. Normalizzazione. Dati mancanti. Dati discreti ordinali e nominali. La pipeline di elaborazione di base nell'apprendimento automatico e nel riconoscimento di pattern. Algoritmi di clustering: k-means, BSAS. Il problema della validità dell’analisi di clustering; indice di sensibilità; indici di validazione relativi; indice di Davies-Bouldin; indice Silhouette; algoritmi di clustering basati su parametri di scala; indici di stabilità; algoritmi di clustering ottimizzati; problemi di modellamento non supervisionato, vincolato e non vincolato. Clustering gerarchico. Algoritmi di splitting e merging. Regole di decisione: K-NN e K-NN condensata. Sistemi di classificazione: misure di prestazioni e sensibilità. Sintesi di modelli di classificazione basata sull'analisi dei cluster. Classificazione robusta: tecniche di voting. Ensemble di classificatori. Tassonomia dei dati strutturati. Misure di dissimilarità su dati strutturati. Fusione dei dati. Domini di lunghezza variabile: sequenze di eventi, grafi. Principio di ottimalità di Bellman; distanza di edit. Misure di dissimilarità su spazi di grafi etichettati (Graph Matching). Algoritmi per la selezione automatica delle feature. Principi di base dell'ottimizzazione evolutiva. Introduzione al Granular Computing. Metric learning. Apprendimento di metriche locali. Rappresentazioni in spazi di dissimilarità. Istogrammi simbolici. Data Mining e Knowledge Discovery. Algoritmi paralleli e distribuiti basati su agenti per il Machine Learning. Accelerazione hardware su FPGA e GPU. Seconda parte: Fondamenti hardware e software per sistemi di Pattern Recognition. Installazione e configurazione di un ambiente Anaconda per la prototipazione di applicazioni di machine learning. Visual Studio Code e GitHub. Utilizzo di ambienti di sviluppo integrati e notebook Jupyter per la sperimentazione interattiva in Python. Strutture dati fondamentali in Python e loro applicazione nel Machine Learning classico. Introduzione alle librerie Python essenziali per l'analisi dei dati ed il calcolo scientifico. Esercitazione con i notebook Python su preprocessing dei dati, misure di distanza e dissimilarità, clustering e K-NN. Concetti statistici di base e ragionamento probabilistico. Teorema di Bayes e metodi di apprendimento bayesiano. Modelli di apprendimento probabilistico: criterio di massimo a posteriori (MAP) e stima di massima verosimiglianza. Classificatore Bayesiano Naïve. Superfici di decisione e funzioni discriminanti per classificatori bayesiani. Implementazione pratica della classificazione bayesiana in notebook Python. Modelli generativi e discriminanti. Regressione lineare e regressione logistica. Strategie di overfitting e regolarizzazione. Tecniche di validazione, N-fold cross validation. Introduzione al Reinforcement Learning. Distinzione tra paradigmi di apprendimento supervisionato, non supervisionato e per rinforzo. Strategie fondamentali e componenti dell'apprendimento per rinforzo. Architetture di deep learning e loro confronto con i modelli tradizionali di apprendimento automatico. Reti neurali, reti neurali convolutive, autoencoder. Implementazione pratica di modelli deep in notebook Python con TensorFlow/PyTorch. Tecniche di elaborazione del linguaggio naturale: approcci tradizionali e modelli neurali. Text mining, word embedding, modelli linguistici di grandi dimensioni (LLM) ed elaborazione di sequenze. L’architettura Transformer e il meccanismo di attenzione multi-head. Transformer classico e BERT. Esplorazione dell'architettura GPT. Tokenizzazione ed embedding. Codifica posizionale. Finestra di contesto ed elaborazione gerarchica. Apprendimento contestuale. Rappresentazioni astratte. Spiegabilità, ragionamento e IA generativa tramite agenti. Implementazione di modelli NLP in TensorFlow/PyTorch. Framework di agenti IA pronti per la produzione: il framework Cheshire Cat. Retrieval-Augmented Generation systems versus fine-tuning del modello. Casi di studio su applicazioni di modelli linguistici di grandi dimensioni.
Prerequisiti
Conoscenze di base di Geometria, Algebra, Analisi Matematica, Teoria dei Segnali e dell’Informazione, Fondamenti di Informatica.
Testi di riferimento
Sergios Theodoridis, Konstantinos Koutroumbas, Pattern Recognition, Fourth Edition, Academic Press, ISBN: 978-1597492720, September 2008. Dispense e lucidi delle lezioni disponibili sul sito del docente
Modalità insegnamento
Il corso consiste in lezioni frontali e illustrazione di casi di studio.
Frequenza
E' fortemente consigliata la frequenza.
Modalità di esame
L'esame finale consiste nella valutazione di una tesina. L'argomento è concordato con il docente.
ENRICO DE SANTIS Scheda docente
ENRICO DE SANTIS Scheda docente
  • Codice insegnamento1044589
  • Anno accademico2025/2026
  • CorsoIngegneria Elettronica - Electronics Engineering
  • CurriculumIngegneria Elettronica (percorso valido anche ai fini del conseguimento del doppio titolo italo-statunitense o italo-francese)
  • Anno1º anno
  • Semestre2º semestre
  • SSDING-IND/31
  • CFU6