Dipartimento di Ingegneria e architettura Ingegneria informatica Machine learning e intelligenza artificiale IINF-05/A (9 CFU) – (Ingegneria Informatica) Pds 2024-2025 – III anno

Home Didattica Corsi di Laurea triennali e Magistrali Ingegneria informatica (Ingegneria informatica) Frequentare il corso (Ingegneria Informatica) Pds 2024-2025 Machine learning e intelligenza artificiale IINF-05/A (9 CFU) – (Ingegneria Informatica) Pds 2024-2025 – III anno
Insegnamento Machine learning e intelligenza artificiale
CFU 9
Settore Scientifico Disciplinare IINF-05/A
Metodologia didattica

Lezioni Frontali

Nr. ore di aula 54
Nr. ore di studio autonomo 167
Mutuazione Nessuna
Annualità III anno
Periodo di svolgimento II semestre
Docente Ruolo SSD docente
Cilia Nicole Dalia PA IINF-05/A
* PO (professore ordinario), PA (professore associato), RTD (ricercatore a tempo determinato), RU (Ricercatore a tempo indeterminato), DC (Docente a contratto).
Propedeuticità Nessuna
Prerequisiti Sono richieste le conoscenze di base della programmazione strutturata
Sede delle lezioni Dipartimento di Ingegneria e Architettura - Polo scientifico e tecnologico di Santa Panasia
Orario delle lezioni

Riferirsi al calendario didattico per l’Anno Accademico 2024/2025 pubblicato nella pagina web della Dipartimento di Ingegneria e Architettura: https://gestioneaule.unikore.it/agendaweb_unikore//index.php?_lang=it

Obiettivi formativi

Lo scopo del corso è fornire allo studente i principi alla base del machine learning e dell’intelligenza artificiale, e quindi far acquisire un buon livello di conoscenza dei moderni strumenti per la prototipazione rapida di sistemi intelligenti (in particolare Python e ML packages). A tal fine, verranno preliminarmente introdotti elementi di statistica e concetti di base dell’intelligenza artificiale (tecniche di manipolazione e pulizia dei dati, feature extraction e reduction, regression, classification, e clustering). Verranno quindi presentate le librerie Keras e SKlearn con esempi su immagini e testo. Lo studente alla fine del corso avrà acquisito anche conoscenze su agenti intelligenti e strategie di ricerca.

Contenuti del Programma
N. Argomento tipologia Durata
1 Introduzione all’intelligenza artificiale e al machine learning Frontale 3h
2 Introduzione al linguaggio Python Frontale 4h
3 Scientific Python: vettori, matrici, tensori e loro manipolazione. Introduzione ai pacchetti più comuni per scientific python. Frontale 5h
4 Elementi di statistica: media, varianza, statistica descrittiva, distribuzione normale, distribuzione uniforme, distribuzioni Chi-Square, t-Student e Fisher (F-distribution), test di ipotesi. Frontale 2h
5 Fondamenti e techiche di Machine Learning: Task definition, Data collection, Feature engineering, Model training, Model evaluation. Frontale 6h
6 Esempi di feature extraction e dimension reduction, regressione, principali schemi di classificazione e clustering. Principali algoritmi di classificazione (Decision Tree, Support Vector Machine, K-means, KNN). Frontale 6h
7 Implementazione delle tecniche con i pacchetti numpy, pandas, matplotlib. Frontale 4h
8 Implementazione delle tecniche con il pacchetto Sklearn. Frontale 6h
9 Introduzione a Keras Frontale 3h
10 Implementazione, addestramento e test di reti neurali in Keras Frontale 7h
11 Agenti Intelligenti Frontale 2h
12 Introduzione al problem-solving Frontale 4h
13 Esercitazione sugli argomenti trattati Frontale 6h
Risultati di apprendimento (descrittori di Dublino)

Alla fine del corso, gli studenti dovranno aver conseguito le seguenti abilità, conoscenze e competenze:

Conoscenza e capacità di comprensione: L’insegnamento si propone di completare la formazione di base necessaria per la progettazione sistematica e strutturata di un sistema intelligente, con particolare attenzione alla parte di progettazione basata su pacchetti di ML moderni.

