La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Seminario Data Mining with Evolutionary Algorithms Andrea Terlizzi Data Mining e Scoperta di Conoscenza.

Presentazioni simili


Presentazione sul tema: "Seminario Data Mining with Evolutionary Algorithms Andrea Terlizzi Data Mining e Scoperta di Conoscenza."— Transcript della presentazione:

1 Seminario Data Mining with Evolutionary Algorithms Andrea Terlizzi Data Mining e Scoperta di Conoscenza

2 2 Levoluzione biologica e… La teoria Darwiniana I principi dellevoluzione: Variazione genetica Selezione naturale Solo i migliori sopravvivono…

3 3 … i problemi computazionali La metafora di fondo Problemi complessi in svariati settori, difficili da affrontare con mezzi analitici: Pianificazione Progettazione Simulazione Machine learning …

4 4 Gli algoritmi evolutivi Il flusso di esecuzione di un tipico algoritmo evolutivo Gli algoritmi evolutivi comprendono: Algoritmi genetici Algoritmi genetici Programmazione genetica Programmazione genetica Strategie evolutive Programmazione evolutiva

5 5 Gli algoritmi genetici (GA) J. Holland (1975) La principale differenza tra gli algoritmi genetici e la programmazione genetica è nelle strutture dati utilizzate. Negli algoritmi genetici gli individui vengono rappresentati tramite stringhe (generalmente di bit)

6 6 La programmazione genetica (GP) J. Koza (1992) Nella programmazione genetica la popolazione è costituita da programmi (rappresentati da alberi di parsing) Funzioni Terminali

7 7 La funzione fitness La funzione fitness definisce i criteri per la classificazione, la selezione e linclusione nelle prossime generazioni degli individui Metodi di selezione: Roulette wheel selection Tournament selection Rank selection …

8 8 Gli operatori genetici

9 9 Variazioni allalgoritmo di base Nel modello classico tutta la popolazione viene sostituita ad ogni generazione. Esistono altri modelli: Steady State: solo alcuni individui vengono sostituiti ad ogni generazione Elitismo: ai migliori individui viene garantita la permanenza nella successiva generazione Modello a isole: si ha un insieme di popolazioni, soggette a fenomeni migratori, che evolvono in maniera autonoma

10 10 Data Mining Tasks Nel Data Mining sono state studiate e sperimentate tecniche genetiche per la risoluzione di problemi quali: Classificazione Clustering Scoperta di regole associative

11 11 Cosa vedremo… GA (GP) e Classification Rules Valutazione della qualità predittiva di regole del tipo IF-THEN GP e Classificazione Analisi e confronto di 5 classificatori GA e Clustering Lalgoritmo K-means geneticamente modificato GA e Association Rules Un metodo per la ricerca di itemsets frequenti

12 12 GA & Classification Rules Una regola di classificazione è una formula logica del tipo: IF cond 1 AND… AND cond n THEN class=c i Antecedente Conseguente Idee base: Le regole candidate sono rappresentate come individui di una popolazione La qualità delle regole è calcolata da una funzione fitness

13 13 GA & Classification Rules Tre problematiche principali: Come definire un individuo per rappresentare una regola IF-THEN Come adattare gli operatori genetici alla gestione delle regole Come progettare la funzione fitness

14 14 Rappresentazione degli individui Due approcci: Michigan1 individuo 1 regola Sintassi semplice Problemi nel valutare insiemi di regole Pittsburgh1 individuo più regole Sintassi complessa Calcolo della fitness più complicato

15 15 Per la parte antecedente (congiunzione di condizioni) Supponendo che un attributo possa assumere k valori discreti, una condizione sul valore dellattributo si codifica con k bit Es. Lattributo Stato_civile può assumere 4 valori: single, sposato, divorziato, vedovo. Occorre, quindi, una stringa di 4 bit. Il valore 0110, ad esempio, rappresenta la seguente regola: IF (Stato_civile=sposato OR divorziato) Rappresentazione degli individui

16 16 Rappresentazione degli individui Per la parte conseguente (classe predetta) Almeno due varianti: Inserire la classe nella codifica dellindividuo Scegliere la classe in maniera deterministica La più predetta Quella che massimizza la fitness

17 17 Gli operatori genetici Poiché non si è in grado di sapere a priori quante condizioni producano una buona regola bisogna trattare individui di lunghezza variabile Loperatore di crossover deve essere modificato, anche per evitare di generare regole illegali Applicando il crossover ai seguenti individui: 1:(Età>25) AND (Stato_civile=sposato) 2:(Lavora=Si) AND (Età<21)

