View syllabus
MACHINE LEARNING
ALESSIO MICHELI
Academic year2023/24
CourseCOMPUTER SCIENCE
Code654AA
Credits9
PeriodSemester 1
LanguageEnglish

ModulesAreaTypeHoursTeacher(s)
MACHINE LEARNINGINF/01LEZIONI72
ALESSIO MICHELI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Gli obiettivi del corso sono di introdurre i principi e i metodi dell'apprendimento da insiemi di dati, con particolare attenzione alle reti neurali e alle loro evoluzioni, oggi alla base della costruzione di sistemi intelligenti e sistemi adattivi in molti domini applicativi innovativi in informatica e in settori interdisciplinari. Il corso intende fornire i fondamenti di Machine Learning  per gli scopi  di costruzione sia di nuovi sistemi intelligenti adattivi sia di modelli predittivi per l'analisi dei dati.
Il corso si focalizza in particolare sull'analisi critica delle caratteristiche per la realizzazione e l'uso appropriato di algoritmi di apprendimento di funzioni da esempi e per la modellazione e la rigorosa valutazione sperimentale.

Lo studente che completa il corso sarà in grado di dimostrare una solida conoscenza dei principali modelli e algoritmi di apprendimento, con enfasi al paradigma delle reti neurali. Sarà inoltre consapevole:
Dell'inquadramento critico delle caratteristiche e limitazioni delle metodologie di apprendimento.
Dei fondamenti teorici: principi induttivi alla base dei processi di apprendimento.
Delle tecniche di validazione e dei domini applicativi.

Knowledge

The course introduces the machine learning principles and models, including basic theory of learning. The course provides the Machine Learning basis for both the aims of building new adaptive Intelligent Systems and powerful predictive models for Intelligent Data Analysis.
The  focus is on the critical analysis of the characteristics for the design and use of the algorithms for learning functions from examples and for the rigorous experimental evaluation.

The student who successfully completes the course will be able to demonstrate a solid knowledge of the main models and algorithms for learning functions from data, with a focus on Neural Networks and related methods. The student will be aware of the general conceptual framework of modern machine learning; of the basic principles of computational learning processes; of rigorous validation techniques; of the critical characteristics for the use of the learning models to design intelligent/adaptive systems and predictive models for data analysis.

Modalità di verifica delle conoscenze

