Parallel Frequent Set Counting

Documenti analoghi
Parallel Frequent Set Counting

Lecture 14. Association Rules

Pattern Sequenziali. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna

Regole associative Mario Guarracino Laboratorio di Sistemi Informativi Aziendali a.a. 2006/2007

Giuseppe Manco. Readings: Chapter 6, Han and Kamber Chapter 14, Hastie, Tibshirani and Friedman. Association rules mining

Verifica 3 aprile Soluzioni

Regole associative. Il problema della scoperta di regole associative può essere espresso come segue Sia I = {i 1

5. La Market Basket Analysis

Regole associative. Regole associative. Regole associative. Regole associative

Esercizi sull Association Analysis

Esercizi vari. Alberto Montresor. 19 Agosto, 2014

Università di Pisa A.A

Memorizzazione di una relazione

Informatica 3. Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Lezione 21 - Modulo 1. Introduzione (1) Introduzione (2) Ricerca:

Ingegneria della Conoscenza e Sistemi Esperti Lezione 2: Apprendimento non supervisionato

FILE E INDICI Architettura DBMS

Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento

Regole di associazione

Architetture Evolute nei Sistemi Informativi. architetture evolute 1

n n 1 n = > Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita

Gestione ed Elaborazione di Grandi Moli di Dati. Scritto 29/08/2006: SOLUZIONI

GARA5 SECONDARIA DI SECONDO GRADO INDIVIDUALE

Laboratorio - Programmazione

Basi di Dati Parallele

Implementazione della ricerca dell informazione in documenti non strutturati

Array ( vettore/matrice Un dato strutturato. indice Accesso diretto

come segue: data una collezione C di elementi e una un elemento che verifica la proprietà P

Geometria analitica di base. Equazioni di primo grado nel piano cartesiano Funzioni quadratiche Funzioni a tratti Funzioni di proporzionalità inversa

Algoritmi di rimpiazzamento. Algoritmo con rimpiazzamento casuale

Compito di Informatica Grafica 2 appello 02/02/2009. Nome e Cognome Numero di Matricola

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Algoritmi

Silvia Rossi. Algoritmi di Ordinamento. Informatica. Lezione n. Parole chiave: Bubble Sort Selection Sort. Corso di Laurea:

Regole di Associazione: algoritmi

Scoperta di sequenze di comportamento

Esercitazione su Instruction Level Parallelism Salvatore Orlando

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso

5.1 Metodo Branch and Bound

Algoritmi di Ricerca. Esempi di programmi Java. Prof. Angela Bonifati

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI

Towards Robust Indexing for Ranked Queries

Regole di Associazione

Architetture data-flow

Algoritmi. Andrea Passerini Informatica. Algoritmi

COMPLESSITÀ COMPUTAZIONALE. Fondamenti di Informatica A - Massimo Bertozzi

Matroidi, algoritmi greedy e teorema di Rado

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi. Bruschi Martignoni Monga. Gestione della memoria. Sistemi multiprogrammati. Partizioni fisse Partizioni variabili Paginazione

Sistemi Operativi. Bruschi Martignoni Monga. File system Astrazioni utente Metadati Tecniche implementative. Sistemi Operativi

Ordinamento di una lista: bubble-sort

Algoritmi e Strutture Dati Geometria Computazionale. Daniele Loiacono

Progetto Matematica in Rete - Insiemi - Insiemi

PASCAL: I VETTORI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Prof. Venturino Taggi

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini

Assegnazione di una variabile

Insiemi Specifiche, rappresentazione e confronto tra realizzazioni alternative.

Indice Prefazione Funzionalit `a e architettura dei DBMS La gestione della memoria permanente e del buffer Organizzazioni seriale e sequenziale

Criteri da tenere a mente

Algoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio

Databases. Architettura di un DBMS: Struttura ad indice per i files, B + -Trees

Studio degli algoritmi

Algoritmi di ordinamento

Algoritmi. Andrea Passerini Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile

Esercitazione 5 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016

Programmazione Concorrente, Parallela e su Cloud

Sistemi Operativi FILE SYSTEM : INTERFACCIA. D. Talia - UNICAL. Sistemi Operativi 8.1

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

I Componenti del processo decisionale 7

Studio di tecniche di accesso ai dati dell esperimento CMS a LHC: il caso dell axigluone

3.4 Metodo di Branch and Bound

Modello Booleano e Liste Inverse. M. Diligenti Sistemi Gestione Documentale 1

LABORATORIO DI ALGORITMI E STRUTTURE DATI A-L. Ingegneria e scienze informatiche Cesena A.A: 2016/2017 Docente: Greta Sasso

Piano cartesiano e Retta

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

Sistemi operativi e distribuiti

Esercitazione su Instruction Level Parallelism

Progetto e analisi di algoritmi

Laboratorio di algoritmi e strutture dati

Esercizi di Programmazione Lineare

POLITECNICO DI MILANO ESAME DI INFORMATICA 3 Prof.ssa Sara Comai Laurea On Line Anno Accademico 2003/2004 II Prova in itinere

Misura della performance di ciascun modello: tasso di errore sul test set

BASI DI DATI DISTRIBUITE

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Progetto del processore e supporto del processore al SO (interruzioni eccezioni) Salvatore Orlando

Partizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché

Mandelbrot. Mandelbrot set. Progetto del corso di Calcolo Parallelo AA Salvatore Orlando. L insieme di Mandelbrot è un frattale

Sistemi Operativi (modulo di Informatica II) L interfaccia del file system

Lista di esercizi 11 maggio 2016

Hackerando la Macchina Ridotta

Basi di dati II, primo modulo 24 giugno 2011 Compito breve

Capitolo 8 - Silberschatz

Programma svolto di INFORMATICA. Classe 3M - indirizzo MERCURIO A.S. 2010/2011

Modello Booleano e Liste Inverse SGD / BDM 1

Transcript:

Parallel Frequent Set Counting Progetto del corso di Calcolo Parallelo AA 2010-11 Salvatore Orlando 1

Cosa significa association mining? Siano dati un insieme di item un insieme di transazioni, ciascuna contenete un sottoinsieme di item Vogliamo trovare regole/associazioni del tipo: if I1 then I2 (sup, conf) dove: I1, I2 sono insieme di item (itemset) I1, I2 hanno un sufficiente supporto: P(I1+I2) è il supporto La regola associativa ha sufficiente confidenza: P(I2 I1) è la confidenza 2

Association mining L utente specifica l interesse delle regole: Minimum support (minsup) Minimum confidence (minconf) 1. Frequent Set Countint (FSC): Trova tutti gli itemset frequenti (>= minsup) Spazio di ricerca esponenziale Molto costoso sia per quanto riguarda Computazione e I/O 2. Genera regole Solo regole associative forti (>= minconf) Passo poco costoso 3

Apriori (Frequent Set Counting) Colleziona i conteggi degli item singoli seleziona solo gli item più frequenti Individua le coppie candidate ed effettua i conteggi seleziona solo le coppie più frequenti Individua le triple candidate ed effettua i conteggi seleziona solo le triple più frequenti E così via Principio guida: tutti i sottoinsiemi di un itemset frequente sono anch essi frequenti Questo principio è usato da Apriori per effettuare il pruning dei candidati 4

Illustriamo il principio di Apriori Senza pruning C i = C 1 = 6 C 2 = 15 C 3 = 20 Con pruning: 6+6+2=14 5

Contare gli itemset frequenti Gli itemset frequenti sono individuati contando quanti candidati appaiono in ciascuna delle transazioni del database Per velocizzare il conteggio, bisogna velocizzare la ricerca dei vari candidati all interno di ciascuna transazione Esistono vari metodi, che fanno affidamento dell ordinamento degli item all interno delle transazioni e degli itemset Item rappresentati tramite identificatori numerici 6

Prima iterazione di Apriori m: gli identificatori numerici associati agli item vanno da 1 a m D: file delle transazioni t: generica transazione F 1 : set dei set frequenti di lunghezza 1 7

Loop principale C k : itemset candidati di lunghezza k L algoritmo Apriori termina all iterazione k se non si individuano itemset frequenti, oppure se non si trovano candidati 8

Generazione dei candidati con pruning Gli itemset in F k e C k sono ordinati c C k se e solo se tutti i k-1-itemset c c appartengono a F k-1 Condizione necessaria affinché un k-itemset c possa appartenere a C k se esiste una coppia di itemset di F k-1 che con c condividano un identico prefisso di k-2 elementi La condizione diventa sufficiente se tutti i sottoinsiemi di k-1 elementi di c appartengono a F k-1 9

Ordinamento Item come numeri Transazioni a formato variabile ciascuna transazione è una lista di interi ordinati in maniera crescente Itemset (itemset sia candidati e sia frequenti) ordinati F k e C k come vettori di itemset Vettori ordinati lessicograficamente Ordinamento di F k-1 utile per rendere più efficiente la costruzione di C k Più semplice individuare prefissi Ordinamento di C k utile per rendere più efficiente la ricerca dei candidati, e quindi la fase di conteggio 10

Ordinamento e conteggio L ordinamento degli item può essere sfruttata per determinare i candidati contenuti in una certa transazione Vengono usate strutture dati complesse per memorizzare i candidati e velocizzare la ricerca Hash-tree o Prefix-tree Vogliamo qui suggerire un metodo più semplice da implementare Sia data una transazione ordinata t={t 0, t 1, t 2,.,t z-1 }, z = t i 2-prefix dei possibili k-itemset ordinati presenti in t coppie ordinate (I 0,I 1 ), dove I 0 t e I 1 t se I 1 = t j allora in t esistono al massimo z-j-1 item che possono essere usati per costruire un k-itemset contenuto in t quindi, se z-j-1 < k-2, allora (I 0,I 1 ) non può essere un 2-prefix ammissibile 11

Ordinamento e conteggio: subset_and_count(c k, t) Tail di t t={t 0, t 1, t 2, t 3,.,t z-1 } C k Counts I 0 I 1 Per ogni (I 0, I 1 ) Effettua una ricerca binaria su C k per individuare l inizio del segmento composto da candidati (k-itemset) con prefisso: (I 0, I 1 ) ad esempio: ricerca (t 0, t 2 ) Scorri sequenzialmente il segmento per controllare se ciascun candidato è un sottoinsieme di Tail di t, e aggiorna eventualmente i contatori associati Segmento di C k con uno stesso 2-prefix (I 0, I 1 ) 12

Tecniche di parallelizzazione Consideriamo che Il Dataset può essere grande (elaborazione su disco) Per valori piccoli di minsup si ottengono molti candidati Data parallelism Partiziona solo il Database di Transazioni Partiziona anche i Candidati 13

Count Distribution (CD) Partiziona solo il Database di Transazioni Replica i candidati e conta in maniera distribuita Approccio noto come Count Distribution (CD) Ogni processore ha il completo insieme di candidati C k Ogni processore aggiorna i suoi contatori locali Riduzione globale per determinare il valore dei contatori NOTA: Se C k è troppo grande rispetto alla memoria, possono essere necessari scan multipli del database 14

Count Distribution (esempio iterazione 2) 15

Data Distribution (DD) Partiziona non solo il Database, ma anche i Candidati Ogni partizione dei candidati deve essere confrontata con l intero Dataset Partizioni dei dati comunicati fra tutti i processori Comunicazione finale per conoscere l F k globale, necessario per costruire C k+1 Alto costo di comunicazione Approccio utile quando i candidati diventano troppi e non possono essere mantenuti in memoria Anello per comunicare le partizioni tra i processori Shift sull anello e ed conteggio rispetto alla partizione remota ricevuta Tanti shift quanti sono i processori Possibile overlapping tra calcolo e comunicazione 16

Data Distribution (DD) 17

Data Distribution (DD) 18

Cluster di WS Architettura adatta per questo tipo di problema, in quanto le comunicazioni introdotte da questo algoritmo sono limitate Dischi multipli, utili per contenere i dati in ingresso / uscita dell algoritmo di FSC Di seguito, due modi per configurare il cluster Shared Nothing Shared Disk Considerare anche il load balancing Architetture eterogenee, o multiprogrammate 19

Valutazione Alcuni data set sono disponibili su: http://fimi.cs.helsinki.fi/data/ Formato Ascii Una transazione per linea (terminata da newline) item come numeri non-negativi, separati da bianchi ogni transazione è ordinata in modo crescente Bisogna fornire uno studio di prestazioni dato un supporto e un dataset, come cambia il tempo di esecuzione al variare del grado di parallelismo n i tempi di esecuzione aumentano abbassando il supporto minimo impostato curve di speedup e efficienza al variare di n 20