Sei sulla pagina 1di 32

Esercitazioni 1

Lobiettivo di queste prime esercitazioni apprendere nel dettaglio i metodi di apprendimento automatico mediante gli alberi di decisione, modelli di previsione nei quali ogni nodo interno associato ad una variabile, un arco verso un nodo glio rappresenta un probabile valore per la stessa propriet e una foglia il valore predetto per la variabile obiettivo e quali iniziano con i valori delle altre propriet, le quali vengono rappresentate dal cammino dal nodo radice verso il nodo foglia. In genere, un albero decisionale viene creato mediante tecniche di apprendimento partendo dalldata set (insieme di dati inziali), tipicamente diviso in : -training set, grazie al quale si crea la struttura dellalbero. -test set, mezionato per testare la precisione del modello di predizione creato in precedenza. Per la seguente esercitazione stato utilizzato il software opensource scritto in Java Weka 3.6.10, programma atto alla creazione di alberi di decisone. Lesercizio n.1 ha la nalit di analizzare il dataset circle.ar , il quale composta da coordinate cartesiane (x,y) di un possibile quadrato o di un possibile cerchio e , successivamente classicare gli stessi come appartenenti a una della due categorie(cerchio o quadrato). Il data set utilizzato si compone di 100 istanze, 50 rappresentano cerchi e i rimanenti 50 rappresentano quadrati. Di seguito viene riportato una parte del codice contenuto nel le circletrain.ar.

Fig.1 contenuto le cicletrain.ar. Per la creazione dellalbero decisionale , si impiega il classicatore j48 di Weka, utilizzando 2 come numero minimo di istanze foglia e impostando lopzione random split al 66% in modo da utilizzare 66 istanze come training set e le rimanenti 34 come test set.

Fig.2 Algero decisonale versione agebrico analisi quadrato cerchi. 2

La classicazione delle istanze che appartengono al test set costruite prendendo il 34% delle istanze del data set , permette di classicare correttamente 30 istanze su 34, pari al88% dei dati del test set. La matrice di confusione fornita da weka indica che il 75% delle classicazioni errate sono dovuta ad un errata interpretazione di un cerchi come quadrato.

Fig.3 matrice di confusione analisi cerchi quadrati. Sono poi stati modicati cinque volte ,in modalit random, i valori del seme per selezione. Viene riportato di seguito lesempio iniziale con il valore 34%.

Fig.4 Sunto risultati test split analisi cerchi quadrato.

g.5 Albero decisionale versione graca analisi cerchi quadrato. Successivamente sono state eseguite delle prove variando la percentuale random split. Per ciascuna della cinque prove si calcolata la sensibilit S e la specicit Sp mediante le seguenti formule: S= Sp = veri positivi veri positivi + f alsi negativi veri negativi veri negativi + f alsi positivi

I risultati sono riassunti nella tabella 1

Semi Sensibilita 2 0.8 3 1 4 0.8824 5 0.8824 6 0.8333 Tab.1 valori rilevati

Specicita 0.8421 0.8421 0.8824 0.9412 0.8751

Sensibilita Specicita Media 0.8796 0.8766 Tab.2 media caloclata dai valori Successivamente si utilizzato come test set il le circletest.ar, il quale contente 100 istanze, di cui 40 quadrati e 60 cerchi. In seguito, si posso vedere i risultati dellelaborazione. In questo caso la sensibilit S = 0.8333 si mostra leggermente inferiore alla media calcolata in precedenza, mentre specicit Sp = 0.9138 si aerma superiore alla media rilevata. Per tali dierenze per pur minime, determinano che il classicatore ha buone prestazioni.

Esercizio 1b
Lesercizio n.1b ha la nalit di valutare laddestramento ottenuto nel caso di tre classicatori binari e di vericarne i risultati. Per fare questo si utilizzato il le iris.ar il quale contiene i dati relativi a tre tipi di iris : iris-setosa, iris-virginica, iris-versicolor. Questi ultimi verranno distinti in base alla lunghezza , altezza di petali e sepali come si pu vedere dalla gura seguente.

