MACHINE LEARNING
Christian Micheloni
Claudio Piciarelli
Matteo Dunnhofer
OBIETTIVI FORMATIVI
Lo/la studente/essa dovrà:
– conoscere i concetti e gli algoritmi fondamentali dell’apprendimento automatico attraverso elaboratori digitali.
– saper acquisire e manipolare un insieme di dati per l’apprendimento automatico.
– saper utilizzare il linguaggio di programmazione Matlab.
– saper analizzare un problema di apprendimento automatico sia supervisionato che non.
Indicare i risultati di apprendimento attesi come riportati nei seguenti Descrittori di Dublino.
Conoscenza e comprensione
– acquisire specifiche conoscenze dei principali concetti e principi teorici dell’apprendimento automatico attraverso elaboratori digitali.
– Conoscere e sapere utilizzare il linguaggio Matlab per l’implementazione di algoritmi di machine learning
Capacità di applicare conoscenza e comprensione
– saper analizzare e comprendere un algoritmo di machine learning.
– saper analizzare ed interpretare un problema di machine learning ed applicare le conoscenze di cui sopra per determinare lo schema di apprendimento più idoneo.
– Progettare un sistema di apprendimento automatico a partire da dati campione.
Autonomia di giudizio
– Saper valutare gli algoritmi di machine learning ed effettuare una scelta personale dell’algoritmo più adatto per la soluzione di un problema dato.
– Saper distinguere tra diverse soluzioni di machine learning e valutarne l’efficacia.
Abilità comunicative
– saper illustrare con rigore logico e terminologico, a voce e per iscritto, questioni tecniche inerenti algoritmi e sistemi di apprendimento automatico attraverso elaboratori digitali.
Capacità di apprendimento
saper reperire e utilizzare strumenti bibliografici e informatici utili per l’approfondimento autonomo di problemi inerenti l’apprendimento automatico attraverso gli elaboratori digitali.
CONTENUTI
Pogramma dettagliato:
1.Introduzione – Presentazione del corso e dei concetti base del machine learning quali vettori e spazi di feature. Applicazioni di machine learning quali classificazione, regressione, clustering e compressione dei dati. Classificazione delle tecniche di machine learning in supervisionato e non supervisionato.
2.Regressione – Tecniche di regressione lineare (minimizzazione della funzione costo mediante discensa del gradiente, least squares, polynomial regression). Logistic regression di tipo binomiale e polinomiale.
3.Algoritmi Supervisionati – Introduzione agli algoritmi di classificazione. Presentazione degli algoritmi di classificazione più diffusi (Alberi di decisione, reti neurali, deep learning, kernel, support vector machines, boosting)
4.Algoritmi Non Supervisionati – Definizione di clustering e principali tecniche di clusteirng (k-means, GMM, EM, etc.) . Presentazione delle tecniche di compressione dei dati mediante algoritmi di dimensionality reduction quali PCA e LDA.
5.Applicazioni – uso di algoritmi di machine learning per scopi reali quali la percezione, analisi del testo, visione artificiale, medicina, economia e altri.
6.Laboratorio – Implementazione dei più importanti algoritmi di regressione, classificazione e deep learning in python e Microsoft Azure.
TESTI DI RIFERIMENTO
[2] Christopher M . Bishop, Pattern Recognition and Machine Learning, Information Science and Statistics, 2006.