Studiare
In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.
Piano Didattico
Queste informazioni sono destinate esclusivamente agli studenti e alle studentesse già iscritti a questo corso.Se sei un nuovo studente interessato all'immatricolazione, trovi le informazioni sul percorso di studi alla pagina del corso:
Laurea magistrale in Ingegneria e scienze informatiche - Immatricolazione dal 2025/2026Il piano didattico è l'elenco degli insegnamenti e delle altre attività formative che devono essere sostenute nel corso della propria carriera universitaria.
Selezionare il piano didattico in base all'anno accademico di iscrizione.
1° Anno
| Insegnamenti | Crediti | TAF | SSD |
|---|
4 insegnamenti a scelta2° Anno Attivato nell'A.A. 2025/2026
| Insegnamenti | Crediti | TAF | SSD |
|---|
| Insegnamenti | Crediti | TAF | SSD |
|---|
4 insegnamenti a scelta| Insegnamenti | Crediti | TAF | SSD |
|---|
| Insegnamenti | Crediti | TAF | SSD |
|---|
3 insegnamenti a scelta
A.A. 2025/2026: Applicazioni dinamiche per il web e Progettazione ad alte prestazioni in C++ non erogati2 insegnamenti a scelta
A.A. 2025/2026: Applicazioni dinamiche per il web e Progettazione ad alte prestazioni in C++ non erogatiLegenda | Tipo Attività Formativa (TAF)
TAF (Tipologia Attività Formativa) Tutti gli insegnamenti e le attività sono classificate in diversi tipi di attività formativa, indicati da una lettera.
Machine learning (2024/2025)
Codice insegnamento
4S011696
Crediti
6
Lingua di erogazione
Italiano
Settore Scientifico Disciplinare (SSD)
INF/01 - INFORMATICA
Corsi Singoli
Autorizzato
L'insegnamento è organizzato come segue:
Teoria
Crediti
4
Periodo
I semestre
Docenti
Cigdem Beyan
Laboratorio
Crediti
2
Periodo
I semestre
Docenti
Cigdem Beyan
Obiettivi di apprendimento
Il corso intende fornire i fondamenti teorici e descrivere le metodologie principali relative all’area di apprendimento automatico (machine learning), unitamente alle tecniche più recenti dell'apprendimento profondo (deep learning). In particolare, il corso si occuperà di descrivere i metodi di analisi, riconoscimento e classificazione automatica di dati di qualsiasi tipo, detti tipicamente pattern. Queste discipline sono alla base, sono utilizzate, e spesso completano molte altre discipline ed aree applicative di larga diffusione, quali la visione computazionale, la robotica, l’elaborazione delle immagini, data mining, l’analisi ed interpretazione di dati medicali e biologici, la bioinformatica, biometria, videosorveglianza, il forecasting. Più precisamente, le metodologie che verranno introdotte nel corso sono spesso parte integrante delle aree applicative su citate, e ne costituiscono la parte “intelligente” con l’obiettivo finale di comprendere (classificare, riconoscere, analizzare) i dati provenienti dal processo di interesse (siano essi segnali, immagini, stringhe, categoriali, o di altro tipo). A partire dalla tipologia di dati misurati, verrà considerata l’intera pipeline di analisi quali l’estrazione e selezione di caratteristiche, metodi di apprendimento automatico supervisionato e non supervisionato, tecniche di analisi parametriche e non, e i protocolli di validazione, assieme a tecniche di deep learning, che, attraverso il paradigma delle reti neurali e l'ottimizzazione numerica, costruisce sistemi di regressione e classificazione non lineari. Particolare enfasi verrà anche posta verso metodi di visualizzazione necessari per la comprensione del funzionamento di tali sistemi. Il corso è sia teorico che implementativo, esso offre nozioni di programmazione specifici per sistemi professionali basati su Python e su casi di studio aziendali ove applicare le tecniche studiate. A livello di laboratorio, verranno presentati casi di studio reali oltre a benchmark accademici, affrontati con strumenti di programmazione attuali. In conclusione, il corso si propone di fornire allo studente un insieme di fondamenti teorici e strumenti algoritmici per affrontare le problematiche che si possono incontrare in settori industriali strategici ed innovativi quali quelli che coinvolgono l’elaborazione di grandi quantità di dati (big data), multimedia, l’ispezione visuale di prodotti, automazione ed predizione.
Prerequisiti e nozioni di base
Foundation of Machine Learning intende fornire i fondamenti teorici e metodi principali relativi all’analisi di dati (di vario tipo, immagini, video, testo, sequenze, etc.), in breve verranno trattati teorie e metodi di classificazione statistica. Questi temi sono propedeutici alle tecniche più recenti di Deep Learning.
Argomenti trattati:
- Introduzione: Cos'è il machine learning? Esempi di Applicazioni, principali sfide del machine learning, compiti del machine learning, ingredienti principali
- Classificazione: classificatore binario, misure delle prestazioni (matrice di confusione, precisione, richiamo...), classificazione multiclasse, classificazione multietichetta, cross validation
- Regressione: regressione lineare, regressione polinomiale, regressione logistica
- Teoria della Decisione Bayesiana e stima dei parametri
- Metodi non parametrici: Istogramma, Parzen window, k-Nearest Neighbors
- Alberi decisionali
- Apprendimento ensemble e foreste casuali
- Classificatori lineari e funzioni discriminanti: Perceptron, Relaxation, MSE, LMSE, discesa del gradiente
- Trasformazioni lineari, riduzione della dimensionalità, trasformazione di Fisher. Analisi delle Componenti Principali (PCA), selezione delle caratteristiche
- Metodi del Kernel e Support Vector Machines
- Tecniche di apprendimento non supervisionato: clustering, Gaussian Mixture Models
- Analisi di dati sequenziali: modelli di Markov e modelli Hidden Markov (HMM)
- Machine learning vs. deep learning
Programma
------------------------
UL: Foundation of Machine Learning - Teoria
------------------------
Il corso è suddiviso in due moduli: Foundation of Machine Learning (ML) e Deep Learning (DL).
ML intende fornire i fondamenti teorici e metodi principali relativi all’analisi di dati, non necessariamente immagini, in breve verranno trattati teorie e metodi di classificazione statistica. Questi temi sono propedeutici alle tecniche più recenti di Deep Learning.
Argomenti trattati:
- Introduzione: Cos'è il machine learning? Esempi di Applicazioni, principali sfide del machine learning, compiti del machine learning, ingredienti principali
- Classificazione: classificatore binario, misure delle prestazioni (matrice di confusione, precisione, richiamo...), classificazione multiclasse, classificazione multietichetta, cross validation
- Regressione: regressione lineare, regressione polinomiale, regressione logistica
- Teoria della Decisione Bayesiana e stima dei parametri
- Metodi non parametrici: Istogramma, Parzen window, k-Nearest Neighbors
- Alberi decisionali
- Apprendimento ensemble e foreste casuali
- Classificatori lineari e funzioni discriminanti: Perceptron, Relaxation, MSE, LMSE, discesa del gradiente
- Trasformazioni lineari, riduzione della dimensionalità, trasformazione di Fisher. Analisi delle Componenti Principali (PCA), selezione delle caratteristiche
- Metodi del Kernel e Support Vector Machines
- Tecniche di apprendimento non supervisionato: clustering, Gaussian Mixture Models
- Analisi di dati sequenziali: modelli di Markov e modelli Hidden Markov (HMM)
- Machine learning vs. deep learning
------------------------
UL: Foundation of Machine Learning - Laboratorio
------------------------
1) Introduzione a Colab, PyTorch, TensorFlow, Tipi di dati I/O, ad es., dati tabulari, immagini
2) Classificazione con Scikit-learn: ad es., K-NN, valutazione
3) Preparazione dei dati, preprocessamento, selezione delle caratteristiche in avanti, aumento dei dati, normalizzazione, dati mancanti, vettore one-hot
4) Principal component anlaysis e Fisher discriminant analysis
5) Clustering: K-means e metodo dell'angolo (elbow), bag of words
6) Metodi di clustering e loro confronti, metodi di visualizzazione (ad es., t-SNE)
7) Support Vector Machines vs. Random Forest
------------------------
UL: Deep Learning - Teoria
------------------------
Il corso è suddiviso in due moduli: Foundation of Machine Learning (ML) e Deep Learning (DL).
ML intende fornire i fondamenti teorici e metodi principali relativi all’analisi di dati, non necessariamente immagini, in breve verranno trattati teorie e metodi di classificazione statistica. Questi temi sono propedeutici alle tecniche più recenti di Deep Learning.
DL intende fornire teorie e metodi relativi all'analisi di dati (di vario tipo, immagini, video, testo, sequenze, etc.) mediante architetture neurali di tipo profondo, soffermandosi sulla struttura e funzionamento dei diversi modelli quali, solo a titolo di esempio, le reti convoluzionali, modelli encoder-decoder, modelli di attenzione e transformer, e molti altri.
Dopo un'introduzione dell'importanza di questa area e delle relative applicazioni, il corso include tematiche quali reti neurali artificiali, reti convoluzionali, autoencoder - variazionali e non, transformer, reti ricorrenti, modelli generativi - adversariali e non, modelli multimodali, metodi per trasferimento di conoscenza e di adattamento al dominio, etc.
Il corso presenterà gli aspetti teorici e metodologici, con associati esempi applicativi.
------------------------
UL: Deep Learning - Laboratorio
------------------------
Le lezioni di Laboratorio saranno volte a sviluppare algoritmi in linguaggio Python di alcuni dei modelli spiegati durante le lezioni di Teoria.
Bibliografia
Modalità didattiche
Le lezioni di Teoria si svolgeranno in aula con proiezione di slide, mentre le lezioni di laboratorio saranno al computer in aula informatica e consisteranno nell sviluppo di alcuni degli algoritmi sviluppati in classe.
Le lezioni di Laboratorio saranno volte a sviluppare esempi pratici di alcuni dei temi descritti nella parte di Teoria del corso. Le lezioni si svolgeranno in un laboratorio informatico in linguaggio Phyton.
Modalità di verifica dell'apprendimento
------------------------
UL: Foundation of Machine Learning - Teoria
------------------------
Per superare l'esame, gli studenti devono dimostrare:
- Comprensione dei principi alla base del machine learning e dei metodi per la programmazione di moduli basati sul machine learning.
- Capacità di esporre concetti di machine learning e programmazione di moduli ML in modo preciso e organico, senza divagazioni.
- Applicazione delle conoscenze acquisite per risolvere problemi pratici presentati attraverso esercizi, domande e progetti.
- L'esame prevede un progetto che può essere svolto individualmente o in coppia. L'esame orale coprirà domande relative al progetto, concetti teorici e esercitazioni di laboratorio.
------------------------
UL: Foundation of Machine Learning - Laboratorio
------------------------
L'esame prevede un progetto che può essere svolto individualmente o in coppia. L'esame orale coprirà domande relative al progetto e esercitazioni di laboratorio in conformità con le regole del corso di teoria dell'apprendimento automatico (machine learning).
------------------------
UL: Deep Learning - Teoria
------------------------
L'esame consisterà nello sviluppo di un progetto (2 persone max, 3 solo in casi eccezionali da concordare coi docenti), seguito dalla scrittura di un rapporto tecnico ed una presentazione orale.
Durante la presentazione orale del progetto verranno fatte domande sulla parte teorica del corso descritta a lezione, volte alla valutazione della conoscenza dei contenuti del corso.
------------------------
UL: Deep Learning - Laboratorio
------------------------
L'esame consisterà nello sviluppo di un progetto (2 persone max, 3 solo in casi eccezionali da concordare coi docenti), seguito dalla scrittura di un rapporto tecnico ed una presentazione orale.
Durante la presentazione orale del progetto verranno fatte domande sulla parte teorica del corso descritta a lezione, volte alla valutazione della conoscenza dei contenuti del corso.
Criteri di valutazione
Per superare l'esame gli studenti dovranno dimostrare di:
- aver compreso i principi teorici e gli algoritmi alla base delle tecniche di Machine Learning descritti a lezione;
- essere in grado di esporre le proprie argomentazioni in modo preciso, organico e strutturato, senza divagazioni;
- saper applicare le conoscenze acquisite per risolvere problemi applicativi presentati sotto forma di esercizi, domande oppure progetti.
Criteri di composizione del voto finale
Il voto si basa sulla media del progetto, della sua presentazione, delle domande affrontate durante l’esame e delle domande teoriche
Lingua dell'esame
Inglese oppure italiano