Anno di corso: 1

Anno di corso: 2

Crediti: 6
Crediti: 6
Crediti: 6
Tipo: A scelta dello studente
Crediti: 12
Tipo: A scelta dello studente
Crediti: 33
Tipo: Lingua/Prova Finale

DATA TECHNOLOGY AND MACHINE LEARNING

Scheda dell'insegnamento

Anno accademico di regolamento: 
2018/2019
Anno di corso: 
1
Anno accademico di erogazione: 
2018/2019
Tipo di attività: 
Obbligatorio
Lingua: 
Italiano
Crediti: 
12
Ciclo: 
Primo Semestre
Ore di attivita' didattica: 
104
Prerequisiti: 

E' utile una conoscenza delle tematiche dei modelli dei dati, relazionale e Entità Relazione, del linguaggio SQL e delle metodologie di progettazione di basi di dati

*********

Conoscenze di base su algoritmi e strutture di dati.

Elementi di calcolo delle probabilità e statistica

Moduli

Metodi di valutazione

Tipo di esame: 
Orale
Modalita' di verifica dell'apprendimento: 

Prove scritte

Project work semplici e complessi, da soli o in gruppo, facoltativi o obbligatori, con e senza premio

Prove orali

Colloquio di discussione sulle scritto

Colloquio sugli argomenti svolti a lezione

************

L'esame consiste di una prova scritta e una prova orale, integrata con quella del modulo di Data Technology, e si svolge secondo le seguenti regole:

1. Prova scritta con domande teoriche e semplici esercizi. Per accedere all’orale è necessario ottenere un punteggio >= 6 nella prova scritta.

2. Gli orali dei due moduli di Data Technology e Machine Learning sono svolti nella stessa data.

3. Gli orali dei due moduli di Data Technology e Machine Learning hanno come prima parte comune la discussione di un progetto svolto in un piccolo gruppo.

4. La valutazione del progetto per i due moduli si basa sulla qualità complessiva dell’elaborato e sulla qualità del contributo del singolo studente.

5. Lo svolgimento della prova orale può prevedere anche alcune domande di contenuto specifico sia sul programma del modulo di DT, sia su quello di ML.

Valutazione: 
Voto Finale

Obiettivi formativi

Il corso intende fornire allo studenti consocenza sul ciclo di vita del dato e sui sistemi di gestione di basi di dati nei sistemi informativi tradizionali, osservandone la evoluzione dai sistemi centralizzati verso i sistemi distrubuiti e federati. Gl iaspetti tecnologici affrontati permettono allo studente di orientarsi nelle attività di progettazione.

Gli aspetti di gestione vengon approfonditi nei temi di data governance, dove si approfndiscono le tematiche di integrazione dati, fusione dati e assessment d iqualità dei dati.

Infine la consocenza si estende alle tecnologie di gestione per big data, in cui i problemi di scalabilità delle tecniche e di eterogeneità dei tipi di dati diventano più rilevanti rispetto ai sistemi tradizionali, con la adozione di basi di documenti, dati a grafo e linked open data.

*********

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 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

Ciclo di vita del dato, fasi di gestione e di analisi

La gestione dei dati nei sistemi di gestione tradizionali

Evoluzione dei sistemi di gestione da centralizzati a distribuiti e federati

Data governance

La gestione dei dati nella evoluzione verso i big data

***********

Il corso fornirà una approfondita presentazione della vasta collezione di nuovi metodi e strumenti che si sono resi disponibili negli ultimi 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, i modelli di Markov nascosti, 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

Sistemi di basi di dati tradizionali

· Sistemi di basi di dati centralizzati

· Sistemi distribuiti

· Sistemi replicati

· Sistemi federati

· Sistemi di data Warehouse

· Sistemi di Data integration

La data governance

· Il record linkage

· Un ambiente per record linkage

· La qualità dei dati

· Un ambiente per la qualità dei dati

Evoluzione delle basi di dati verso i big data

· Architetture e modelli NoSQL

· Key value databases

· Document based DBMSs

· Graph Databases

· Linked Open Data

· Big Data
********
Concept learning

· Il concetto di feature. Feature selection.

Alberi di decisione

· Information Gain

· Algoritmo ID3

Reti neurali

· Il percettrone

· Algoritmo di apprendimento del percettrone

· Teorema di convergenza

· Separabilità lineare

· Delta rule. Concetto di discesa del gradiente

· Il percettrone multistrato

· Algoritmo di retropropagazione dell'errore

Support vector machines

· Separazione ottima

· Kernels

Apprendimento bayesiano

· Introduzione

· Teorema di Bayes

· Esempio

· Ipotesi MAP e ML

· Minimum Description Length

· Classificatore bayesiano ottimo

· Classificatore bayesiano ingenuo

· l’algoritmo EM

Apprendimento non supervisionato

· L'algoritmo k-means

· L'algoritmo Neighbor Joining

Deep Learning

Bibliografia consigliata

slided pubblicate sulla piattaforma elearning

********

S. Marsland, Machine Learning: An Algorithmic Perspective, CRC Press

Kevin Gurney, An Introduction to Neural Networks. CRC Press

Metodi didattici

Lezioni frontali ed esercizi, interventi di aziende

********

Il corso consisterà di lezioni frontali ed esercitazioni.