- Machine Learning
- Summary
Course Syllabus
Obiettivi
Il corso si propone di introdurre gli elementi di base e di fornire i concetti e gli strumenti fondamentali, basati su metodi computazionali, per rappresentare l’apprendimento, la conoscenza e il ragionamento in condizioni di incertezza.
Lo studente sarà in grado di progettare e sviluppare strumenti software basati su tecniche di apprendimento automatico (machine learning) per risolvere semplici problemi di analisi di dati, knowledge discovery e supporto alle decisioni in presenza di informazione incerta o incompleta.
Gli obiettivi specifici rispetto ai Descrittori di Dublino (DdD) sono i seguenti:
1. Conoscenza e capacità di comprensione
- le basi teoriche dell’apprendimento automatico;
- la comprensione dei principali modelli (alberi di decisione, reti neurali, SVM, modelli bayesiani, k-means, ecc.);
2. Conoscenza e capacità di comprensione applicate
- progettare e sviluppare strumenti software basati su modelli di machine learning;
- applicare metodi di classificazione supervisionata e non supervisionata a problemi reali;
3. Autonomia di giudizio
- selezionare i metodi più appropriati in relazione alla natura del problema e dei dati;
- valutare la qualità delle soluzioni proposte in base ai risultati ottenuti dai modelli rispetto a metriche di performance;
- analizzare criticamente le assunzioni dei modelli (es. separabilità lineare, indipendenza delle variabili) e i risultati ottenuti rispetto a tali assunzioni.
4. Abilità comunicative
- comunicare le scelte progettuali e metodologiche in modo argomentato
- presentare e discutere in modo chiaro i risultati di un progetto in sede di prova orale;
- lavorare in gruppo, condividendo conoscenze.
5. Capacità di apprendere
- sviluppare capacità autonome di studio attraverso il completamento di assignment facoltativi derivanti da attività di laboratorio focalizzate all'uso di modelli di machine learning
Contenuti sintetici
Il corso fornirà una approfondita presentazione della vasta collezione di metodi e strumenti che si sono resi disponibili negli anni per lo sviluppo di sistemi autonomi di apprendimento e di supporto alla analisi di dati multivariati. Questi strumenti comprendono gli alberi di decisione, le reti neurali, le macchine a vettori di supporto, così come algoritmi di classificazione non supervisionata e combinazioni sempre più sofisticate di queste architetture. Si presenteranno esempi di recenti applicazioni.
Programma esteso
Introduzione e terminologia
Concept learning
· Alberi di decisione
· Algoritmo ID3
Reti neurali
· Il percettrone; separabilità lineare
· Algoritmo di apprendimento del percettrone
· Delta rule. Concetto di discesa del gradiente
· Il percettrone multistrato
· Algoritmo di retropropagazione dell'errore
Support vector machines
· Separazione ottima
· Hard and Soft SVM
· Kernels
Apprendimento bayesiano
· Teorema di Bayes
· Classificatore bayesiano ingenuo
Apprendimento non supervisionato
· L'algoritmo k-means
Valutazione dei risultati dell'apprendimento
· valutazione per i metodi supervisionati
· valutazione del clustering
Prerequisiti
Conoscenze di base su algoritmi e strutture di dati.
Elementi di calcolo delle probabilità e statistica.
Modalità didattica
- 8 lezioni da 2 ore svolte in modalità erogativa in presenza;
- 10 esercitazioni da 2 ore svolte in presenza in modalità 50% erogativa 50% interattiva;
- 12 attività di laboratorio da 2 ore svolte in modalità interattiva in presenza;
Materiale didattico
Materiali riferiti sulla pagina elearning dell'insegnamento
Periodo di erogazione dell'insegnamento
Primo semestre
Modalità di verifica del profitto e valutazione
L'esame consiste di una prova scritta e una prova orale (facoltativa), in accordo alle seguenti modalità:
- Prova scritta: domande teoriche a riposta multipla e a risposta aperta, esercizi e coding. La prova scritta avrà una valutazione da 0 a 28.
- Prova orale (facoltativa): domande di approfondimento su contenuti specifici del programma dell'insegnamento. La prova orale avrà una valutazione da 0 a 4 punti.
Il voto finale sarà determinato come somma tra la prova scritta e la prova orale.
Non sono previste prove in itinere.
Orario di ricevimento
Su appuntamento
Aims
The course aims to introduce the basic elements and provide the basic concepts and tools based on computational methods, to represent the learning, knowledge and reasoning under uncertainty.
The student will be able to design and develop software systems based on machine learning techniques to solve simple problems of data analysis, knowledge discovery and decision support in the presence of uncertain or incomplete information. Acquired skills are the basis for the development of advanced data mining and knowledge discovery and application specific software systems in decision support.
The specific objectives with respect to the Dublin Descriptors (DdD) are the following:
1. Knowledge and understanding
- the theoretical background of machine learning;
- understanding of the main models (decision trees, neural networks, SVM, Bayesian models, k-means, etc.);
2. Applied knowledge and understanding
- design and develop software tools based on machine learning models;
- apply supervised and unsupervised classification methods to real problems;
3. Autonomy of judgment
- select the most appropriate methods in relation to the nature of the problem and the data;
- evaluate the quality of the proposed solutions based on the results obtained by the models with respect to performance metrics;
- critically analyze the assumptions of the models (e.g. linear separability, independence of variables) and the results obtained with respect to these assumptions.
4. Communication skills
- communicate design and methodological choices in a reasoned manner
- present and discuss clearly the results of a project during the oral exam;
- work in a group, sharing knowledge.
5. Learning ability
- develop autonomous study skills through the completion of optional assignments resulting from laboratory activities focused on the use of machine learning models
Contents
The course will provide an in-depth discussion of the large collection of methods and tools that have become available for developing autonomous learning systems and for aiding in the analysis of complex multivariate data. These tools include decision trees, neural networks, belief networks, as well unsupervised clustering algorithms and increasingly sophisticated combinations of these architectures. Examples of recent applications will be introduced.
Detailed program
Introduction and terminology
Concept learning
· Decision trees
· ID3 Algorithm
Neural networks
· perceptron; linear separability
· perceptron learning algorithm
· delta rule and gradient descent
· multilayer perceptron
· error backpropagation
Support vector machines
· Optimal separation
· Hard and Soft SVM
· Kernels
Bayesian Learning
· Bayes theorem
· Naive Bayes classifier
Unsupervised learning techniques
· k-means algorithm
Performance evaluation
· evaluation for supervised techniques
· evaluation for clustering
Prerequisites
Basic knowledge of algorithms and data structures.
Elements of probability and statistics
Teaching form
- 8 frontal lessons of 2 hours each held by the teacher in presence;
- 10 sessions for exercises of 2 hours each held by the teacher in presence, 50% frontal 50% interactive;
- 12 interactive laboratory lessons of 2 hours each held by the teacher in presence;
Textbook and teaching resource
References on the elearning page of this course
Semester
First semester
Assessment method
The exam consists of a written test and an oral test (optional) carried out according to the following methods:
-
Written test: theoretical multiple-choice and open-ended theoretical questions, exercises, and coding. The written exam will be graded from 0 to 28.
-
Oral test (optional): in-depth questions on specific content from the course syllabus. The oral exam will be graded from 0 to 4 points.
The final grade will be determined as the sum of the written test and the oral test.
There are no intermediate tests.
Office hours
by requiring an appointment