MATEMATICA E INFORMATICAInformaticaAnno accademico 2023/2024

1014450 - MACHINE LEARNING

Docente: GIOVANNI MARIA FARINELLA

Risultati di apprendimento attesi

Lo scopo del corso è quello di fornire un'approfondita introduzione delle principali teorie e tecniche algoritmiche del Learning Machine. A tal proposito, saranno presentati formalmente i modelli fondamentali e architetture dello stato dell’arte per la classificazione e la regressione, con particolare enfasi sulle metodologie basate su reti neurali. Verrà introdotto l’approccio moderno dell’apprendimento automatico mediante tecniche basate su reti neurali e convoluzionali e saranno presentati casi applicativi in diversi contesti di rilevanza accademica e industriale (es. object detection). Saranno discusse le metodologie per realizzare e ottimizzare algoritmi di apprendimento automatico, e quelle utili alla valutazione delle performance dei sistemi di Machine Learning. La presentazione degli argomenti si sviluppa mediante lezioni teoriche e laboratoriali in cui gli studenti implementeranno e utilizzeranno gli algoritmi trattati mediante linguaggio Python e librerie software open source (es. PyTorch) adattandoli a problemi specifici mediante un progetto sviluppato dagli studenti del corso. Obiettivi formativi generali dell'insegnamento in termini di risultati di apprendimento attesi:

Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato, al fine di rispettare il programma previsto e riportato nel syllabus

Modalità di svolgimento dell'insegnamento

Le lezioni sono tenute in aula con l'ausilio di slide, messe a disposizione degli studenti. Le slide non sostituiscono i testi di riferimento, ma, oltre che agevolare la comprensione della lezione, forniscono un dettaglio puntuale sul programma svolto. Le lezioni frontali teoriche sono intervallate da esercitazioni pratiche in linguaggio python, svolte nella stessa aula di lezione. Gli studenti sono invitati a formare piccoli gruppi di lavoro (massimo 3 persone) per lo svolgimento delle esercitazioni proposte e del progetto finale.

Prerequisiti richiesti

Non si richiedono prerequisiti specifici. Si utilizzeranno nozioni di base delle seguenti materie: 

Elementi di Analisi Matematica

Matematica Discreta

Fondamenti di Informatica

Programmazione

Interazione e Multimedia

Algoritmi

Frequenza lezioni

La frequenza delle lezioni non è obbligatoria ma è fortemente consigliata. In particolare si consiglia la frequenza alle ore di esercitazione.

Contenuti del corso

Testi di riferimento

  1. R. O. Duda, P. E. Hart, D. G. Stork, "Pattern Classification", Wiley, 2000
  2. C. Bishop, “Pattern Recognition and Machine Learning", Springer, 2006
  3. E. Alpaydin, “Introduction to Machine Learning”, MIT Press, 2014
  4. I. Goodfellow, Y. Bengio and A. Courville, "Deep Learning", MIT Press, 2016
  5. Raul Rojas, Neural Networks - A Systematic Introduction, Springer, 1996
  6. M. P. Deisenroth, A A. Faisal, and C. Soon On, Mathematics for Machine Learning, MIT Press, 2019

Programmazione del corso

 ArgomentiRiferimenti testi
1Basic Concepts1, 2, 3, 4, 5, 6
2Linear Models for Regression2, 3, 4
3Linear Models for Classification2, 3, 4
4Softmax3,4
5Computational Graphs and Backpropagation5
6Neural Networks1, 2, 3, 4, 5
7Deep Learning4
8Advanced Deep Learning4, Dispense fornite dal docente e risorse in rete
9Python programming and Libraries for Machine LearningDispense fornite dal docente e risorse in rete

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

L'esame finale consiste in una prova scritta e la realizzazione di un progetto (che include relazione) concordato con il docente.

La prova scritta è costituita, di norma, da tre domande a risposta aperta. La prenotazione per la partecipazione alla prova scritta è obbligatoria.

Il voto finale è ottenuto dalla media dei voti della prova scritta e del progetto.

Prova in Itinere: Non prevista

Salvo diversa comunicazione:

- l'esame scritto si svolge nei giorni previsti nel calendario ufficiale del Corso di Laurea

- il progetto, insieme alla relazione, deve essere consegnato entro una settimana dallo scritto

La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.

La votazione è espressa in trentesimi secondo il seguente schema: 

Voto 29-30 e lode 

Lo studente ha una conoscenza approfondita dei concetti fondamentali e i principali algoritmi di Machine Learning. Riesce a formalizzare problemi di Machine Learning, individuando gli algoritmi e le tecniche più idonee alla risoluzione dei problemi considerati in maniera autonoma e con spirito critico. Ha ottime capacità comunicative e proprietà di linguaggio. 

Voto 26-28 

Lo studente ha una buona conoscenza dei concetti fondamentali e i principali algoritmi di Machine Learning.  Riesce a formalizzare problemi di Machine Learning, individuando degli algoritmi e tecniche idonee alla risoluzione dei problemi considerati. Ha buone capacità comunicative e proprietà di linguaggio. 

Voto 22-25 

Lo studente ha una discreta conoscenza dei concetti fondamentali e i principali algoritmi di Machine Learning.  Riesce a formalizzare problemi di Machine Learning, seppure non sempre in maniera esaustiva, individuando degli algoritmi e tecniche idonee alla risoluzione del problema considerato. Ha discrete capacità comunicative e proprietà di linguaggio. 

Voto 18-21 

Lo studente ha la minima conoscenza dei concetti fondamentali e i principali algoritmi di Machine Learning. Ha una modesta capacità di formalizzare problemi di Machine Learning, e di individuare degli algoritmi e tecniche idonee alla risoluzione dei problemi considerati. Ha sufficienti capacità comunicative, seppure non sempre una appropriata proprietà di linguaggio. 

Esame non superato 

Lo studente non possiede la conoscenza minima richiesta dei contenuti principali dell’insegnamento. La capacità di utilizzare il linguaggio specifico è scarsissima o nulla e non è in grado di applicare autonomamente le conoscenze acquisite.

Esempi di domande e/o esercizi frequenti

- Si discuta l'algoritmo di Backpropagation utilizzato per addrestrare le Reti Neurali

- Si definisca il problema dell'overfitting e si discuta la regolarizzazione

- di discuta il classificatore Softmax 


English version