Machine Learning for Industrial Engineering (Laurea Magistrale in Ingegneria Gestionale)

Foreign students will find related news in the TEACHING section of the English version of this website


AVVISO URGENTE! A seguito delle recenti disposizioni governative, da oggi martedì 10 marzo 2020 tutti i ricevimenti e gli esami in presenza sono SOSPESI fino a nuova ulteriore comunicazione. Consultare gli avvisi relativi al ricevimento nella pagina principale della didattica per ricevere ulteriori indicazioni.

AVVISO. Corso di nuova attivazione che va in aula per la prima volta a settembre 2019 (1° semestre) per gli studenti immatricolati nel 2018/2019 e iscritti nel 2019/2020 al 2° anno della Laurea Magistrale in Ingegneria Gestionale. Il corso è comunque aperto ad altri studenti della Facoltà e dell'Ateneo che sono interessati alle tematiche trattate, in quanto NON esistono propedeuticità sostanziali.


  • Obiettivi del modulo e capacità acquisite dallo studente. Attraverso l’introduzione dei fondamenti sugli aspetti teorici, tecnici e pratici nella progettazione e implementazione di sistemi di apprendimento automatico per la soluzione di problemi di analisi di segnali, misure e, più in generale, di grandi moli di dati (c.d. big data), basata su tecniche di Intelligenza Computazionale quali apprendimento bayesiano, reti neurali, logica fuzzy, algoritmi evolutivi, etc., lo studente rafforzerà le conoscenze acquisite nel primo ciclo di studi. Saranno in tal senso approfondite le applicazioni nell'ambito dell’Ingegneria Industriale per la soluzione di problemi supervisionati e non supervisionati, in particolare riguardanti ottimizzazione, approssimazione, regressione, interpolazione, predizione, filtraggio, riconoscimento e classificazione, al fine di elaborare e applicare idee originali anche in un contesto di ricerca. L'obiettivo principale del corso è quello di consentire allo studente di sviluppare sistemi di apprendimento automatico attraverso un’adeguata formulazione del problema, una scelta appropriata degli algoritmi adatti a risolvere il problema e l'esecuzione di esperimenti in attività di laboratorio per valutare l’efficacia delle tecniche adottate. Durante il corso verranno principalmente esposti i concetti e le idee di base che permettono l'effettivo utilizzo degli algoritmi di Machine Learning nelle applicazioni industriali, piuttosto che la loro formulazione puramente matematica. Pertanto lo studente integrerà le conoscenze acquisite per gestire la complessità di un meccanismo di apprendimento induttivo ove si estrapoli nuova conoscenza, orientata alla soluzione di problemi applicativi, a partire da informazioni limitate dovute alla contingenza organizzativa dell’insegnamento.
  • Prerequisiti. Fondamenti di matematica impartiti negli insegnamenti ingegneristici di base.
  • Risultati di apprendimento attesi. Capacità di analisi e soluzione delle problematiche relative a progettazione, realizzazione e test di algoritmi di Machine Learning, con particolare riferimento allo sviluppo in ambiente Matlab/Python/TensorFlow, per la realizzazione di sistemi di apprendimento automatico applicati a problemi di Ingegneria Industriale in ambito gestionale, elettrico, meccanico, logistico, biomedicale e per la formazione di competenze professionali e aziendali capaci di relazionarsi nel contesto tecnico-scientifico del data analytics e della business intelligence, in un contesto perciò più ampio rispetto al settore di studio dell’ingegneria gestionale. Le tematiche affrontate nel corso sono di generale interesse nell'ambito scientifico e industriale, in particolare nell'analisi dei materiali, nella progettazione di dispositivi e circuiti, nei sistemi di automazione e controllo, nell'inversione di modelli fisici e di modelli astratti di tipo organizzativo e decisionale, nella gestione delle reti complesse (smart grid, distribuzione energetica e delle merci, reti biologiche e sociologiche, etc.). Nondimeno, saranno introdotte le applicazioni di nuove tecnologie nello sviluppo di sistemi di calcolo innovativi, in primis i calcolatori quantistici, nei quali si rende indispensabile l'utilizzo di algoritmi di intelligenza computazionale e di machine learning per lo sfruttamento efficace e all'avanguardia degli stessi. A valle di tale insegnamento, lo studente sarà pertanto in grado di comunicare le conoscenze acquisite a interlocutori specialisti e non specialisti nel mondo della ricerca e del lavoro in cui svilupperà le sue successive attività scientifiche e/o professionali.
  • Programma A.A. 2020/2021 (a consuntivo farà ovviamente riferimento TUTTO E SOLO quanto presentato, spiegato e discusso durante le lezioni del corso):
    • Introduzione ai problemi supervisionati e non supervisionati. Ottimizzazione, approssimazione, regressione, interpolazione, predizione, filtraggio, classificazione e clustering. 
    • Fondamenti di regressione e classificazione lineare. Modelli lineari e minimi quadrati. Regolarizzazione (ridge regression, LASSO). Classificazione lineare. Linear Discriminant Analysis.
    • Validazione e selezione del modello. Selezione del modello e "bias-variance tradeoff". Cross-validation. Metodi di bootstrap.
    • Metodi basati su prototipi e "nearest-neighbors". Algoritmo di clustering K-means. Algoritmo di clustering K-medoids. Classificatori K-Nearest-Neighbor (K-NN).
    • Calcolo parallelo su architetture multi-core, FPGA, GPU e TPU.
    • Implementazione parallela di algoritmi di clustering e classificazione: K-means, K-NN.
    • Realizzazione hardware e implementazione su architetture di calcolo parallele per applicazioni in tempo reale. Fondamenti di architetture feed-forward (back-propagation, valori iniziali, overfitting, ridimensionamento ingressi, unità e layer nascosti, minimi locali). Reti neurali “shallow”: Multilayer Perceptron (MLP), Radial Basis Function (RBF), Fuzzy Inference System (FIS) e reti neurali ANFIS, Extreme Learning Machine (ELM) o Random Vector Functional-Link (RVFL), Echo State Network (ESN). Reti neurali “deep”: Convolutional Neural Network (CNN), Long Short-Term Memory (LSTM), Gated Recurrent Unit (GRU), Autoencoder e Generative Adversarial Network (GAN), Attention Networks. Algoritmi evolutivi: algoritmi genetici (GA), Ant Colony Optimization (ACO), Swarm Intelligence.
    • Tecniche di ottimizzazione e apprendimento distribuito. Topologia e reti di agenti (sensori e attuatori intelligenti). Distributed Average Consensus (DAC), ADMM, algoritmi euristici. Clustering distribuito e classificazione distribuita. Learning distribuito in reti ricorrenti e (stacked) deep.
    • Introduzione al calcolo quantistico. Porte e array quantistici. Algoritmi quantistici per l’ottimizzazione e il trattamento dell’informazione (QFFT, Grover, Schor). Quantum machine learning. Reti neurali quantistiche.
    • Applicazioni e studi di caso: 
      • quantizzazione, classificazione, predizione, approssimazione, interpolazione, ottimizzazione e filtraggio di dati logistici, energetici, economici, biomedicali, meccatronici, ambientali e aerospaziali;
      • analisi comportamentale e biometria;   
      • analisi dei materiali e processi industriali;
      • progettazione di dispositivi, circuiti e sistemi di controllo;
      • inversione di modelli fisici e di modelli astratti di tipo organizzativo e decisionale;
      • gestione delle reti complesse (smart grid, distribuzione energetica e delle merci, reti biologiche e sociologiche);
      • machine learning per l’IoT/IoE, apprendimento multi-agente cooperativo e competitivo, reti di sensori intelligenti;
      • Big Data Analytics e Business Intelligence;
      • sistemi di apprendimento distribuito.
  • Calendario appelli A.A. 2019/2020. Gli esami potranno essere sostenuti per appuntamento nel momento in cui si ritiene più opportuno a partire da gennaio 2020; la verbalizzazione avverrà nelle finestre ufficiali previste dal calendario di Facoltà come si seguito riportato:
    • 1° appello ordinario: gennaio 2020
    • 2° appello ordinario: febbraio 2020
    • Appello straordinario: marzo/aprile 2020
    • N.B.: Appello riservato a studenti part-time, fuori corso nell’A.A. 2019-2020, studenti con disabilità e con D.S.A.
    • 3° appello ordinario: giugno 2020
    • 4° appello ordinario: luglio 2020
    • 5° appello ordinario: settembre 2020
      • Appello straordinario: ottobre/novembre 2020
      • N.B.: Appello riservato a studenti part-time, fuori corso, iscritti per l’A.A. 2019-2020 al secondo anno della laurea magistrale, studenti con disabilità e con D.S.A.only.
    • Materiale didattico
      • T. Hastie, R. Tibshirani, J. Friedman, The Elements of Statistical Learning (Second Edition), Springer Series in Statistics
      • Scarica il libro [link]
        Capitoli da studiare 
        [link]
      • I. Goodfellow, Y. Bengio, A. Courville, Deep Learning, MIT Press
      • Appunti e dispense forniti dal docente
      • [slide 1]    [slide 2-3]    [slide 4-5]    [slide 6]    [slide 7]
        [Matlab script lezione 02-10-2019]
        [Matlab script lezione 27-11-2019]
        [Matlab script lezione 04-12-2019]
        Richiami di algebra lineare e calcolo delle probabilità 
        [link]
        Appunti su bias-variance tradeoff [link]
        Appunti su back-propagation [link]
      • Ulteriori letture facoltative:
        • C.M. Bishop, Pattern Recognition and Machine Learning, Springer
        • S.O. Haykin, Neural Networks and Learning Machines (3rd Ed.), Pearson
        • S. Theodoridis, K. Koutroumbas, Pattern Recognition, Academic Press
        • B. Kosko, Neural Networks and Fuzzy Systems, Prentice-Hall

    AVVISOper ogni tipo di comunicazione legata al corso, gli interessati sono pregati di inviarmi una e-mail indicando nell'OGGETTO "Machine Learning IE" e nel testo i seguenti dati: nome, cognome e numero di matricola. Cercherò di rispondere al più presto.