Dettaglio insegnamento

DATA MINING PER DATI SPERIMENTALI

MF0613

Insegnamento
DATA MINING PER DATI SPERIMENTALI
Codice
MF0613
Anno Accademico
2026/2027
Anno regolamento
2026/2027
Corso di studio
INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE
Curriculum
000 - 000-GENERICO
Responsabile didattico
CFU
12
Ore di lezione
96
Settore Scientifico Disciplinare (SSD)
INFO-01/A - Informatica
Tipo di insegnamento
Attività formativa monodisciplinare
Fruizione insegnamento
OPZ - Opzionale
Anno
1
Periodo
Secondo Semestre
Sede
VERCELLI
Lingua insegnamento
Italiano
Contenuti
Il corso presenta le tecniche di machine learning e di deep learning, incluse le più recenti architetture per i modelli linguistici di grandi dimensioni (LLM) e per l'intelligenza artificiale multimodale, per l'analisi di dati sperimentali. Oltre a una componente teorica, introduce in laboratorio alle librerie Python più avanzate per la loro implementazione pratica.
Testi di riferimento
- Bishop, C., *Pattern Recognition and Machine Learning*, Springer (per la parte di Machine Learning).
- Chollet, F., Watson, M., *Deep Learning with Python*, terza edizione, Manning Publications, 2025, ISBN 9781633436589 — disponibile online su deeplearningwithpython.io (per la parte di Deep Learning).
Obiettivi formativi
L'insegnamento (12 CFU: 4 CFU dedicati al machine learning e 8 CFU al deep learning; complessivamente circa 96 ore di didattica, di cui circa 2/3 di didattica erogativa in aula — anche con l'uso di notebook interattivi — e circa 1/3 di didattica interattiva in laboratorio, a cui si aggiunge un carico di studio autonomo proporzionato ai crediti secondo il Regolamento Didattico di Ateneo) si propone i seguenti obiettivi.

Conoscenza e comprensione: le studentesse e gli studenti acquisiranno solide conoscenze dei più comuni metodi e strumenti del data mining per l'analisi di dataset complessi o caratteristici dei problemi che si incontrano in ambiti generali di raccolta dati, nonché delle più recenti architetture di deep learning, inclusi i modelli linguistici di grandi dimensioni (LLM) e le architetture multimodali.

Capacità di applicare conoscenza e comprensione: dato un dataset più o meno complesso, e una conoscenza del dominio sufficiente, le studentesse e gli studenti saranno in grado di condurre autonomamente un'analisi dei dati basata su tecniche di data mining e di deep learning — incluso l'utilizzo di modelli linguistici di grandi dimensioni preaddestrati — comprensiva delle fasi di pretrattamento dei dati e di valutazione dei risultati ottenuti. Questo obiettivo sarà raggiunto anche grazie alla realizzazione in autonomia di un progetto di laboratorio.

Autonomia di giudizio: le studentesse e gli studenti acquisiranno l'abilità di scegliere la strategia modellistica e di analisi più adatta alla gestione di problemi complessi in ambito di analisi dei dati o apprendimento automatico, e di valutare criticamente la bontà dei modelli ottenuti tramite tecniche di data mining o deep learning.

Abilità comunicative: le studentesse e gli studenti acquisiranno un lessico appropriato in relazione agli argomenti affrontati nel corso, al fine di poter collaborare con altri esperti del settore.

Capacità di apprendere: scopo fondamentale del corso è anche quello di sviluppare la capacità di apprendere autonomamente nuove tecniche di data mining e deep learning, particolarmente adatte a settori specifici, comprese quelle in rapida evoluzione come i modelli linguistici di grandi dimensioni.
Prerequisiti
Prerequisiti formali: nessuno.

Prerequisiti sostanziali: nozioni base di statistica; nozioni base di programmazione Python (tipi di dati, flusso di controllo, funzioni, liste, classi, gestione degli errori).
Metodi didattici
Il corso è insegnato in aula e in laboratorio. Le lezioni in aula (circa 2/3 delle ore di didattica) espongono le nozioni fondamentali, corredate di esempi, anche tramite l'uso dal vivo di notebook interattivi che ne mostrano l'applicazione pratica. Viene discussa l'utilità ai fini pratici dei diversi modelli per trattare task e dati differenti.