g1. contenuto iris.ar Una volta caricato tale le in weka, si pu notare da subito una distribuzione semi-uniforme delle diverse tipologie di iris , considerando gli attributi piu signicativi quali petallength e petalwidth . Grazie a questi ultimi possibile distinguere maggiormente coppie di classi.

g.2 graco distribuzione degli attributi Successivamente a questultima a analisi, si proceduta ad genarare tre classicatore binare , utilizzando la funzione di weka MergeTwoValues.Grazie alla stessa si sono generati tre casi di analisi: (setosa-virginica)-versicol; (setosa-versicolor)-verginica; (verginica-versicolor)-setosa. Caso analisi:(setosa-virginica)-versicol Dopo aver unito i due attributi, si pu procedere alla esecuzione del classcatore j48 in modalit percent split 66% , dove vengono utilizzati il 66% dei valori dell le ar come trainig set e il 34% come test set. Si ottengono in seguenti risultati.

g.3 risultati attenunti con la coppia (setosa-virginica)-versicol Si valuta ora il classicatore attraverso i seguenti indicatori di qualita :
vero positivo+vero negativo vero positivo+vero negativo+f also positivo+f also negativo veri positivi Sensibilita ` = veri positivi +f alsi negativi veri negativi Specif icita ` = veri negativi +f alsi positivi veri positivi P redittivita ` positiva = 100 vero positivo +f also negativo P recisionRecall F M easure = 2P recision+Recall

Accuratezza = 100

indicatori di qualita Accuratezza Sensibilit Specicit Predittivit_positiva F-Measure

0,494 0,961 0,977 0,965 0.961

tab.1 indicatori di qualita(setosa-virginica)-versicol

Caso analisi:(setosa-versicolor)-verginica Dopo aver unito i due attributi, si pu procedere alla esecuzione del classcatore j48 in modalit percent split 66% , dove vengono utilizzati il 66% dei valori dell le ar come trainig set e il 34% come test set.

Si ottengono in seguenti risultati.

g.4 risultati attenunti con la coppia (setosa-versicolor)-verginica Si valuta ora il classicatore attraverso i seguenti indicatori di qualita : indicatori di qualita Accuratezza Sensibilit Specicit Predittivit_positiva F-Measure

0,475 0,902 0,977 0,922 0.922

tab.2 indicatori di qualita (setosa-versicolor)-verginica

Caso analisi:(verginica-versicolor)-setosa Dopo aver unito i due attributi, si pu procedere alla esecuzione del classcatore j48 in modalit percent split 66% , dove vengono utilizzati il 66% dei valori dell le ar come trainig set e il 34% come test set. Si ottengono in seguenti risultati.

g.4 risultati attenunti con la coppia (verginica-versicolor)-setosa Si valuta ora il classicatore attraverso i seguenti indicatori di qualita : indicatori di qualita Accuratezza Sensibilit Specicit Predittivit_positiva F-Measure

0,51 1 1 1 1

tab.3 indicatori di qualita (verginica-versicolor)-setosa Se si considerano i tre classicatori binari come un singolo classicatore si possono vericare 3 casi: Caso ideale: un solo classicatore d risposta 1 Caso peggiore: tutti e tre i classicatori danno risposta 0 Falso/i positivo/i : pi di un classicatore risponde 1 Di seguito abbiamo le risposte per solo 2 classicatori binari poich il primo ha avuto 51 risposte corrette su 51 e sarebbe stato superuo stamparlo.

10

g risultati dei due casi

Esercizio 1c
Lesercizio n.1c ha la nalit di confrontare un classicatore creato manualmente, utilizzando gli strumenti di selezione dati dalla piattaforma weka, con quello

11

creato automaticamente. Il data-set si utilizzato : il le circletrain.ar, visto precedentemente in g.1, e il le circletest.ar ancheesso di 100 istanze specicato come test-set .

g.1 contenuto le circletest.ar Una volta caricati viene impostato come classicatore User-classier e avvi-

12

ata la procedura di analisi.

g.2 albero iniziale Dopo aver selezionato la nestra di visualizzazione graca dei dati , si nota la distribuzione uniforme dei cerchi al centro della gura e dei quadrati allestremit.

13

g.3 distribuzione iniziale Utilizzando il metodo di selezione polygon , sono state separate le regioni i cui dati appartenevano per lo pi ad una stessa classe. Inizialmente si proceduto lestrazione di valori corrispondenti ai cerchi (colore rosso).

g.4 distribuzione degli elementi blue Allo stesso modo si proceduto per lestrazione del valori corrispondenti ai quadrati (colore blu) ottenendo il seguente albero.

14

g.5 albero ottenuto con classicatore User classier . Come passo successivo stata eettuata unanalisi utilizzando il il classicatore J48 ottenendo i seguenti risultati.

15

g. 6 risultati classicatore automatico j48 Si posso confrontare questi ultimi risultati con quelli ottenuti dal classicatore User-classier dopo lestrazione manuale.

16

g.7 risultati classicatore User-classier . Come si pu notare dal confronto il classicatore J48 ha ottenuto 12% di classicazione errone delle istanze mentre utilizzando il classicatore Userclassier si ottenuto 7%. Facendo riferimento alle percentuale precedenti , si ha un migliore addestramento utilizzando il classicatore User-classier. Inne si sono testati i metodi di selezione rectangle e polyline, ottenendo per risultati peggiori rispetto alla selezione polygon . Di seguito sono riportati ,in gura , i vari passaggi con i corrispondenti risultati.

17

g.8 selezione con rectangle

g.9 risultati addestramento con rectagle.

18

g.10 selezione con polyline.

g.11 risultati addestramento con polyline.

19

Esercizio 2
In questo secondo esercizio viene esposto e realizzato il problema della formica , diviso da una griglia di NxN celle. Inizialmente, Le N celle contengono cibo , contrassegnato con il valore +1 , mentre le rimanenti sono vuote , valore 0. In questo caso , la formica risiede in una delle celle vuote. E permesso alla formica di muoversi in quattro direzioni: Nord(N); Sud(S); Est(E); Ovest(O). Ogni volta che la formica eettua uno spostamento, essa acquisisce il punteggio della cella in cui arrivata e di conseguenza decrementa di un unit (-1) il valore della stessa cella, tracciando cos il suo passaggio. Nell eventualit in cui la formica uscisse dalla griglia NxN ,andrebbe in contro alla morte, quindi un assegnazione di penalit di N+2 unit e corrispondente termine partita. Bisogna tenere conto che per le regole del gioco, la formica ha un campo visivo corrispondente a un quadrato di un lato 2m+1 centrato nella cella in cui essa si trova. Nelleventualit in cui la formica avesse in torno a se celle con valori tutti identici allora essa procederebbe con una scelta random della direzione. Lobiettivo del gioco far accumulare alla formica il maggior numero di unit , tenendo conto di un limite di 2N mosse conteggiate dal punti di partenza. Il esercizio viene svolto utilizzando il linguaggio di programmazione Java tramite lIDE Eclipse Indigo. Il gioco dotato di interfaccia graca, implementato in linguaggio Java ed composto da quattro Classi principali: Model.java: gestisce le mosse eettuate, il punteggio e lo stato di avanzamento del gioco. Game.java: estende JPanel e si occupa di creare linterfaccia graca di gioco sulla base dei dati contenuti nel modello. Gestisce la pressione dei tasti da parte dellutente richiamando gli appositi metodi della classe Model. GUI.java: estende JFrame e crea la nestra contenente il pannello di gioco. Main.java: crea la nestra di GUI e avvia il gioco.

20

g.1 immagine gioco Per ogni partita vengono salvate tutte le congurazioni di intorno visibile dalla formica, abbinate alla corrispondente mossa scelta dal giocatore nella direzione del cibo. Queste informazioni generano un training set che pu essere classicato con J48, come mostrato negli esercizi precedenti, al ne di creare un albero di decisione in grado di stimare la miglior mossa da eseguire in modo automatico. Lintelligenza articiale del gioco, basata sullalbero costruito, avr diverse prestazioni a seconda del numero di mosse campione esaminate e della grandezza dellintorno visibile dalla formica. Di seguito proposto un confronto tra le prestazioni ottenute su cinque partite giocate da diversi alberi decisionali, ricavati da campioni di rispettivamente una, cinque e dieci partite e giocate con una visuale m pari a 1 e 2 su una griglia 10x10. Il training set utilizzato nelle diverse visuali ha la seguente struttura:

g.2 contenuto le ar con valore m=1 21

g.3 contenuto le ar con valore m=2

Caso una partita con m=1

g.4 albero ottenuto giocando 1 partita con m=1

Come si pu vedere dalla struttura dellalbero in gura, la sua dimensione nove e possiede cinque foglie (numero di decisioni). Si sono utilizzati i valori di trainig-set per lattuazione del test-set e si sono ottenuti sedici casi corretti su venti (circa 80%). In seguito viene mostrata la matrice di confusione.

22

g.5 matrice ottenuta giocando 1 partita con m=1

Caso cinque partite con m =1

g.6 albero ottenuto giocando 5 partite con m=1

Nel secondo caso ,si pu osservare che lalbero di decisone pi complesso con una dimensione pari a ventisette e un numero di foglie pari a quattordici. Le classicazioni corrette sono pari a 77%. Segue la matrice di confusione.

23

g.7 matrice ottenuta giocando 5 partite con m=1

Caso dieci partite con m=1

g.8 albero ottenuto giocando 10 partite con m=1

Questo caso determina un albero con una dimensione di quarantuno e un numero di foglie di ventuno. La classicazione corrette sono circa 79%. Segue la matrice di confusione.

24

g.9 matrice ottenuta giocando 5 partite con m=1

Da totale di queste tre prove si denota come con laumentare del numero di partire giocate aumenta la dimensione dellalbero decisionale ma non vi un miglioramento nella correttezza dei casi identicati dal classicatore. Si pu comunque notare che i risultati del classicatore si mantengono sopra l80% . Ora si propongo i tre casi con m=2 (caso in cui la formica pu vedere no a due caselle in avanti e per tale motivo modica le sue scelte in base a tale possibilit). Caso una partita con m=2

g.10 albero ottenuto giocando 1 partite con m=2

Come si pu notare, lalbero di decisioni ha dimensione pari a nove e il numero di foglie pari a conque. Si sono utilizzati i valori di trainig-set per lattuazione del test-set e si sono ottenuti dicianove casi corretti su venti (circa 95%). In seguito viene mostrata la matrice di confusione.

g.11 matrice ottenuta giocando 1 partite con m=2

Caso cinque partire con m=2

25

g.12 albero ottenuto giocando 5 partite con m=2 Questo caso determina un albero con una dimensione di venticinque e un numero di foglie di tredici. La classicazione corrette sono circa 90%. Segue la matrice di confusione.

g.13 albero ottenuto giocando 5 partite con m=2

Caso dieci partire con m=2

26

g.14 albero ottenuto giocando 10 partite con m=2 Questo caso determina un albero con una dimensione di quarantasette e un numero di foglie di ventiquattro . La classicazione corrette sono circa 88,5%. Segue la matrice di confusione.

g.14 matrice ottenuta giocando 10 partite con m=2 Passando a m=2, gli attributi, cio le celle visibili dalla formica, passano da 8 a 24. Ogni istanza quindi contiene molte pi informazioni rispetto al caso precedente e, di conseguenza, la classicazione dovrebbe essere eettuata su un training set di dimensioni molto maggiori per ottenere risultati ottimali. Osservando lerrore di classicazione si pu notare che tende ad aumentare allaumentare del numero di istanze, passando dal 5% all11%. Questa tendenza probabilmente dovuta al fatto che nel primo caso il rapporto tra istanze e attributi appare evidentemente insuciente per una classicazione adabile (20 istanze / 25 attributi). Aumentando la dimensione del training set si ottengono errori leggermente maggiori, ma sicuramente pi realistici. In generale per entrambi i valori di m si ottengono alberi di dimensioni simili in corrispondenza 27

dello stesso numero di partite analizzate, mentre lerrore di classicazione delle istanze appare minore nel caso di m=2, mediamente pari a circa il 10%, contro il 20% medio ottenuto con m=1. Ora si valuteranno i risultati ottenuti facendo muovere la formica in modo automatico.

traning su una partita

tab.1 traning su 1 partita Nessuno dei due alberi costruiti valutando una sola partita stato in grado di portare a termine una partita. Nel caso m=1 la formica non solo non esegue mai lo spostamento a sinistra (si veda lalbero corrispondente), ma in ogni partita, indipendentemente dalla congurazione, tende a muoversi solamente verso il basso andando a morire sul lato inferiore della griglia. Inoltre ignora la presenza del cibo e tende a ripercorrere alcune delle caselle gi esaminate senza uno scopo apparente. Nel caso di m=2 invece, in tutte le partite la formica tende a muoversi nella direzione dello spigolo in basso a destra della griglia, dove poi esce dal gioco e muore. A dierenza del caso precedente per le mosse non sono prive di logica, il cibo viene cercato e mangiato, e la formica non torna mai sui suoi passi. Complessivamente i risultati sono deludenti in entrambi i casi, anche se a una visuale maggiore sembra corrispondere un comportamento pi intelligente.

28

g.15 percorso automatico fatto dalla formica caso m=1

g.16 percorso automatico fatto dalla formica caso m=2

traning su cinque partita

29

tab.2 traning su 5 partite In entrambi i casi si osserva un miglioramento delle prestazioni di gioco. Per m=1 la formica presenta un comportamento simile al caso precedente di m=2: cerca il cibo, ritorna raramente sul tragitto gi percorso e se capita al limite della griglia ne segue il bordo. Anche in questo caso per la tendenza della formica , in assenza di cibo vicino, di muoversi verso langolo in alto a sinistra del campo di gioco, il che rende terminabili solo le partite con punto di partenza sucientemente lontano da tale posizione. Nel caso m=2 invece si riscontra un sostanziale miglioramento delle prestazioni: la formica cerca il cibo ed evita i bordi della griglia. Come nel caso precedente ha la tendenza a muoversi verso lo spigolo in basso a destra, cosa che, a seconda della posizione di partenza, riduce la parte di griglia esplorata. Al contrario del caso precedente per una volta raggiunto lo spigolo la formica non muore, ma continua lesplorazione lungo il bordo del campo di gioco.

g.17 percorso automatico fatto dalla formica caso m=1

30

g.18 percorso automatico fatto dalla formica caso m=2

traning su cinque partita

tab.3 traning su 10 partite Nel caso di m=1 si osserva un netto miglioramento: aumenta il numero di partite portate a termine, i punteggi ottenuti sono in generale buoni e il movimento della formica risulta intelligente. Nel caso m=2 invece, pur avendo buone prestazioni e realizzando il massimo punteggio ottenuto no ad ora, la formica mostra un evidente problema nella gestione del bordo inferiore della griglia: questo, prima viene percorso verso destra, poi, una volta raggiunto lo spigolo, percorso di nuovo verso sinistra, facendo perdere al giocatore molti di punti guadagnati no a quel momento. Capita poi che una volta raggiunto lo spigolo opposto, la formica esca dal gioco e muoia. Al variare della posizione iniziale, quindi, le prestazioni possono essere migliori nel caso di training set costituito da cinque partite.

31

g.19 percorso automatico fatto dalla formica caso m=1

g.20 percorso automatico fatto dalla formica caso m=2

32

Potrebbero piacerti anche