mail unicampaniaunicampania webcerca

    Serena CRISCI

    Insegnamento di METODI NUMERICI PER IL MACHINE LEARNING

    Corso di laurea magistrale in MATEMATICA

    SSD: MATH-05/A

    CFU: 8,00

    ORE PER UNITÀ DIDATTICA: 72,00

    Periodo di Erogazione: Primo Semestre

    Italiano

    Lingua insegnamento

    Italiano

    Contenuti

    L’insegnamento introduce metodologie e algoritmi per il machine learning. Il programma affronta: (1) Rappresentazione e compressione dei dati (2) Metodi del gradiente e del gradiente stocastico ; (3) Metodi per problemi regolarizzati; (4) Metodi per l’apprendimento supervisionato.

    Testi di riferimento

    Fessler, J. A., & Nadakuditi, R. R. (2024). Linear algebra for data science, machine learning, and signal processing. Cambridge university press.
    Golub, G. H., & Van Loan, C. F. (2013). Matrix computations. JHU press.
    Nocedal, J., & Wright, S. J. (2006). Numerical optimization. New York, NY:Springer New York.
    Bottou, L., Curtis, F. E., Nocedal, J. (2018). Optimization methods for large-scale machine learning. SIAM review, 60(2), 223-311.
    Appunti e materiale didattico fornito dal docente sulla piattaforma e-learning di Ateneo.

    Obiettivi formativi

    Al termine dell’insegnamento, lo studente dovrà aver acquisito:

    Conoscenza e capacità di comprensione:  Comprendere i concetti fondamentali delle metodologie numeriche applicate a problemi di machine learning; Conoscere i principali modelli, gli algoritmi risolutivi e le loro proprietà matematiche (risultati di convergenza, complessità computazionale, criteri di arresto).

    Utilizzazione delle conoscenze e capacità di comprensione:  Saper selezionare e applicare correttamente a problemi reali i metodi studiati utilizzando strumenti software appropriati (MATLAB, Python).

    Capacità di trarre conclusioni (Autonomia di giudizio):  Valutare criticamente la robustezza e affidabilità delle soluzioni ottenute e interpretare i risultati nel contesto del problema reale.

    Abilità comunicative: Saper esprimere formulazioni matematiche di problemi di machine learning, saper illustrare i metodi e gli strumenti appropriati per la loro risoluzione, saper comunicare i risultati ottenuti utilizzando un linguaggio tecnico-scientifico adeguato.

    Capacità di apprendere:  Disporre degli strumenti metodologici per approfondire autonomamente tecniche numeriche avanzate e nuove applicazioni del mondo reale.

    Prerequisiti

    Si raccomanda la conoscenza solida dell’algebra lineare e dell’analisi matematica e la conoscenza di base di programmazione.

    Metodi didattici

    L’insegnamento prevede 72 ore totali (8 CFU).
    L’insegnamento consiste in lezioni frontali articolate in moduli teorici frontali e moduli laboratoriali, incluse attività di "learning by doing", simulazioni e applicazione pratica delle conoscenze acquisite.

    La frequenza non è obbligatoria ma è fortemente consigliata.

    Modalità di verifica dell'apprendimento

    La verifica consiste in una prova orale e nella discussione di un elaborato computazionale individuale.
    La prova orale, articolata in domande, è finalizzata a verificare la comprensione dei principali concetti, metodi e risultati teorici affrontati durante il corso.
    L'elaborato computazionale consiste nello studio e nell'implementazione di uno o più metodi numerici presentati durante il corso, applicati a un problema di Machine Learning. L'elaborato dovrà comprendere la formulazione matematica del problema, la descrizione degli algoritmi utilizzati, l'analisi dei risultati numerici e un confronto critico tra i metodi considerati.
    Durante la discussione, lo studente dovrà essere in grado di motivare le scelte effettuate, interpretare i risultati ottenuti e collegare il comportamento numerico osservato alle proprietà teoriche degli algoritmi.
    Per essere ammessi alla valutazione, gli studenti devono presentare un documento d'identità valido.
    Struttura della valutazione: 
    I voti sono espressi in trentesimi. Il punteggio minimo richiesto è 18/30. Il voto massimo è 30/30 e lode.

    Parametri di valutazione: La valutazione considera: (1) correttezza della formulazione matematica, (2) capacità di applicazione del metodo appropriato al problema in esame e dei concetti teorici correlati, (3) qualità dell’interpretazione dei risultati, (4) uso del lessico specialistico.


    Altre informazioni

    Il materiale didattico, gli script e gli esercizi saranno resi disponibili dal docente.

    Programma esteso

    Rappresentazione e compressione dei dati: Introduzione ai dati ad alta dimensionalità. Decomposizione ai valori singolari (SVD), SVD troncata. Nonnegative Matrix Factorization (NMF), approssimazionia rango basso. Applicazioni ed esempi.
    Ottimizzazione per il Machine Learning:
    Metodi di discesa del gradiente, scelta della lunghezza del passo, teoremi diconvergenza, complessità computazionale e criteri di arresto. Gradiente Stocastico (SGD) e varianti: Mini-batch SGD, momentum, algoritmi adattivi (Ada-Grad, RMSProp, Adam); scelta del learning rate e risultati di convergenza (caso convesso, caso non convesso). Cenni ai metodi di aggregazione del gradiente (SVRG, SAGA, incremental gradient).
    Metodi per problemi regolarizzati: Problemi mal posti e overfitting: motivazioni della regolarizzazione in ambienti ad alta dimensionalità. Regolarizzazione di Tikhonov (L2) e Lasso (L1). Cenni ai metodi di ottimizzazione non liscia: metodi di gradiente prossimale (ISTA, FISTA) e ADMM.
    Metodi per l’apprendimento supervisionato: Formulazione dei problemi di apprendimento supervisionato: funzioni di costo/perdita. Support Vector Machines (SVM). Dualità di Wolfe e condizioni KKT nella formulazione duale. SVM lineari, SVM non lineari, funzioni Kernel. Reti Neurali. Architetture di base: il neurone formale, algoritmi di addestramento del Perceptron.Reti multistrato, proprietà di approssimazione. Algoritmo di Backpropagation. Aspetti numerici nell’addestramento profondo: Exploding/vanishing gradients, tecniche di inizializzazione dei pesi e regolarizzazione (Dropout, Batch Normalization). Introduzione ad architetture avanzate.

    English

    Teaching language

    Italian

    Contents

    The course introduces methodologies and algorithms for machine learning. The syllabus covers: (1) data representation and compression; (2) gradient and stochastic gradient methods; (3) methods for regularized problems; and (4) methods for supervised learning.


    Textbook and course materials

    Fessler, J. A., & Nadakuditi, R. R. (2024). Linear algebra for data science, machine learning, and signal processing. Cambridge university press.
    Golub, G. H., & Van Loan, C. F. (2013). Matrix computations. JHU press.
    Nocedal, J., & Wright, S. J. (2006). Numerical optimization. New York, NY:Springer New York.
    Bottou, L., Curtis, F. E., Nocedal, J. (2018). Optimization methods for large-scale machine learning. SIAM review, 60(2), 223-311.
    Lecture notes.

    Course objectives

    At the end of the course, students are expected to have acquired the following knowledge and skills:
    Knowledge and understanding:
    Understand the fundamental concepts of numerical methodologies applied to machine learning problems. Gain knowledge of the main models, solution algorithms, and their mathematical properties, including convergence results, computational complexity, and stopping criteria.
    Applying knowledge and understanding:
    Be able to select and correctly apply the methods studied to real-world problems, using appropriate software tools such as MATLAB and Python.
    Making judgements:
    Be able to critically assess the robustness and reliability of the solutions obtained and interpret the results in the context of the problem under consideration.
    Communication skills:
    Be able to formulate machine learning problems mathematically, explain the methods and tools appropriate for their solution, and communicate the results obtained using appropriate technical and scientific language.
    Learning skills:
    Acquire the methodological tools necessary to independently study advanced numerical techniques and explore new applications to real-world problems.

    Prerequisites

    A solid knowledge of linear algebra and mathematical analysis, as well as basic programming skills, is strongly recommended.


    Teaching methods

    The course consists of 64 hours of instruction (8 ECTS credits).
    The course is structured into theoretical lectures and laboratory sessions, including learning-by-doing activities, simulations, and hands-on applications of the knowledge acquired.
    Attendance is not mandatory but is strongly recommended.

    Assessment methods

    Assessment methods
    The assessment consists of an oral examination and a discussion of an individual computational project.
    The oral examination is aimed at assessing the student’s understanding of the main concepts, methods, and theoretical results covered in the course.
    The computational project consists of the study and implementation of one or more numerical methods presented during the course, applied to a machine learning problem chosen by the student. The project must include the mathematical formulation of the problem, a description of the algorithms used, an analysis of the numerical results, and a critical comparison of the methods considered.
    During the discussion, students are expected to justify their methodological choices, interpret the results obtained, and relate the observed numerical behaviour to the theoretical properties of the algorithms.
    To be admitted to the assessment, students must present a valid identity document.
    Assessment structure:
    Grades are expressed on a scale of 30. The minimum passing grade is 18/30. The maximum grade is 30/30 with honours (cum laude).
    Assessment criteria:
    The assessment takes into account: (1) correctness of the mathematical formulation; (2) ability to select and apply the appropriate method to the problem under consideration and to use the related theoretical concepts; (3) quality of the interpretation of the results; and (4) appropriate use of specialist terminology.


    Other information

    Teaching materials, scripts, and exercises will be provided by the instructor.

    Detailed syllabus

    Data Representation and Compression:
    Introduction to high-dimensional data. Singular Value Decomposition (SVD) and truncated SVD. Nonnegative Matrix Factorization (NMF). Low-rank approximations. Applications and examples.
    Optimization for Machine Learning:
    Gradient descent methods, step-size selection, convergence theorems, computational complexity, and stopping criteria. Stochastic Gradient Descent (SGD) and its variants: mini-batch SGD, momentum, and adaptive algorithms (AdaGrad, RMSProp, Adam). Learning-rate selection and convergence results in the convex and non-convex settings. Introduction to gradient aggregation methods (SVRG, SAGA, incremental gradient).
    Methods for Regularized Problems:
    Ill-posed problems and overfitting: motivations for regularization in high-dimensional settings. Tikhonov () regularization and Lasso (). Introduction to nonsmooth optimization methods: proximal gradient methods (ISTA, FISTA) and ADMM.
    Methods for Supervised Learning:
    Formulation of supervised learning problems: cost and loss functions. Support Vector Machines (SVMs). Wolfe duality and Karush–Kuhn–Tucker (KKT) conditions in the dual formulation. Linear and nonlinear SVMs, kernel functions. Neural networks: basic architectures, the formal neuron, and Perceptron training algorithms. Multilayer networks and approximation properties. Backpropagation algorithm. Numerical aspects of deep learning: exploding and vanishing gradients, weight initialization techniques, and regularization methods (Dropout, Batch Normalization). Introduction to advanced architectures.


    facebook logoinstagram buttonyoutube logotype