- Oggetto:
- Oggetto:
Data Mining: Modellazione Statistica e Apprendimento Automatico dei Dati
- Oggetto:
Data Mining, Statistical Modeling and Machine Learning
- Oggetto:
Anno accademico 2025/2026
- Codice attività didattica
- FIS0180
- Docente
- Tiziana Sanavia (Titolare del corso)
- Corso di studio
- Laurea Magistrale Interateneo in Fisica dei sistemi complessi
- Anno
- 1° anno, 2° anno
- Periodo
- Secondo Semestre
- Tipologia
- C=Affine o integrativo
- Crediti/Valenza
- 6
- SSD attività didattica
- FIS/07 - fisica applicata (a beni culturali, ambientali, biologia e medicina)
- Erogazione
- Tradizionale
- Lingua
- Inglese
- Frequenza
- Obbligatoria
- Tipologia esame
- Orale
- Tipologia unità didattica
- corso
- Prerequisiti
-
Analisi matematica, algebra lineare, elementi di statistica e probabilità.Analysis, linear algebra, elements of statistics and probability.
- Propedeutico a
-
- Oggetto:
Sommario insegnamento
- Oggetto:
Obiettivi formativi
L'insegnamento si pone l'obiettivo di fornire competenze di base per l'analisi e la modellazione statistica dei dati, con speciale attenzione alle tecniche di apprendimento automatico (machine learning) in contesti sia descrittivi che predittivi. Le lezioni hanno un forte carattere interdisciplinare e coprono argomenti tradizionalmente trattati in corsi di laurea di informatica e statistica. Un importante obiettivo dell'insegnamento è la conoscenza operativa delle tecniche e degli algoritmi trattati. Le lezioni teoriche si alterneranno perciò ad esercitazioni al computer.
The objective of the course is to achieve base competences for training and testing standard machine learning algorithms. The course will be highly interdisciplinary, covering topics traditionally taught in computer science or statistics courses. An important goal of the course is to achieve the capability of using the studies algorithms in practical settings. The course will therefore alternate theory lesson and exercise sessions using personal computers.
- Oggetto:
Risultati dell'apprendimento attesi
- compresione teorica dei fondamenti dell'apprendimento automatico (machine learning) dai dati
- capacità di usare alcune librerie Python per il machine learning nel contesto di semplici applicazioni
- theoretical understanding of the fundamentals of machine learning
- ability to use a few Python libraries for machine learning for simple applications
- Oggetto:
Programma
- Il processo di 'learning' e formalizzazione del problema di apprendimento automatico.
- L'architettura degli algoritmi di apprendimento automatico: struttura del modello, scoring e ricerca
- criteri di fattibilità per l'apprendimento, la teoria della generalizzazione, il limite di generalizzazione di Vapnik-Chervonenkis
- Modelli lineari: classificazione lineare, regressione lineare, metodo dei minimi quadrati, regressione logistica, trasformazioni non lineari.
- Funzioni costo e algoritmi di ottimizzazione con gradient descent
- Introduzione alle reti neurali: backpropagation, ottimizzazione e tuning degli iperparametri
- La penalizzazione della complessità del modello, il trade-off approssimazione-generalizzazione, bias e varianza, la curva di apprendimento.
- Overfitting e Regolarizzazione: complessità del modello e overfitting, regolarizzatori comunemente utilizzati, regolarizzazione nelle reti neurali.
- Validazione e Cross-Validation: set di validazione, validazioni leave-one-out e K-fold
- Kernel, moltiplicatori di lagrange e Support Vector Machines (hard e soft margin)
- Information theory e alberi di decisione, introduzione alle random forests e out-of-bag error, bagging e boosting
- Maximum likelihood estimation e inferenza bayesiana. Il classificatore Naive Bayes.
- Il problema della Curse of Dimensionality, tecniche di fattorizzazione lineare e decomposizioni matriciali. Singular Value Decomposition. Analisi delle componenti principali e Nonnegative Matrix Factorization.
- Representation learning e spazi latenti. Uniform manifold approximation and projection (UMAP) e t-distributed stochastic neighbor embedding (t-SNE). Autoencoders e Varational autoencoders.
- Approcci non-supervisionati: custering gerarchico e K-means. Algoritmi Model e Density Based. Indici Interni, Indici Esterni e altre misure di bontà degli algoritmi di clustering.
- Implementazione degli algoritmi trattati nel corso in linguaggio Python.
- The process of ‘learning’ and formalization of the machine learning problem.
- The architecture of machine learning algorithms: model structure, scoring and search
- feasibility criteria for learning, generalization theory, the Vapnik-Chervonenkis generalization bound
- Linear models: linear classification, linear regression, least squares method, logistic regression, nonlinear transformations.
- Cost functions and optimization algorithms with gradient descent
- Introduction to neural networks: backpropagation, optimization and hyperparameters' tuning
- Model complexity penalty, the approximation-generalization trade-off, bias and variance, the learning curve.
- Overfitting and Regularization: model complexity and overfitting, commonly used regularizers, regularization in neural networks.
- Validation and Cross-Validation: validation sets, leave-one-out and K-fold validations.
- Kernel, lagrange multipliers and Support Vector Machines (hard and soft margin)
- Information theory and decision trees, introduction to random forests and out-of-bag error, bagging and boosting
- Maximum likelihood estimation and Bayesian inference. The Naive Bayes classifier.
- The Curse of Dimensionality problem, linear factorization techniques and matrix decompositions. Singular Value Decomposition. Principal Component Analysis and Nonnegative Matrix Factorization.
- Representation learning and latent spaces. Uniform manifold approximation and projection (UMAP) and t-distributed stochastic neighbor embedding (t-SNE). Autoencoders and Varational autoencoders.
- Non-supervised approaches: hierarchical custering and K-means. Model and Density Based Algorithms. Internal Indices, External Indices and other goodness-of-fit measures of clustering algorithms.
- Implementation of the algorithms covered in the course in Python language.
- Oggetto:
Modalità di insegnamento
La parte teorica si svolge in aula alla lavagna con diapositive.
La parte pratica si svolge nei laboratori didattici.
The lessons will be done using the blackboard and/or slides.
The practical exercises will necessitate the use of computers.
- Oggetto:
Modalità di verifica dell'apprendimento
L’esame orale include sia domande di teoria e presentazione di una prova pratica.
La prova sulla pratica include un mini-progetto finale e un esercizio. I dettagli saranno dati durante il corso.
- Il mini-progetto finale dovrà essere consegnato in formatto notebook, in una piattaforma online scelta dagli insegnanti. Potrà essere realizzato in gruppi di 2, massimo 3 studenti.
- La consegna dell'esercizio è obbligatòria e dovrà essere fatta usando la piattaforma scelta dagli insegnanti per condivisione di notebooks.
The oral examination includes both theory questions and presentation of a practice test.
The practice test includes a final mini-project and exercise. Details will be given during the course.
- The final mini-project is to be delivered in notebook format, in an online platform chosen by the teachers. It may be done in groups of 2, maximum 3 students.
- The delivery of the exercise is mandatory and must be done using the platform chosen by the teachers for sharing notebooks.
- Oggetto:
Attività di supporto
Testi consigliati e bibliografia
- Oggetto:
- Yaser S. Abu-Mostafa, Malik Magdon-Ismail, Hsuan-Tien Lin, "Learning from Data", AMLBook 2012
- Yaser S. Abu-Mostafa, Malik Magdon-Ismail, Hsuan-Tien Lin, "Learning from Data", AMLBook 2012
- Oggetto:
Note
Le esercitazioni richiedono la capacità di scrivere ed eseguire semplici programmi in Python. La conoscenza del linguaggio di programmazione Python non è richiesta ma ci si aspetta che gli studenti si impegnino per acquisire una sufficiente competenza nell'uso di Python in parallelo alle lezioni.
The exercises require the ability to write and execute simple Python programs. Experience with the Python programming language is not required, but it is expected that students will commit to achieve a working knowledge of the Python language through self-study.
- Oggetto:
Orario lezioni
Giorni Ore Aula Lunedì 14:00 - 17:00 Venerdì 9:00 - 13:00 Lezioni: dal 24/02/2025 al 06/06/2025
Nota: Lezioni aula info B.
- Registrazione
- Aperta
- Oggetto: