Algoritmi per il web

A.A. 2018-2019



Benvenuto alla pagina del corso di Algoritmi per il Web. Il corso è destinato agli studenti del secondo anno dei Corsi di Laurea Magistrale in Ingegneria Informatica e Ingegneria dell'Automazione.

Consulta questa pagina per ottenere informazioni aggiornate sui seguenti argomenti:


Per ogni richiesta o dubbio scrivi a: veronica.piccialli@uniroma2.it .


Bacheca

Qui sono riportati gli avvisi e le informazioni più urgenti.


Orario delle lezioni

Semestre: II


Orari:

  1. martedì ore 11:30-13:00 in Aula B8 (Nuovo Complesso della didattica);
  2. giovedì ore 09:30-11:00 in Aula C2 (Nuovo Complesso della didattica);

Ricevimento

lunedì ore 11:30 - 12:30 (stanza D2-10, Edifici Ingegneria dell'Informazione.) Per il ricevimento è necessario prenotarsi inviando un mail all'indirizzo veronica.piccialli@uniroma2.it


Obiettivi e Prerequisiti del corso


Il corso vale 6 crediti.

Obiettivi. L'obiettivo del corso è quello di introdurre all'ottimizzazione non vincolata con attenzione alle applicazioni nel campo dell'apprendimento automatico con particolare attenzione a reti neurali shallow e deep.

Prerequisiti. è raccomandabile aver seguito i moduli di Analisi Matematica 1 e 2, di Geometria 1, e di Ricerca Operativa.


Programma di massima del corso


Introduzione all'ottimizzazione: approccio modellistico

Problemi di ottimizzazione: classificazione

Apprendimento statistico: concetti generali.

Regressione Lineare.

Ottimizzazione non vincolata: condizioni di ottimo, algoritmi di soluzione: condizioni di convergenza globale, ricerca di linea, metodo del gradiente, metodo del gradiente stocastico.

Reti neurali.

Reti deep.

Testo adottato e altro materiale

  1. Luigi Grippo, Marco Sciandrone, Metodi di Ottimizzazione Non Vincolata, Springer, Unitext 2011. Errata Corrige
  2. Luigi Grippo, Marco Sciandrone, Metodi di ottimizzazione per le reti neurali.
  3. Materiali in inglese distribuiti durante il corso.
  4. I seguenti testi sono disponibili presso il mio ufficio:
    a. Olvi L. Mangasarian, Nonlinear Programming, SIAM Classics in Applied Mathematics.
    b. Jorge Nocedal, Stephen J. Wright, Numerical Optimization, Springer.
    c. Dimitri P. Bertsekas, Convex Analysis and Optimization, Athena Scientific.
    d. Dimitri P. Bertsekas, Nonlinear Programming, Athena Scientific.
    e. J.E. Dennis, Robert B. Schnabel, Numerical Methods for Unconstrained Optimization and Nonlinear Equations, SIAM Classics in Applied Mathematics.


Testi d'esame


    Modalità d'esame


    Date d'esame



    Link utili

    Questi link contengono dispense, esercizi, software freeware, curiosità relativi al mondo della ricerca operativa.



    Agenda del corso

    1. martedì 05/03/19.

    Introduzione al corso: esempi di problemi di machine learning e introduzione all'apprendimento statistico (Slide della lezione).

    2. giovedì 07/03/19.

    Definizioni di punto di minimo locale e punto di minimo globale. Caso convesso: definizioni di funzione convessa. Convessità e differenziabilità. Esempi.

    3. martedì 12/03/19.

    Criteri per verificare se una matrice è definita (criterio di Sylvester) o semidefinita positiva (criterio dei minori principali). Esempi.

    4. giovedì 14/03/19.

    Condizioni sufficienti di esistenza: insiemi di livello inferiori di una funzione, coercività. Esempi di funzioni coercive. Condizioni sufficienti di esistenza basate sulla coercività della funzione obiettivo. Esempi. Definizione di direzione di discesa.

    5. martedì 19/03/19.

    Ottimizzazione non vincolata: condizioni necessarie del primo e secondo ordine (con dimostrazione). Condizioni sufficienti (senza dimostrazione). Caso convesso. Esempi.

    6. giovedì 21/03/19.

    Ottimizzazione non vincolata: caso quadratico (con dimostrazione). Esempi.

    7. martedì 26/03/19.

    Regressione lineare semplice e multivariata.

    8. giovedì 28/03/19.

    Esercitazione su regressione lineare semplice e multivariata.

    9. martedì 02/04/19.

    Estensioni del modello lineare: termini di interazione e regressione polinomiale. Tecniche di subset selection (Best Subset selection, Forward e Backword) e di shrinking (Ridge e Lasso).

    10. giovedì 04/04/19.

    Esercitazione sulla regressione lineare.

    11. martedì 09/04/19.

    Struttura e convergenza di algoritmi. Esempi di sequenze non convergenti a punti stazionari.

    12. giovedì 11/04/19.

    Proposizione 4.1 con dimostrazione. Condizione d'angolo. Esempi di direzioni che soddisfano la condizione d'angolo. Linesearch esatta.

    13. martedì 16/04/19.

    Linesearch esatta nel caso quadratico strettamente convesso. Ricerca di linea inesatta: concetti generali. Ricerca di linea di Armijo: finitezza e proprietà di convergenza (senza dimostrazione).

    14. giovedì 18/04/19.

    Metodo del gradiente. Convergenza. Metodo del gradiente a passo costante. Metodo Heavy Ball. Rapidità di convergenza. Esempi in matlab.

    15. martedì 23/04/2019.

    Metodo di Newton. Proprietà di convergenza. Modifiche globalmenti convergenti. Cenni su quasi Newton. Introduzione alle reti neurali. Perceptron.

    16. martedì 30/04/19.

    Perceptron. Addestramento e dimostrazione di convergenza. Reti multistrato. Addestramento e costruzione dell'architettura.

    17. giovedì 02/05/19.

    Backpropagation Batch e Online. Metodo del gradiente stocastico e incrementale.

    18. martedì 07/05/19.

    Esercitazione. Introduzione a tensor flow e keras.

    19. giovedì 09/05/19.

    Scelte del passo possibili in keras. Esempio di implementazione di un MLP per un problema di classificazione di immagini.

    20. martedì 14/05/19.

    Analisi della convergenza del metodo del gradiente incrementale e del metodo del gradiente stocastico.

    21. giovedì 16/05/19.

    Metodi di decomposizione per addestramento reti neurali. Reti RBF: proprietà e addestramento.

    22. martedì 21/05/19.

    Esempio di utilizzo di dati da un'azienda: uso di immagini SAR in e-geos.

    23. giovedì 23/05/19.

    Introduzione al deep Learning.Funzioni di attivazione. Il problema del vanishing gradient. Weight Initialization e Batch Normalization

    24. martedì 28/05/19.

    Reti convoluzionali: operazione di convoluzione e pooling

    25. giovedì 30/05/19.

    Esempi di architetture di reti convoluzionali: ALexNet,ZFNet,VGGNetGoogLeNet, ResNet.

    26. martedì 04/06/19.

    Regolarizzazione, Dropout e Data Augmentation.

    27. giovedì 06/06/19.

    Semantic Segmentation e altre applicazioni delle reti convoluzionali.