BIG DATA

INF/01 - 6 CFU - 2° semestre

Docente titolare dell'insegnamento

ALFREDO PULVIRENTI


Obiettivi formativi

Il corso introduce le principali tecniche di data mining. Il focus è sul mining di grandi quantità di dati, tali da non entrare in memoria principale. I diversi esempi presentati durante il corso riguarderanno il web, le social network e i dati Next Generation Sequencing prodotti in ambito biomedico. Inoltre il corso affronta la tematica anche dal punto di vista degli algoritmi, enfatizzando la differenza dal machine-learning. Tra gli argomenti affrontati troviamo, in primo luogo tool quali, map-reduce, per lavorare in ambito distribuito con grandi quantità di dati. Tale argomento farà da denominatore comune in tutte le problematiche di mining presentate. Successivamente viene affrontato il problema della ricerca di similarità e dell’uso delle tecniche di hashing per grandi volumi di dati. Si affronta anche il problema classico del mining ad alto supporto descrivendo l’algoritmo apriori e le sue varianti. Saranno quindi introdotti i sistemi di raccomandazione. In tale contesto si affronterà pure il problema dei dati ad alta dimensionalità e le tecniche riduzione della dimensionalità quali, SVD, CUR, NNMF. Il corso introdurrà quindi le tematiche principali nell’analisi delle network. Verranno introdotte le misure di centralità per le network, con particolare riferimento al page-rank e alle sue varianti. Sarà introdotto il concetto di modello nullo di network in grado di conservare le caratteristiche della rete quali, distribuzione dei degree e coefficiente di clustering. Tra i modelli presentati troveremo: Erdos-Renyi, Chung-Lu, Preferential Attachment. Sarà affrontato il problema del clustering attraverso l’uso delle tecniche basate su modularità e clustering spettrale.

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

  1. Conoscenza e capacità di comprensione (knowledge and understanding): Il corso mira a formare le conoscenze e le competenze di base ed avanzate per l’analisi per la rappresentazione, l’organizzazione e l’analisi di grandi quantità di dati.
  2. Capacità di applicare conoscenza e comprensione (applying knowledge and understanding): 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à ad alte dimensioni, map-reduce e spark, complex network analysis, text mining e sistemi per il tagging di documenti.
  3. Autonomia di giudizio (making judgements): Attraverso esempi concreti e casi di studio, lo studente sarà in grado di elaborare autonomamente soluzioni a determinati problemi legati ai big data.
  4. Abilità comunicative (communication skills): lo studente acquisirà le necessarie abilità comunicative e di appropriatezza espressiva nell'impiego del linguaggio tecnico nell'ambito generale dei big data.
  5. Capacità di apprendimento (learning skills): 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 e laboratorio.

 

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, strutture dati, algoritmi su grafi, concetti di base di probabilità e statistica.



Frequenza lezioni

Le risorse principali messe a disposizione dello studente sono le lezioni frontali, la cui frequenza è fortemente consigliata.

Per seguire meglio le lezioni, vengono messe a disposizione le slide utilizzate per il corso. Le slide non costituiscono un mezzo di studio: forniscono un dettaglio puntuale sugli argomenti trattati a lezione.



Contenuti del corso



Testi di riferimento

Mining of Massive Datasets

Jure Leskovec, Anand Rajaraman, Jeff Ullman

http://www.mmds.org


Altro materiale didattico

Il materiale didattico sarà pubblicato su www.studium.unict.it



Programmazione del corso

 ArgomentiRiferimenti testi
1Introduzione, Map Reduce, SparkCapitoli 1 e 2 + materiale didattico integrativo  
2Mining di insiemi frequentiCapitolo 6 + materiale didattico integrativo  
3Similarità ad alte dimensioni. Locality sensitive Hashing (LSH). Capitolo 3 + materiale didattico integrativo 
4Attività pratica su LSH e sue applicazioniCapitolo 3 + materiale didattico integrativo 
5Dimensionality reduction. PCA, SVD, CUR, NNMFCapitolo 11 + materiale didattico integrativo 
6Attività pratica su dimensionality reduction. Capitolo 11 + materiale didattico integrativo  
7Sistemi di raccomandazione. Latent Semantic Indexing, Collaborative filtering e Network based inference,Capitolo 9 + materiale didattico integrativo 
8Attività pratica su sistemi di raccomandazione.Capitolo 9 + materiale didattico integrativo  
9Link Analysis: PageRank Link spam Hub-Authorities Applicazioni su Map-ReduceCapitolo 5 + materiale didattico integrativo 
10Analisi di Grafi di grandi dimensioni. Conteggio triangoli subgraph matching e motif finding, community detection: overlapping communities Network alignmentCapitolo 10 + materiale didattico integrativo 
11Attività pratica su motif finding su grafi di grandi dimensioni. Applicazioni in Finanza.Capitolo 10 + materiale didattico integrativo 
12Web Advertising: Algoritmi online Adword e sue implementazioniCapitolo 8 è materiale didattico integrativo 
13Text mining. TF.IDF, Entity annotationMateriale didattico integrativo 
14Attività pratica su text mining e sistemi di raccomandazione per analisi di banche dati citazioni: arxiv, pubmedMateriale didattico integrativo  


Verifica dell'apprendimento


MODALITÀ DI VERIFICA DELL'APPRENDIMENTO

L'esame finale consiste in una prova scritta ed un colloquio orale nel quale viene discusso un progetto.

La prova scritta è costituita da esercizi e domande di teoria.

Chi non supera la prova scritta, non può sostenere l'orale. La prova scritta può essere visionata prima delle prove orali.

Salvo diversa comunicazione:

Note:

 

La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.


ESEMPI DI DOMANDE E/O ESERCIZI FREQUENTI

Esempi saranno pubblicati sul portale www.studium.unict.it




Apri in formato Pdf English version