John Adeyanju Alao - CORE ?· Seznam tabel 38 Literatura 39. Povzetek Na podro cju strojnega u cenja…

Download John Adeyanju Alao - CORE ?· Seznam tabel 38 Literatura 39. Povzetek Na podro cju strojnega u cenja…

Post on 11-Mar-2019

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

UNIVERZA V LJUBLJANIFAKULTETA ZA RACUNALNISTVO IN INFORMATIKO

John Adeyanju Alao

Vizualizacija drevesnih modelov innakljucnih gozdov

DIPLOMSKO DELONA UNIVERZITETNEM STUDIJU

Mentor: prof. dr. Marko Robnik Sikonja

Ljubljana, 2011

Rezultati diplomskega dela so intelektualna lastnina Fakultete za racunalnistvo in

informatiko Univerze v Ljubljani in avtorja. Za objavljanje ali izkoriscanje rezultatov

diplomskega dela je potrebno pisno soglasje Fakultete za racunalnistvo in informatiko

ter mentorja.

Besedilo je oblikovano z urejevalnikom besedil LATEX.

IZJAVA O AVTORSTVU

diplomskega dela

Spodaj podpisani John Adeyanju Alao,

z vpisno stevilko 63990022,

sem avtor diplomskega dela z naslovom:

Vizualizacija drevesnih modelov in nakljucnih gozdov

S svojim podpisom zagotavljam, da:

sem diplomsko delo izdelal samostojno pod mentorstvomprof. dr. Marko Robnik Sikonja

so elektronska oblika diplomskega dela, naslov (slov., angl.), povzetek(slov., angl.) ter kljucne besede (slov., angl.) identicni s tiskano oblikodiplomskega dela

soglasam z javno objavo elektronske oblike diplomskega dela v zbirkiDela FRI.

V Ljubljani, dne 6.6.2011 Podpis avtorja:

Kazalo

Povzetek 1

Abstract 2

1 Uvod 3

2 Uvod v programsko okolje R 5

3 Vizualizacija odlocitvenih in regresijskih dreves 93.1 Vizualizacija odlocitvenih dreves . . . . . . . . . . . . . . . . . . 103.2 Vizualizacija regresijskih dreves . . . . . . . . . . . . . . . . . . 133.3 Implementacija vizualizacije . . . . . . . . . . . . . . . . . . . . 14

4 Vizualizacija nakljucnih gozdov 154.1 Kratek opis nakljucnih gozdov . . . . . . . . . . . . . . . . . . . 154.2 Orodja za razlago nakljucnih gozdov . . . . . . . . . . . . . . . 16

4.2.1 Pomembnost atributov . . . . . . . . . . . . . . . . . . . 174.2.2 Sosednost primerov . . . . . . . . . . . . . . . . . . . . . 174.2.3 Odkrivanje izjem . . . . . . . . . . . . . . . . . . . . . . 184.2.4 Zmanjsevanje dimenzij prostora s sosednostjo . . . . . . 194.2.5 Razvrscanje na podlagi sosednosti . . . . . . . . . . . . . 214.2.6 Vpliv atributov na napoved . . . . . . . . . . . . . . . . 22

5 Zakljucek 25

Dodatki 27

A Podatkovne zbirke 27A.1 Podatkovna zbirka iris . . . . . . . . . . . . . . . . . . . . . . 27A.2 Podatkovna zbirka adult sample . . . . . . . . . . . . . . . . . 28

B Pregled ukazov za prikaz izdelanih slik 33

Seznam slik 37

Seznam tabel 38

Literatura 39

Povzetek

Na podrocju strojnega ucenja se za predstavitev znanja uporabljajo razlicniformalizmi. Zelo priljubljen formalizem so odlocitvena in regresijska drevesa.CORElearn je paket orodij za strojno ucenje, ki uporablja odlocitvena in regre-sijska drevesa, knn, naivni Bayesov klasifikator in nakljucne gozdove (modelsestavljen iz mnozice dreves). V diplomskem delu vizualiziramo nekaj modelovCORElearn paketa. Za odlocitvena in regresijska drevesa lahko naucene modeleneposredno prikazemo, za nakljucne gozdove pa je prikaz posreden, kajti priteh modelih je znanje razprseno v veliki mnozici dreves, mi pa uporabljamoprikaze, s katerimi obravnavamo gozd dreves kot celoto. Iz mnozice drevestako dobimo matriko sosednosti, ki predstavlja povezanost ucnih primerov vcelotni mnozici. Podobno velja za pomembnost atributov, ki se ocenjuje napodlagi klasifikacijske tocnosti, kot prispevka napovedi vseh dreves v gozdu.Predstavljena orodja za razumevanje nakljucnih gozdov so: pomembnost atrib-utov, sosednost primerov, odkrivanje izjem, zmanjsevanje dimenzij prostora,razvrscanje in vpliv atributov na napoved. Vizualizacijo dreves in gozdovlahko enacimo z vidika sposobnosti prikaza njihovega delovanja. Interpretacijadrevesa je enostavnejsa, ker je zajeta na eni sliki, pri nakljucnih gozdovih pamoramo preuciti vec razlicnih vidikov, zaradi cesar je prikaz bolj informativen.

