BIG DATA
Anno accademico 2024/2025 - Docente: ALFREDO PULVIRENTIRisultati 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.
- 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.
- 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.
- 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.
- 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.
- 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
Frequenza obbligatoria.
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
- Mining alto supporto:
- apriori
- sue estensioni: PCY, estensioni iceberg
- generazione degli insiemi frequenti senza il calcolo dei candidati
- Sistemi di raccomandazione:
- collaborative filtering
- NBI
- Modelli ibridi
- Map-Reduce:
- Concetti, motivazioni e algoritmi:
- conteggio parole documenti, prodotto vettore/matrice; Prodotto matrice/matrice; Join; Group By
- hadoop
- Beyond map-reduce
- Ricerca di similarità su alte dimensioni:
- Shingling
- Min-Hashing
- LSH
- Min-LSH
- Dimensionality reduction:
- PCA
- SVD
- CUR
- Applicazione LSI
- Teorema di Johnson-Lindenstrauss
- Link Analysis:
- PageRank
- Link spam
- Hub-Authorities
- Applicazioni su Map-Reduce
- Web Advertising:
- Algoritmi online
- Adword e sue implementazioni
- Graph mining e network analysis:
- Modelli di reti Random
- Conteggio triangoli
- subgraph matching e motif finding
- community detection: overlapping communities
- Network alignment
- Text mining
- Cenni sul text mining: TF.IDF, Bag-Of-Word, Entity annotation
- Collegamento con dimensionality reduction
Testi di riferimento
Programmazione del corso
Argomenti | Riferimenti testi | |
---|---|---|
1 | Introduzione, Map Reduce, Spark | Capitoli 1 e 2 + materiale didattico integrativo |
2 | Mining di insiemi frequenti | Capitolo 6 + materiale didattico integrativo |
3 | Similarità ad alte dimensioni. Locality sensitive Hashing (LSH). | Capitolo 3 + materiale didattico integrativo |
4 | Attività pratica su LSH e sue applicazioni | Capitolo 3 + materiale didattico integrativo |
5 | Dimensionality reduction. PCA, SVD, CUR, NNMF | Capitolo 11 + materiale didattico integrativo |
6 | Attività pratica su dimensionality reduction. | Capitolo 11 + materiale didattico integrativo |
7 | Sistemi di raccomandazione. Latent Semantic Indexing, Collaborative filtering e Network based inference, | Capitolo 9 + materiale didattico integrativo |
8 | Attività pratica su sistemi di raccomandazione. | Capitolo 9 + materiale didattico integrativo |
9 | Link Analysis: PageRank Link spam Hub-Authorities Applicazioni su Map-Reduce | Capitolo 5 + materiale didattico integrativo |
10 | Analisi di Grafi di grandi dimensioni. Conteggio triangoli subgraph matching e motif finding, community detection: overlapping communities Network alignment | Capitolo 10 + materiale didattico integrativo |
11 | Attività pratica su motif finding su grafi di grandi dimensioni. Applicazioni in Finanza. | Capitolo 10 + materiale didattico integrativo |
12 | Web Advertising: Algoritmi online Adword e sue implementazioni | Capitolo 8 è materiale didattico integrativo |
13 | Text mining. TF.IDF, Entity annotation | Materiale didattico integrativo |
14 | Attività pratica su text mining e sistemi di raccomandazione per analisi di banche dati citazioni: arxiv, pubmed | Materiale 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:
- l'esame scritto si svolge alle ore 9:00
Note:
- È vietato l'uso di qualsiasi strumento hardware (calcolatrici, tablet, smartphone, cellulari, auricolari BT etc.), di libri o documenti personali durante gli esami (scritti).
- 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.
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:
- Punteggio 29-30 e lode: Lo studente dimostra una conoscenza approfondita degli argomenti, integra prontamente e correttamente e analizza criticamente le situazioni presentate, risolvendo autonomamente problemi anche molto complessi. Possiede ottime capacità comunicative e padroneggia con competenza il linguaggio medico-scientifico.
- Punteggio 26-28: Lo studente ha una buona comprensione degli argomenti, è in grado di integrare e analizzare criticamente e logicamente le situazioni presentate, è in grado di risolvere in modo abbastanza indipendente problemi complessi e presenta gli argomenti in modo chiaro utilizzando un linguaggio medico-scientifico appropriato.
- Punteggio 22-25: Lo studente ha una discreta comprensione degli argomenti, anche se limitata alle aree principali. È in grado di integrare e analizzare criticamente le situazioni presentate, anche se non sempre in modo lineare, e presenta gli argomenti in modo abbastanza chiaro con una moderata competenza linguistica.
- Punteggio 18-21: Lo studente ha una conoscenza minima degli argomenti, possiede una modesta capacità di integrare e analizzare criticamente le situazioni presentate e presenta gli argomenti in modo sufficientemente chiaro, sebbene la sua competenza linguistica possa essere poco sviluppata.
- Esame non superato:Lo studente non ha la conoscenza minima richiesta dei contenuti fondamentali del corso. La capacità di usare un linguaggio specifico è minima o inesistente e lo studente non è in grado di applicare autonomamente le conoscenze acquisite.
Gli studenti con disabilità e/o DSA dovranno contattare con sufficiente anticipo rispetto alla data dell'esame il docente e il referente CInAP del DMI per comunicare che intendono sostenere l'esame fruendo delle opportune misure compensative.
Esempi di domande e/o esercizi frequenti
Esempi saranno pubblicati sul portale www.studium.unict.it