La conoscenza viene verificata attraverso test scritti (pre-test dell'orale), un progetto e un esame orale.

Assessment criteria of knowledge

Knowledge is verified through written tests (oral pre-tests), a project and and an oral exam.

 

Capacità

Capacità di progettare soluzioni a problemi con metodi di reti neurali e apprendimento automatico.
Capacità di analisi e sviluppo di modelli come strumento per problemi complessi e/o per l’avanzamento metodologico.
Capacità di applicazione rigorosa e valutazione sperimentale dei metodi di apprendimento.

Skills

Learn the key concepts and methods behind the design and development of machine learning system.

Capability of analysis and development of  machine learning systems to address a new task and/or to advance the methodolgies.

Ability to apply and to perform a rigorous experimental evaluation of learning methods.

Modalità di verifica delle capacità

Gli studenti sono incoraggiati a sviluppare un progetto con sviluppo di modelli e loro applicazione.
Periodici pre-test intermedi (con politica BYOD) svolti in aula o test finale.
Esame orale.

Assessment criteria of skills

The studens are encouraged to develop a project with development of models and their application.
Intermediate in-class (pre) tests (BYOD policy) scheduled during the semester or final test.
Oral test.

Comportamenti

Consapevolezza dei limiti attuali e delle potenzialità dei sistemi di apprendimento; uso critico dei modelli per problemi reali.

Behaviors

Awareness of current potentiality and  limitations of machine learning based systems. Critical models applications for real problems.

Modalità di verifica dei comportamenti

Gli studenti sono incoraggiati a sviluppare un progetto con sviluppo di modelli e loro applicazione.
Periodici pre-test intermedi (con politica BYOD) svolti in aula o test finale.
Esame orale.

Assessment criteria of behaviors

The studens are encouraged to develop a project with development of models and their application.
I
ntermediate in-class (pre) tests (BYOD policy) scheduled during the semester or final test.
Oral test.

Prerequisiti (conoscenze iniziali)

Analisi matematica: funzioni, calcolo differenziale; algoritmica; algebra lineare (notazione matriciale) e calcolo; elementi di probabilità e statistica.

Co-requisito (in parallelo): Computational mathematics for learning and data analysis

Prerequisites

Elements of mathematical calculus: functions, differential calculus. Algorithms. Elements of matrix calculus and related notations. Elements of probability and statistics.

Co-requisites (in parallel): Computational mathematics for learning and data analysis

Indicazioni metodologiche

I concetti sono introdotti progressivamente a partire dagli approcci più semplici di apprendimento automatico fino ai modelli allo stato dell'arte, sia neurali che ad essi complementari, nell'ambito dell'inquadramento concettuale generale e moderno del machine learning (apprendimento di funzioni da esempi e ricerca in spazi di ipotesi).
Si intende incoraggiare l’utilizzo di una formulazione computazionale dei problemi e dei sistemi di apprendimento.

Le lezioni sono in aula, tipicamente con l'aiuto di diapositive/slides (proiezione). Partecipazione: fortemente consigliata. Metodi didattici: lezioni, test e lavoro di progetto.

 

Teaching methods

The concepts are progressively introduced starting from simpler approaches up to the state-of-the-art models in the general conceptual framework of modern machine learning (learning of functions from examples and search in hypothesis spaces). The focus is on the computational formulation of problems and learning systems.

Learning activities:

  • attending lectures
  • preparation of oral/written tests and report
  • individual study

Delivery: face to face, typically with the help of slides (projection)

Attendance: strongly advised

Teaching methods:

  • Lectures
  • project work
Programma (contenuti dell'insegnamento)
  • Introduzione: Compiti computazionali nell'apprendimento predittivo, apprendimento come approssimazione di funzioni e concetto di generalizzazione.
  • Modelli e concetti di base: Struttura dello spazio delle ipotesi, spazi discreti e continui, bias induttivo, modelli proposizionali e basati su regole (cenni), modelli lineari  (algoritmi di apprendimento e proprietà), nearest neighbor (algoritmi di apprendimento e proprietà), regolarizzazione.
  • Modelli a Reti Neurali: Perceptron e proprietà computazionali. Reti Neurali multistrato feedforward: architetture e algoritmi di apprendimento. Reti profonde. Randomized NN. Reti neurali ricorrenti. Regolarizzazione.
  • Principi dell'apprendimento, aspetti pratici generali e valutazione: Teoria Statistica dell'Apprendimento.  Validazione: model selection e model assessment. Analisi Bias-Variance.
  • Support Vector Machines e modelli a Kernel.
  • Modelli Bayesiani e Grafici.
  • Unsupervised learning: vector quantization, self-organizing map (SOM).
  • Introduzione alle Applicazioni.
  • Introduzione ai modelli avanzati e all'apprendimento in domini strutturati e per grafi.
  • Progetto applicativo: implementazione e uso di modelli ML/NN con enfasi all'applicazione rigorosa delle tecniche di validazione.

Il nuovo programma dettagliato dell'anno in corso sarà rilasciato a lezione.

Syllabus
  • Computational learning tasks for predictions, learning as function approximation, generalization concept.
  • Basic concepts and models: Continuos and discrete hypothesis space, inductive bias, linear and nearest neighbor models (learning algorithms and properties), regularization.
  • Neural Networks (NN) architectures and learning algorithms: Perceptron. Multi-layers feedforward models. Deep models. Randomized NN. Recurrent NN. Regularization.
  • Validation: model selection and model assessment.
  • Principles of learning processes: Elements of Statistical Learning Theory. Bias/variance analysis.
  • Support Vector Machines and Kernels-based models.
  • Probabilistic graphical/Bayesian models.
  • Unsupervised learning: vector quantization, self-organizing map (SOM).
  • Introduction to benchmarks and applications.
  • Introduction to advanced approaches (structured domains, learning on graphs).
  • Applicative project: implementation and use of ML/NN models with emphasis to the rigorous application of validation  techniques.

The new detailed program for the current year will be released to the lessons.

Bibliografia e materiale didattico

Note del corso (fornite dal docente). Ulteriori riferimenti includono:

  • S. Haykin: Neural Networks and Learning Machines, Prentice Hall.
  • T. M. Mitchell: Machine learning, McGraw-Hill.
  • I. Goodfellow, Y. Bengio, A. Courville: Deep Learning, MIT Press.
  • Hastie, Tibshirani, Friedman: The Elements of Statistical Learning,
    Springer Verlag.
  • Ulteriori riferimenti suggeriti nelle note del corso.
Bibliography

Course notes (provided by the instructor). Recommended reading includes the following works; further bibliography will be indicated.

  • S. Haykin: Neural Networks and Learning Machines, Prentice Hall.
  • T. M. Mitchell: Machine learning, McGraw-Hill.
  • I. Goodfellow, Y. Bengio, A. Courville: Deep Learning, MIT Press.
  • Hastie, Tibshirani, Friedman: The Elements of Statistical Learning,
    Springer Verlag.
  • Course slides and further readings suggested in the slides.
Modalità d'esame

La prova scritta è tipicamente basata su (pre)test e materiale di progetto. Nell'esame scritto gli studenti devono dimostrare la propria conoscenza del materiale didattico; nella parte di progetto gli studenti deve riportare la propria esperienza, con una consapevolezza critica, nelle applicazioni e nella valutazione dei modelli di Machine Learning. Gli studenti hanno l'opportunità di sviluppare un progetto (in un team) che realizza un simulatore di un  sistema di apprendimento (in genere una semplice rete neurale) e la sua convalida attraverso benchmarks di riferimento.
Il test scritto è tipicamente completato dal materiale del progetto, incluso codice e un rapporto scritto dei risultati sperimentali presentato in forma di slide durante la prova orale. Il materiale deve è consegnato in anticipo dagli studenti in accordo a scadenze fissate sullla piattaforma e-learning del corso.


Il test orale consiste in un'intervista (eventualmente anche attraverso domande scritte/pre-test) tra il candidato e il docente su tutte le parti del programma e, se utile, nella discussione sul test scritto. Durante l'esame orale l'allievo deve essere in grado di dimostrare la propria conoscenza del materiale didattico e di poter discutere  la letteratura con profondità e correttezza dell'espressione, mostrando anche la capacità di relazionare le varie nozioni acquisite e una consapevolezza sufficiente dei limiti e delle potenzialità dei sistemi di apprendimento automatico. Per accedere all'esame orale, gli studenti devono aver ottenuto un livello sufficiente nelle prove scritte.

News: per questo anno (durante il corso) saranno anche organizzati periodici pre-test intermedi svolti in aula (con politica BYOD, ossia con propri device).

Assessment methods

Methods:

  • Final written exam (or intermediate tests)/ project material (written report)
  • Final oral exam

- In the written exam the students must demonstrate their knowledge of the course material; for the project part the student must report their experience, with critical awareness, in the applications and evaluation of Machine Learning models.  Students have the opportunity to develop a project (within a team) realizing a learning system simulator (typically a simple neural network) and to validate it through benchmarks.
The written test is typically completed by the project material,  including the code and a written report of the experimental results presented in the form of slides during the oral test. The material must be delivered in advance by the students according to deadines indicated in the e-learning platform of the course .

- The oral test consists in an interview (with the possibility of including written questions/pre-test) between the candidate and the course lecturers on all parts of the program and, where appropriate, in the discussion on the written test. During the oral exam the student must be able to demonstrate his/her knowledge of the course material and be able to discuss the reading matter thoughtfully and with propriety of expression, also  showing the ability to relate the various notions acquired and  a sufficient awareness of the limits and potential of learning systems.
To take the oral exam, students must have obtained a sufficient grade in the written test.

News: for this year intermediate in-class (pre) tests (BYOD policy) will be also scheduled during the semester.

Altri riferimenti web

Viene adoperata la piattaforma Moodle (elearning.di.unipi.it).

Ulteriori informazioni sulla modalità delle lezioni e esami  saranno fornite sul sito Moodle del corso e li aggiornate.

 

Additional web pages

We use the Moodle platform (elearning.di.unipi.it).

Further information on the course and exam modality will be provided in the ML Moodle site and updated therein.

Updated: 22/07/2023 18:32