18 18 Gli operatori genetici Potrebbe essere generata la seguente regola, chiaramente non valida: IF (Età>25) AND (Età<21) Per ovviare a questo inconveniente si possono codificare gli attributi nello stesso ordine in cui essi appaiono nel data set, inserendo condizioni vuote se necessario 1:(Età>25) AND (Stato_civile=sposato) AND empty condition 2:(Età<21) AND empty condition AND (Lavora=Si)

19 19 Gli operatori genetici Mutazione generalizzata/specializzata (Età>25) AND (Stato_civile=single) Generalizzazione (Età>21) AND (Stato_civile=single) Specializzazione (Età>30) AND (Stato_civile=single)

20 20 La funzione fitness Requisiti: Accuratezza predittiva Comprensibilità Interesse Per una regola (IF A THEN C): CF (Fattore di confidenza)=|A&C| / |A| |A|=numero di esempi che soddisfano A |A&C|=numero di esempi che soddisfano A ed hanno come classe predetta C

21 21 La funzione fitness La qualità di una regola può essere espressa più accuratamente utilizzando una matrice 2x2, detta matrice di confusione Classe attuale CNot C Classe Predetta CTPFP Not CFNTN

22 22 La funzione fitness Le etichette nei quadranti hanno i seguenti significati: TP (True Positives) = gli esempi che soddisfano sia A che C FP (False Positives) = gli esempi che soddisfano A ma non C FN (False Negatives) = gli esempi che non soddisfano A ma soddisfano C TN (True Negatives) = gli esempi che non soddisfano né A né C Il fattore di confidenza diventa: CF=TP / (TP+FP)

23 23 La funzione fitness La completezza di una regola: Comp=TP / (TP+FN) La comprensibilità varia in base al dominio applicativo. In generale: –condizioni +chiarezza Linteresse è una misura che richiede linterazione con lutente La funzione fitness può essere definita come la somma pesata di queste caratteristiche

24 24 GP & Classification Rules Si considera ora lapproccio Pittsburgh Ogni individuo corrisponde ad un insieme di regole antecedenti codificate in DNF Linsieme dei nodi funzione contiene gli operatori logici: AND, OR e NOT Linsieme dei nodi terminali consiste di tutte le possibili condizioni della forma Attr i =Val ij

25 25 GP & Classification Rules Vengono introdotte alcune restrizioni nella struttura dellalbero: 1) Il nodo radice è sempre un nodo OR 2) Ad eccezione della radice, ogni nodo OR ha come genitore un altro nodo OR e può avere figli di ogni tipo 3) Ogni nodo AND ha come genitore un nodo AND o un nodo OR e può avere come figli AND, NOT o nodi terminali 4) Un nodo NOT può avere come unico figlio un nodo NOT o un nodo terminale 5) Non possono esserci 2 o più nodi terminali riferiti ad uno stesso attributo nella stessa regola (per evitare regole invalide)

26 26 GP & Classification Rules

27 27 Gli operatori genetici Vengono utilizzati gli operatori genetici convenzionali, condizionati dallimpossibilità di generare individui che rappresentino regole illegali Es. GP Crossover

28 28 La funzione fitness Si utilizza come in precedenza la matrice di confusione Se due individui hanno la stessa fitness viene preferito quello con minore complessità Complessità=2*(N° regole + N° condizioni)

29 29 Rule pruning Un apposito operatore rimuove alcune condizioni dallalbero (semplifica e generalizza le regole) Meno una condizione è rilevante e maggiore è la probabilità che venga rimossa

30 30 GP & Classificazione La classificazione è un processo a due fasi: Costruzione di un modello a partire da un insieme di esempi (training set) Utilizzo del modello Stima dellaccuratezza (mediante test set) Classificazione delle istanze ignote

31 31 GP & Classificazione 6 datasets dallUCI Machine Learning Repository, differenti per dominio, taglia e complessità 5 metodi alternativi di classificazione: Binary Decomposition Static Range Selection Dynamic Range Selection Class Enumeration Evidence Accumulation

32 32 GP & Classificazione Gli insiemi delle funzioni e dei terminali vengono standardizzati per avere omogeneità nella costruzione della soluzione in ognuno dei 5 metodi

33 33 GP & Classificazione Un esempio di programma

34 34 Binary Decomposition La programmazione genetica è efficiente per problemi di classificazione binaria Se la classificazione è multiclasse diventa difficile trovare punti di divisione significativi tra le classi In questo metodo il problema multiclasse viene decomposto in un insieme di sottoproblemi binari

