1 / 64

Seminario

Data Mining e Scoperta di Conoscenza. Seminario. Data Mining with Evolutionary Algorithms. Andrea Terlizzi. L’evoluzione biologica e…. La teoria Darwiniana I principi dell’evoluzione: Variazione genetica Selezione naturale Solo i migliori sopravvivono…. … i problemi computazionali.

Download Presentation

Seminario

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. L’evoluzione biologica e… • La teoria Darwiniana • I principi dell’evoluzione: • Variazione genetica • Selezione naturale Solo i migliori sopravvivono…

  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. Gli algoritmi evolutivi • Il flusso di esecuzione di un tipico algoritmo evolutivo • Gli algoritmi evolutivi comprendono: • Algoritmi genetici • Programmazione genetica • Strategie evolutive • Programmazione evolutiva

  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) 1000111110000100 0011011010011010 0001110010111001 1110001000010111

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

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

  8. Gli operatori genetici

  9. Variazioni all’algoritmo 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. 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. 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 • L’algoritmo K-means “geneticamente” modificato • GA e Association Rules • Un metodo per la ricerca di itemsets frequenti

  12. GA & Classification Rules • Una regola di classificazione è una formula logica del tipo: IF cond1 AND… AND condnTHEN class=ci AntecedenteConseguente • Idee base: • Le regole candidate sono rappresentate come individui di una popolazione • La qualità delle regole è calcolata da una funzione fitness

  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. Rappresentazione degli individui • Due approcci: • Michigan 1 individuo  1 regola • Sintassi semplice • Problemi nel valutare insiemi di regole • Pittsburgh 1 individuo  più regole • Sintassi complessa • Calcolo della fitness più complicato

  15. Rappresentazione degli individui • Per la parte antecedente (congiunzione di condizioni) • Supponendo che un attributo possa assumere k valori discreti, una condizione sul valore dell’attributo si codifica con k bit • Es. L’attributo 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”)

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

  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 • L’operatore 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. 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. 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. 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. La funzione fitness • La qualità di una regola può essere espressa più accuratamente utilizzando una matrice 2x2, detta matrice di confusione

  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. La funzione fitness • La completezza di una regola: Comp=TP / (TP+FN) • La comprensibilità varia in base al dominio applicativo. In generale: • –condizioni • +chiarezza • L’interesse è una misura che richiede l’interazione con l’utente • La funzione fitness può essere definita come la somma pesata di queste caratteristiche

  24. GP & Classification Rules • Si considera ora l’approccio Pittsburgh • Ogni individuo corrisponde ad un insieme di regole antecedenti codificate in DNF • L’insieme dei nodi funzione contiene gli operatori logici: AND, OR e NOT • L’insieme dei nodi terminali consiste di tutte le possibili condizioni della forma Attri=Valij

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

  26. GP & Classification Rules

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

  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. Rule pruning • Un apposito operatore rimuove alcune condizioni dall’albero (semplifica e generalizza le regole) • Meno una condizione è rilevante e maggiore è la probabilità che venga rimossa

  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 dell’accuratezza (mediante test set) • Classificazione delle istanze ignote

  31. GP & Classificazione • 6 datasets dall’UCI 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. GP & Classificazione • Gli insiemi delle funzioni e dei terminali vengono standardizzati per avere omogeneità nella costruzione della soluzione in ognuno dei 5 metodi

  33. GP & Classificazione • Un esempio di programma

  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. Static Range Selection • Dividere le classi in base ad un’analisi intuitiva del problema • Caso binario: uguale al precedente (split tra valori positivi e negativi) • Caso multiclasse: non c’è ottimalità

  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 dell’output • Per praticità è opportuno fissare un range principale [-X,X] nel quale debbano entrare tutte le classi

  37. Class Enumeration • Vengono apportate alcune modifiche agli insiemi base

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

  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. Analisi dei risultati Datasets Binari Datasets Multiclasse

  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. 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. 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. 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. Genetic K-means Algorithm (GKA) • Combina la semplicità dell’algoritmo k-means e la robustezza degli algoritmi genetici • Utilizza due operatori appositi: • L’operatore K-means (invece del crossover) • La mutazione distance-based

  46. Genetic K-means Algorithm • Sia {xi, i=1,…,n} l’insieme degli n pattern (vettori di dimensione d) da partizionare in k cluster • Si possono definire i e k delle variabili binarie: 1 se l’i-esimo pattern appartiene al k-esimo cluster wik= 0 altrimenti

  47. Genetic K-means Algorithm • Quindi, la matrice W=[wij] ha le seguenti proprietà: wij {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. Genetic K-means Algorithm • La popolazione iniziale è selezionata casualmente • L’operatore selezione sceglie un individuo dalla popolazione secondo la strategia roulette wheel fitness stringa

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

  50. Genetic K-means Algorithm • Ogni gene subisce una mutazione con probabilità Pm • Questa probabilità dipende da quanto il dato sia vicino ad un cluster center • L’operatore K-means non è altro che l’applicazione di un unico passo dell’algoritmo classico • I risultati sperimentali hanno dimostrato che: • La mutazione è indispensabile per raggiungere l’ottimo globale • L’operatore K-means aumenta considerevolmente la velocità di convergenza dell’algoritmo

More Related