MACHINE LEARNING
INF/01 - 6 CFU - 2° semestre
Docente titolare dell'insegnamento
GIOVANNI MARIA FARINELLA
Obiettivi formativi
- Conoscenza e capacità di comprensione (knowledge and understanding): lo studente acquisirà le conoscenze e i concetti alla base dei sistemi di apprendimento automatico ed in particolare le metodologie base che permettono di creare sistemi di classificazione/regressione a partire da dati eterogenei
- Capacità di applicare conoscenza e comprensione (applying knowledge and understanding): lo studente acquisirà le competenze pratiche di realizzazione di sistemi di apprendimento automatico attraverso attività laboratoriale
- Autonomia di giudizio (making judgements): Attraverso gli homework e le correzioni in classe degli stessi lo studente sarà in grado di elaborare autonomamente soluzioni in grado di risolvere i problemi di base che potrebbero presentarsi nel mondo del lavoro
- Abilità comunicative (communication skills): lo studente acquisirà le necessarie abilità comunicative e di appropriatezza espressiva nell'impiego del linguaggio tecnico nell'ambito generale dei sistemi di apprendimento automatico.
- Capacità di apprendimento (learning skills): Lo scopo del corso è quello di fornire un'approfondita introduzione delle principali teorie e tecniche algoritmiche del Learning Machine. A tal proposito, saranno presentati modelli fondamentali per la classificazione e la regressione, e le architetture basate su reti neurali (es. Deep Learning). Saranno discusse le metodologie per realizzare e ottimizzare gli algoritmi di apprendimento automatico, e quelle utili alla valutazione delle performance dei sistemi di Machine Learning. Si utilizzeranno librerie software open source in linguaggio Python per mettere in pratica le nozioni teoriche presentate nel corso. In particolare, il corso si propone di formare studenti che:
- comprendano concetti chiave alla base delle techiche di Machine Learning
- conoscano una ampia gamma di algoritmi di apprendimento per risolvere problemi classici del Machine Learning (classificazione e regressione)
- comprendano come effettuare il design e il tuning degli algoritmi al fine di applicare gli stessi a nuovi set di dati
- siano in grado di eseguire la valutazione degli algoritmi di Machine Learning in modo da poter selezionare il modello migliore
- conoscano le librerie python utili allo sviluppo di algoritmi di Machine Learning
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
Contenuti del corso
- Probability Theory and Distributions
- Linear Models for Regression
- Linear Models for Classification
- Neural Networks
- Deep Learning
- Python programming and Libraries for Machine Learning
Testi di riferimento
- R. O. Duda, P. E. Hart, D. G. Stork, "Pattern Classification", Wiley, 2000
- C. Bishop, “Pattern Recognition and Machine Learning", Springer, 2006
- E. Alpaydin, “Introduction to Machine Learning”, MIT Press, 2014
- I. Goodfellow, Y. Bengio and A. Courville, "Deep Learning", MIT Press, 2016
Altro materiale didattico
http://www.dmi.unict.it/farinella/ML
Programmazione del corso
| * | Argomenti | Riferimenti testi |
1 | * | Probability Theory and Distributions | 1, 2 |
2 | * | Linear Models for Regression | 2, 3, 4 |
3 | * | Linear Models for Classification | 2, 3, 4 |
4 | * | Neural Networks | 1, 2, 3, 4 |
5 | * | Deep Learning | 4 |
6 | * | Hidden Markov Models | 1, 2, 3 |
7 | * | Python programming and Libraries for Machine Learning | Risorse in Rete |
* Conoscenze minime irrinunciabili per il superamento dell'esame.
N.B. La conoscenza degli argomenti contrassegnati con l'asterisco è condizione necessaria ma non sufficiente per il superamento dell'esame. Rispondere in maniera sufficiente o anche più che sufficiente alle domande su tali argomenti non assicura, pertanto, il superamento dell'esame.
Verifica dell'apprendimento
MODALITÀ DI VERIFICA DELL'APPRENDIMENTOProva orale
Prova di Laboratorio
Progetto
PROVE IN ITINERE
PROVE DI FINE CORSOProva orale sui contenuti teorici del corso.
Prova di Laboratorio per verificare le competenze acquisite in merito alle lezioni pratiche del corso
Progetto con cui, a partire dagli argomenti teorico pratici visti a lezione, si verificheranno le abilità acquisite sull'analisi di un problema e il design della soluzione.
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
Apri in formato Pdf English version