Dettaglio insegnamento

DATA MINING PER DATI SPERIMENTALI

MF0613

Insegnamento
DATA MINING PER DATI SPERIMENTALI
Codice
MF0613
Anno Accademico
2023/2024
Anno regolamento
2023/2024
Corso di studio
INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE
Curriculum
000 - 000-GENERICO
Responsabile didattico
CFU
9
Ore di lezione
72
Settore Scientifico Disciplinare (SSD)
INF/01 - 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 deep learning avanzate per l'analisi di dati sperimentali.
Oltre ad 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
Goodfellow et al., Deep Learning, MIT Press
Obiettivi formativi

Conoscenza e capacità di comprensione: il corso ha l'obiettivo di fornire allo studente solide conoscenze dei più comuni metodi e strumenti del data mining nell'ambito dell'analisi di dataset complessi o caratteristici dei normali problemi che si incontrano in ambiti generali di raccolta dati.
Capacità di applicare conoscenza e comprensione: dato un dataset più o meno complesso, ed una conoscenza del dominio sufficiente, il futuro dottore sarà in grado di condurre autonomamente un’analisi dei dati basata su tecniche di data mining e deep learning, comprensiva delle fasi di pretrattamento dei dati e valutazione dei risultati ottenuti. Questo obiettivo sarà raggiunto anche grazie alla realizzazione in autonomia di un progetto di laboratorio.
Autonomia di giudizio: lo studente acquisirà l’abilità di scegliere la miglior strategia modellistica e di analisi e di gestione di problemi complessi in ambito analisi dei dati o apprendimento automatico. Inoltre, acquisirà competenze di valutazione della bontà di modelli ottenuti tramite tecniche di data mining o deep learning.
Abilità comunicative: lo studente acquisirà un lessico appropriato in relazione agli argomenti affrontati nel corso, al fine di poter collaborare con altri esperti del settore.
Capacità di apprendimento: 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.
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. Nelle lezioni in aula vengono esposte le nozioni fondamentali, corredate di esempi. Viene discussa l'utilità ai fini pratici dei diversi modelli per trattare task e dati differenti. In laboratorio lo studente viene guidato 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 dell'esame finale
Altre informazioni

L'attività in laboratorio richiede una partecipazione attiva e individuale degli studenti, che in tal modo sviluppano abilità pratiche (le 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.
Modalità di verifica dell'apprendimento

Esame orale concernente l'analisi di uno o più dataset, sia con tecniche di machine learning che deep learning. L'obiettivo di questa parte è di verificare che lo studente sia autonomo nella realizzazione di un task su un dataset reale.
La presentazione è seguita da una discussione (1-3 domande) sulle tecniche viste a lezione. Il goal della discussioner è di verificare che lo studente abbia acquisito le nozioni teoriche di base viste a lezione.
Programma esteso

- Fasi principali di una pipeline di data science (KDD process)
- Preprocessing
- Normalizzazione, standardizzazione, Discretizzazione, Encoding, 1-hot encoding
label encoding
- Machine learning supervisionato:
Regressione
Regressione lineare univariata/multivariata
Trade-off bias/variance
Regolarizzazione
Ridge
Lasso
Validazione modelli
Tecniche di validazione
Metriche di valutazione
MSE, MAE, R2
- Classificazione
Modelli:
Decision tree
Ensemble learning
Random forest
Boosted trees
KNN
Regressione logistica
Metriche di valutazione
Accuracy, precision, recall, Fb score
Machine learning non supervisionato:
- Clustering
Modelli
K-means
DBSCAN
Clustering gerarchico
- Metriche di valutazione
Intrinseche
SSE, silhouette
Estrinseche
Rand index, Mutual information
- Riduzione dimensionalita'
PCA

Reti neurali:
perceptron
funzioni di attivazione (sigmoid, tanh e relu)
multilayer perceptron
Uso: forward propagation e backpropagation con discesa del gradiente.
Ottimizzazioni e regolarizzazioni per reti neurali profonde (problema del gradiente instabile).
Convolutional neural networks e uso nella computer vision.
Transfer learning.
Residual neural network.
Recurrent Neural Network.
Autoencoders.
Adversarial Learning.

Python
Introduzione a NumPy
Scikit-learn
API scikit-learn
Preprocessing (transformers)
Classificazione/Regressione/Clustering (estimators)
Pipelines
Validazione modelli
train_test_split, KFold, cross_val_score, cross_val_predict
Metriche di valutazione
sklearn.metrics.*
Selezione modelli
ParameterGrid, GridSearchCV, RandomizedSearchCV
Utilizzo di Tensorflow e Keras per modelli di deep learning
Risultati di apprendimento attesi

Conoscenze:
Conoscenze teoriche: conoscenza delle basi teorico/pratiche delle più moderne tecniche di data mining (pattern recognition, classificazione, regressione, metodi non lineari) ed una buona conoscenza delle moderne tecniche di deep learning.
Conoscenze pratiche: conoscenza dei principali strumenti software per il data mining e di come risolvere un caso studio e presentarlo.
Competenze ed abilità:
Applicazione delle tecniche acquisite: saper applicare mediante software dedicato le tecniche di analisi dati viste a lezione per la soluzione verticale di casi studio proposti.
Valutazione: saper confrontare criticamente diversi metodi e modelli. Saper scegliere l’approccio più adatto alla soluzione di un caso di studio proposto.
Esposizione: essere in grado di redigere un report tecnico-scientifico sull’analisi di dati, utilizzando un lessico appropriato in relazione agli argomenti affrontati nel corso.
Apprendimento: capacità di utilizzare il materiale di studio in autonomia al fine di acquisire le competenze utili a risolvere nuovi casi di studio proposti.
Ultimo aggiornamento:09-09-2026 00:14:31