- Matematica Numerica per il Machine Learning
- Introduzione
Syllabus del corso
Obiettivi
In coerenza con gli obiettivi formativi del Corso di Studio, in questo insegnamento vengono fornite agli studenti le conoscenze riguardanti alcune teorie matematiche e numeriche che stanno alla base del Machine Learning.
L'implementazione dei metodi avverrà utilizzando Python e/o l'ambiente di calcolo MATLAB (fornito dall'Ateneo con licenza individuale per tutti gli studenti). Alla fine del corso, con i codici sviluppati lo studente acquisirà l'abilità di implementare algoritmi elementari di Machine Learning e di comprendere parte della matematica dietro gli algoritmi.
Contenuti sintetici
- Formulazione matematica di problemi di regressione "generalizzati"
- Classificazione
- Reti Neurali
- Apprendimento e allenamento delle Reti Neurali
Programma esteso
Formulazione matematica di problemi di regressione "generalizzati"
- Richiami di Calcolo delle Probabilità
- Regressione Lineare. Model assessment e selezione: Minimizzazione Empirica, Spazio delle ipotesi, Scambio Bias-Varianza;
- Reproducing Kernel Hilbert Spaces (RKHS), Regolarizzazione, Interpretazione Bayesiana.
Classificazione
- Strumenti di algebra lineare numerica: Singular value decomposition (SVD) a approssimazione low rank;
- Principal Component Analysis (PCA) e Kernel extension;
- Introduzione alla Linear Discriminant Analysis (LDA). Non-negative Matrix Factorization (NMF);
- Support Vector Machine (SVM) e Kernel Extension, Image mining, classificatori Tree based, Tree regression.
Reti Neurali
- Motivazione e Definizione. Rappresentazione Matematica (Neuroni, Reti Neurali Artificiali, Reti Neurali Artificiali Feedforward)
- Proprietà di Approssimazione, Approssimazione Universale, Classi di Regolarità, Generative Adversarial Network
Apprendimento e allenamento delle Reti Neurali
- Apprendimento delle Reti Neurali: Motivazione, Regressione/Classificazione;
- Ottimizzazione Numerica: Funzioni Loss , back propagation;
- Metodi di Discesa del Gradiente, Metodi Stochastic di Discesa del Gradiente, metodi del gradiente accelerati, metodi del secondo ordine, ottimizzazione e regolarizzazione vincolata (L2 , L1, sparsa);
- Going Deep: Deep Learning. Vantaggi e Svantaggi. Regolarizzazione, Reti Neurali Convoluzionali.
Laboratorio:
Implementazione in MATLAB e/o in Python di:
- Reti neurali Feed Forward
- Algoritmo di Back Propagation
- Metodo di discesa del Gradiente Stocastico
Applicazioni al riconoscimento di immagini artificiali e naturali
Utilizzo di toolbox MATLAB e/o Python per: - Reti neurali convoluzionali
Prerequisiti
Gli insegnamenti di matematica di base del corso di Laurea Triennale in Matematica.
Modalità didattica
Lezioni e Laboratorio Informatico (8 CFU)
Materiale didattico
Il materiale didattico sarà fornito dai docenti durante il corso.
Periodo di erogazione dell'insegnamento
2° semestre
Modalità di verifica del profitto e valutazione
L'esame è diviso in due parti:
- scrittura e presentazione di un progetto;
- esame orale.
Il voto è in trentesimi. L'esame si considera superato solo in entrambe le parti viene conseguita la sufficienza (18/30); le due parti concorrono in egual misura alla votazione finale.
Il progetto valuta l'abilità dello studente a risolvere problemi o affrontare argomenti nuovi utilizzando gli strumenti teorici e i codici sviluppati durante il corso. Viene incoraggiato il lavoro di gruppo (max 3 studenti) e premiata la qualità dell'esposizione.
Nella prova (orale o scritta) viene valutata la conoscenza e comprensione delle definizioni, dei risultati delle dimostrazioni e degli algoritmi presentati in aula, con particolare rilievo riguardo al rigore delle argomentazioni. Verranno inoltre valutate la competenza e la padronanza della materia richiedendo di individuare gli aspetti essenziali degli argomenti esposti.
Sono previsti 5 appelli d'esame (giugno, luglio, settembre, gennaio, febbraio).
Orario di ricevimento
Su appuntamento.
Sustainable Development Goals
Aims
In line with the educational objectives of the Master Degree in Mathematics, the course aims to provide the knowledge of the mathematical and numerical methodologies and (available) theories underlying some machine learning techniques.
The techniques and algorithms will be implemented in Python and/or MATLAB, and with the developed codes the students will have the ability to implement elementary algorithms of Machine Learning and to comprehend how more advanced algorithms work.
Contents
- Mathematical Foundations of "General" Regression Problems
- Classification
- Neural Networks
- Neural Network Learning and Training
Detailed program
Mathematical Foundations of "General" Regression Problems
- Review of probability basics;
- Linear regression. Model assessment and selection: Empirical Minimization, Hypothesis Space, Bias-Variance Tradeoff;
- Reproducing Kernel Hilbert Spaces (RKHS), Regularization, Bayesian Interpretation.
Classification
- Some Numerical Linear Algebra Tools: Singular value decomposition (SVD) and low rank approximation;
- Principal Component Analysis (PCA) and Kernel extension;
- Introduction to Linear Discriminant Analysis (LDA). Non-negative Matrix Factorization (NMF);
- Support Vector Machine (SVM) and Kernel Extension, Image mining, Tree based classifiers, Tree regression.
Neural Networks
- Motivation and Definition. Mathematical Representation (Neurons, Artificial Neural Networks, Artificial Feedforward Neural Networks)
- Approximation properties, Universal Approximation, Regularity classes, theory-to-practice Generative Adversarial Network
Neural Network Learning and Training
- Neural Network Learning: Motivation, Regression/Classification;
- Numerical Optimization: Loss functions, back propagation;
- Gradient Descent methods, Stochastic gradient descent methods, accelerated gradient methods, second order methods, constrained optimization and regularization (L2 , L1, sparse);
- Going Deep: Deep Learning. Pros and Cons. Regularization, Convolutional Neural Networks.
CS Laboratory:
Implementation in MATLAB and/or Python of:
- Feed Forward Neural Networks;
- Back Propagation Algorithm;
- Stochastic gradient descent
Applications to artificial and natural images recognition.
Use of MATLAB and/or Python toolbox for: - Convolutional Neural Networks
Prerequisites
Basic courses of the Laurea Triennale.
Teaching form
Lectures (face to face) and CS Laboratory (8 CFU)
Textbook and teaching resource
The teaching material will be made available by the instructors during the course.
Semester
2ⁿᵈ semester
Assessment method
The evaluation of the course has two parts:
1- the development of a small project
2- an oral exam.
Mark is out of thirty. The student need to reach at least 18/30 in both parts to pass the exam. the final mark is the average of the two partial marks.
The aim of the project is to validate the knowledge and capabilities of the students to use the theoretical and practical instruments developed during the course. Students are encouraged to work on the project in groups of at most three people.
The oral exam will evaluate the knowledge and understanding of the results and rigorous proofs developed in the course and the capacity to comprehend how the algorithms work.
There will be 5 exam sessions (in June, July, September, January, February).
Office hours
By appointment
Sustainable Development Goals
Scheda del corso
Staff
-
Blanca Pilar Ayuso De Dios
-
Alessandro Russo