Kljucne besede:

strojno ucenje, odlocitvena drevesa, regresijska drevesa, nakljucni gozdovi,vizualizacija, programsko okolje R, paket rpart, matrika sosednosti, paketCORElearn

1

Abstract

In the field of machine learning there are several knowledge representation tech-niques, for example decision and regression trees are very popular. CORElearnis a machine learning package that generates desision and regression trees, knnmodels, naive Bayesian model and random forests (that is a model comprisedof a set of trees). Our aim is to visually present the CORElearn models. Inthe case of decision and regression trees we present them directly. This is notpossible for random forests where the knowledge is dispersed among severaltrees. We need methods capable of considering every single tree in the forest.For example, we compute a proximity matrix from all the trees in a forest. Wecan also use a sum of classification accuracies per tree to represent the predic-tion of the whole forest. The tools for random forest comprehension presentedin this work are: variable importance, proximity measure, outlier detection,multi-dimensional scaling, clustering and variables effect on class. Both directand indirect visualization methods are comparable. The interpretation of treesis simpler because there is only one image to investigate. On the other handrandom forest methods are more complete.

Key words:

machine learning, decision tree, regression tree, random forest, vizualization, Rprogramming language, rpart package, proximity matrix, CORElearn package

2

Poglavje 1

Uvod

Osnovno nacelo strojnega ucenja je samodejno odkrivanje zakonitosti iz razpo-lozljivih podatkov. Rezultat ucenja so pravila, funkcije ipd., ki so predstavljenaz razlicnimi formalizmi. V tem delu bomo obravnavali formalizme, kot soodlocitvena in regresijska drevesa ter nakljucni gozdovi. Nauceni modeli seuporabljajo za odlocanje in napovedovanje obnasanja modeliranega procesa vprihodnosti.

Metode strojnega ucenja delimo po nacinu uporabe naucenega znanja naklasifikacijo, regesijo in razvrscanje (clustering). Ena najbolj uporabljenihmetod strojnega ucenja je klasifikacija ali uvrscanje. Naloga klasifikatorja jedolociti, kateremu izmed razredov pripada nek objekt. Ta objekt ali primer jeopisan z mnozico atributov (znacilk, lastnosti). Atributi so neodvisne zvezneali diskretne spremenljivke, razred pa je odvisna spremenljivka. Mnozica ucnihprimerov predstavlja v preteklosti resene probleme. Klasifikator je funkcija,ki preslika prostor atributov v razred. Klasifikatorje locimo po nacinu pred-stavitve te funkcije.

Algoritmi za gradnjo odlocitvenih dreves izbirajo atribute glede na ocenoprimernosti atributov in podmnozico njihovih vrednosti. Za napovedovanje jepogojni del pravila sestavljen iz konjuktivno povezanih pogojev v notranjihvozliscih, na poti od korena do lista. Sklepni del pravila sestavlja napovedanirazred, ki se nahaja v listu. Listu pripadajo vsi ucni primeri, ki izpolnujejodano pravilo.

Razlika pri regresijskem prediktorju je, da je odvisna spremenljivka ste-vilska vrednost. Regresijski prediktor je torej funkcija, ki preslika prostoratributov v stevilsko vrednost. Ce predstavimo regresijsko funkcijo z drevesom,dobimo regresijsko drevo. Vozlisca v drevesu predstavljajo atribute, veje pavrednosti atributov. V listih imamo zvezno funkcijo, ki izracuna vrednost

3

4 Poglavje 1: Uvod

odvisne spremenljivke.Nakljucni gozdovi so sestavljeni iz mnozice dreves. Gradnjo dreves us-

merja nakljucen postopek. Nakljucni gozdovi so v splosnem bolj zanesljivi odposameznega drevesa.