35 35 Static Range Selection Dividere le classi in base ad unanalisi intuitiva del problema Caso binario: uguale al precedente (split tra valori positivi e negativi) Caso multiclasse: non cè ottimalità

36 36 Dynamic Range Selection Per ogni individuo (programma) vengono determinati dinamicamente gli intervalli di classe Un sottoinsieme del training set viene utilizzato per ottenere la segmentazione delloutput Per praticità è opportuno fissare un range principale [-X,X] nel quale debbano entrare tutte le classi

37 37 Class Enumeration Vengono apportate alcune modifiche agli insiemi base

38 38 Evidence Accumulation Anche in questo modello vengono introdotti dei cambiamenti Si utilizza un vettore ausiliario che contiene un elemento per ogni classe

39 39 Evidence Accumulation Appositi nodi terminali modificano il valore delle classi La classificazione viene decisa considerando la classe che ha ottenuto il valore più alto

40 40 Analisi dei risultati Datasets Binari Datasets Multiclasse

41 41 Analisi dei risultati I 5 metodi sono stati confrontati con altri 33 classificatori E stato ottenuto un ranking mostrato in tabella (viene indicato il piazzamento in classifica da 1 a 34)

42 42 GA & Clustering Un cluster è una collezione di istanze tali che: le istanze dello stesso cluster sono simili tra loro (alta somiglianza intra-classe) le istanze di cluster diversi sono dissimili (bassa somiglianza inter-classe)

43 43 GA & Clustering Un algoritmo di partizionamento, date n istanze e un numero k, divide le istanze in k partizioni Obiettivo: massimizzare la qualità del clustering Soluzione ottimale: può essere ottenuta enumerando tutte le possibili partizioni.. non è praticabile Soluzione euristica: basata sulla ricerca di minimi locali

44 44 GA & Clustering Il metodo K-means Input: k (numero di clusters), n (oggetti) Scegli k oggetti come centri dei cluster Ripeti Assegna ogni oggetto al cluster il cui centro è più vicino Ricalcola i nuovi centri dei cluster Finchè non cè nessun cambiamento

45 45 Genetic K-means Algorithm (GKA) Combina la semplicità dellalgoritmo k- means e la robustezza degli algoritmi genetici Utilizza due operatori appositi: Loperatore K-means (invece del crossover) La mutazione distance-based

46 46 Genetic K-means Algorithm Sia {x i, i=1,…,n} linsieme degli n pattern (vettori di dimensione d) da partizionare in k cluster Si possono definire i e k delle variabili binarie: 1 se li-esimo pattern appartiene al k-esimo cluster w ik = 0 altrimenti

47 47 Genetic K-means Algorithm Quindi, la matrice W=[w ij ] ha le seguenti proprietà: w ij {0,1} Per codificare W in una stringa, si considera un individuo di lunghezza n, i cui geni possono assumere valori compresi tra 1 e k. Ogni gene corrisponde ad un pattern e il suo valore rappresenta il numero del cluster al quale esso appartiene

48 48 Genetic K-means Algorithm La popolazione iniziale è selezionata casualmente Loperatore selezione sceglie un individuo dalla popolazione secondo la strategia roulette wheel stringa fitness

49 49 Genetic K-means Algorithm In questo contesto il valore di fitness di una stringa dipende dalla variazione totale allinterno del cluster TWCV (detta anche square error) Più lo square error è basso e più il valore di fitness è alto

50 50 Genetic K-means Algorithm Ogni gene subisce una mutazione con probabilità P m Questa probabilità dipende da quanto il dato sia vicino ad un cluster center Loperatore K-means non è altro che lapplicazione di un unico passo dellalgoritmo classico I risultati sperimentali hanno dimostrato che: La mutazione è indispensabile per raggiungere lottimo globale Loperatore K-means aumenta considerevolmente la velocità di convergenza dellalgoritmo

51 51 Genetic K-means Algorithm Input: Mutation Probability P m ; Population size N; Maximum number of generation MAX_GEN; Output: Solution string s*; {Initialize P; gen=MAX_GEN; s*=P 1 ; (P i is the i th string in P) while (gen>0) {Calculate Fitness values of strings in P; P=Selection(P); for i=1 to N, P i =Mutation(P i ); for i=1 to N, K-means(P i ) s=string in P such that the corresponding weight matrix W s has the minimum SE measure; if(S(W s* )>S(W s )), s*=s; gen=gen-1; } output s*; }

