Corso | Ingegneria Informatica e dei sistemi per le Telecomunicazioni |
Curriculum | Curriculum unico |
Orientamento | Reti ed applicazioni |
Anno Accademico | 2021/2022 |
Crediti | 6 |
Settore Scientifico Disciplinare | ING-INF/05 |
Anno | Secondo anno |
Unità temporale | Primo semestre |
Ore aula | 48 |
Attività formativa | Attività formative affini ed integrative |
Docente | STEFANO MARRONE |
Obiettivi | L’obiettivo primario del corso è quello di fornire agli studenti le basi teoriche e pratiche per l’uso dell’intelligenza artificiale nell’ambito dell’analisi dei dati. In particolare, dopo una breve introduzione al linguaggio Python, cardine della parte pratica delle lezioni, il corso prevede due momenti principali, atti ad approfondire rispettivamente i) le basi dell’IA e il suo uso nel mining di grosse moli di dati e ii) lo studio dei pattern tramite l’uso di tecniche di Machine Learning, sia nel contesto dell’apprendimento supervisionato che non supervisionato. Conoscenza e comprensione: a seguito del superamento dell’esame, lo studente conosce e comprende come utilizzare python (e in particolare i frameworks Pandas, NumPy, PyTorch e MatPlotLib) per poter realizzare un progetto di Intelligenza artificiale (e in particolare di Machine o Deep Learning) in tutte le sue fasi (data and business understanding, model design and testing, deploy). Autonomia di giudizio: a seguito del superamento dell’esame, lo studente sarà in grado di valutare le diverse alternative in fase di analisi e progettazione di sistemi di IA. Le alternative saranno valutate in base all’analisi dei dati a disposizione, dei desiderata e della potenza computazionale a disposizione per le fasi di inferenza. Abilità comunicative: nella fase di progettazione e realizzazione delle soluzioni, l'esperto di IA deve interfacciarsi con esperti di differenti domini. È cruciale dunque essere in grado di comprendere i desiderata e le caratteristiche del dominio. È similmente importante essere in grado di comunicare le motivazioni alla base delle scelte progettuali intraprese. Capacità di apprendimento: durante il corso lo studente studia su documentazione tecnica, soprattutto in lingua inglese, con lo scopo principale di acquisire la capacità di aggiornare continuamente le proprie conoscenze ed essere pronto ad applicare questa metodologia di studio anche per le nuove tecnologie. Modalità di accertamento e valutazione. Gli esami di accertamento e di valutazione consistono in una prova progettuale e in una prova orale. La prova progettuale, da svolgersi in singolo o in gruppo, è basata sulla realizzazione di una soluzione AI-based ad una challenge hostata sulla piattaforma Kaggle. Gli studenti devono dimostrare di essere in grado di effettuare correttamente tutte le fasi (data and business understanding, model design and testing, deploy), motivando il razionale alla base delle decisioni prese e presentando opportunamente i risultati ottenuti (tramite un notebook Jupyter). La posizione in classifica NON impatta la valutazione. La prova orale ha l’obiettivo di discutere il progetto realizzato e di valutare la conoscenza, da parte dello studente, del programma del corso. Al termine della prova orale allo studente viene attribuito un voto massimo 30L/30. |
Programma | • Introduzione all'Intelligenza Artificiale (IA) e al Machine Learning (ML). Introduzione alle differenti tecniche di apprendimento (supervisionato, non supervisionato) e task (classificazione, regressione, clustering) • Introduzione a python: tipi base, gerarchia concettuale, funzioni. Introduzione agli "ide" Jupyter (Google Colab). • Studio (teoria e codice, con esempi) dei frameworks NumPy, Pandas, Scikit-learn, MatPlotLib, Pytorch • Concetti di "istanza" e "attributo". Visualizzazione dei dati. Rappresentazione della conoscenza, spazio delle feature, Alberi e regole • Valutazione delle performance e dei modelli (resubstitution error, errore di generalizzazione). Hold-out e cross-validation. • Modelli di machine learning base (alberi, modelli instance-based). Parametri e iper-parametri dei modelli • Support Vector Machines • Reti neurali artificiali (percettrone, MLP, concetto di training curves). • Data trasformation: feature selection, normalizzazione, discretizzazione, ECOC, PCA/LDA/ICA • Concetto di feature space e principali features in differenti domini (testo, audio, immagini, tabelle). • Ensemble learning (RF, Stacking, Boosting) • Deep Learning (Convolutional Neural Networks, Transfer learning) |
Testi docente | • Video lezioni • Slide • Codice delle esercitazioni Tesi a supporto/approfondimento consigliati: • Artificial Intelligence: A Modern Approach 4th edition - Autori: S. Russell, P. Norvig - Editore: Pearson • Data Mining: Practical Machine Learning Tools and Techniques 4th edition - Autori: I. H. Witten, E. Frank, M. A. Hall, C. J. Pal - Editore: Morgan Kaufmann • Pattern Recognition And Machine Learning - Autore: C. M. Bishop - Editore: Springer Nature • Deep Learning - Autori: I. Goodfellow, Y. Bengio, A. Courville - Editore: MIT press • Python Data Science Handbook - Autore: J. VanderPlas - Editore: O. Reilly |
Erogazione tradizionale | No |
Erogazione a distanza | Sì |
Frequenza obbligatoria | No |
Valutazione prova scritta | No |
Valutazione prova orale | Sì |
Valutazione test attitudinale | No |
Valutazione progetto | Sì |
Valutazione tirocinio | No |
Valutazione in itinere | No |
Prova pratica | No |
Descrizione | Avviso | |
---|---|---|
Ricevimenti di: Stefano Marrone | ||
Lunedi, dalle 14.30 alle 16.30 sul canale "Ricevimento" del team del corso |
|
Cerca nel sito
Posta Elettronica Certificata
Direzione
Tel +39 0965.1693217/3252
Fax +39 0965.1693247
Protocollo
Tel +39 0965.1693422
Fax +39 0965.1693247
Didattica e orientamento
Tel +39 0965.1693386/3385
Fax +39 0965.1693247
Segreteria studenti
Tel +39 0965.1691475
Fax +39 0965.1691474
Amministrazione
Tel +39 0965.1693214
Fax +39 0965.1693247
Ricerca
Tel +39 0965.1693422
Fax +39 0965.1693247