MATEMATICA E INFORMATICAInformaticaAnno accademico 2023/2024

1014455 - BIG DATA

Docente: ALFREDO PULVIRENTI

Risultati di apprendimento attesi

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 LeskovecAnand RajaramanJeff Ullman

http://www.mmds.org

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.

 Il voto è espresso su una scala di trenta, fino a un massimo di 30/30 e lode.

Per l'assegnazione del voto finale si terrà conto dei seguenti parametri:

 

Esempi di domande e/o esercizi frequenti

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


English version