CORElearn je paket strojnega ucenja, ki deluje v okolju R [6] in pred-stavi pridobljeno znanje z odlocitvenimi in regresijskimi drevesi ter nakljucnimigozdovi. Dober programski paket strojnega ucenja zna prikazati pridobljenoznanje na cim bolj razumljiv nacin. Slika je za cloveka eden boljsih nacinovrazlage obseznih in zapletenih podatkov. V tem delu bomo implementirali inpredstavili dodatek za paket CORElearn, ki zna vizualizirati odlocitvena in re-gresijska drevesa ter nakljucne gozdove.

Drevo prikazemo tako, da je koren drevesa predstavljen z navpicno crto.Iz koncne tocke te crte izhajata dve premici z naklonom 45o, ki predstavljatalevo in desno vejo. Ta vzorec rekurzivno ponavljamo v globino. Vozlisca sopredstavljena s presekom treh premic. Vozisce vsebuje pogoj v obliki A ={V1, V2, ...Vn} za diskretne atribute ali A < V ali A >= V za zvezne atribute,kjer so Vi mozne vrednosti atributa A, medtem ko je V stevilska konstanta.Ce je pogoj v vozliscu izpolnjen, se premaknemo v levo poddrevo, sicer pa vdesno. Vse probleme, povezane s prikazom drevesa, prepustimo paketu rpart,ki ima tako vizualizacijo ze implementirano. Pri nasem delu se posvetimoprilagoditvi modela, ki ga vrne CORElearn, v obliko, ki jo rpart razume.

Nakljucni gozdovi so skupek tudi vec sto dreves. Vsako od teh drevesje pri svoji izgradnji upostevalo samo podmnozico ucnih primerov. Prikazposameznih enega dreves nam zato ne nudi koristne razlage naucenih zakoni-tosti, prikaz vec dreves pa je tezko obvladljiv in zato neprimeren. Obstajajometode, ki se ne ukvarjajo s posameznim drevesom in so sposobne obravnavatiin prikazati delovanje nakljucnega gozda kot celote. Implementirali smo sesttakih metod in v tem delu pokazemo njihovo prakticno uporabo.

V naslednjem poglavju na kratko opisemo programsko okolje R. V 3. po-glavju predstavimo resitve, ki omogocajo prikaz odlocitvenih in regresijskihdreves. V 4. poglavju obravnavamo orodja, ki omogocajo graficni prikaz last-nosti nakljucnih gozdov, ki so povsem primerljive z vizualizacijo odlocitvenegain regresijskega drevesa. Sklepne misli so zapisane v 5. poglavju. V dodatkuA predstavimo se nekaj primerov, ki dodatno pojasnjujejo implementiraneresitve. V dodatku B prikazemo primere klicev implementiranih funkcij.

Poglavje 2

Uvod v programsko okolje R

V tem poglavju predstavimo glavne znacilnosti programskega okolja R. Zacne-mo s predstavitvijo operatorjev in nekaterih funkcij, nadaljujemo z vektorji,matrikami in drugimi podatkovnimi strukturami.

