L'obiettivo di questo corso è fornire una panoramica su classici algoritmi di Machine Learning, discutendo aspetti di modellazione e computazionali.
Learning how to use classical supervised and unsupervised machine learning algorithms by grasping the underlying computational and modeling issues.
COMPRENDERE e utilizzare gli strumenti alla base dell'apprendimento automatico e statistico, considerando approcci supervisionati, come metodi locali, metodi regolarizzati con modelli lineari e non lineari e reti neurali
COMPRENDERE e utilizzare approcci di apprendimento non supervisionati come il clustering e la riduzione della dimensionalità.
CAPIRE come impostare efficacemente una pipeline di apprendimento automatico
IMPLEMENTARE gli algoritmi di apprendimento presentati nell'insegnamento
SVILUPPARE la capacità di analizzare criticamente i risultati analitici ottenuti
Basi di probabilità e statistica, calculus, algebra lineare, programmazione
Le lezioni teoriche saranno sempre accompagnate da esercitazioni in laboratorio Occasionalmente, agli studenti verrà chiesto di lavorare in gruppo (per lo sviluppo e l'analisi del codice, ad esempio)
Il corso coprirà i seguenti argomenti: * Fondamenti di Machine Learning * Empirical risk minimization * Metodi locali * Bias and Variance e K-Fold Cross Validation * Metodi regolarizzati con modelli lineari * Feature maps e funzioni kernels * Reti neurali * Reti convoluzionali (principi base) * Clustering * Riduzione della dimensionalità
Il materiale verrà fornito dai docenti, si veda il modulo AulaWeb del corso
Ricevimento: Ricevimento su appuntamento da concordare via email (nicoletta.noceti@unige.it)
NICOLETTA NOCETI (Presidente)
LORENZO ROSASCO (Presidente Supplente)
ALESSANDRO VERRI (Supplente)
In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica e Computer Science
L'esame sarà in forma scritta e consisterà in domande teoriche ed esercizi pratici. Gli studenti avranno la possibilità di optare per una versione ridotta della prova scritta presentando due elaborati intermedi (costituiti da attività pratica di laboratorio in Python)
Nell'esame verranno valutati la comprensione complessiva dell'argomento, la capacità di generalizzare i concetti a problemi non visti e di analizzare i risultati ottenuti. Si terrà conto della chiarezza espositiva, della completezza dei concetti, della qualità delle soluzioni proposte e del pensiero critico.