Introduction to Machine Learning

Periodo di svolgimento
‌‌
Info sul corso
Ore del corso
40
Ore dei docenti responsabili
40
CFU 6
‌‌

Modalità esame

Relazione di Seminario (su progetto pratico) e Orale

Docente

Vedi dettagli del docente

Docente

Vedi dettagli del docente

Programma

1) Introduzione: il processo di Knowledge Discovery. (6 ore)

  • Processo KDD: tutti i passaggi in sintesi. (2h)
  • Comprensione dei dati ed esplorazione dei dati. Introduzione alla piattaforma di data science KNIME (2h)
  • Esercitazioni: esercitazioni pratiche su semplici studi di caso utilizzando librerie Python (2h)
  • Introduzione a NumPy, Pandas e Seaborn (supporto extra in laboratorio)

2) Metodi di apprendimento non supervisionato e esercitazioni pratiche (8 ore)

  • Clustering: concetti di base e principali algoritmi per clustering gerarchico basato su centroide e densità (4h)
  • Mining dei pattern e Regole di associazione: concetti di base e algoritmo a-priori (2h)
  • Esercitazioni: esercitazioni pratiche su semplici studi di caso utilizzando librerie Python (2h)

3) Apprendimento supervisionato: metodi ed esercitazioni pratiche (12 ore)

  • Classificazione: introduzione, valutazione delle prestazioni. Un primo classificatore semplice: Decision tree (4h)
  • Esercitazioni: esercitazioni pratiche su semplici studi di caso utilizzando librerie Python (2h)
  • Panoramica sui metodi avanzati: Random Forest, Support Vector Machine (2h)
  • Introduzione alle Reti Neurali, descrizione del progetto e assegnazione del progetto (2h)
  • Esercitazioni: esercitazioni pratiche su metodi di classificazione avanzati e Reti Neurali con PyTorch (2h)

4) Introduzione alle architetture di Deep Learning (10 ore)

  • Reti Neurali Convoluzionali, teoria e pratica con PyTorch (2h)
  • Reti Neurali Ricorrenti (2h)
  • Reti Generative Adversariali (2h)
  • Transformers (2h)
  • Graph Neural Networks (2h)

5) Principi di design e questioni di affidabilità nei sistemi basati su IA: (4h)

  • Linee guida di design, scoperta di bias e spiegabilità (2h)
  • Seminario di progetto e discussione (2h)

Obiettivi formativi

I formidabili progressi nella potenza di calcolo, nell'acquisizione dei dati, nell'archiviazione dei dati e nella connettività hanno creato quantità di dati senza precedenti. Il Data Mining e il Machine Learning, cioè la scienza dell'estrazione di conoscenza da queste masse di dati, si sono quindi affermati come un ramo interdisciplinare dell'informatica. Il corso introdurrà le basi dell'apprendimento automatico e delle previsioni dai dati. Un'attenzione particolare è dedicata alle moderne architetture di Reti Neurali Profonde. L'obiettivo del corso è fornire agli studenti una conoscenza di base sia dei fondamenti teorici sia degli aspetti pratici del data mining e del machine learning, con attenzione al processo complessivo di estrazione della conoscenza e ai suoi problemi ingegneristici.