R je programsko okolje namenjeno statisticnemu racunanju, omogoca ucin-kovito rokovanje s podatki ter vsebuje mnogo orodij za analizo podatkov, medkaterimi je tudi veliko razlicnih graficnih funkcij. Na R lahko gledamo kotna mozno implementacijo jezika S, ki ga je ustvaril Rick Becker v laboratori-jih Bell-a. V S-u izvedemo statisticno analizo z zaporedjem korakov, vmesnekorake pa shranjujemo v objekte. Medtem, ko funkcije drugih statisticnihorodij, npr. SAS in SPSS, izpisujejo rezultate, jih R shrani v objekte, kjer sona voljo drugim funkcijam. Ukazi programskega jezika R se delijo na izrazein prirejanja. Ce okolju R podamo izraz, se ta izracuna in izpise, izracunanavrednost pa se ne shrani. Pri prirejanju se rezultat shrani v spremenljivko,rezultat pa se ne izpise. Ukaze locujemo s podpicjem ali z novo vrstico in jihzdruzujemo v sklope z zavitima oklepajema. Vrsticni komentarji se zacnejo zznakom lojtra (#). Zaporedje ukazov, shranjenih v datoteko, preberemo v de-lovno okolje z ukazom source("datoteka.r"). Preusmerjanje izpisa z zaslonav datoteko opravimo z ukazom sink("datoteka"). Ce ukaz sink uporabimobrez argumenta, se izpis ponovno preusmeri na zaslon. V vsakem okolju je edenpomembnejsih ukazov ukaz za pomoc (help), ki je ekvivalenten operatorju ?.

R ustvarja in upravlja entitete, ki jih imenujemo objekti. Objekti so lahkospremenljivke, stevilska ali znakovna polja, funkcije in strukture, sestavljeneiz teh elementov. Vsebino delovnega okolja, kjer so shranjeni vsi objekti,prikazemo s funkcijo ls(). Iz delovnega okolja brisemo posamezne elemente sfunkcijo rm().

5

6 Poglavje 2: Uvod v programsko okolje R

Najbolj preprost objekt je stevilski vektor. Vektor najhitreje ustvarimoz nastevanjem in funkcijo c, ki nastete komponente zdruzi v vektor, npr.x

7

Funkcija attributes(x) vrne seznam neosnovnih atributov, ki so trenutnodefinirani na objektu x. S funkcijo attr(x, y) pa spreminjamo vrednostatributa y na objektu x. Vsi objekti imajo poseben atribut, imenovan razred.S klicem funkcije class izpisemo vrednost tega atributa. Pri enostavnih vek-torjih je razred enak osnovnemu tipu (npr. numeric, logical, character, os-tale moznosti pa so list, matrix, array, factor in data.frame). Ta atributomogoca uporabo objektno orientiranega programiranja.

Seznam v R-ju predatavlja objekt, sestavljen iz urejene mnozice drugihobjektov, ki jim recemo komponente. Seznam se razlikuje od vektorja, kerlahko vsebuje elemente razlicnih osnovnih tipov. Primer seznama je

lst

8 Poglavje 2: Uvod v programsko okolje R

zom environment. Funkcije lahko gnezdimo, zato problem dosegljivosti spre-menljivk izenacimo s problemom iskanja poti v grafu dosegljivosti. Spre-menljivke, ki se pojavljajo znotraj telesa funkcije, so parametri, lokalne spre-menljivke ali proste spremenljivke. Proste spremenljivke se nanasajo na spre-menljivke, deklarirane v predhodnih vozliscih grafa dosegljivosti. Proste spre-menljivke postanejo lokalne, ko jim priredimo neko vrednost. V tej tocki se Rrazlikuje od drugih implementacij jezika S (npr. S-Plus), ker slednji izenaciglobalne spremenljivke s prostimi. Vrednost proste spremenljivke spremenimoz operatorjem

Poglavje 3

Vizualizacija odlocitvenih inregresijskih dreves

Odlocitvena in regresijska drevesa so ucni modeli, ki omogocajo razumljivprikaz naucenih zakonitosti. Postopek njihove izgradnje je naslednji: na za-cetku so vsi ucni primeri v vozliscu, imenovanem koren drevesa. Izberemoatribut, ki zagotavlja najboljso delitev na dve podvozlisci. Postopek pona-vljamo, dokler ne dobimo dovolj cistih vozlisc. Cisto vozlisce vsebuje primereenega samega razreda. Napako zmanjsujemo tako, da po potrebi poddrevesaporezemo.

Prikaz dreves v programskem okolju R izvedemo s paketom rpart. Rpartvrne objekt z natancno doloceno strukturo, ki je opisana v [5]. Z ukazom

model

10 Poglavje 3: Vizualizacija odlocitvenih in regresijskih dreves

atributov - stolpcev, ki so na splosno razlicnih osnovnih tipov.Ena od podatkovnih zbirk, ki jih bomo uporabili v nadaljevanju, je CO2.

CO2 zbirka vsebuje podatke o absorpciji ogljikovega dioksida razlicnih rastlin vrazlicnih vremenskih pogojih. V R-ju jo prikazemo z ukazom CO2. Zbirka ima5 atributov, trije so imenski, dva pa stevilska. Stolpec Plant je urejen seznamz dvanajstimi vrednostmi, ki predstavljajo vrste rastlin. Stolpec Type imadve vrednosti Quebec in Mississippi, ki predstavljata kraj izvora rastline.Stolpec Treatment ima dve vrednosti nonchilledin in chilled, ki predstavl-jata vremenske pogoje. Stolpca uptake in conc vsebujeta stevilske vrednosti,ki predstavljajo absorpcijo in koncentracijo ogljikovega dioksida.

V podpoglavju 3.1 bomo zgradili drevo, ki napove vrednosti stolpca Plant,v podpoglavju 3.2 pa regresijsko drevo, ki napove vrednosti stolpec uptake.

3.1 Vizualizacija odlocitvenih dreves

Cilj tega podpoglavja je opisati strukturo rpart objekta, oziroma prikazati inrazloziti tabele 3.1, 3.2 in 3.3....