MACHINE LEARNING

Settore: INF/01Codice: 654AACrediti: 9Semestre: 1
Docenti: Micheli Alessio

Obiettivi di apprendimento

Conoscenze

Gli obiettivi del corso sono di introdurre i principi e i metodi dell'apprendimento da insiemi di dati, con particolare attenzione alle reti neurali e alle loro evoluzioni, oggi alla base della costruzione di sistemi intelligenti e sistemi adattivi in molti domini applicativi innovativi in informatica e in settori interdisciplinari. Il corso intende fornire i fondamenti di Machine Learning  per gli scopi  di costruzione sia di nuovi sistemi intelligenti adattivi sia di modelli predittivi per l'analisi dei dati.
Il corso si focalizza in particolare sull'analisi critica delle caratteristiche per la realizzazione e l'uso appropriato di algoritmi di apprendimento di funzioni da esempi e per la modellazione e la rigorosa valutazione sperimentale.

Lo studente che completa il corso sarà in grado di dimostrare una solida conoscenza dei principali modelli e algoritmi di apprendimento, con enfasi al paradigma delle reti neurali. Sarà inoltre consapevole:
Dell'inquadramento critico delle caratteristiche e limitazioni delle metodologie di apprendimento.
Dei fondamenti teorici: principi induttivi alla base dei processi di apprendimento.
Delle tecniche di validazione e dei domini applicativi.

Modalità di verifica delle conoscenze

La conoscenza viene verificata attraverso test scritti (pre-test dell'orale), un progetto e un esame orale.

Capacità

Capacità di progettare soluzioni a problemi con metodi di reti neurali e apprendimento automatico.
Capacità di analisi e sviluppo di modelli come strumento per problemi complessi e/o per l’avanzamento metodologico.
Capacità di applicazione rigorosa e valutazione sperimentale dei metodi di apprendimento.

Modalità di verifica delle capacità

Gli studenti sono incoraggiati a sviluppare un progetto con sviluppo di modelli e loro applicazione.
Periodici pre-test intermedi (con politica BYOD) svolti in aula o test finale.
Esame orale.

Comportamenti

Consapevolezza dei limiti attuali e delle potenzialità dei sistemi di apprendimento; uso critico dei modelli per problemi reali.

Modalità di verifica dei comportamenti

Gli studenti sono incoraggiati a sviluppare un progetto con sviluppo di modelli e loro applicazione.
Periodici pre-test intermedi (con politica BYOD) svolti in aula o test finale.
Esame orale.

Prerequisiti

Analisi matematica: funzioni, calcolo differenziale; algoritmica; algebra lineare (notazione matriciale) e calcolo; elementi di probabilità e statistica.

Co-requisito (in parallelo): Computational mathematics for learning and data analysis

Indicazioni metodologiche

I concetti sono introdotti progressivamente a partire dagli approcci più semplici di apprendimento automatico fino ai modelli allo stato dell'arte, sia neurali che ad essi complementari, nell'ambito dell'inquadramento concettuale generale e moderno del machine learning (apprendimento di funzioni da esempi e ricerca in spazi di ipotesi).
Si intende incoraggiare l’utilizzo di una formulazione computazionale dei problemi e dei sistemi di apprendimento.

Le lezioni sono in aula, tipicamente con l'aiuto di diapositive/slides (proiezione). Partecipazione: fortemente consigliata. Metodi didattici: lezioni, test e lavoro di progetto.

 

Programma

  • Introduzione: Compiti computazionali nell'apprendimento predittivo, apprendimento come approssimazione di funzioni e concetto di generalizzazione.
  • Modelli e concetti di base: Struttura dello spazio delle ipotesi, spazi discreti e continui, bias induttivo, modelli proposizionali e basati su regole (cenni), modelli lineari  (algoritmi di apprendimento e proprietà), nearest neighbor (algoritmi di apprendimento e proprietà), regolarizzazione.
  • Modelli a Reti Neurali: Perceptron e proprietà computazionali. Reti Neurali multistrato feedforward: architetture e algoritmi di apprendimento. Reti profonde. Randomized NN. Reti neurali ricorrenti. Regolarizzazione.
  • Principi dell'apprendimento, aspetti pratici generali e valutazione: Teoria Statistica dell'Apprendimento.  Validazione: model selection e model assessment. Analisi Bias-Variance.
  • Support Vector Machines e modelli a Kernel.
  • Modelli Bayesiani e Grafici.
  • Unsupervised learning: vector quantization, self-organizing map (SOM).
  • Introduzione alle Applicazioni.
  • Introduzione ai modelli avanzati e all'apprendimento in domini strutturati e per grafi.
  • Progetto applicativo: implementazione e uso di modelli ML/NN con enfasi all'applicazione rigorosa delle tecniche di validazione.

Il nuovo programma dettagliato dell'anno in corso sarà rilasciato a lezione.

Bibliografia

Note del corso (fornite dal docente). Ulteriori riferimenti includono:

  • S. Haykin: Neural Networks and Learning Machines, Prentice Hall.
  • T. M. Mitchell: Machine learning, McGraw-Hill.
  • I. Goodfellow, Y. Bengio, A. Courville: Deep Learning, MIT Press.
  • Hastie, Tibshirani, Friedman: The Elements of Statistical Learning,
    Springer Verlag.
  • Ulteriori riferimenti suggeriti nelle note del corso.

Modalità di esame

La prova scritta è tipicamente basata su (pre)test e materiale di progetto. Nell'esame scritto gli studenti devono dimostrare la propria conoscenza del materiale didattico; nella parte di progetto gli studenti deve riportare la propria esperienza, con una consapevolezza critica, nelle applicazioni e nella valutazione dei modelli di Machine Learning. Gli studenti hanno l'opportunità di sviluppare un progetto (in un team) che realizza un simulatore di un  sistema di apprendimento (in genere una semplice rete neurale) e la sua convalida attraverso benchmarks di riferimento.
Il test scritto è tipicamente completato dal materiale del progetto, incluso codice e un rapporto scritto dei risultati sperimentali presentato in forma di slide durante la prova orale. Il materiale deve è consegnato in anticipo dagli studenti in accordo a scadenze fissate sullla piattaforma e-learning del corso.


Il test orale consiste in un'intervista (eventualmente anche attraverso domande scritte/pre-test) tra il candidato e il docente su tutte le parti del programma e, se utile, nella discussione sul test scritto. Durante l'esame orale l'allievo deve essere in grado di dimostrare la propria conoscenza del materiale didattico e di poter discutere  la letteratura con profondità e correttezza dell'espressione, mostrando anche la capacità di relazionare le varie nozioni acquisite e una consapevolezza sufficiente dei limiti e delle potenzialità dei sistemi di apprendimento automatico. Per accedere all'esame orale, gli studenti devono aver ottenuto un livello sufficiente nelle prove scritte.

News: per questo anno (durante il corso) saranno anche organizzati periodici pre-test intermedi svolti in aula (con politica BYOD, ossia con propri device).

Altri riferimenti web

Viene adoperata la piattaforma Moodle (elearning.di.unipi.it).

Ulteriori informazioni sulla modalità delle lezioni e esami  saranno fornite sul sito Moodle del corso e li aggiornate.

 

Fonte: ESSETRE e Portale esami