- 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.
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. Le applicazioni includono la predizione in condizioni di informazione incompleta, la classificazione, l’analisi di serie temporali, la diagnosi, l'ottimizzazione, l’identificazione e il controllo di sistemi, l’analisi esplorativa dei dati e molti altri problemi in statistica, machine learning e data mining.
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
· Calcolo SVM
· Kernels
Apprendimento bayesiano
· Introduzione
· 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
Reti neurali profonde (Deep Learning)
· Introduzione
· Tecniche di riferimento
Prerequisiti
Conoscenze di base su algoritmi e strutture di dati.
Elementi di calcolo delle probabilità e statistica
Modalità didattica
Il corso consisterà di usuali lezioni frontali ed esercitazioni, e attività di laboratorio.
Le lezioni sono tenute in italiano.
Materiale didattico
(in fase di definizione)
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, ciascuna valida per il 50% del voto, e si svolge secondo le seguenti regole:
- Prova scritta con domande teoriche e semplici esercizi. Per accedere all’orale è necessario ottenere un punteggio >= 6 nella prova scritta;
- Prova orale centrata sulla discussione di un progetto svolto in un piccolo gruppo;
2-1. la valutazione del progetto si basa sulla qualità complessiva dell’elaborato e sulla qualità del contributo del singolo studente;
2-2. lo svolgimento della prova orale può prevedere anche alcune domande di contenuto specifico sul programma dell'insegnamento.
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.
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. Applications include prediction, classification, fault detection, time series analysis, diagnosis, optimization, system identification and control, exploratory data analysis and many other problems in statistics, machine learning and data mining.
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
· Computation in SVM
· Kernels
Bayesian Learning
· Introduction
· Bayes theorem
· Naive Bayes classifier
Unsupervised learning techniques
· k-means algorithm
Performance evaluation
· evaluation for supervised techniques
· evaluation for clustering
Deep neural network (Deep Learning)
· Introduction
· Main reference models
Prerequisites
Basic knowledge of algorithms and data structures.
Elements of probability and statistics
Teaching form
The course will consist of usual lectures and exercise sessions, and laboratory sessions.
The course is taught in Italian.
Textbook and teaching resource
(being defined)
Semester
First semester
Assessment method
Overall the exam is split in a written test and a oral discussion, each determining 50% of the score, along the following rules:
- Written test with open questions on theory and simpe exercises. To continue to the oral discussion this test must earn a score >=6;
- Oral discussion mainly dedicated to a project prepared by the student (or by a small group of students);
2-1. the project is evaluated based on its overall quality and on the quality of the individual contribution of the student;
2-2. during the oral discussion the student could be required to answer some questions about course's contents.
Office hours
by requiring an appointment