52 52 Genetic K-means Algorithm Allaumentare del numero dei cluster, cresce anche il tempo richiesto per raggiungere la partizione ottimale Ciò e dovuto ad uno spazio di ricerca più ampio Il GKA raggiunge sempre lottimo globale

53 53 Fast Genetic K-means Algorithm Successivi studi hanno generato dei miglioramenti allalgoritmo. In particolare: Calcolo più efficiente della TWCV No overhead per leliminazione delle stringhe illegali Semplificazione delloperatore di mutazione Il nuovo algoritmo raggiunge lottimo globale 20 volte più velocemente del GKA

54 54 GA & Association Rules Le regole associative sono uno degli strumenti più utilizzati per scoprire relazioni tra gli attributi di un database Una regola associativa è unimplicazione della forma A B dove A I, B I e A B= (I insieme di items)

55 55 GA & Association Rules Misure che valutano linteresse di una regola A B: Supporto support(A B) = Prob {A B} Confidenza confidence(A B) = Prob {B|A} Obiettivo: determinare le regole con supporto e confidenza superiori ad una soglia data

56 56 GA & Association Rules Itemset: un insieme di attributi appartenenti al database La frequenza di un itemset è il numero di transazioni in cui sono presenti tutti gli elementi di un itemset Frequent Itemset: un itemset la cui frequenza supera la soglia minima di supporto Obiettivo: Ricerca degli itemsets frequenti

57 57 GA & Association Rules Database numerici Regole associative quantitative I valori degli attributi variano allinterno di un intervallo, anziché assumere valori discreti Occorre discretizzare gli attributi, oppure… si può utilizzare un algoritmo genetico!

58 58 Rappresentazione degli individui Un individuo è un k-itemset l i e u i limitano lintervallo a cui può appartenere a i Il numero di attributi di ogni itemset è scelto casualmente tra 2 e il numero di attributi presenti nel database

59 59 Gli operatori genetici Loperatore selezione si basa su una strategia elitarista Il crossover ha leffetto di generare dei nuovi individui aventi attributi e intervalli presi da entrambi gli itemsets genitori: La mutazione consiste nellalterare uno o più intervalli allinterno di un itemset

60 60 La funzione fitness F(i)=cov - (mark* ) – (ampl* ) + (nAttr* ) Contiene 4 misure: Covered (cov): indica il numero di records coperti dallitemset che rappresenta lindividuo Marked (mark): indica che è un record è stato già coperto da un itemset. Il fattore di penalizzazione controlla loverlapping tra gli itemsets Amplitude (ampl): serve a controllare la crescita degli intervalli tramite il fattore Number of Attributes (nAttr): tramite il fattore permette di regolare la quantità degli attributi contenuti in un itemset

61 61 Algoritmo GAR Algoritmo GAR (Genetic Association Rules) nItemset = 0 while (nItemset < N) do nGen = 0 generate first population P(nGen) while (nGen < NGENERATIONS) do process P(nGen) P(nGen+1) = select individuals of P(nGen) complete P(nGen+1) by crossover make mutations in P(nGen+1) nGen++ end_while I[nItemset] = choose the best of P(nGen) penalize records covered by I[nItemset] nItemset++ end_while

62 62 Analisi dei risultati Sono stati utilizzati i seguenti parametri: MinSupport=20% =0,4 =0,7 =0,5

63 63

64 64 Bibliografia 1. T. Mitchell, Machine Learning. 2. J. Han & M. Kamber, Data Mining Techniques. 3. A. Freitas, A Survey of Evolutionary Algorithms for Data Mining and Knowledge Discovery. 4. R. Mendes & F. Voznika & A. Freitas & J. Nievola, Discovering Fuzzy Classification Rules with Genetic Programming and Co- Evolution. 5. T. Loveard & V. Ciesielski, Representing Classification Problems in Genetic Programming. 6. K. Krishna & M. Narashima Murty, Genetic K-means Algorithm. 7. Y. Lu & S. Lu & F. Fotouhi & Y. Deng & S. J. Brown, Fast Genetic K-means Algorithm and its Application in Gene Expression Data Analysis. 8. J. Mata & J.L. Alvarez & J.C. Riquelme, An Evolutionary Algorithm to Discover Numeric Association Rules.


Scaricare ppt "Seminario Data Mining with Evolutionary Algorithms Andrea Terlizzi Data Mining e Scoperta di Conoscenza."

Presentazioni simili


Annunci Google