95662 - INTRODUCTION TO MACHINE LEARNING

Anno Accademico 2024/2025

  • Docente: Stefano Pagliarani
  • Crediti formativi: 6
  • SSD: MAT/06
  • Lingua di insegnamento: Inglese
  • Moduli: Stefano Pagliarani (Modulo 1) Giovanni Paolini (Modulo 2)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
  • Campus: Bologna
  • Corso: Laurea in Matematica (cod. 8010)

    Valido anche per Laurea Magistrale in Matematica (cod. 5827)

Conoscenze e abilità da conseguire

Alla fine del corso, gli studenti avranno acquisito una solida comprensione delle principali tecniche di machine learning. Avranno le competenze per applicare e adattare efficacemente questi metodi in diverse situazioni. Inoltre, gli studenti saranno dotati di conoscenze fondamentali dei concetti probabilistici che sottendono questi metodi.

Contenuti

- Introduzione al machine learning. Problemi di regressione e classificazione. Supervised, unsupervised e reinforcement learning. Overfitting e regolarizzazione.

- Basi di teoria dell'informazione.

- Modelli lineari per supervised learning.

- Unsupervised learning: clustering, modelli latenti, fattorizzazione di matrici.

- Modelli probabilistici.

- Reti neurali, backpropagation, discesa del gradiente.

- Deep learning, reti convoluzionali, transformer.

- Language models.

- Alcuni argomenti avanzati come: kernel models, diffusion models, large language models, AlphaGo, AlphaTensor.


Testi/Bibliografia

- Christopher Bishop, Pattern Recognition and Machine Learning

- Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola, Dive into Deep Learning

- Christopher Bishop, Deep Learning

- Richard S. Sutton and Andrew G. Barto, Reinforcement Learning: An Introduction

- Dan Jurafsky and James H. Martin, Speech and Language Processing

Metodi didattici

- Lezioni frontali alla lavagna e/o con le slides.

- Attività di programmazione e simulazione in laboratorio.

Modalità di verifica e valutazione dell'apprendimento

Consegna di un progetto finale in Python, da svolgere in gruppo, seguita da colloquio orale volto alla verifica del contributo individuale dei singoli studenti.

Strumenti a supporto della didattica

- Ricevimento e tutorato.

- Note in PDF su alcune parti del programma.

- Sessioni di laboratorio sotto la supervisione di un tutor.

Orario di ricevimento

Consulta il sito web di Stefano Pagliarani

Consulta il sito web di Giovanni Paolini