In laboratorio (circa 1/3 delle ore di didattica) la studentessa o lo studente viene guidato/a nell'uso dei modelli visti a lezione. Vengono suggeriti diversi dataset da analizzare e viene spiegato come procurarsene di nuovi, sia per esercitarsi ulteriormente e discuterne con il docente, sia ai fini del progetto d'esame.
Altre informazioni
L'attività in laboratorio richiede una partecipazione attiva e individuale delle studentesse e degli studenti, che in tal modo sviluppano abilità pratiche (la capacità di realizzare un programma). Inoltre, il coinvolgimento attivo li induce a porsi dei quesiti (e spesso, di conseguenza, a porne al docente); in tal modo si realizza una regolare verifica del modo in cui gli argomenti vengono recepiti.

Le studentesse e gli studenti con disabilità o con Disturbi Specifici dell'Apprendimento (DSA) o con Bisogni Educativi Speciali (BES) possono richiedere servizi e strumenti specifici a loro dedicati rivolgendosi allo Staff Sviluppo e Coordinamento Carriere e Servizi alle Studentesse e agli Studenti e consultando la pagina dedicata del sito di Ateneo: https://uniupo.it/it/servizi/servizi-studenti-disabili-e-dsa

Le studentesse e gli studenti con disabilità, DSA, BES, una volta preso contatto con lo Staff di Ateneo, possono contattare la/il docente titolare dell'insegnamento in relazione alla declinazione delle modalità di esame, in merito agli aspetti didattici.
Modalità di verifica dell'apprendimento
L'esame consiste in una prova orale, incentrata sulla presentazione e discussione del progetto di laboratorio svolto in autonomia dalla studentessa o dallo studente, riguardante l'analisi di uno o più dataset con tecniche sia di machine learning sia di deep learning (incluso, se pertinente, l'utilizzo di modelli linguistici di grandi dimensioni). L'obiettivo di questa parte è verificare che la studentessa o lo studente sia autonomo/a nella realizzazione di un task di analisi dati su un dataset reale, comprensivo delle fasi di preprocessing, scelta e applicazione dei modelli, e valutazione dei risultati.

La presentazione è seguita da una discussione di 1-3 domande sulle tecniche di data mining e deep learning viste a lezione, il cui obiettivo è verificare che la studentessa o lo studente abbia acquisito le nozioni teoriche di base del corso. L'esame nel suo complesso dura circa 45 minuti per studentessa/studente.

Il voto finale tiene conto sia della qualità dell'analisi del dataset e della sua presentazione (compreso il report tecnico-scientifico), sia delle risposte fornite nella discussione teorica, secondo la seguente griglia di valutazione, che esplicita la correlazione tra il livello di preparazione dimostrato e il voto corrispondente:

- < 18: lacune importanti nell'analisi del dataset o nella sua presentazione; risposte alle domande di teoria mancanti o non adeguate.
- 18–22: analisi del dataset accettabile ma con lacune significative nella metodologia o argomenti non approfonditi adeguatamente; sufficiente capacità di applicare le tecniche viste a lezione; utilizzo basilare del linguaggio tecnico nella presentazione e nel report.
- 23–25: analisi appropriata con alcune lacune metodologiche; discreta capacità di scelta e applicazione delle tecniche; presentazione articolata e utilizzo appropriato del linguaggio tecnico.
- 26–28: analisi solida e ben motivata, con buona capacità di confrontare criticamente diversi modelli e di collegare le diverse parti del programma (data mining e deep learning); utilizzo solido del linguaggio tecnico.
- 29–30 e lode: analisi completa, approfondita e originale, con scelte metodologiche pienamente giustificate e visione chiara e coerente delle tecniche di data mining e deep learning applicate; utilizzo preciso del linguaggio tecnico, sia nel report che nella discussione orale.

Il materiale più adatto alla preparazione dell'esame è costituito dai testi di riferimento del corso, dal materiale ed esempi mostrati a lezione e in laboratorio, e dalla documentazione ufficiale delle librerie Python utilizzate.
Programma esteso
**Introduzione al data mining**
- fasi principali di una pipeline di data science (processo KDD);
- preprocessing dei dati: normalizzazione, standardizzazione, discretizzazione, encoding (1-hot encoding, label encoding).

**Machine learning supervisionato**
- regressione: regressione lineare univariata e multivariata; trade-off bias/varianza; regolarizzazione Ridge e Lasso; tecniche di validazione dei modelli; metriche di valutazione (MSE, MAE, R2);
- classificazione: alberi di decisione, ensemble learning, random forest, boosted trees, KNN, regressione logistica; metriche di valutazione (accuracy, precision, recall, Fb score).

**Machine learning non supervisionato**
- clustering: K-means, DBSCAN, clustering gerarchico; metriche di valutazione intrinseche (SSE, silhouette) ed estrinseche (Rand index, mutual information);
- riduzione della dimensionalità: PCA.

**Reti neurali e deep learning**
- perceptron, funzioni di attivazione (sigmoid, tanh, ReLU), multilayer perceptron; forward propagation e backpropagation con discesa del gradiente;
- ottimizzazioni e regolarizzazioni per reti neurali profonde (problema del gradiente instabile);
- reti neurali convoluzionali (CNN) e loro utilizzo nella computer vision; transfer learning; reti neurali residuali;
- reti neurali ricorrenti (RNN);
- autoencoder e cenni di adversarial learning.

**Modelli linguistici di grandi dimensioni (LLM) e architetture multimodali**
- il meccanismo di attenzione (dot-product attention) e l'architettura Transformer: encoder, decoder, codifica posizionale;
- modelli Transformer preaddestrati: pretraining e fine-tuning (es. per compiti di classificazione);
- generazione di testo: da un modello mini-GPT a un LLM preaddestrato; strategie di campionamento; instruction fine-tuning e tecniche di adattamento efficiente (LoRA);
- allineamento e utilizzo avanzato degli LLM: reinforcement learning from human feedback (RLHF), retrieval augmented generation (RAG), cenni ai modelli "reasoning" e ai foundation model;
- generazione di immagini: variational autoencoder (VAE), modelli di diffusione, modelli text-to-image;
- architetture multimodali: integrazione di modalità testuali e visive negli LLM multimodali e nei modelli generativi text-to-image.

**Strumenti Python**
- introduzione a NumPy;
- API scikit-learn: preprocessing (transformers), classificazione/regressione/clustering (estimators), pipeline, validazione dei modelli (train_test_split, KFold, cross_val_score, cross_val_predict), metriche di valutazione (sklearn.metrics), selezione dei modelli (ParameterGrid, GridSearchCV, RandomizedSearchCV);
- utilizzo di TensorFlow e Keras per l'addestramento di modelli di deep learning, inclusi Transformer, LLM e modelli di generazione di immagini.
Risultati di apprendimento attesi
**Conoscenza e comprensione**
- Descrivere le basi teoriche delle più moderne tecniche di data mining (pattern recognition, classificazione, regressione, metodi non lineari).
- Descrivere le più moderne architetture di deep learning, inclusi i modelli Transformer, i modelli linguistici di grandi dimensioni (LLM) e le architetture multimodali.
- Conoscere i principali strumenti software per il data mining e il deep learning e le fasi con cui si affronta e si presenta un caso di studio.

**Capacità di applicare conoscenza e comprensione**
- Applicare, mediante software dedicato (scikit-learn, TensorFlow/Keras), le tecniche di analisi dati viste a lezione per la soluzione verticale di casi di studio proposti, comprensiva delle fasi di pretrattamento dei dati.
- Utilizzare modelli linguistici di grandi dimensioni preaddestrati e tecniche di fine-tuning per compiti di analisi del testo.
- Condurre autonomamente, tramite un progetto di laboratorio, un'analisi dati su un dataset reale, dalla fase di preprocessing alla valutazione dei risultati.

**Autonomia di giudizio**
- Confrontare criticamente diversi metodi e modelli di data mining e deep learning.
- Scegliere l'approccio più adatto alla soluzione di un caso di studio proposto, e valutare criticamente la bontà dei modelli ottenuti.

**Abilità comunicative**
- Redigere un report tecnico-scientifico sull'analisi di dati svolta, e presentarne oralmente i risultati, utilizzando un lessico appropriato in relazione agli argomenti affrontati nel corso.

**Capacità di apprendere**
- Utilizzare in autonomia il materiale di studio e la documentazione tecnica per acquisire le competenze utili a risolvere nuovi casi di studio, anche relativi a tecniche di data mining e deep learning non trattate esplicitamente a lezione.

Per la sufficienza è richiesto quanto sopra applicato a un caso di studio semplice, con un'analisi corretta ma non necessariamente ottimale; per una valutazione eccellente è richiesta piena autonomia nella scelta e nel confronto critico delle tecniche più appropriate, e un'esposizione chiara, precisa e ben argomentata dei risultati.
Ultimo aggiornamento:09-09-2026 00:14:31