Nuova ricerca

Simone CALDERARA

Professore Ordinario
Dipartimento di Ingegneria "Enzo Ferrari"

Insegnamento: Machine Learning and Deep Learning

Ingegneria informatica (Offerta formativa 2022)

Obiettivi formativi

L'obiettivo del corso e' fornire una conoscenza approfondita delle principali tecniche di machine learning e deep learning per l'analisi di dati di natura eterogenea. In particolare, verranno presentati e approfonditi i principali algoritmi di classificazione di dati, di sequenze temporali di informazioni e di pattern complessi quali ad esempio le immagini. Verranno presentate le principali tecniche di apprendimento automatico sia di tipo supervisionato che non supervisionato.
Verranno inoltre illustrate le reti neurali e il loro funzionamento. Presentate architetture neurali complesse per l’analisi di dati spaziali, temporali e modelli generativi. Verranno inoltre forniti i rudimenti dell’apprendimento con rinforzo.

Prerequisiti

Conoscenza di base di statistica e algebra lineare
Calcolo
Conoscenza del linguaggio Python

Programma del corso

MACHINE LEARNING

Classification theory, taxonomy and metrics:
-classification taxonomy
-learning assumptions
-generalization
-metrics

Introduction to Bayesian Probability:
-Bayesian Statistics
-Bayes Classifier
-Naïve assumption

Linear Models for Classification:
-LDA
-Logistic Regression

Margin methods and SVM

Ensemble Methods:
-Bagging
-Boosting
-Decision Trees and Random Forest

Unsupervised Learning and Dimensionality Reduction
-Hierarchical clustering
-Kmeans
-Spectral clustering
-PCA and LLE

6CFU

DEEP LEARNING

Neural Networks Introduction:
-Gradient descent
-Perceptron and MLE

Advanced NN:
-Convolutional network
-RNN and sequential data processing

Unsupervised NN
-Autoencoders
-Generative NN VAE
Generative NN GAN

Reinforcement Learning:
-Function approximation and RL
-Deep reinforcement Learning

3CFU

Metodi didattici

Utilizzo di dispense a cura del docente.
Si prevede un ciclo di lezioni frontali e l'implementazione in laboratorio di tutte le tecniche presentate in linguaggio Python e utilizzando Pytorch.

Testi di riferimento

The course will use the following textbooks freely available on the web
Machine Learning:
[ISL]: An Introduction to Statistical Learning. James, Witten, Hastie and Tibshirani.
[ESL]: The Elements of Statistical Learning, Second Edition. Hastie, Tibshirani and
Friedman.
Deep Learning:
[DLB]: Deep Learning. Ian Goodfellow and Yoshua Bengio and Aaron Courville. Suggested further readings:
[RL]: Reinforcement Learning Sutton, Barto.
[PRML]:Pattern Recognition and Machine Learning. Bishop Christopher. Readings are intended to be completed after classes.

Verifica dell'apprendimento

Esame orale con domande sulle tecniche la teoria e la formalizzazione matematica dei classificatori.
3 Domande di cui
una puramente teorica
una con implicazioni matematiche
una con implicazioni tecniche sulla scelta le proprietà e le capacità di un classificatore

Risultati attesi

Conoscenza e Comprensione:
Conoscere e comprendere le principali tecniche di pattern recognition e machine learning per l'analisi di dati di natura eterogenea.
Capacità di applicare conoscenza e comprensione:
Sapere applicare i principali algoritmi di classificazione di dati, di sequenze temporali di informazioni e di pattern complessi quali ad esempio le immagini e sapere applicare le principali tecniche di apprendimento automatico sia di tipo supervisionato che non supervisionato.
Autonomia di Giudizio
autonomia di giudizio nell'analizzare e progettare sistemi complessi, valutando l'impatto delle soluzioni informatiche nel contesto applicativo, sia relativamente agli aspetti tecnici che agli aspetti organizzativi e dimostrando di partecipare attivamente al processo decisionale in contesti anche interdisciplinari.
Abilità comunicative:
descrivere a interlocutori eterogenei in modo chiaro e comprensibile informazioni, idee, problemi e soluzioni oltre che aspetti tecnici;
Capacità di apprendimento:
-capacità di riconoscere la necessità di apprendimento autonomo durante tutto l'arco della vita, dato l'elevato tasso di innovazione tecnologica e metodologica nell'area dell'Ingegneria Informatica;
- capacità di acquisire in modo autonomo nuove conoscenze specialistiche dalla letteratura