INTRODUZIONE AL DATA MINING

Anno accademico 2022/2023 - Docente: GIOVANNI MICALE

Risultati di apprendimento attesi

Obiettivi formativi generali dell'insegnamento in termini di risultati di apprendimento attesi.

  1. Conoscenza e capacità di comprensione: Il corso mira a formare le conoscenze e le competenze di base per l’analisi, la rappresentazione, e l’organizzazione di dati.
  2. Capacità di applicare conoscenza e comprensione: lo studente acquisirà conoscenze riguardo ai modelli e gli algoritmi per l’analisi dei dati quali: mining ad alto supporto, sistemi di raccomandazione, ricerca di similarità, classificazione, clustering, reti neurali, analisi di reti.
  3. Autonomia di giudizio: Attraverso esempi concreti e casi di studio, lo studente sarà in grado di elaborare autonomamente soluzioni a determinati problemi legati all'analisi dei dati.
  4. Abilità comunicative: lo studente acquisirà le necessarie abilità comunicative e di appropriatezza espressiva nell'impiego del linguaggio tecnico nell'ambito generale dell'analisi dei dati.
  5. Capacità di apprendimento: il corso si propone, come obiettivo, di fornire allo studente le necessarie metodologie teoriche e pratiche per poter affrontare e risolvere autonomamente nuove problematiche che dovessero sorgere durante una attività lavorativa. A tale scopo diversi argomenti saranno trattati a lezione coinvolgendo lo studente nella ricerca di possibili soluzioni a problemi reali, utilizzando benchmark disponibili in letteratura.

Modalità di svolgimento dell'insegnamento

Lezioni frontali.

Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.

Prerequisiti richiesti

Programmazione e strutture dati.

Frequenza lezioni

La frequenza a lezione è fortemente consigliata.

Per seguire meglio le lezioni, delle slide sono messe a disposizione dal docente. 

Le slide non costituiscono un mezzo di studio, ma favoriscono l'apprendimento degli argomenti presentati a lezione.

Per ulteriori approfondimenti sugli argomenti del corso, durante le lezioni verranno indicati riferimenti a libri di testo e risorse online.

Contenuti del corso

Il corso è diviso in due parti, una teorica in cui verranno illustrati i principali problemi di Data Mining e una pratica in cui verrà introdotto il linguaggio R e mostrato come tali problemi possono essere risolti in R. Le due parti saranno portate avanti in parallelo.

Gli argomenti affrontati nel corso sono:

  • Introduzione al Data Mining
  • Richiami su calcolo delle probabilità
  • Linguaggio R
  • Data Mining ad alto supporto (apriori, insiemi frequenti, regole di associazione)
  • Classificazione (alberi decisionali, SVM, classificatori bayesiani, classificatori lazy, estrattori di regole)
  • Clustering (gerarchico, k-means, density-based)
  • Sistemi di raccomandazione
  • Catene di Markov e HMM
  • Introduzione alle reti (Misure di centralità, Coefficiente di Clustering)
  • Modelli random di reti
  • Graph matching
  • Graph mining
  • Reti neurali (Feed-Forward, Convolutional, Recurrent, Long-Short Term Memory)

Nell'ambito del linguaggio R, oltre alle funzioni di base, verranno introdotte diverse librerie per l'analisi dei dati, quali "caret" (per la classificazione), "igraph" (per l'analisi e la visualizzazione di reti) e "keras" (per la costruzione di reti neurali). 

Testi di riferimento

Per la parte teorica sull'analisi dei dati, si farà principalmente riferimento a diversi capitoli del libro:

  • Mining of Massive Datasets, Jure Leskovec, Anand Rajaraman, Jeff Ullman (http://www.mmds.org).

Altri testi di Data Mining suggerito è

  • Data Mining: Concepts and Techniques, Jiawei Han and Micheline Kamber, The Morgan Kaufmann Series in Data Management Systems
  • The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Trevor Hastie,Robert Tibshirani, Jerome Friedman, Springer

Per la parte relativa al calcolo delle probabilità il testo suggerito è:

  • Statistical methods in Bioinformatics: an Introduction (Second Edition), Warren J. Ewens e Gregory R. Grant, Springer.

Per il linguaggio R si può far riferimento al seguente libro di testo disponibile online:

  • The R book (Second Edition), Michael J. Crawley, Wiley (https://www.cs.upc.edu/~robert/teaching/estadistica/TheRBook.pdf).

Programmazione del corso

 ArgomentiRiferimenti testi
1Introduzione al data miningLeskovec Capitolo 1
2Richiami su calcolo delle probabilitàWarren Capitoli 1 e 2
3Linguaggio RMateriale fornito dal docente
4Data Mining ad alto supporto (apriori, insiemi frequenti, regole di associazione)Leskovec Capitolo 6
5Classificazione (alberi decisionali, SVM, classificatori bayesiani, classificatori lazy, estrattori di regole)Leskovec Capitolo 12 + Materiale fornito dal docente
6Clustering (gerarchico, k-means, density-based)Leskovec Capitolo 7
7Sistemi di raccomandazioneLeskovec Capitolo 9
8Catene di Markov e HMMMateriale fornito dal docente
9Introduzione alle reti (Misure di centralità, Coefficiente di Clustering)Materiale fornito dal docente
10Modelli random di retiMateriale fornito dal docente
11Graph matchingMateriale fornito dal docente
12Graph miningMateriale fornito dal docente
13Reti neurali (Feed-Forward, Convolutional, Recurrent, Long-Short Term Memory)Leskovec Capitolo 13

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

L'esame finale consiste in una prova scritta, seguita da una prova orale.

La prova scritta è costituita da tre domande di teoria a risposta aperta su argomenti presentati a lezione.

Il voto ottenuto con la prova scritta è il voto di base dell'esame, che può essere incrementato di 2 o 4 punti con la prova orale, a seconda del tipo di esame orale scelto dallo studente.

La prova orale può essere, a scelta:

  • Un progetto (proposto dallo studente o dal docente, e comunque sempre concordato tra le due parti) che consiste genericamente in un'implementazione pratica (preferibilmente nel linguaggio R visto a lezione) di una soluzione ad un problema di data mining. Col progetto si può ottenere un incremento massimo di 4 punti sul voto base dello scritto.
  • Un seminario (concordato tra studente e docente), che consiste in una breve presentazione (massimo 15 minuti) in power-point del contenuto di un articolo scientifico che approfondisce problemi visti durante il corso. Col seminario si può ottenere un incremento massimo di 2 punti sul voto base dello scritto.

Le due parti dell'esame (prova scritta e prova orale) possono essere sostenute in qualsiasi ordine e anche in sessioni d'esame diverse.

Il progetto, una volta assegnato, dovrà essere completato entro 3 mesi.

Salvo diversa comunicazione, la prova scritta si svolgerà alle ore 11:00 e avrà durata di 1 ora.

Note:

  • È vietato l'uso di qualsiasi strumento hardware (calcolatrici, tablet, smartphone, cellulari, auricolari BT etc.), di libri o documenti personali durante la prova scritta.
  • Per sostenere gli esami è obbligatorio prenotarsi utilizzando l'apposito modulo del portale CEA.
  • Non sono ammesse prenotazioni tardive tramite email. In mancanza di prenotazione, l'esame non può essere verbalizzato.
  • La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere, con la prova scritta rimpiazzata da una prova orale con 3 domande a risposta aperta sui contenuti del corso (Learning assessment may also be carried out on line, should the conditions require it.)

Esempi di domande e/o esercizi frequenti

Esempi di domande per l'esame scritto, progetti o seminari saranno illustrati a lezione.