Conoscenza e capacità di comprensione applicate: Lo studente alla fine del corso acquisirà una buona conoscenza dei principi del machine learning e dell’intelligenza artificiale. Inoltre, lo studente sarà in grado di analizzare e comprendere gli elementi distintivi dei progetti di machine learning: (i) progettare programmi software sfruttando le più moderne tecnologie in Python e (ii) implementare il progetto stesso nell’ecosistema di Python.

Autonomia di giudizio: Lo studente sarà in grado di valutare la qualità di una soluzione in termini di semplicità, leggibilità, efficienza e possibilità di riutilizzo. L’autonomia di giudizio sarà valutata esaminando le soluzioni proposte dagli studenti a problemi di media complessità per la gestione di sistemi intelligenti.

Abilità comunicative: Lo studente acquisirà la capacità di comunicare ed esprimere problematiche inerenti all’oggetto del corso utilizzando una terminologia appropriata e corretta. Lo studente sarà anche in grado di descrivere il problema utilizzando le strutture dati e di controllo opportune.

Capacità di apprendere: Lo studente saprà approfondire autonomamente le conoscenze di base acquisite durante il corso e apprendere nuovi strumenti per l’implementazione dei concetti introdotti.

Testi per lo studio della disciplina
  1. Statistics and Machine Learning in Python 0.5 documentation.
  2. François Chollet, “Deep Learning with Python, Second Edition” (parti selezionate dai capp. 1-7).
  3. J. Russell, P. Norvig, “Intelligenza artificiale. Un approccio moderno – vol. 1” (parti selezionate dai capp. 1, 2, 3)
  4. Slide e materiale messo a disposizione dal docente.
Modalità di accertamento delle competenze

L’accertamento delle competenze avverrà attraverso una prova orale strutturata nella seguente maniera:

  • Progetto: discussione sulla progettazione e messa a punto, anche in gruppo, di un progetto in Python sfruttando tutte le librerie necessarie. L’argomento del progetto è assegnato dal docente;
  • Teoria: domande relative alla teoria del machine learning e dell’intelligenza artificiale.

L’incidenza percentuale delle due componenti per la costruzione del voto finale è così ripartita:

  • Progetto 70%
  • Teoria 40%

La somma supera il 100% per consentire di compensare un risultato non ottimo in una parte con un risultato ottimo in un’altra parte, in modo da poter raggiungere la votazione di 30/30 anche con un errore marginale, e nello stesso tempo consentire al docente di poter assegnare la lode nel caso di raggiungimento ottimo in entrambe le parti dell’esame.

Il voto sarà espresso secondo il seguente schema di valutazione:

  • Ottimo (30-30 e lode): Ottima conoscenza e comprensione degli argomenti riguardanti i sistemi di machine learning e intelligenza artificiale (individuazione di una soluzione eccellente per la messa a punto del progetto assegnato) e della teoria relativa. Eccellenti capacità espositive.
  • Molto buono (26-29): Buona conoscenza e comprensione degli argomenti riguardanti la programmazione di sistemi di machine learning e intelligenza artificiale (individuazione di una soluzione ottima per la messa a punto del progetto assegnato) e della teoria relativa. Ottime capacità espositive.
  • Buono (24-25): Buona conoscenza e comprensione degli argomenti riguardanti il machine learning e intelligenza artificiale (individuazione di una soluzione buona per la messa a punto del progetto assegnato) e della teoria relative. Buone capacità espositive.
  • Discreto (21-23): Discreta conoscenza e comprensione degli argomenti riguardanti la programmazione di sistemi di machine learning e intelligenza artificiale (individuazione di una soluzione discreta per la messa a punto del progetto assegnato) e della teoria relativa. Discrete capacità espositive.
  • Sufficiente (18-20): Conoscenza minima degli argomenti riguardanti la programmazione di sistemi di machine learning e intelligenza artificiale (individuazione di una soluzione accettabile per la messa a punto del progetto assegnato) e della teoria relativa.
  • Insufficiente: Manca di una conoscenza accettabile degli argomenti riguardanti la progettazione di sistemi di machine learning e intelligenza artificiale e della teoria relativa.
Date di esame

Le date degli esami saranno pubblicati sulla pagina web del corso di laurea almeno due mesi prima dell’inizio della sessione d’esami:

https://unikore.it/index.php/it/ingegneria-informatica-home

Modalità e orario di ricevimento

Il ricevimento è in presenza. Gli orari di ricevimento, un’ora per CFU erogato, sono pubblicati sulle pagine personali dei docenti.

Indietro