UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Leon Bošnjak VPLIV PODOBNOSTI NA USPEŠNOST KLASIFIKACIJE EVOLUCIJSKIH OD

Velikost: px
Začni prikazovanje s strani:

Download "UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Leon Bošnjak VPLIV PODOBNOSTI NA USPEŠNOST KLASIFIKACIJE EVOLUCIJSKIH OD"

Transkripcija

1 UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Leon Bošnjak VPLIV PODOBNOSTI NA USPEŠNOST KLASIFIKACIJE EVOLUCIJSKIH ODLOČITVENIH DREVES Magistrsko delo Maribor, junij 2014

2 VPLIV PODOBNOSTI NA USPEŠNOST KLASIFIKACIJE EVOLUCIJSKIH ODLOČITVENIH DREVES Magistrsko delo Študent: Študijski program: Mentor: Leon Bošnjak Študijski program 2. stopnje Informatika in tehnologije komuniciranja Red. prof. dr. Vili Podgorelec

3 I

4 ZAHVALA Zahvaljujem se mentorju prof. dr. Viliju Podgorelcu za pomoč, vodenje, teoretične in praktične napotke, za razširitev obzorja in vpogled v nova področja, za navdih pri pisanju in izdelavi magistrskega dela ter nenazadnje vzbuditev zanimanja za raziskovalno delo na področju strojnega učenja. Prav tako se zahvaljujem asistentu Sašu Karakatiču za nasvete in usmeritve pri praktičnem delu naloge, razlage ter pomoč pri razumevanju in izvedbi vseh statističnih testov in še posebej vzpodbudne besede pri pisanju naloge. Posebna zahvala velja staršem, ki so mi omogočili študij in mi neprestano in nesebično stali ob strani v težkih in napornih trenutkih tekom celotnega študija informatike in šolanja na glasbenem konservatoriju, ter me z veliko mero razumevanja in potrpežljivosti spodbujali tako na študijski poti kot pri doseganju vseh svojih življenjskih ciljev. II

5 Vpliv podobnosti na uspešnost klasifikacije evolucijskih odločitvenih dreves Ključne besede: odločitvena drevesa, genetski algoritmi, klasifikacija, podobnost UDK: : (043.2) Povzetek Magistrska naloga obravnava proces gradnje klasifikacijskih odločitvenih dreves z genetskimi algoritmi, v sklopu katerega se osredotoča na ocenjevanje uspešnosti zgrajenih dreves ter hitrosti oziroma učinkovitosti algoritma. Standardni način evolucijske gradnje odločitvenih dreves predvideva uporabo naključne selekcije dveh primerkov za križanje dreves, kar lahko povzroči prehitro konvergenco k lokalno optimalni rešitvi. Z namenom ohranjanja raznolikosti populacije tekom evolucije je bilo implementiranih pet pristopov vrednotenja podobnosti med drevesi, ki so bili uporabljeni v okviru selekcije primerkov za križanje. Pristopi križanja med seboj različnih in podobnih dreves so bili primerjani s standardnim načinom brez upoštevanja podobnosti na enaindvajsetih različnih podatkovnih množicah z namenom ugotavljanja vpliva podobnosti na uspešnost in učinkovitost algoritma. III

6 The impact of similarity on the classification performance of evolutionary decision trees Key words: decision trees, genetic algorithms, classification, similarity UDK: : (043.2) Abstract The master's thesis deals with the process of building classification decision trees with genetic algorithms, focusing on the assessment of performance of constructed trees, as well as the speed and efficiency of the algorithm. The standard evolutionary method of building decision trees assumes the use of random selection of two trees for crossover, which can lead to premature convergence to a local, often sub-optimal solution. In order to maintain the diversity of the population over the course of evolution, five different approaches to evaluate the similarity between trees were implemented. The approaches of both similar and diverse tree crossover were compared to the standard approach on twenty-one different data sets to determine the impact of similarity on the effectiveness and efficiency of the algorithm. IV

7 KAZALO 1 UVOD Opredelitev problema Cilji in teze magistrskega dela KLASIFIKACIJA IN ODLOČITVENA DREVESA Klasifikacijski model Proces klasifikacije Princip delovanja odločitvenih dreves Indukcija odločitvenega drevesa EVOLUCIJSKI PRISTOP GRADNJE Evolucija in genetski algoritmi Osnovne komponente genetskih algoritmov Kromosom Inicializacija začetne populacije Fitness funkcija Genetski operatorji Nastavitve kontrolnih parametrov Vrednotenje uspešnosti in učinkovitosti evolucije PODOBNOST MED DREVESI Križanje na osnovi podobnosti Opredelitev načina merjenja podobnosti Implementacija računanja in uporabe pristopov podobnosti Kompleksnost drevesa Število uporabljenih atributov V

8 4.3.3 Vrednosti atributov Matrika zmede Klasifikacija posameznih primerkov PRIPRAVA IN IZVEDBA EKSPERIMENTA Načrt izvedbe eksperimenta Opis uporabljenih nastavitev Izvedba eksperimenta ANALIZA REZULTATOV Izvedba statističnih testov in rezultati Interpretacija rezultatov SKLEP Omejitve magistrskega dela Predlogi za nadaljnje delo VIRI IN LITERATURA VI

9 KAZALO SLIK SLIKA 1.1: TEORETIČNI (KONCEPTUALNI) MODEL RAZISKOVALNEGA PROBLEMA... 3 SLIKA 2.1: PROCES KLASIFIKACIJE, KI IZVAJA PRESLIKAVO MNOŽICE ATRIBUTOV X V KONČNI RAZRED Y SLIKA 2.2: PROCES KLASIFIKACIJE S POMOČJO ODLOČITVENIH DREVES... 7 SLIKA 2.3: ODLOČITVENO DREVO ZA PROBLEM RAZLIKOVANJA VRETENČARJEV... 9 SLIKA 2.4: INDUKCIJA ODLOČITVENEGA DREVESA ZA KLASIFIKACIJO VRETENČARJEV SLIKA 3.1: OSNOVNA STRUKTURA GENETSKEGA ALGORITMA SLIKA 3.2: DIREKTNA PREDSTAVITEV DREVESA V OBLIKI DREVESNE STRUKTURE IN TABELE SLIKA 3.3: ENO-TOČKOVNO KRIŽANJE NA PRIMERU DREVES ZA KLASIFIKACIJO VRETENČARJEV SLIKA 3.4: MUTACIJE NOTRANJIH IN KONČNIH VOZLIŠČ NA PRIMERU DREVES ZA KLASIFIKACIJO VRETENČARJEV SLIKA 3.5: MERJENJE USPEŠNOSTI IN UČINKOVITOSTI EVOLUCIJE SLIKA 4.1: PRIMERJAVA REZULTATOV KRIŽANJA RAZLIČNIH IN PODOBNIH (ENAKIH) DREVES SLIKA 4.2: KRIŽANJE PODOBNIH IN RAZLIČNIH PRIMERKOV PRI RAZPOREJENEM IN NERAZPOREJENEM NAČINU PARJENJA SLIKA 4.3: UPORABLJEN PRISTOP NERAZPOREJENEGA PARJENJA ZA KRIŽANJE ODLOČITVENIH DREVES SLIKA 4.4: POSKUS DEFINIRANJA ZGORNJE MEJE RAZNOLIKOSTI MED DREVESI SLIKA 4.5: PRIMERJAVA KOMPLEKSNOSTI DVEH DREVES ZA KLASIFIKACIJO VRETENČARJEV SLIKA 4.6: SHRANJEVANJE VREDNOSTI ATRIBUTOV V DREVESIH ZA KLASIFIKACIJO VRETENČARJEV SLIKA 5.1: PREGLEDEN PRIKAZ CELOTNE IZVEDBE EKSPERIMENTA SLIKA 6.1: PORAZDELITVE ŠTEVILA GENERACIJ DO OPTIMALNEGA DREVESA GLEDE NA PRISTOPE SLIKA 6.2: PRIMERJAVA PRISTOPOV KRIŽANJA GLEDE NA TOČNOST KLASIFIKACIJE IN VELIKOST DREVESA SLIKA 6.3: NENORMALNA PORAZDELITEV TOČNOSTI KLASIFIKACIJE ZA STO ZAGONOV IZBRANEGA PRISTOPA SLIKA 6.4: ŠTEVILO MNOŽIC Z IZBOLJŠAVAMI POSAMEZNIH PRISTOPOV GLEDE NA STANDARDNEGA SLIKA 6.5: STABILNOSTI PRISTOPOV KRIŽANJA GLEDE NA UPOŠTEVANJE PODOBNOSTI ALI RAZLIČNOSTI VII

10 KAZALO TABEL TABELA 2.1: PODATKOVNA MNOŽICA VRETENČARJEV... 5 TABELA 2.2: KLASIFIKACIJA NOVO ODKRITE VRSTE VRETENČARJA... 6 TABELA 4.1: PRIMERJAVA RAZLIČNIH NAČINOV VREDNOTENJA PODOBNOSTI TABELA 4.2: RAZČLENITEV NAČINA RAČUNANJA PODOBNOSTI GLEDE NA VREDNOSTI ATRIBUTOV TABELA 4.3: PRIMER MATRIKE ZMEDE ODLOČITVENEGA DREVESA ZA KLASIFIKACIJO VRETENČARJEV TABELA 4.4: RAZLIKE V KLASIFIKACIJI POSAMEZNIH PRIMERKOV MED DVEMA DREVESOMA TABELA 5.1: UPORABLJENI KONTROLNI PARAMETRI IN NJIHOVE VREDNOSTI ZA IZVEDBO EKSPERIMENTA TABELA 5.2: OSNOVNE KARAKTERISTIKE UPORABLJENIH PODATKOVNIH MNOŽIC TABELA 5.3: PORABLJEN ČAS ZA IZVEDBO CELOTNEGA EKSPERIMENTA TABELA 6.1: MINIMALNE IN MAKSIMALNE VREDNOSTI MERITEV NAD VSEMI MNOŽICAMI TABELA 6.2: POVPREČNE VREDNOSTI IN STANDARDNI ODKLONI MERITEV NAD VSEMI MNOŽICAMI TABELA 6.3: TEST NORMALNOSTI PORAZDELITVE ŠTEVILA GENERACIJ GLEDE NA PRISTOPE RAZLIČNOSTI TABELA 6.4: TEST SIGNIFIKANTNOSTI RAZLIK MED PRISTOPI NAD VSEMI PODATKOVNIMI MNOŽICAMI TABELA 6.5: PRIMERJAVA SIGNIFIKANTNO RAZLIČNIH PAROV PRISTOPOV ZA VSE PODATKOVNE MNOŽICE TABELA 6.6: PRIMERJAVA K-S TESTOV NA 10 IN 100 ZAGONIH ZA VSAK PRISTOP TABELA 6.7: SIGNIFIKANTNE RAZLIKE MERITEV MED PRISTOPI NA RAZLIČNIH PODATKOVNIH MNOŽICAH TABELA 6.8: VELIKOSTI UČINKOV DVEH PRISTOPOV RAZLIČNOSTI V PRIMERJAVI S STANDARDNIM TABELA 6.9: VELIKOSTI UČINKOV DVEH PRISTOPOV PODOBNOSTI V PRIMERJAVI S STANDARDNIM VIII

11 1 UVOD Klasifikacija predstavlja eno najpomembnejših nalog oziroma opravil strojnega učenja, ki jo lahko uporabimo v sklopu številnih realnih problemov, tako z naravoslovnih kot tudi družboslovnih področij. V literaturi je predstavljenih mnogo klasifikacijskih algoritmov, ki so se skozi leta obsežnega proučevanja postopoma razvili iz enostavnih razširitev statističnih modelov v kompleksne algoritme, globoko zakoreninjene v statistiki, kot tudi računalništvu in informatiki. V zadnjih dveh do treh desetletjih so odločitvena drevesa kot ena izmed prvih in temeljnih klasifikacijskih tehnik postale ena izmed najpopularnejših in najuporabnejših metod, ki so še dandanes predmet proučevanja številnih raziskav s tega področja. Seveda obstaja kar nekaj razlogov, zakaj odločitvena drevesa kot klasifikacijska tehnika uživajo tako široko razširjeno priljubljenost. Koncept njihove gradnje je dokaj enostaven, zato je ponavadi lahko razumeti kako se iz podatkov izgradi klasifikator. Ker so tudi sama drevesa transparentna, so za uporabnika razumljiva in interpretabilna, pogosto pa jih je možno uporabiti znotraj obstoječih aplikacij. Zaradi njihove vsestranskosti se je izkazalo, da so primerna za pester nabor problemov, zaradi česar kljub temu, da predstavljajo eno izmed prvotnih klasifikacijskih tehnik, še vedno ostajajo zelo pomemben klasifikator. V splošnem dosegajo dokaj visok nivo točnosti klasifikacije, ki pa je v veliki meri odvisna od načina njihove gradnje. Tradicionalni pristop gradnje z vrha navzdol poleg enostavnosti odlikuje tudi hitrost in neobčutljivost na manjkajoče vrednosti ter šum v podatkih, vendar njegova deterministična narava gradnje pogosto vodi do neoptimalnih rešitev. 1.1 Opredelitev problema Glavno pomanjkljivost takšnih indukcijskih algoritmov so poskušali reševati alternativni pristopi gradnje dreves, med katerimi se je izkazal pristop evolucijske gradnje odločitvenih dreves (angl. Evolutionary Decision Tree design oziroma EDT design). Glede na to, da je gradnja procesorsko dokaj nezahtevna, je namreč precej enostavno producirati nova odločitvena drevesa, kar so v končni fazi genetski algoritmi lahko izkoristili. 1

12 Na podlagi inkrementalnega izboljševanja se takšna drevesa postopoma približujejo optimalni točnosti klasifikacije z uporabo evolucijskih pristopov, kot so križanje dreves, mutacija posameznih delov dreves ter selekcija najboljših primerkov iz dane populacije generiranih odločitvenih dreves. Dobra evolucijska gradnja dreves zahteva konstanten razvoj uspešnih dreves. Pogosto se za usmerjanje poti evolucije uporabljajo t.i. fitness funkcije, ki predvidevajo večjo verjetnost izbire najuspešnejših dreves v naslednji generaciji. Čeprav je takšen pristop evolucije dreves uspešen pri postopnem približevanju globalnem optimumu točnosti klasifikacije, lahko zahteva precej časa, prav tako pa s številom generacij odločitvena drevesa v populaciji začnejo izgubljati na raznolikosti, kar v končni fazi ustavlja nadaljni razvoj, saj križanje podobnih ali celo enakih odločitvenih dreves ne more producirati bistveno uspešnejše rešitve. Način selekcije dreves za napredovanje v naslednjo generacijo, ki poleg fitness funkcije upošteva tudi izbiro na osnovi podobnosti oziroma raznolikosti odločitvenih dreves, bi lahko predstavljal izboljšavo evolucijskega procesa, na podlagi česar smo ugotavljali pomembnost in zanimivost raziskave na opisanem problemskem področju. Vrednotenje omenjenega pristopa in njegovo primerjavo z obstoječim načinom evolucijske gradnje smo zato izvedli v okviru magistrskega dela. 1.2 Cilji in teze magistrskega dela Namen magistrskega dela je bil ugotavljanje vpliva podobnosti oziroma raznolikosti odločitvenih dreves na uspešnost in učinkovitost evolucijske gradnje dreves. Uspešnost gradnje pri tem splošno gledano predstavlja izbiro takšnih dreves, da je končni rezultat predstavljal odločitveno drevo, ki je kar največ primerkov iz testne množice podatkov klasificiralo pravilno, med tem ko je učinkovitost označevala hitrost oz. število generacij, potrebnih za doseg globalnega optimuma klasifikacije. Na podlagi primerjave klasičnega pristopa, pri katerem drevesa za križanje izbiramo samo na podlagi fitness funkcije, smo želeli s pristopom, ki upošteva tudi podobnost dreves, ugotavljati signifikantnost vpliva slednjega na omenjena vidika kakovosti pri izbiri drevesa. Podobnost dreves sicer predstavlja netrivialen koncept, saj lahko drevesa vrednotimo po podobnosti z različnih vidikov, zato smo v okviru magistrske naloge opredelili smiselne 2

13 načine oz. pristope ugotavljanja podobnosti med drevesi. Vsakega izmed identificiranih pristopov smo nato preizkusili v sklopu procesa selekcije dreves za križanje, pri čemer smo prvo drevo še vedno izbirali glede na najvišji fitness po klasičnem turnirskem pristopu, med tem ko smo za drugo drevo izbrali takšnega, ki je bil prvemu glede na nek kriterij čimbolj podoben oziroma različen. Pri tem sicer obstajajo različne možnosti izbire drugega drevesa, saj lahko drevesu najbolj podobno oziroma različno drevo izberemo izmed preostalih dreves v turnirju, lahko pa izvedemo nov turnir ali pa celo izbiramo iz celotne populacije zaradi časovne izvedbe eksperimenta smo se v končni fazi odločili za drugo varianto. V sklopu kvantitativne analize smo nato izvedli statistične primerjave, s pomočjo katerih smo med seboj primerjali vse implementirane pristope križanja po podobnosti z namenom vrednotenja vpliva posameznih pristopov na proces evolucijske gradnje, na podlagi česar smo lahko preverili postavljene hipoteze in odgovorili na raziskovalna vprašanja. Glavni cilji, ki smo jih želeli doseči v sklopu magistrskega dela, so bili: Opredelitev pojma podobnosti oziroma raznolikosti odločitvenih dreves in določitev smiselnega načina merjenja, Ugotavljanje vpliva podobnosti odločitvenih dreves na uspešnost in učinkovitost evolucijske gradnje odločitvenih dreves, Primerjava posameznih pristopov podobnosti in vrst križanj med seboj. Na podlagi postavljenih ciljev in definiranega namena magistrskega dela smo izdelali tudi teoretični oz. konceptualni model, prikazan na sliki 1.1, ki definira raziskovalni problem in nedvoumno določa neodvisne in odvisne koncepte, med katerimi so obstoječe vzročne povezave oziroma hipoteze, ki smo jih preverjali. Slika 1.1: Teoretični (konceptualni) model raziskovalnega problema 3

14 2 KLASIFIKACIJA IN ODLOČITVENA DREVESA Odločitvena drevesa (angl. decision trees) predstavljajo enostaven, vendar učinkovit način analize večih spremenljivk, ki nam omogoča tako razlaganje oziroma opisovanje kot tudi vrednotenje ter klasificiranje posameznih primerkov. Zaradi njihove vsestranskosti zato obstaja več ločenih področij uporabe, v sklopu katerih lahko te edinstvene zmogljivosti odločitvenih dreves izrabljamo za različne načine. [22] Na področju operacijskih raziskav se tako naprimer odločitvena drevesa nanašajo na hierarhični model, ki prikazuje možne dogodke oziroma razmere, predlagane odločitve na osnovi teh dogodkov, ter končne izide glede na izbrane kombinacije dogodkov in odločitev. [14] Vsakemu dogodku je dodeljena verjetnost, da se zgodi, za končne izide pa so podane vrednosti, ki jih na ustrezen način ovrednotijo. Na podlagi verjetnosti dogodkov in vrednosti izidov lahko odločevalec hitro identificira najustreznejšo odločitev, ki ga bo z določeno stopnjo gotovosti privedla do želenega rezultata. [74] V kontekstu podatkovnega rudarjenja odločitvena drevesa predstavljajo nek napovedni model, ki ga lahko uporabljamo v okviru problemov klasifikacije in regresije. Klasifikacijska drevesa so namenjena klasifikaciji oziroma razvrstitvi posameznih objektov ali primerkov v enega izmed vnaprej definiranih razredov na osnovi vrednosti njegovih atributov. [68] Od regresijskih dreves se razlikujejo po tem, da je pri slednjih odločitveni razred zvezna spremenljivka, med tem ko je pri klasifikacijskih razred diskreten in predstavlja neko kategorijo, v katero spada primerek. 2.1 Klasifikacijski model Vsako klasifikacijsko opravilo torej zahteva zbirko posameznih primerkov. Posamezni primerek lahko izpostavimo kot n-terico (x, y), pri čemer je x skupek atributov, ki določa značilnosti oziroma karakteristike primerka, y pa je posebni atribut, ki ga imenujemo tudi končni razred oziroma kategorija. [73] Ponavadi je končni razred neka lastnost primerka, ki je znana samo za določene primerke v množici. Ostalim primerkom vrednosti končnega razreda zaradi kompleksnosti meritev, časovnih ali finančnih omejitev ni možno zlahka izmeriti, ali pa možnega načina meritve sploh ne poznamo. Odločitvena drevesa zato predstavljajo klasifikacijski model, ki je na podlagi znanih atributov primerkov sposoben 4

15 napovedati končni razred za vse tiste primerke, pri katerih je končni razred neznana spremenljivka. [67] Princip procesa klasifikacije je prikazan na sliki 2.1. Slika 2.1: Proces klasifikacije, ki izvaja preslikavo množice atributov x v končni razred y. Klasifikacijski model je lahko uporaben tako za opisovanje in razlaganje obstoječih primerkov kot tudi napovedovanje in klasificiranje novih. Prvi primer uporabe izpostavlja klasifikacijski model kot opisno (angl. explanatory) orodje, ki omogoča razlikovanje med primerki različnih kategorij. Tako bi naprimer za biologe bil uporaben opisni model vretenčarjev, ki bi zajemal vse do sedaj odkrite vrste tega poddebla živali in na podlagi njihovih atributov za vsakega vretenčarja prikazal družino, v katero spada, kot je razvidno iz tabele 2.1. Takšen opisni model razlaga in predstavlja karakteristike vretenčarjev, ki so ključne za njihovo razvrstitev med sesalce, plazilce, ptiče, ribe ali dvoživke in s tem povzema znanje o značilnostih živali in razlogih za njihovo klasifikacijo v ustrezne družine. [73] Ime živali Telesna temperatura Tabela 2.1: Podatkovna množica vretenčarjev Pokritost kože Rojeva Vodna žival Zračna žival Ima noge Hibernira Razred Človek toplokrvna dlaka da ne ne da ne Sesalec Piton hladnokrvna luske ne ne ne ne da Plazilec Losos hladnokrvna luske ne da ne ne ne Riba Kit toplokrvna dlaka da da ne ne ne Sesalec Netopir toplokrvna dlaka da ne da da da Sesalec Golob toplokrvna perje ne ne da da ne Ptič Žaba hladnokrvna brez ne napol ne da da Dvoživka Pingvin toplokrvna perje ne napol ne da ne Ptič Jež toplokrvna dlaka da ne ne da da Sesalec Jegulja hladnokrvna luske ne da ne ne ne Riba Klasifikacijski model je zmožen tudi napovedovanja končnega razreda za nove, še ne razvrščene primerke. V tem primeru gre za tehniko odkrivanja (angl. exploratory), saj v bistvu gre za ustvarjanje novega znanja na podlagi obstoječih informacij o primerkih. Klasifikacijski model lahko razumemo kot črno škatlo, ki izbranemu primerku določi končni 5

16 razred glede na vrednosti njegovih atributov, ki mu jih podamo. [73] Za podan primer iz tabele 2.1 bi to pomenilo, da bi lahko klasifikacijski model, zgrajen na podlagi vseh znanih vrst vretenčarjev uporabili za določitev razreda še neznanih vrst živali. V tabeli 2.2 je prikazan primerek leta 2013 novo odkrite vrste rakunu podobnega sesalca. Na podlagi podanih vrednosti atributov, ki opisujejo karakteristike omenjene živali, ter že znanih primerkov iz tabele 2.1 bi lahko klasifikacijski model pravilno sklepal, da olinguito dejansko spada med sesalce. Ime živali Telesna temperatura Tabela 2.2: Klasifikacija novo odkrite vrste vretenčarja Pokritost kože Rojeva Vodna žival Zračna žival Ima noge Hibernira Olinguito toplokrvna dlaka da ne ne da ne? Razred Odločitvena drevesa predstavljajo samo eno izmed mnogih vrst klasifikacijskih modelov. Med že obstoječe tradicionalne statistične metode, ki so namenjene klasifikaciji ter napovedovanju pripadnosti primerkov določenim razredom spadajo tudi nevronske mreže, klasifikatorji na osnovi pravil, Bayesov klasifikator in metoda podpornih vektorjev. [68] Čeprav imajo različni klasifikacijski modeli svoje prednosti in slabosti, so se odločitvena drevesa izkazala kot ena izmed najpopularnejših tehnik klasifikacije, predvsem zaradi njihove enostavne predstavitve, razumevanja s strani človeka, intuitivnosti in relativno enostavnega postopka gradnje. [27] Čeprav odločitvena drevesa niso tako razširjena na področju razpoznave vzorcev s stališča verjetnostne statistike, njihova uporabnost sega na številna področja, tako iz družboslovnih (ekonomija, marketing, bančništvo, ) kot tudi naravoslovnih domen (biologija, medicina, inženiring, ). [68] V medicini se lahko uporabljajo za postavljenje diagnoz, v biologiji in botaniki za razvrščanje živalskih in rastlinskih vrst, v računalništvu na področju podatkovnih struktur v psihologiji pa za ugotavljanje vedenjskih vzorcev. [40] Primeri uporabe med drugim vključujejo tudi odkrivanje nezaželene elektronske pošte glede na naslov in vsebino sporočil, kategorizacijo malignih in benignih celic na osnovi slikanj z magnetno resonanco ter klasifikacijo galaksij glede na njihovo obliko. Odločitvena drevesa so najbolj primerna za opisovanje in napovedovanje primerkov podatkovnih množic, katerih končni razredi so binarne oziroma nominalne spremenljivke. Manjše je število predeterminiranih razredov, v katere so primerki lahko razvrščeni, večja je verjetnost, da odločitveno drevo pri klasifikaciji ne bo storilo napake. Manj učinkovita so tudi pri razvrščanju v ordinalne kategorije (npr. klasifikacija ljudi v skupine glede na nizek, 6

17 srednji ali visok prihodek), saj implicitnega reda med kategorijami ne poznajo. Ostalih razmerij med kategorijami, kot je naprimer hierarhija dedovanja, prav tako ne upoštevajo. [73] 2.2 Proces klasifikacije V nadaljevanju opisan in na sliki 2.2 predstavljen sistematični proces predstavlja pristop reševanja problema klasifikacije s pomočjo odločitvenih dreves. Kljub temu se moramo zavedati, da bi bilo namesto njih možno uporabiti kateregakoli izmed že prej naštetih klasifikacijskih modelov. V sklopu magistrske naloge smo se ukvarjali z odločitvenimi drevesi, zato bomo proces klasifikacije opisali s stališča tega modela. Slika 2.2: Proces klasifikacije s pomočjo odločitvenih dreves Da bi lahko zgradili klasifikacijski model, oziroma v našem primeru odločitveno drevo, ki bi bilo sposobno pravilno klasificirati neznane primerke, najprej potrebujemo učno množico (angl. training set). Vsi primerki v učni množici imajo poleg skupka več atributov, ki jih opisujejo, določen tudi končni razred oziroma ustrezno kategorijo, v katero so primerki razvrščeni na podlagi ostalih atributov. [55] Učna množica je pomembna zato, ker se na podlagi pravilno klasificiranih primerkov lahko zgradi odločitveno drevo, ki bo z določeno stopnjo gotovosti sposobno razvrščati nove, še neznane primerke. Za identifikacijo takega odločitvenega drevesa, ki najbolj ustreza razmerju med skupkom atributov primerka in končnim razredom, je potreben t.i. učni algoritem (angl. learning 7

18 algorithm). Ta določa nek postopek oziroma način, kako priti do najustreznejšega odločitvenega drevesa za podano učno množico. [73] Z izgradnjo dobrega drevesa lahko namreč zagotovimo boljšo točnost klasifikacije, zato so se sčasoma razvili številni indukcijski algoritmi, katerih glavni cilj je bila izdelava dreves, ki so kar največ novih primerkov klasificirala pravilno. Eden izmed izzivov indukcijskih algoritmov je produciranje dreves majhne velikosti in globine. Ne samo, da manjša drevesa zahtevajo manj procesorske moči v sklopu določanja končnega razreda primerkov, temveč je za večja drevesa tudi značilno, da imajo manjšo sposobnost generalizacije testnih primerkov. [11] Testni primerki se nahajajo v testni množici (angl. test set), ki je namenjena vrednotenju uspešnosti izdelanega odločitvenega drevesa. Končni razredi za te primerke niso podani, saj je naloga odločitvenega drevesa, da jih poskuša ustrezno klasificirati. Na podlagi definiranih pravil v drevesu ter vrednosti ostalih atributov primerkov drevo za vsak primerek napove končni razred. Končna ocena uspešnosti odločitvenega drevesa temelji na številu pravilno in napačno klasificiranih primerkov in je ponavadi predstavljena v tabeli, ki jo imenujemo tudi matrika zmede (angl. confusion matrix). [73] Podrobnejša predstavitev omenjene tabele in metrik uspešnosti dreves, ki jih lahko z nje odčitamo, je prikazana v sklopu poglavja o podobnosti med odločitvenimi drevesi. 2.3 Princip delovanja odločitvenih dreves Odločitvena drevesa lahko razumemo kot ekspertni sistem, ki delno avtomatizira proces odločanja. [68] Klasifikacijski problem za določen primerek lahko namreč rešimo z odgovarjanjem na serijo dobro postavljenih vprašanj, ki se navezujejo na nekatere značilnosti primerka, ki ga želimo razvrstiti v končni razred. Vsakič, ko dobimo odgovor na vprašanje, je postavljeno novo vprašanje, dokler ne dobimo zadostne količine informacij, na podlagi katerih lahko pridemo do zaključka in primerek razvrstimo v enega izmed vnaprej definiranih končnih razredov. [73] Niz vprašanj in odgovorov lahko organiziramo v odločitveno drevo, ki ga je možno predstaviti tudi v grafični obliki, kot to prikazuje slika 2.3. Odločitveno drevo je pravzaprav hierarhična drevesna struktura, ki je sestavljena iz vozlišč in usmerjenih povezav, zaradi česar rahlo spominja tudi na diagram poteka. [44] V splošnem ločimo tri tipe vozlišč [73]: korensko vozlišče (angl. root node), ki predstavlja vrh drevesa, ter s tem začetni test poljubnega atributa primerka, 8

19 notranja vozlišča (angl. internal nodes), ki prikazujejo vse vmesne teste atributov in liste ali končna vozlišča (angl. leaf nodes), ki določajo končne razrede, v katere so lahko primerki na koncu razvrščeni. Slika 2.3: Odločitveno drevo za problem razlikovanja vretenčarjev Ker odločitvena devesa predstavljajo korenska oziroma usmerjena drevesa, to pravzaprav pomeni, da se testiranje posameznih primerkov vedno začne v korenu drevesa, nato pa se premika navzdol po drevesu preko notranjih vozlišč do listov. Pot, ki jo primerek opravi preko vozlišč, je odvisna od atributov primerka. [44] Vsako ne-končno vozlišče, kar v bistvu zajema tako korensko vozlišče kot vsa ostala notranja vozlišča, namreč vsebuje pogojni test enega izmed atributov oziroma karakteristik testnega primerka. Pogojni test, ki ga lahko med drugim poimenujemo tudi ločitveni kriterij (angl. separation criteria), določa meje vrednosti izbranega atributa, na podlagi katerih ločuje primerke z različnimi značilnostmi. Za binarna odločitvena drevesa je značilno, da ima vsako ne-končno vozlišče največ dva otroka, ki sta lahko lista ali pa novi notranji vozlišči. Vsa odločitvena drevesa, katerih ne-končna vozlišča imajo več kot dva otroka, niso binarna. [69] Vsem končnim vozliščem, ki jih imenujemo tudi listi, so dodeljeni končni razredi. Neznani primerki, katerih atributi so testirani v ne-končnih vozliščih, opravijo pot skozi odločitveno drevo do enega izmed končnih vozlišč, ki predstavlja kategorijo, v katero je nato primerek razvrščen. [44] Ta klasifikacija je pravzaprav napoved odločitvenega drevesa, zato ni 9

20 nujno, da je pravilna. Večje število pravilno klasificiranih primerkov praviloma pomeni večjo uspešnost odločitvenega drevesa. Na primeru iz prejšnjega podpoglavja, v katerem smo prikazali celoten proces klasifikacije s pomočjo odločitvenih dreves na podatkovni množici vretenčarjev, lahko predstavimo tudi razvrščanje posameznih primerkov. Grafična predstavitev drevesa na sliki 2.3 dokazuje, da je klasifikacija vsakega primerka trivialna naloga po tem, ko smo uspešno konstruirali odločitveno drevo. Če torej želimo klasificirati nedavno odkrito živalsko vrsto olinguito na poenostavljenem primeru ločevanja sesalcev od nesesalcev, moramo izvesti dva testa. Ker začnemo v korenskem vozlišču, se prvi test nanaša na atribut Telesna temperatura. Če želimo razlikovati sesalce od nesesalcev, je to dobra izbira, saj so vsi hladnokrvni vretenčarji nesesalci. V našem primeru je olinguito toplokrvna žival, zato sledimo po levi veji drevesa do naslednjega testa, ki preverja atribut Rojeva. Namen drugega testa je razdelitev preostale množice primerkov, ki je v omenjenem primeru potrebna predvsem za razločevanje sesalcev od ostalih toplokrvnih vretenčarjev, med katere v glavnem spadajo ptiči. Vrednost atributa v našem primeru olinguita pravilno klasificira kot sesalca. 2.4 Indukcija odločitvenega drevesa Odločitvena drevesa ponavadi zgradijo t.i. delavci znanja (angl. knowledge workers), ki poznajo principe gradnje in delovanja odločitvenih dreves in imajo zato potrebno znanje za izdelavo dovolj uspešnih dreves za neko problemsko področje. [68] Največkrat pa sami nimajo zadostnega znanja o domeni, na katero se klasifikacijski problem nanaša, zato potrebujejo pomoč pri postavitvi dobrih vprašanj. Načeloma bi najprimernejša vprašanja za pridobitev odgovorov, na podlagi katerih lahko nato pravilno razvrstimo primerke, bilo mogoče pridobiti od ekspertov, ki dovolj dobro poznajo problemsko področje. Zaradi poglobljenega znanja o aplikacijski domeni eksperti namreč pogosto ne potrebujejo večjega napora za sprejem dobre odločitve. Pretvorba tega znanja v obliko ustrezno postavljenih vprašanj, primernih za odločitveno drevo, pa je žal precej zahtevna naloga. Ne samo, da je izjemno težko najti eksperta na izbranem področju, ki bi imel čas in željo posredovati znanje o načinu reševanja klasifikacijskega problema; pogosto se zgodi, da ekspert znanja, ki ga o problemu ima, ni sposoben ubesediti, ali pa njegove informacije niso dovolj poglobljene za izdelavo dovolj zanesljivega ekspertnega sistema. [78] 10

21 Prav zaradi tega so se postopoma razvili indukcijski algoritmi. Gre za algoritme, ki so na podlagi nekega determinističnega postopka sposobni generirati odločitveno drevo, ki do določene mere generalizira razmerje med vhodnimi atributi in končnim razredom primerkov. [68] Raziskave so pokazale številne prednosti indukcijskih algoritmov pred gradnjo dreves na podlagi pridobivanja znanja od ekspertov, med katerimi je vredno izpostaviti dejstvo, da se z indukcijskimi algoritmi izognemo ozkemu grlu zbiranja znanja od domenskih ekspertov, poleg tega pa so tudi bolj sistematični. [58] Indukcija odločitvenega drevesa se začne s praznim drevesom in celotno učno množico. Gradnja drevesa je hevristično naravnana: za vsako naslednje vozlišče se poskuša izbrati kar najbolj "informativni" atribut, saj s tem minimizira pričakovano število vozlišč in s tem testov, potrebnih za klasifikacijo primerkov. Proces gradnje je rekurziven, kar pomeni, da se algoritem požene v vsakem na novo generiranem vozlišču drevesa. Gradnja se nato zaključi, ko so vsi primerki učne množice v posameznih vozliščih pripadniki istih končnih razredov. Za vsako takšno končno vozlišče algoritem označi ustrezen končni razred. Če določimo še zaustavitvene kriterije (angl. stopping criteria), lahko sicer gradnjo ustavimo predčasno. [57] Načeloma število možnih odločitvenih dreves, ki jih lahko konstruiramo na podlagi danega nabora atributov, raste eksponentno. Čeprav so nekatera bolj uspešna pri klasifikaciji kot druga, je iskanje optimalnega drevesa procesorsko zahtevna ali celo neizvedljiva naloga zaradi eksponentne rasti velikosti iskalnega prostora. Kljub temu so bili razviti učinkoviti algoritmi, ki so v relativno kratkem času zmožni razviti uspešna, čeprav neoptimalna drevesa. Ti algoritmi temeljijo na požrešnih strategijah, ki odločitvena drevesa gradijo tako, da iščejo lokalno optimalne odločitve o izboru atributov. [73] Eden takšnih je Hunt-ov algoritem, ki predstavlja enega izmed prvih razvitih algoritmov za gradnjo odločitvenih dreves. Konceputalno gledano se celoten postopek indukcije izvaja rekurzivno po naslednjih korakih [55]: 1. Če imajo vsi primerki v učni (pod)množici enak končni razred, izdelamo končno vozlišče in ga označimo z omenjenim končnim razredom, ter se premaknemo na četrti korak, 2. S pomočjo funkcije za hevristično vrednotenje poiščemo najprimernejšega izmed vseh atributov, ki še niso bili uporabljeni na poti od korenskega do trenutnega vozlišča. Nato ustvarimo notranje vozlišče in določimo ločitvene kriterije glede na 11

22 izbran atribut. Učno množico razdelimo na dve podmnožici glede na meje oziroma vrednosti izbranega atributa, 3. Za vsako izmed podmnožic učne množice izvedemo prvi korak, 4. Premaknemo se en nivo višje v okviru rekurzije. Zgoraj opisan algoritem lahko opazujemo na primeru drevesa za razvrščanje vretenčarjev iz prejšnjih podpoglavij. Kot je prikazano na sliki 2.4(a), začetno drevo vsebuje samo eno vozlišče, ki hkrati predstavlja korensko vozlišče in list. Ker gre za končno vozlišče, mora biti označeno s končnim razredom, za katerega v tem primeru Hunt-ov algoritem izbere razred Nesesalec, saj je večina primerkov iz učne množice klasificirana v to kategorijo. Slika 2.4: Indukcija odločitvenega drevesa za klasifikacijo vretenčarjev Ker obstajajo še primerki sesalcev, algoritem v naslednjem koraku poišče atribut, ki je na podlagi izbranega načina vrednotenja najprimernejši kot ločitveni atribut. Glede na pogoj so primerki v učni množici razdeljeni na dve podmnožici, kot prikazuje slika 2.4(b). Iz učne množice v tabeli 2.1 je razvidno, da so vsi hladnokrvni primerki vretenčarjev pravzaprav nesesalci. Na podlagi tega je desni otrok korenskega vozlišča razred Nesesalci. Za levega otroka nato nadaljujemo z rekurzivno uporabo algoritma, dokler vsi primerki ne pripadajo istemu razredu. Rezultat zadnjega rekurzivnega koraka je prikazan na sliki 2.4(c). Poleg opisanega algoritma obstaja še veliko drugih indukcijskih algoritmov, med katerimi je najbolj popularen C4.5 (in njegovi izpeljavi See5 in J48), ki je na razpolago tudi v odprtokodnem orodju Weka Workbench. [79] Ostali znani indukcijski algoritmi so še ID3, CART, CHAID in njegova predhodnika AID in MAID, ter algoritem QUEST. [69] 12

23 3 EVOLUCIJSKI PRISTOP GRADNJE Čeprav je top-down pristop gradnje dreves, ki smo ga opisali v prejšnjem poglavju, dokaj preprost in zmogljiv način generiranja klasifikacijskih pravil na podlagi učnih primerkov [20], so bile v številnih raziskavah izpostavljene njegove pomanjkljivosti. Fayyad je predstavil nekaj slabosti hevrističnih funkcij za vrednotenje atributov, na podlagi katerih indukcijski algoritmi izbirajo najprimernejše atribute tekom gradnje drevesa. Opozoril je, da različne variante takšnih funkcij, kot so naprimer information gain, gain ratio, gini-index in distance measure ne upoštevajo različnosti primerkov, klasificiranih znotraj enega in med več razredi, prav tako pa so neobčutljive tudi na permutacije distribucije verjetnosti posameznih razredov. [28] Drugi avtorji so prav tako izpostavili, da takšne funkcije privzamejo, da so atributi med seboj pogojno neodvisni, kar posledično preprečuje formiranje dobrih hipotez na podlagi atributov, predvsem v domenah, kjer obstajajo močne posledične povezave med atributi (npr. medicina, klimatologija, ). [47] Številne raziskave so dokazale tudi dejstvo, da lahko obstoj nerelevantnih atributov v podatkovni množici zavede hevristične funkcije, ki zaradi vključitve takšnih atributov v proces gradnje izdelujejo večja in s tem manj razumljiva odločitvena drevesa, ki so hkrati tudi bolj nagnjena k napakam v klasifikaciji. [63] Poleg pomanjkljivosti hevrističnih funkcij so bile predstavljene še nekatere druge slabosti indukcijskih algoritmov. Pogosto so algoritmi prilagojeni določenim tipom dreves, ki jih gradijo. [52] Njihova morda najbolj izpostavljena pomanjkljivost pa je požrešen pristop iskanja najuspešnejšega drevesa, ki se na vsakem koraku gradnje bolj osredotoča na iskanje optimalnega atributa in ločitvenega kriterija, namesto da bi upošteval procesorski napor takšnega opravila. [75] Kljub temu, da so takšni algoritmi ponavadi dovolj hitri za tipične probleme in vodijo do zadovoljivih rezultatov, se je namreč izkazalo, da so v drugih primerih popolnoma neuporabni. [49] Eden takšnih je recimo problem števila zrn riža na šahovnici, ki v tem primeru ilustrira kombinatorično eksplozijo možnih končnih odločitvenih dreves, ki eksponentno narašča s številom vseh atributov v podatkovni množici. Indukcijski algoritmi takšne širine kombinacij ne morejo prečesati v doglednem času, saj zaradi svoje hevristične narave v vsakem notranjem vozlišču iščejo lokalne optimume tako, da izbirajo atribute z namenom maksimizacije homogenosti svojih direktnih potomcev, med tem ko vozlišč v nižjih nivojih 13

24 drevesa sploh ne upoštevajo. [20] Raziskave učinkovitosti top-down gradnje dreves na umetnih podatkovnih množicah, kjer so bila globalno optimalna odločitvena drevesa vnaprej znana, so pokazale, da hevristični algoritmi, ki delujejo na deterministični način, ponavadi najdejo le lokalno optimalna odločitvena drevesa, ki so kvečjemu dovolj dobra. [1] Zaradi omenjenih pomanjkljivosti so raziskovalci začeli iskati nove načine gradnje dreves, ki bi lahko zaobili te probleme. Tako se je porodila ideja evolucijskega pristopa gradnje, ki se je v nasprotju s tipično metodo konstrukcije dreves zaradi svoje prilagodljivosti zmožen veliko bolj približati globalno optimalnim odločitvenim drevesom iz nabora možnih dreves. [9] Kmalu so se razvile številne variacije evolucijskih pristopov gradnje, ki so poskušale na tak ali drugačen način minimalizirati slabosti gradnje s pomočjo indukcijskih algoritmov. Določeni pristopi, ki so že temeljili na izbiri atributov drevesa na podlagi genetskih algoritmov, vendar so še vedno iskali optimalne ločitvene kriterije s pomočjo algoritma C4.5, so bili sposobni zgraditi manjša in bolj razumljiva drevesa, ki pa so sicer bila na nekaterih podatkovnih množicah manj uspešna kot indukcijski algoritem C4.5. Drug pristop vključuje tehniko evolucijske večkriterijske optimizacije (angl. evolutionary multiobjective optimization, oz. EMO), s pomočjo katere je bilo možno zgraditi tako manjša in razumljivejša, kot tudi uspešnejša odločitvena drevesa [64] Zaradi njihove robustnosti je evolucijske tehnike gradnje možno uporabiti tudi na nepopolnih in manjkajočih podatkih oziroma takšnih podatkih, v katerih je zaslediti šum (kar se v realnih problemih dokaj pogosto dogaja zaradi napak pri meritvah, nedostopnosti primernih merilnih naprav ipd.). Načela evolucije, ki temeljijo na naključnem razvoju, lahko med drugim tudi povzročijo, da najdemo odlične rešitve, ki bi jih sicer z drugimi metodami gradnje zlahka spregledali. Poleg tega lahko možnost optimizacije topologije klasifikatorja odločitvenega drevesa ter ločitvenih kriterijev prav tako štejemo kot prednost evolucijskih načinov gradnje. [66] 3.1 Evolucija in genetski algoritmi Splošno gledano je evolucija dvostopenjski proces selekcije in naključne spremembe. [38] Ker jo je možno matematično modelirati, kot je razvidno iz (3.1), jo lahko implementiramo tudi v obliki algoritma, ki ga lahko simuliramo na računalniku. Takšen modeliran algoritem poznamo pod imenom evolucijski algoritem (angl. evolutionary algorithm oz. EA). 14

25 Področje evolucijskega računanja se ukvarja prav s proučevanjem lastnosti takšnih algoritmov ter ostalih postopkov za simulacijo evolucije na računalniku. Čeprav so evolucijski pristopi na področju podatkovnega rudarjenja dokaj novi, so zaradi karakteristik naravne evolucije zelo obetavni, zato se v zadnjem času pojavlja vse več raziskav na tem področju. [37] Matematično bi lahko proces evolucije predstavili z naslednjo formulo, prikazano v (3.1): [ ] [ ])) (3.1) Kjer je: trenutna populacija odločitvenih dreves generacija evolucije naključna variacija oz. sprememba drevesa selekcija drevesa Evolucijski algoritmi so pravzaprav programski algoritmi, ki jih je navdihnil proces evolucije s principi naravne selekcije in genetike. Od klasičnih indukcijskih algoritmov se razlikujejo v eni ključni točki deterministični algoritmi poskušajo ustvariti uspešna odločitvena drevesa na podlagi kompleksnih teorij (npr. teorija informacij ali statistika), med tem ko evolucijski pristopi razvijajo populacijo posameznih primerkov in jo postopoma prilagajajo končnemu problemu. [46] Osnovna ideja algoritmov je dokaj enostavna. V naravi se posamezniki izbrane živalske vrste neprestano razvijajo, ter se na tak način postopoma prilagajajo okolju. V kontekstu evolucijskih algoritmov na področju podatkovnega rudarjenja so posamezniki predstavljeni kot odločitvena drevesa, okolje pa označuje problem, ki ga rešujejo. Vsak primerek iz celotne populacije dreves ovrednotimo s t.i. funkcijo sposobnosti (angl. fitness function), ki za vsak drevesa izračuna njegovo uspešnost pri reševanju problema. V vsaki naslednji generaciji imajo najboljši primerki večjo verjetnost, da bodo izbrani za reprodukcijo oziroma produciranje novih primerkov. Po izboru so ustrezni primerki nato podvrženi operacijam, ki se nanašajo na principe genetike: križanje, v sklopu katerega pride do izmenjave genetskega materiala dveh staršev in mutacija, ki lahko povzroči zamenjavo dela genetskega materiala otroka z naključno generiranim genetskim materialom. 15

26 Izvedba omenjenih operacij producira nove primerke dreves, ki nato zamenjajo svoje starše in s tem ustvarijo novo generacijo posameznikov. Celoten proces se iterativno ponavlja, dokler ne zadostimo določenim zaustavitvenim kriterijem, kot je naprimer fiksno število generacij, ali pa dokler ne najdemo zadovoljive končne rešitve. [32] V zadnjih 30 letih so bili razviti številni evolucijski algoritmi. Med njimi je vredno izpostaviti genetske algoritme, genetsko programiranje, klasifikacijske sisteme, evolucijske strategije, evolucijsko programiranje, ocenjevanje distribucijskih algoritmov itd. [5] Freitas meni, da so med vsemi omenjenimi genetski algoritmi vrsta evolucijskih algoritmov, ki so najbolj uporabni v sklopu podatkovnega rudarjenja. [32] Slika 3.1: Osnovna struktura genetskega algoritma Genetski algoritem (angl. genetic algorithm oz. GA) je razvil J. H. Holland leta Gre za model strojnega učenja, čigar obnašanje temelji na metafori procesov, ki se izvajajo v sklopu evolucije v naravi. [37] Ker delujejo po principu naključne izbire iz populacije, kot 16

27 robustna iskalna metoda ne potrebujejo veliko informacij za uspešno iskanje najboljših primerkov (ki jih v okviru genetskih algoritmov imenujemo tudi kromosomi), tudi če so iskalni prostori precej veliki in težko razumljivi. Genetski algoritmi operirajo nad množico posameznikov v okviru iskalnega prostora. Vsak posameznik je predstavljen z genskim kodom oz. genotipom, ki definira njegovo obnašanje in značilnosti, oz. fenotip. Struktura genotipa je določena že v fazi načrtovanja izvedbe genetskega algoritma. Nato simulacijski sistem algoritma zažene zanko, predstavljeno na sliki 3.1, v okviru katere se posamezniki postopoma začnejo razvijati ob pomoči ustreznih genetskih operacij. Da bi se primerki lahko razvijali proti optimalni rešitvi, moramo v vsaki generaciji oceniti kvaliteto vseh primerkov. Funkcijo sposobnosti moramo izbrati tako, da bodo boljše ocene dobili primerki, ki imajo ustrezen fenotip. [46] Večina genetskih algoritmov deluje nad kromosomi fiksne velikosti (ponavadi so binarni), ki dovoljujejo standardne genetske operacije, ki smo jih omenili zgoraj. Potrebno pa je omeniti, da obstajajo tudi pristopi, pri katerih se uporabljajo tudi kromosomi spremenljivih velikosti in specializirani genetski operatorji. [49] V nadaljevanju se bomo osredotočili na osnovne koncepte genetskih algoritmov. 3.2 Osnovne komponente genetskih algoritmov Genetski algoritmi, ki predstavljajo eno izmed podpodročij evolucijskih algoritmov, so bili razviti z namenom reševanja kompleksnih optimizacijskih problemov. V splošnem je za njihovo delovanje potrebno implementirati nekaj osnovnih komponent. [13] Vsako izmed njih je možno implementirati na različne načine, kar nam omogoča optimizacijo algoritma, na podlagi česar lahko dosegamo boljše rezultate na različnih podatkovnih množicah. Tudi v okviru magistrske naloge smo se osredotočili na vidik optimizacije, pri čemer smo poskušali izboljšati delovanje ene izmed komponent algoritma. V nadaljevanju je bolj podrobno opisanih pet glavnih komponent genetskih algoritmov, kot jih definira Davis [21]: kromosom, ki predstavlja kodirano rešitev problema, način generiranja oziroma pridobivanja začetne populacije kromosomov, funkcijo, ki ovrednoti uspešnost posamezne rešitve, genetski operatorji, ki delujejo nad rešitvami in spreminjajo populacijo, ustrezne nastavitve kontrolnih parametrov genetskega algoritma. 17

28 3.2.1 Kromosom Kromosom (angl. chromosome) je osrednja entiteta genetskega algoritma, saj nam omogoča predstavitev rešitve na izbran problem. [62] V našem primeru so kromosomi posamezna odločitvena drevesa, v splošnem pa lahko predstavljajo kakršnekoli rešitve problemov, ki jih rešujemo s pomočjo genetskih algoritmov. Način predstavitve krosomov je zelo pomemben, saj vpliva na učinkovitost algoritma. Lahko jih predstavimo direktno ali indirektno. [70] Indirektna predstavitev rešitev zakodira v obliko urejenega, končnega niza. Vsak element v nizu označuje spremenljivko oziroma značilnost, ki na nek način karakterizira rešitev. Te lastnosti kromosoma imenujemo geni, njihove vrednosti pa v končni fazi razlikujejo posamezne kromosome (ter s tem rešitve) med seboj. [62] Uporaba indirektne predstavitve v okviru evolucije odločitvenih dreves pomeni preoblikovanje dreves v celoštevilski niz. Namesto imen atributov drevesa so v predstavitvi prikazani indeksi zakodiranih vrednosti imen atributov, ki so urejeni glede na seznam atributov. Takšne predstavitve dreves so dokaj pogoste, njihova prednost pa je možnost uporabe standardnih genetskih operatorjev in uvedba dodatnih omejitev drevesa. Še bolj pogosta predstavitev kromosomov, tako v literaturi kot tudi v realnih primerih, pa je direktna predstavitev, pri kateri so posamezniki prikazani v izvirnem formatu. Na primeru odločitvenih dreves iz slike 3.2(a) to pomeni prikaz drevesne strukture. Glavna prednost takšne predstavitve je vsekakor njena razumljivost; prikaz drevesne strukture dodatno ne razširja kompleksnosti problema z dodajanjem redundantnih informacij ter vsiljevanjem omejitev. Po drugi strani nad takšno predstavitvijo ne moremo direktno vršiti genetskih operatorjev, vendar so spremembe v implementaciji dovolj enostavne, da to ne predstavlja večjega problema. Ravno zaradi tega vsaj v okviru problema evolucije odločitvenih dreves pogosto uporabljamo direktno predstavitev, ki jo nato na ustrezni način spremenimo, da lahko nad njo uporabimo genetske operatorje. [67] Slika 3.2(b) prikazuje takšno spremembo, ki sicer ni tipična indirektna predstavitev, saj so vrednosti atributov še vedno nekodirane, nam pa zadostuje za prikaz drevesa v obliki, ki dovoljuje uporabo genetskih operatorjev. 18

29 Slika 3.2: Direktna predstavitev drevesa v obliki drevesne strukture in tabele Inicializacija začetne populacije Evolucijski algoritmi operirajo nad posameznimi primerki, zato moramo najprej generirati začetno populacijo. Proces ustvarjanja začetne populacije je odvisen od izbranega načina predstavitve: če način kodiranja dovoljuje obstoj neveljavnih rešitev, moramo za vsak na novo ustvarjen primerek najprej preveriti, ali je ustrezen. [67] Pristen genetski algoritem vedno naključno izbere vse primerke populacije. Naključen izbor pomeni, da ima vsako odločitveno drevo v iskalnem prostoru enako možnost, da bo izbrano kot ena izmed rešitev začetne populacije. [62] S tem lahko zagotovimo zadostno raznolikost dreves v začetni populaciji, kar je izredno pomembno, saj na ta način genetskim operatorjem omogočimo, da rešitve iščejo po celotnem iskalnem prostoru, ter se s tem izognejo lokalno-optimalnim rešitvam. [65] Problem popolnoma naključnega izbora začetne populacije pa se pojavi, kadar je celoten iskalni prostor precej velik. V takšnih primerih je približevanje najboljši rešitvi skozi generacije precej počasno, kar lahko genetskemu algoritmu prepreči, da bi v doglednem času našel globalno optimalno rešitev. Zato pri selekciji začetne populacije primerke pogosto ne izbiramo popolnoma naključno, temveč iskalni prostor omejimo tako, da iz njega odstranimo slabe rešitve. [6] Problemsko-specifično znanje nam lahko pomaga tudi pri takojšnjem izboru že vnaprej znanih dobrih rešitev, ki jih avtomatsko vključimo v začetno populacijo. [65] Nekateri avtorji nasprotujejo uporabi takšnih hevrističnih tehnik pri genetskih algoritmih, saj po njihovem mnenju takšne rešitve prehitro konvergirajo proti 19

30 neoptimalni končni rešitvi zaradi prevlade številnih sub-optimalnih posameznih primerkov. [15] Kljub temu večina avtorjev predlaga delno naključno inicializacijo začetne populacije. "Delna" naključnost v tem kontekstu pomeni, da je naključen izbor odločitvenih dreves omejen vsaj glede na atribute podatkovne množice in njihove možne vrednosti glede na učno množico. Nekateri drugi pristopi predlagajo še dodatne omejitve, ki bi naj zagotovile logično veljavnost in razumljivost vseh ustvarjenih odločitvenih dreves. [6] Nekaj takšnih možnih omejitev je lahko recimo omejevanje globine drevesa [63], razdalje od korenskega vozlišča do kateregakoli končnega lista [50], ali določanje minimalnega števila primerkov v posameznih listih drevesa. [24] Fitness funkcija Tekom evolucije ostaja število primerkov v populaciji konstantno, zato je potrebno nekako poskrbeti, da bodo v naslednjo generacijo napredovali le boljši primerki, med tem ko bodo neuspešni zavrženi. Vrednotenje kvalitete posameznih primerkov v populaciji je kritičnega pomena za napredovanje evolucije. [50] Posebna funkcija je potrebna za interpretacijo samega kromosoma in vrednotenje njegove kvalitete. Tej funkciji pravimo funkcija sposobnosti ali kar fitness funkcija (angl. fitness function). Funkcija mora biti definirana nad množico vseh možnih kromosomov, vračati pa mora ne-negativno vrednost, ki na natančen način meri kvaliteto izbranega kromosoma. Kvaliteta je seveda dokaj izmuzljiv pojem, ki ga je težko eksplicitno definirati. V primeru vrednotenja odločitvenih dreves kvaliteta drevesa zajema vse želene značilnosti drevesa, ki jih vsebuje tudi globalna optimalna rešitev. [62] Evolucijske algoritme za indukcijo odločitvenih dreves lahko glede na način vrednotenja s fitness funkcijo razdelimo v dve skupini: enokriterijsko in večkriterijsko optimizacijo. [6] Prva temelji na uporabi ene same meritve za vrednotenje rešitev. Najenostavnejša oblika tega pristopa odločitvena drevesa vrednoti le na podlagi uspešnosti klasifikacije. Takšen način ni najboljši, saj hitro vodi do specializacije klasifikatorja, kar pomeni, da je končna rešitev dobra le za probleme, podobnim tistim v učni množici, med tem ko je razvrstitev različnih primerkov skoraj vedno napačna. [49] Nekateri avtorji so zato za fitness funkcijo 20

31 predlagali kvadrat uspešnosti, saj je nelinearna vrednost manj pristranska pri vrednotenju nepopolnih rešitev. [53] Poleg tega so bile razvite še marsikatere druge enokriterijske meritve, med katerimi lahko omenimo še J-Measure, distance score in število potrebnih odločitev za klasifikacijo vseh primerkov množice. Ker uspešnost dreves kljub temu še vedno predstavlja eno izmed najpomembnejših načinov vrednotenja kvalitete dreves, so se kmalu začeli razvijati pristopi združevanja več neodvisnih meritev v eno samo, skupno oceno, ki določa kvaliteto odločitvenega drevesa. Temu pravimo večkriterijske meritve. Standardni primer je upoštevanje kompleksnosti, kot tudi uspešnosti drevesa, kot prikazuje (3.2), s čimer lahko omilimo problem pretiranega prileganja oziroma prilagajanja drevesu (angl. overfitting). [6] (3.2) Kjer je: uspešnost klasifikacije na testni množici relativna pomembnost kompleksnosti drevesa velikost drevesa (število vozlišč) Na takšen način lahko kvaliteto odločitvenih dreves ovrednotimo z opazovanjem dveh nasprotujočih si ciljev: uspešnost klasifikacije izbranega odločitvenega drevesa nad primerki učne množice predstavlja nepopoln približek meritve kvalitete, ki jo želimo čimbolj maksimizirati, med tem ko z zmanjševanjem velikosti dreves stremimo k enostavnejšim in razumljivejšim drevesom, ki so zmožni tudi generalizacije novih primerkov. [67] Ker si obe meritvi nasprotujeta, saj so samo velika drevesa zmožna pravilne klasifikacije vsakega primerka učne množice, medtem ko so manjša drevesa bolj splošna, je potrebno med njima najti ravnotežje. V (3.2) ima to nalogo, ki ga določi uporabnik sam in na ta način prilagodi občutljivost meritev za specifičen klasifikacijski problem. [49] V omenjenem primeru je končna ocena minimizirana, kar pomeni, da nižja vrednost pomeni uspešnejše odločitveno drevo. Na podoben način je možno oceno tudi maksimizirati, kar predstavlja pogosto prakso v številnih primerih reševanja problemov klasifikacije z evolucijskim pristopom. [6][50][51] Tudi pristopov večkriterijskih meritev poleg kombinacije uspešnosti klasifikacije in velikosti dreves obstaja še več. Raziskava evolucijskih algoritmov za indukcijo odločitvenih dreves, 21

32 ki so jo izvedli Barros in ostali avtorji, podaja celovit pogled na številne tipe tako eno- kot tudi večkriterijskih meritev. V sklopu večkriterijskih meritev je vredno omeniti še tri glavne pristope iskanja ravnotežja med meritvami, ki jih v omenjeni študiji prav tako izpostavljajo omenjeni avtorji: pristop z utežmi, ki je bil prikazan tudi v (3.2), Paretov princip dominance oz. prevlade in leksikografska analiza. [6] Zadnja pomembna točka, ki jo je v zvezi s fitness funkcijo potrebno izpostaviti, je strošek vrednotenja. Ker se med izvedbo algoritma funkcija kliče velikokrat (za populacijo 100 kromosomov, ki se razvijajo skozi generacij bi to pomenilo klicev), mora biti dovolj učinkovita. V primerih, ko so natančni izračuni kvalitete prezahtevni in predragi, lahko uporabimo tudi fitness funkcije, ki računajo približne vrednosti kvalitete. [42] Genetski operatorji Poznamo tri genetske operatorje, ki predstavljajo osnovo genetskih algoritmov. Odgovorni so za opravljanje specifičnih nalog, na podlagi katerih lahko genetski algoritmi razvijajo kromosome. Ker obstaja ogromno možnih načinov izpolnitve teh nalog, posledično obstajajo številne možne rešitve. [46] Genetski operatorji, ki jih bomo podrobneje opisali v nadaljevanju, so: selekcija (angl. selection), križanje (angl. crossover) in mutacija (angl. mutation). Selekcija je proces izbora odločitvenih dreves iz trenutne generacije, na katerih se lahko v nadaljevanju vršita ostali dve genetski operaciji z namenom ustvarjanja novih dreves. [33] Da bi lahko generirali dobre potomce, je ključnega pomena, da obstaja dober mehanizem za selekcijo staršev. [54] Pogosto želimo, da so izbrani starši najuspešnejši primerki v celotni populaciji, včasih pa bi morda želeli izbrati manj uspešne primerke, da bi s tem raziskali večji delež iskalnega prostora in s tem povečali možnosti ustvarjanja obetavnih potomcev. Slabost konstantne uporabe najboljših primerkov populacije je namreč, da populacija posledično dokaj hitro konvergira k takšnim primerkom ter s tem pripelje do sub-optimalnih rešitev. [56] 22

33 Izmed obstoječih načinov selekcije se najpogosteje uporabljajo turnirska, ruletna in rangirana selekcija. Pri turnirski selekciji (angl. tournament selection) je vnaprej določeno število (turnir velikosti k) potencialnih staršev naključno izbranih iz celotne populacije, v naslednjem koraku pa se med njimi izvede turnir. Tekom turnirja se vse potencialne starše ustrezno ovrednoti, nato pa je najboljši med njimi izbran za enega izmed staršev. Če potrebujemo več staršev, lahko iz istega turnirja izberemo naslednjega najboljšega, ali pa izvedemo nov turnir. [6] Ruletna selekcija (angl. roulette wheel selection) spominja na vrtenje rulete v igralnici, le da je vsaka rezina ruletnega kolesa po velikosti proporcionalna oceni posameznega drevesa. To posledično pomeni, da se verjetnost izbora drevesa veča z njegovo oceno uspešnosti. Slaba stran te vrste selekcije je zato izrazito opazna, ko imamo eno ali dve drevesi, ki imata zelo dobro oceno v nasprotju z vsemi ostalimi drevesi, saj to pomeni, da bosta izbrani največkrat. Seveda velja tudi nasprotno: če so ocene posameznih dreves v množici zelo blizu, bo imelo vsako drevo skoraj enako možnost, da bo izbrano. [56] Rangirana selekcija (angl. ranked selection) po drugi strani posamezna drevesa rangira po njihovih ocenah uspešnosti, posameznike pa zatem izbere glede na njihov rank. S takšnim načinom lahko premostimo probleme ruletne selekcije, kot je naprimer prehitra konvergenca k primerkom z zelo visokimi ocenami, saj rangirana selekcija ne upošteva absolutnih vrednosti ocen. [6] Pomembno je, da selekcijo primerno uravnotežimo z ostalimi genetskimi operatorji. Če je na njej preveč poudarka, se raznolikost populacije v novih generacijah hitro zmanjša, in rešitve se približajo lokalnemu optimumu. Po drugi strani premalo poudarka na selekciji povzroči, da je evolucija prepočasna. [67] Križanje je pravzaprav ključna komponenta za napredek populacije skozi več generacij v okviru procesa evolucije. Križanje posnema spolno razmnoževanje organizmov v naravi. [67] Izbrani drevesi iz koraka selekcije v procesu križanja izmenjata svoj genetski material ter producirata nova potomca, ki zaradi ohranjanja velikosti populacije nato zamenjata svoja starša. [51] Ker križanje ustvarja nove potomce samo na osnovi staršev, ki prihajajo iz populacije, je genetski material, ki je prisoten v drevesih začetne populacije, pravzaprav edini material, ki se bo lahko v nadaljnih generacijah izmenjeval med posameznimi primerki, z izjemo redkih mutacij. [62] 23

34 Obstaja več variant izmenjave informacij med posameznimi kromosomi. Večina izmed njih se začne z naključno izbiro enega vozlišča v vsakem izmed izbranih dreves. [51] V prvi varianti, ki je prikazana na sliki 3.3 in se tudi najpogosteje uporablja v praksi, izbrani vozlišči v obeh drevesih, skupaj z vsemi sledečimi, preprosto zamenjamo. Takšen način imenujemo eno-točkovno križanje (angl. one-point crossover), saj starševski drevesi ustvarita nova potomca z združevanjem delov dreves pred in po izbrani točki razcepa. [6] Slika 3.3: Eno-točkovno križanje na primeru dreves za klasifikacijo vretenčarjev Glede na to, kakšne vrste vozlišč so izbrane v obeh drevesih, lahko pride do zamenjav lista z listom, poddrevesa s poddrevesom ali lista s poddrevesom. [33] Zgornji primer ilustrira slednjo opcijo in predstavlja dober zgled križanja, pri katerem smo morda celo izboljšali točnost klasifikacije pri enem izmed ustvarjenih dreves. Prvo starševsko drevo, ki smo ga inducirali na podlagi le nekaj primerkov v učni množici, namreč pravilno klasificira 24

35 veliko večino sesalcev zaradi živih bitij, za katere je značilno, da imajo toplo kri in svoje mladiče rojevajo. Vendar pa je znano, da obstaja peščica sesalcev, ki imajo nenavadno lastnost, da se njihovi mladiči izvalijo iz jajca. Kljunaša, ki predstavlja enega izmed teh sesalcev, bi zato prvo starševsko drevo nepravilno uvrstilo med nesesalce. Po križanju omenjenega drevesa z drugim, bi eno izmed na novo nastalih potomcev poleg telesne temperature in načina rojstva mladičev upoštevalo tudi pokritost kože, na podlagi česar bi lahko kljunaša pravilno razločilo od ostalih nesesalcev. Kljub temu ima ta vrsta križanja določene slabosti, med katerimi lahko izpostavimo dejstvo, da nekaterih možnih kombinacij dreves niti ne more doseči. Tipičen primer bi bil, če bi želeli nekaj notranjih vozlišč prvega drevesa zamenjati s poljubnimi vozlišči drugega drevesa. V takšnih primerih potrebujemo več točk razdelitve, s čimer lahko dosežemo, da se zamenjajo deli dreves med izbranimi točkami. S takšnim pristopom lahko izboljšamo učinkovitost generiranja novih potomcev, saj povečamo nabor možnih kombinacij ter s tem raznolikost med potomci. [54] Takšnemu načinu križanja pravimo več-točkovno križanje (angl. multi-point crossover). Izboljšava tega pristopa je enakomerno križanje (angl. uniform crossover), pri katerem ima vsako vozlišče prvega drevesa določeno verjetnost (ponavadi je to verjetnost 0.5, čeprav lahko nastavimo tudi neenakomerno utež), da se zamenja z vozliščem drugega drevesa. Implementacijsko to pomeni, da vsakemu vozlišču drevesa najprej določimo naključno realno vrednost med nič in ena, nato pa pri križanju postopamo glede na omenjeno vrednost: če je le-ta več kot 0.5, postane izbrano vozlišče prvega potomca enako vozlišču prvega starša, vozlišče drugega potomca pa vozlišču drugega starša, sicer pa obratno. [19] Določeni avtorji sicer trdijo, da gre za redundantni pristop, saj bi lahko enako končno drevo dobili tudi z večkratno uporabo več-točkovnega križanja. [49] Poleg omenjenih načinov so bili predstavljeni še drugi, kot je naprimer le zamenjava vozlišč, namesto celotnih poddreves. V tem primeru moramo sicer zagotoviti, da je število primerkov v obeh vozliščih enako, saj lahko samo na ta način ohranimo veljavno drevesno strukturo. [50] Ker pa smo poleg vseh teh možnih načinov izmenjave informacij še vedno omejeni samo na genetski material, ki je prisoten v starševskih drevesih [62], v okviru evolucije predstavljamo še en genetski operator. 25

36 Mutacija uvaja naključne spremembe v genski kod novo nastalih odločitvenih dreves. Gre za ponavadi dokaj redke operacije (privzeta verjetnost izvedbe mutacije na izbranem vozlišču je 0.05) [49] katerih glavni namen je uvajanje inovacij v končne rešitve ter s tem posledično doseganje večje raznolikosti med primerki v populaciji. [67] Zaradi radikalnosti sprememb genskega koda dreves, ki bi lahko povzročile tudi vnos genetskega materiala, ki ga drevesa v začetni populaciji ne bi vsebovala, mutacije potencialno omogočajo doseganje katerekoli možne rešitve znotraj iskalnega prostora, česar samo z operacijo križanja nismo mogli doseči. [6] Mutacije so večinoma destruktivne narave. Njihov intruziven pristop pogosto zelo hitro podre skrbno zasnovano ravnotežje znotraj dreves, ki so se postopoma razvijala skozi mnoge generacije. S takojšnjimi in korenitimi spremembami vsebine, strukture in velikosti dreves največkrat kreirajo slabša drevesa, vendar so hkrati tudi nujno potrebne za vnašanje svežine v populacijo z dodajanjem novega genetskega materiala, [46] kar v bistvu omogoča zmanjševanje možnosti prehitrega približevanja lokalnim optimumom, ter s tem navsezadnje tudi zaključka napredka evolucije. [6] Slika 3.4: Mutacije notranjih in končnih vozlišč na primeru dreves za klasifikacijo vretenčarjev 26

37 Podobno kot poznamo več načinov križanja, obstaja tudi več vrst mutacij. Možne mutacije so odvisne od tipa vozlišča, ki ga želimo mutirati. Za nekončna vozlišča obstajajo tri naslednje možnosti, med katerimi sta prvi dve prikazani tudi na sliki 3.4(a,b) [51]: atribut vozlišča ali celotno poddrevo od izbranega vozlišča naprej se naključno zamenja z novim atributom ali poddrevesom, ločitveni kriteriji izbranega atributa se naključno spremenijo (pri numeričnih atributih to pomeni zamaknitev mejne vrednosti, pri nominalnih pa prerazporeditev možnih vrednosti) in atribut se lahko spremeni v končni razred oziroma list, pri čemer se celotno poddrevo tega atributa izbriše. Spreminjanje končnih vozlišč je smiselno samo, če vsebujejo primerke različnih razredov. Slika 3.4(c) prikazuje prvo izmed dveh možnih variant takšne mutacije [51]: končno vozlišče se spremeni v naključno poddrevo, končno vozlišče se spremeni v novo končno vozlišče Nastavitve kontrolnih parametrov Kontrolni parametri evolucije so namenjeni ustreznemu prilagajanju genetskega algoritma izbranemu problemu. Optimalne vrednosti nastavitev lahko opazno izboljšajo uspešnost algoritma, kljub temu pa ne obstajajo eksplicitna pravila, na podlagi katerih bi lahko izbrali najprimernejše vrednosti parametrov. Številne raziskave so bile zato izvedene prav z namenom iskanja in izbire najboljših nastavitev, [16] med katerimi lahko izpostavimo naslednje [62]: Velikost populacije, ki določa število vseh razpoložljivih kromosomov in s tem tudi koliko genetskega materiala je na voljo. Če določimo premalo kromosomov, algoritem ne more pokriti zadostne količine iskalnega prostora. Po drugi strani preveč kromosomov povzroči izgubo časa pri vrednotenju velike količine slabih rešitev, Število generacij določa zgornjo mejo ponovitev algoritma, Stopnja križanja določa "verjetnost" izvedbe križanja med dvema kromosomoma. Lahko jo razumemo tudi kot povprečno število križanj na eno generacijo, Stopnja mutacije specificira verjetnost naključne spremembe gena v kromosomu, 27

38 Elitizem je koncept, ki po selekciji omogoča kromosomom z najboljšim fitness-om, da se nespremenjeni avtomatsko uvrstijo v naslednjo generacijo. Brez takšnega zagotovila bi se namreč lahko zgodilo, da bi najboljši kromosom generacije izginil zaradi mutacije, križanja ali selekcije. 3.3 Vrednotenje uspešnosti in učinkovitosti evolucije Genetski algoritmi se tekom evolucije skozi številne generacije postopoma približujejo končni rešitvi, za katero v končni fazi želimo, da je optimalna. Če algoritem ne more zagotoviti, da se bo tudi po neskončnem številu generacij približal optimalni rešitvi, je njegova uporabna vrednost vprašljiva. V nasprotnem primeru se moramo odločiti, kdaj bomo algoritem ustavili, saj optimalnega drevesa v celotnem iskalnem prostoru ponavadi ne poznamo. [8] Zaustavitvene kriterije moramo nastaviti tako, da bo najboljše drevo ob prekinitvi evolucije čim bližje globalnemu optimumu. Da bi lahko našli primerne vrednosti kriterijev, moramo zato vrednotiti uspešnost in učinkovitost evolucije, na podlagi česar lahko posredno med seboj primerjamo tudi različne evolucijske algoritme, oziroma evolucijski pristop gradnje s klasičnim načinom indukcije. Tipično so vrednosti zaustavitvenih kriterijev odvisne od [67]: kvalitete odločitvenih dreves in/ali razpoložljivosti virov. Uspešnost (angl. performance) evolucije odločitvenih dreves je odvisna od kvalitete dreves, ki jo pri genetskih algoritmih ovrednotimo s pomočjo fitness funkcije. Bodisi le-ta kvaliteto računa na podlagi točnosti klasifikacije (ter morda tudi kompleksnosti drevesa), bodisi za računanje uporablja druge metrike, kot so naprimer F-measure, distance score ali celo nove pristope, [3] niti ni tako pomembno. Bistvenega pomena je končna ocena fitness funkcije, ki kvaliteto vrednoti. Ker gre za eno samo realno vrednost, je primerjava različnih evolucijskih pristopov enostavna: kot najuspešnejši genetski algoritem je izbran algoritem, katerega maksimalna možna ocena sposobnosti oz. fitness se najbolj približa globalno optimalni vrednosti. [67] Fitness pa je lahko problematičen, saj so nekatere raziskave pokazale, da visoka točnost klasifikacije nujno ne pomeni, da je genetski algoritem uspešen. Samo eden izmed primerov je recimo doseganje visoke točnosti z omejevanjem nabora pravil na začetno 28

39 populacijo. V takšnih primerih se odločitvena drevesa odlično naučijo klasificirati primerke, ki se nahajajo v učni množici, ter na podlagi tega dobijo zelo dobro oceno uspešnosti, čeprav je klasifikacija novih primerkov slaba. [48] Posledično so tudi genetski algoritmi označeni kot uspešni, saj so nas privedli do takšne rešitve. Seveda pa drevesa (in s tem tudi genetskega algoritma) ne smemo obravnavati kot uspešnega, če je njegova točnost klasifikacije slaba pri vseh novih primerkih. Zaradi tega ima tudi metrika ocenjevanja uspešnosti na podlagi fitness-a svoje slabosti. Nekateri drugi načini ocenjevanja teh težav nimajo, vendar se kljub temu uporabljajo manj pogosto, saj je fitness najbolj transparentna in v veliki večini primerov tudi najbolj primerna metrika za ocenjevanje uspešnosti. Med drugimi načini ocenjevanja uspešnosti, ki so se še razvili in jih je možno uporabljati tudi v kombinaciji s fitnessom, so naprimer še raznolikost dreves, razumljivost dreves in stroški gradnje. [67] Učinkovitost (angl. efficiency) evolucije odločitvenih dreves lahko po drugi strani merimo na osnovi porabe razpoložljivih virov. Genetski algoritmi se tipično izvajajo kar nekaj časa in zahtevajo določen nivo procesorske moči, zato lahko vsaka izboljšava hitrosti izvedbe naredi razliko med dvema algoritmoma, tudi če je sicer njuna natančnost klasifikacije enaka. Z namenom izboljšanja učinkovitosti so bile izvedene številne raziskave, med katerimi lahko omenimo uporabo predpomnilnika za shranjevanje fitness vrednosti dreves populacije, zato da v naslednjih generacijah ne bi izgubljali čas s ponovnim vrednotenjem istih odločitvenih dreves. [25] Da bi čimbolj optimizirali čas izvajanja genetskega algoritma, zaustavitvene kriterije ponavadi nastavljamo na enega izmed dveh načinov. Pogosti način je določitev bodisi fiksnega števila generacij k bodisi časa izvajanja t. Po po določenem številu generacij oziroma po preteku časa nato preverimo uspešnost dreves; tisti algoritem, ki je po številu generacij k ali v časovnem obdobju t uspel zgraditi najuspešnejše drevo, je s časovnega vidika najučinkovitejši. Slabost tega pristopa je, da je fiksno število dokaj težko izbrati, saj ne moremo vedeti, kako dolgo bo napredek v evoluciji trajal. [8] Morda smo evolucijo ustavili prehitro in kot najučinkovitejši algoritem določili algoritem, ki je sicer v tem času privedel do dokaj dobre rešitve, vendar bi nek drug algoritem kljub temu morda zgradil 29

40 skoraj optimalno rešitev hitreje kot prvi. Po drugi strani izgubljamo veliko dragocenega časa, če mejo nastavimo previsoko. Zato drug pristop opazuje čas oziroma število generacij od zadnje izboljšave drevesa. S tem je povezan kontrolni parameter stopnje stagnacije, ki določa koliko časa ali generacij mora preteči brez izboljšave, da se bo algoritem ustavil. Algoritem, ki se prej približa optimumu, je posledično učinkovitejši. Seveda je ta pristop možno kombinirati tudi s fiksno določitvijo časa ali generacij, ki izvajanje algoritma v vsakem primeru ustavi ob dosegu določene meje. [8] Na sliki 3.5 opazujemo dva genetska algoritma, ki drevesa razvijata do 150. generacije. V prvem primeru je algoritem B tako uspešnejši, kot tudi učinkovitejši od algoritma A, saj se optimalni vrednosti približa hitreje. Zato bi, ne glede na to, v katerem trenutku bi evolucijo ustavili, v končni fazi kot uspešnejšega v vsakem primeru izbrali algoritem B. V drugem primeru ta odločitev več ni tako trivialna. Algoritem B je zaradi hitrosti sicer še vedno učinkovitejši, vendar se globalnemu optimumu bolj približa algoritem A. Če bi evolucijo ustavili prehitro, bi kot uspešnejšega izbrali algoritem B, čeprav je druga izbira v tem primeru boljša. Slika 3.5: Merjenje uspešnosti in učinkovitosti evolucije 30

41 4 PODOBNOST MED DREVESI Kot smo že nakazali v prejšnjih poglavjih, je eden glavnih problemov evolucijskih algoritmov njihova nagnjenost k postopnem zmanjševanju raznolikosti med primerki populacije. Razlogi za to se skrivajo predvsem v določenih značilnosti algoritma, med katerimi lahko izpostavimo pritisk selekcije (angl. selection pressure) in visoko izmenjavo genov (angl. gene flow) med številnimi primerki populacije. [77] Pritisk selekcije je pojem, ki se sicer uporablja na področju biologije, označuje pa zunanje dejavnike okolja, ki s svojim vplivom na primerke populacije usmerjajo razvoj vrste v izbrano smer. V okviru evolucijskih algoritmov so ti dejavniki kontrolni parametri evolucije, kot so velikost začetne populacije, velikost turnirja pri selekciji, uporaba elitizma in drugi. [2] Označimo jih lahko tudi kot težnjo k selekciji samo najboljših primerkov trenutne generacije, ki je sicer nujno potrebna za usmerjanje algoritma k optimumu. [43] Kljub temu lahko previsok pritisk selekcije populacijo hitro napolni s kloni uspešnejših odločitvenih dreves, saj je njihova verjetnost prehoda v novo generacijo v primerjavi z ostalimi, manj uspešnimi primerki, previsoka. Po nekaj generacijah izbire istih primerkov se raznolikost dreves v populaciji začne hitro zmanjševati, kar je v nasprotju z našimi prizadevanji. Po drugi strani nam prenizek pritisk selekcije pogosto ne pride v poštev zaradi prepočasne konvergence h končni rešitvi. [77] Da bi se rešitve skozi evolucijo približale globalnemu optimumu v doglednem času, je zato ključnega pomena, da se vzdržuje primeren nivo pritiska selekcije. [43] Visoka izmenjava genov prav tako vodi v upad raznolikosti med drevesi populacije. Algoritmi, ki ne implementirajo bolj prefinjenega načina selekcije, temveč namesto tega dovoljujejo, da se vsak primerek križa s katerimkoli drugim primerkom, ponavadi povzročijo, da se isti geni hitro razširijo skozi celotno populacijo. Posledično se raznolik genetski material razredči in s tem se začne zmanjševati tudi nabor možnih potomcev, ki jih takšni starši lahko generirajo. [77] Zakaj je ohranjanje raznolikosti med primerki populacije tako pomembno? Ko drevesa v populaciji postanejo med seboj preveč podobna, začne populacija hitro konvergirati proti eni izmed možnih rešitev. Temu pravimo tudi prezgodnja konvergenca (angl. premature convergence), ki iskanje najboljšega drevesa pogosto pripelje do lokalnega optimuma. [80] Vsakršno nadaljnje iskanje boljših rešitev je v populacijah s preveč podobnimi drevesi 31

42 nepotrebno med seboj podobni starši bodo namreč ustvarjali podobne potomce, katerih značilnosti se ne bodo bistveno razlikovale od svojih predhodnikov, zaradi česar bo tudi fitness novo ustvarjenih dreves enak oziroma celo slabši, kot je razvidno tudi iz primerjave križanj podobnih in različnih dreves na sliki 4.1. Ravno zaradi tega je zagotavljanje ter vzdrževanje raznolikosti ali heterogenosti populacije eden izmed glavnih problemov, ki jih je v okviru izvedbe genetskih algoritmov definitivno potrebno nasloviti. [59] Slika 4.1: Primerjava rezultatov križanja različnih in podobnih (enakih) dreves Številne študije so bile izvedene z namenom iskanja načinov ohranjanja raznolikosti, kar bi tekom evolucije omogočalo dovolj hitro približevanje globalno-optimalni rešitvi, brez da bi populacija prezgodaj konvergirala k enemu izmed mnogih lokalnih optimumov. Večina izmed teh študij spada v eno izmed naslednjih treh kategorij [77]: kompleksne strukture primerkov populacije z namenom zniževanja izmenjave istih genov (npr. diffusion model, island model, multinational EA, ), specializirani genetski operatorji, ki nadzorujejo in/ali krmilijo postopka selekcije (npr. nitching, crowding, sharing, omejeno križanje, ) in ponovna uvedba genetskega materiala. 32

43 Raznolikost primerkov v populaciji je nedvomno tesno povezana z uspešnostjo evolucijskih algoritmov [77], zato smo se v magistrski nalogi odločili raziskati enega izmed pristopov, ki poskušajo izboljšati proces selekcije s križanjem med seboj čimbolj različnih dreves. 4.1 Križanje na osnovi podobnosti Evolucijski algoritmi poskušajo posnemati proces naravne selekcije z združevanjem najbolj obetavnih rešitev iz populacije. Seveda obstajajo številne metode izbire takšnih posameznikov, kljub temu pa imajo vse eno skupno lastnost: dobre oziroma dovolj dobre rešitve moramo izbirati bolj pogosto kot slabe. Običajni načini križanja v sklopu genetskih algoritmov, med katerimi smo najpogosteje uporabljene opisali že v prejšnjem poglavju, med seboj združujejo starše, ki so bili iz populacije izbrani glede na njihov fitness oziroma oceno uspešnosti. Boljši primerki so imeli večjo verjetnost izbire in napredovanja v naslednjo generacijo; z upoštevanjem le kvalitete rešitev pa so tradicionalni genetski algoritmi oponašali proces, ki ga v biologiji imenujemo naključno parjenje (angl. random mating), ki se pri procesu selekcije ne ozira na razlike v genotipu ali fenotipu med posamezniki. [29] Naključno parjenje pa vendarle ni edini mehanizem spolne reprodukcije, ki ga lahko opazimo v naravi. Nenaključno parjenje (angl. non-random mating), ki ga lahko zasledimo predvsem pri vretenčarjih, zajema strategije selekcije, pri katerih izbor temelji na določenih značilnostih staršev. Tako se naprimer primati preferenčno parijo s primerki izven svojega družinskega drevesa, kar pravzaprav predstavlja specifično nenaključno paritveno shemo, ki je v populacijo zmožna vnesti nov genetski material ter s tem povečati raznolikost med primerki. [29] Na podoben način lahko nenaključne vrste parjenja prenesemo tudi v kontekst genetskih algoritmov. Z nenaključnim parjenjem v proces izbire vnašamo nek nivo inteligence in tako maksimiziramo uspešnost in učinkovitost algoritma tako, da preprečujemo ustvarjanje neuspešnih potomcev. [39] Med tehnike omejevanja križanja (angl. restricted mating techniques) prištevamo pristope, ki v evolucijske algoritme vključujejo različne preference križanja, kot naprimer: razporejeno in nerazporejeno parjenje, sedukcija, korelacijska turnirska selekcija, tabu genetski algoritem, razvojni agenti in podobno. [34] 33

44 Različne načine upoštevanja podobnosti med primerki v sklopu križanja razvrščamo med t.i. tehnike razporejenega ter nerazporejenega parjenja. Razporejeno parjenje (angl. assortative mating) je mehanizem nenaključnega križanja, pri katerem primerke izberemo na podlagi njihovih podobnosti. Ko se podobni primerki med seboj križajo pogosteje, kot se to dogaja po naključju, temu pravimo pozitivno razporejeno parjenje (ali tudi samo razporejeno parjenje). Pogostejše parjenje med seboj zelo različnih primerkov se po drugi strani imenuje negativno razporejeno ali tudi nerazporejeno parjenje (angl. disassortative mating). [29] Razporejeno parjenje se pogosto uporablja v okviru koncepta delitve fitness-a (angl. fitness sharing) ali nišenja (angl. niching). Gre za metodo, ki celotno populacijo poskuša prisiliti v vzdrževanje različnih niš. Vsaka izmed niš predstavlja eno izmed regij iskalnega prostora, v kateri se nahajajo lokalno-optimalni primerki. Metoda nišenja pred operacijo selekcije najprej prilagodi ocene uspešnosti posameznih primerkov tako, da so lahko razporejeni v določene niše. [39] Kombiniranje primerkov iz različnih niš bi povzročilo nastanek slabših potomcev, zato sta Goldberg in Deb predlagala koncept križanja čimbolj podobnih primerkov znotraj ene niše. [23] Nišenje ohranja raznolikost zaradi mnogih niš v populaciji, genetskemu algoritmu pa omogoča preverjanje številnih lokalno-optimalnih rešitev. Ker je takšnih rešitev več, algoritem ne konvergira k eni sami rešitvi, temveč lahko med vsemi možnimi najde najboljšo lokalno-optimalno rešitev, ki predstavlja ali se čimbolj približa globalno-optimalni. [43] Po drugi strani nerazporejeno parjenje izrablja koncept preprečevanja incesta (angl. incest prevention), ki spodbuja omejeno križanje med seboj različnimi primerki. Splošno gledano lahko rečemo, da s križanjem dveh zelo podobnih primerkov ne bomo dobili potomcev, ki bi v populacijo vnesli kakršnekoli nove informacije, kar posledično vodi v postopno zmanjševanje uspešnosti genetskega algoritma. Ta metoda zato v nasprotju z metodo nišenja primerke izbira glede na njihovo genetsko različnost. Razliko v genotipu oziroma fenotipu med dvema primerkoma lahko kvantiziramo ter nato na njeni osnovi izberemo dva med seboj različna primerka, ki ju v naslednjem koraku križamo. [34] Na sliki 4.2 sta prikazana oba opisana pristopa parjenja. V nasprotju z naključnim križanjem je križanje na podlagi upoštevanja podobnosti med primerki pokazalo, da je pri učinkovitem raziskovanju iskalnega prostora lahko uspešno tako z metodo nišenja, kot tudi z metodo preprečevanja incesta. [34] Ker pa sta oba 34

45 opisana načina parjenja, kot tudi metodi, na katerih temeljita, in s tem načina nenaključne izbire primerkov, na nek način drug drugemu nasprotna, je pravzaprav pomembno, ali poskušamo med seboj kombinirati čimbolj podobne ali različne primerke. Primera na sliki 4.2 dobro ilustrirata ta problem, ki smo ga že izpostavili prej. Slika 4.2: Križanje podobnih in različnih primerkov pri razporejenem in nerazporejenem načinu parjenja Slika 4.2(a) prikazuje lokalno-optimalne primerke, ki pokrivajo iskalni prostor v večih nišah. Križanje primerkov iz različnih niš zmanjšuje fitness potomcev, med tem ko križanje primerkov znotraj iste niše potencialno še povečuje obstoječe lokalne optimume na določenem delu iskalnega prostora. Po drugi strani so na sliki 4.2(b) prikazani primerki, razpršeni skozi celoten iskalni prostor z združevanjem gensko različnih primerkov so končni potomci morda lahko izboljšava svojih staršev, med tem ko kombiniranje enakih potomcev zaradi revnosti genetskega materiala staršev ni sposobno producirati bistveno boljših posameznikov. Številne raziskave so preučevale vpliv upoštevanja podobnosti v procesu selekcije, ter tako na podlagi empiričnih podatkov pokazale, da je pristop nerazporejenega parjenja uspešnejši in prilagodljivejši za širok nabor tako statičnih kot tudi dinamičnih problemov. [29] Eschelman in Schaffer sta predstavila algoritem, imenovan CHC, ki uporablja enostaven mehanizem nerazporejenega parjenja. Genetsko raznolikost namreč dosega tako, da dovoljuje križanje le med primerki, katerih Hammingova razdalja 1 je nad določeno fiksno mejo. [26] Uspešnost podobne strategije na bolj dinamičnih okoljih so odkrili tudi 1 Hammingova razdalja (angl. Hamming distance) je število delov, v katerih se dva objekta med seboj razlikujeta. Meri število potrebnih substitucij za spremembo enega objekta v drugega. 35

46 Ochoa in ostali avtorji, ki so med drugim raziskovali tudi optimalno stopnjo mutacije za različne strategije parjenja. Na podlagi empiričnih raziskav so ugotovili, da se optimalna stopnja mutacija povečuje, ko se strategija križanja približuje razporejenemu načinu parjenja, kar je logično, saj bi naj nerazporejeni način vzdrževal visok nivo raznolikosti populacije, zaradi česar se potreba po mutacijah, ki bi vnašale nov genetski material v populacijo, posledično zmanjša. [60] V literaturi je predstavljenih še mnogo drugih načinov križanja na osnovi podobnosti, [30][35][36][45] vendar takšnih ali drugačnih primerov uporabe v sklopu klasifikacije z odločitvenimi drevesi nismo zasledili. Magistrska naloga se zato primarno ukvarja z ugotavljanjem uspešnosti in učinkovitosti genetskih algoritmov, ki pri križanju upoštevajo podobnost med odločitvenimi drevesi. Pristop nerazporejenega parjenja, ki smo ga uporabili tudi v okviru našega problema, so predstavili že Fernandes in ostali avtorji na problemu kvantizacije vektorjev. [30] V nadaljevanju opisana strategija križanja je na sliki 4.3 prikazana za primer klasifikacije s pomočjo odločitvenih dreves. Od standardnega načina delovanja genetskega algoritma se pristop razlikuje le v načinu selekcije staršev za križanje. V sklopu vsake selekcije se prvo starševsko odločitveno drevo izbere s pomočjo katerekoli tradicionalne selekcijske metode. V našem primeru smo za izbor prvega drevesa izvedli turnirsko selekcijo, pri kateri se je izmed α naključno izbranih dreves populacije vedno izbralo drevo, ki je izmed vseh dreves v turnirju doseglo najvišjo oceno fitness-a. [29] Slika 4.3: Uporabljen pristop nerazporejenega parjenja za križanje odločitvenih dreves 36

47 V naslednjem koraku algoritem zahteva ponovno uporabo iste selekcijske metode nad novim naborom primerkov iz populacije. Naš primer je torej zahteval izvedbo turnirja velikosti β, na podlagi katerega smo lahko izbrali drugo starševsko drevo. Izbor v tem primeru pa ni potekal glede na vrednosti ocen uspešnosti dreves v turnirju, kot bi to storili v okviru standardnega genetskega algoritma, temveč glede na kriterij podobnosti. Da bi drevesa lahko primerjali po podobnosti, je bilo v prvem koraku potrebno izračunati oceno podobnosti med izbranim prvim starševskim drevesom in vsemi drevesi iz drugega turnirja. [29] Ocenjevanje podobnosti ni trivialna naloga, zato jo bomo podrobneje opisali v naslednjem podpoglavju. Glede na izbran način križanja na osnovi podobnosti lahko nato dobimo še drugega starša. Če genetski algoritem uporablja pristop razporejenega parjenja, je za drugo drevo izbrano prvemu najpodobnejše, v primeru nerazporejenega parjenja pa najrazličnejše drevo. [30] V našem primeru smo raziskovali vpliv slednjega na uspešnost ter učinkovitost genetskega algoritma z upoštevanjem raznolikosti pri križanju dveh primerkov smo v populacijo želeli vnesti nov genetski material in s tem preprečiti konvergenco k lokalnim optimumom. Zato smo v izvedenem eksperimentu preučevali predvsem vplive križanja med seboj različnih dreves, ter potomce takšnih križanj primerjali s potomci križanj po tradicionalnem načinu. Hkrati smo želeli preveriti tudi hipotezo o zmanjševanju uspešnosti in učinkovitosti algoritma pri križanju podobnih dreves na način nerazporejenega parjenja, zato smo izvedli tudi primerjave tega pristopa z ostalimi. 4.2 Opredelitev načina merjenja podobnosti Podobno kot fitness funkcija meri kvaliteto odločitvenih dreves tako, da glede na enega ali več različnih kriterijev podaja skupno oceno kakovosti drevesa, lahko definiramo tudi funkcijo za merjenje različnosti oziroma podobnosti med dvema drevesoma. Namen funkcije za vrednotenje podobnosti je pravzaprav jasen: funkcija glede na izbrane kriterije podobnosti med drevesi, ki jih bomo definirali v nadaljevanju, ugotavlja razlike med dvema poljubnima drevesoma. Da bi lahko podobnost oziroma raznolikost sploh ovrednotila, kot vhod najprej potrebuje dve drevesi, nad katerimi se v naslednjem koraku vršijo operacije za izračun podobnosti med njima. Operacije lahko seveda upoštevajo različne vidike dreves, bodisi gre za razlike v velikosti bodisi uspešnosti klasifikacije, ali pa 37

48 morda kombinacijo obeh. Pomembno je predvsem to, da se končni rezultat vrednotenja ustrezno kvantizira, kot izhod pa se poda realna numerična vrednost. Razlog za izbiro ene same numerične vrednosti, ki predstavlja končno oceno podobnosti, je enak kot pri fitness funkciji. Na podlagi skupne ocene podobnosti za vsak par dreves lahko namreč vse izračunane ocene med seboj hitro primerjamo in tako ugotovimo, katero drevo je prvemu staršu najbolj podobno in katero najbolj različno. Edini problem, ki smo ga opazili in posledično morali nasloviti in odpraviti, je bilo vprašanje o zgornji in spodnji meji ocene. Pri ocenjevanju kvalitete odločitvenih dreves s fitness funkcijo, ki je ocenjevala zgolj točnost klasifikacije, je bil odgovor na to vprašanje dovolj trivialen, da mu ni bilo potrebno posvečati posebne pozornosti. Končna ocena je namreč predstavljala vrednost med nič in ena, pri čemer so pri maksimiziranem pristopu spodnjo mejo zasedala drevesa, ki so vse primerke testne množice klasificirala napačno, zgornjo mejo pa tista, ki so vse primerke klasificirala pravilno. Ko smo poleg točnosti klasifikacije upoštevali še velikost drevesa, se je izkazalo, da končne ocene ni več mogoče omejiti na zgoraj omenjen interval, saj lahko velikost drevesa (teoretično) raste v neskončnost. Podobno je tudi pri različnosti dreves. Kako bi definirali zgornjo mejo ocene različnosti, če pa lahko vedno najdemo prvemu drevesu še bolj različno drevo? Slika 4.4 prikazuje ocenjevanje podobnosti med dvema drevesoma glede na njuno globino. Slika 4.4: Poskus definiranja zgornje meje raznolikosti med drevesi 38

49 Če je le-ta za obe drevesi enaka, lahko z minimalno oceno 0 določimo, da sta drevesi med seboj podobni, oziroma vsaj glede na kriterij globine nivojev enaki. Če ima drugo drevo več nivojev kot prvo, se tudi ocena različnosti poveča. Pri primerjanju prvega para dreves morda ugotovimo, da ima eno drevo štiri nivoje, drugo pa samo dva. Če razliko med njima označimo z 1, kar bi morda v tem primeru pomenilo maksimalno razliko, potem bomo sposobni različnost vrednotiti le še med drevesi, katerih razlika v številu nivojev bo manjša ali enaka dva; če bi se namreč pojavil par, pri katerem bi razlika v številu nivojev presegla to vrednost, bi bili zaradi maksimalne meje pri številu 1 nezmožni prikazati razliko v stopnji podobnosti med tem in prvim parom dreves. Zato bi bila ena izmed možnosti morda uporaba limite funkcije, ki bi določala zgornjo mejo, kateri bi se ocena raznolikosti vedno bolj približevala, čimbolj različni bi drevesi bili med seboj. Na ta način zgornje meje nikoli ne bi dosegli, kljub temu pa bi bili glede na vrednost ocene še vedno sposobni ugotoviti, kateri par dreves je med seboj najrazličnejši. [4] V večini primerov bi zaradi preglednosti in lažjega računanja želeli za zgornjo mejo določiti število 1. Na (4.1) je prikazan primer takšne limite funkcije, s pomočjo katere lahko oceno omejimo na interval med nič in ena. Seveda bi lahko v tem primeru definirali tudi kakšno drugo limito funkcije. Druga vrstica tabele 4.1 prikazuje, kako se ocena različnosti povečuje in postopoma približuje meji, ki smo jo določili, glede na definirano limito. ( ) (4.1) Kjer je: število nivojev starševskega drevesa Čeprav je ta opcija zadovoljiva, se v končni fazi kljub temu nismo odločili zanjo. Razlog za to je dejstvo, da lahko skupno oceno podobnosti izračunamo na veliko enostavnejši način. Omejevanje ocene na vrednost med dve vrednosti s pomočjo definirane funkcije je namreč dodatna operacija, ki zahteva procesorski čas. Zato smo se odločili, da zgornje meje sploh ne bomo postavili. Kot končno oceno smo tako upoštevali kar direkten izračun na osnovi uporabljenih kriterijev. Ne samo, da smo s tem skrajšali potreben čas vrednotenja, ki je zaradi številnih klicev metode za vrednotenje podobnosti v vsaki generaciji evolucije ključnega pomena pri 39

50 optimizaciji hitrosti algoritma, temveč smo se s tem izognili tudi morebitnim problemom zaokroževanja vrednosti, do katerih bi lahko morda prišlo pri omejevanju vrednosti med nič in ena. Podobnost s staršem A Tabela 4.1: Primerjava različnih načinov vrednotenja podobnosti Potencialni starši B Pristop \ Št. nivojev Fiksna meja [0, 1] ??? Limita funkcije [0, 1) Neomejena [0, ) V končni fazi lahko zaradi linearnosti povečevanja razlike v primeru ocenjevanja podobnosti brez zgornje meje opazujemo razmerje med ocenama dveh parov dreves, česar pri pristopu z limito ne moremo, saj se intervali med končnimi ocenami za vsako nadaljno odkrito razliko med drevesoma postopoma zmanjšujejo. V našem primeru sicer to niti ni tako pomembno, saj nas zanimajo samo tisti pari dreves, ki so bili ocenjeni kot med seboj najbolj ali najmanj različni. 4.3 Implementacija računanja in uporabe pristopov podobnosti Možnih pristopov oziroma načinov ocenjevanja podobnosti je pravzaprav precej. Podobno kot so se razvili številni pristopi, ki na podlagi različnih karakteristik dreves, kot so točnost klasifikacije, velikost dreves in podobno, vrednotijo njihovo kakovost, lahko značilnosti dreves izkoristimo tudi za ugotavljanje razlik med njimi. V primerih, ko si za vrednotenje podobnosti izberemo eno značilnost drevesa, ter nato iz njenega zornega kota opazujemo in ocenjujemo razlike med dvema drevesoma, gre za enokriterijsko merjenje podobnosti, upoštevanje razlik večih značilnosti dreves naenkrat pa pomeni večkriterijsko merjenje. Že na osnovi te razdelitve lahko opazimo podobnosti s fitness funkcijo, katere namen je bil, enako kot pri funkciji za računanje podobnosti, izbira najprimernejšega drevesa za križanje. Čeprav so bile večkriterijske meritve pri fitness funkcijah uspešnejše, saj je kvaliteto drevesa težko oceniti na podlagi ene same karakteristike drevesa, je bila njihova največja slabost problem optimizacije. Primerno ravnotežje med večimi kriteriji naenkrat je namreč ključnega pomena za učinkovito delovanje evolucijskega algoritma, vendar je kompromis med njimi včasih težko najti. Podoben problem bi se v morda še večjem 40

51 obsegu pojavil pri vrednotenju podobnosti med drevesoma: v nasprotju z večkriterijskimi meritvami fitness funkcij namreč pri vrednotenju podobnosti nimamo rezultatov oziroma analiz uspešnosti posameznih eno-kriterijskih meritev, ki bi lahko predstavljale oporno točko pri vzpostavitvi najprimernejših večkriterijskih meritev. Čeprav bi upoštevanje kombinacije več parametrov najverjetneje podalo natančnejšo in veljavnejšo končno oceno, se nam je zato za izvedbo prvega tovrstnega eksperimenta preverjanja vpliva podobnosti na primeru odločitvenih dreves zdelo primerneje definirati in nato preizkusiti nekaj samostojnih metrik za računanje podobnosti. V nadaljevanju zato podrobneje predstavljamo tiste, ki smo jih implementirali v okviru magistrske naloge, zaključek pa v zadnji fazi povzema nekaj možnih smernic za nadaljnje delo, med katerimi lahko v tej točki izpostavimo možnost uporabe pridobljenih empiričnih podatkov v sklopu izvedbe eksperimenta za definiranje novih eno- in več-kriterijskih metrik za računanje podobnosti Kompleksnost drevesa Kompleksnost (angl. complexity) odločitvenih dreves je eden izmed vidikov, ki vplivajo na njihovo uspešnost. Z gradnjo enostavnejših in manjših dreves poskušamo slediti načelu Ockhamove britve, ki zahteva, da pri oblikovanju hipotez in teorij privzamemo čim manj predpostavk ter pojave pojasnimo s kar najmanjšim možnim številom spremenljivk, ki nanje vplivajo. Drevesa opisujejo nek klasifikacijski problem ravno zato je pomembno, da lahko rešitev podamo v kratki in jedrnati, vendar zadostni obliki. Enostavnost drevesa lahko zato predstavimo z metriko števila vozlišč v drevesu. [41] Na ta način upoštevamo koncept širine drevesa, ki bi sicer (predvsem na globljih nivojih večjega drevesa) zaradi kombinatorične eksplozije znatno povečala horizontalno kompleksnost drevesa in s tem vplivala na zmanjšanje njegove razumljivosti in interpretabilnosti. Ena izmed morda še najpomembnejših posledic principa Ockhamove britve, ki mu želimo slediti pri gradnji odločitvenih dreves, pa je doseganje dobre zmožnosti generalizacije. Problem prenatreniranosti, ki smo ga izpostavili že v prejšnjih poglavjih, je namreč lastnost, ki je značilna predvsem za bolj kompleksna drevesa, ki se sicer za primerke učne množice dobro naučijo v katere končne razrede spadajo, vendar se nato pogosto izkaže, da so ta pravila preveč specifična, da bi bila uporabna za klasifikacijo novih 41

52 primerkov. To pa je ravno glavni namen odločitvenih dreves: z njimi želimo na čimbolj preprost in razumljiv način klasificirati nove, še neznane primerke, v pravilne kategorije. Da bi bili to zmožni doseči, je dobra generalizacija ali zmožnost posploševanja ključnega pomena. Le-ta pa je tesno povezana z enostavnostjo dreves, saj so lahko le majhna in preprosta drevesa dovolj splošna. [67] Kompleksnost pa lahko definiramo tudi kot število odločitev, ki jih mora drevo sprejeti, da lahko poljuben primerek iz testne množice razvrsti v enega izmed podanih končnih razredov. Drugače povedano, kompleksnost lahko opredelimo kot globino drevesa, saj število nivojev od korenskega vozlišča do najnižje uvrščenih listov predstavlja potrebno število odločitev. Takšen vertikalen pristop vrednotenja se osredotoča predvsem na časovni in procesorski vidik kompleksnosti, ki se ukvarja z vprašanjem o času in trudu, ki je potreben za izvedbo določenih klasifikacijskih opravil. [12] V našem interesu je, da je kompleksnost dreves čim manjša, saj lahko z manj kompleksnimi drevesi v enakem času klasificiramo več primerkov. Strukturno kompleksnost dreves smo se zato odločili meriti tako na podlagi globine, kot tudi števila vozlišč v odločitvenem drevesu. Tako lahko pri računanju raznolikosti med dvema drevesoma upoštevamo tako vertikalno kot horizontalno velikost drevesa, kot prikazuje slika 4.5, ki sicer prikazuje tudi vrednotenje raznolikosti glede na metriko števila uporabljenih atributov, ki je opisana v nadaljevanju. Slika 4.5: Primerjava kompleksnosti dveh dreves za klasifikacijo vretenčarjev 42

53 Podobnost med drevesoma smo izmerili tako, da smo med seboj sešteli razliki v globini ter številu vozlišč med njima. Ker smo v okviru metrike kompleksnosti dreves opazovali kar dva vidika velikosti, smo morali za oba določiti stopnjo vpliva na oceno podobnosti. Ker se obe metriki velikosti dreves dopolnjujeta, smo se odločili za uporabo uteži, pri čemer smo vsaki nastavili enak nivo pomembnosti Število uporabljenih atributov Vsak primerek v podatkovni množici je opisan z naborom numeričnih in nominalnih atributov, na podlagi katerih se odločitveno drevo lahko odloči, v kateri končni razred ga bo razvrstilo. Izbor atributov tekom gradnje je predmet implementacije indukcijskega algoritma, zato je le-ta za metriko pomemben le v tolikšni meri, kolikor različnih atributov je izbral za nekončna vozlišča v drevesu. Zapletena odločitvena drevesa velikokrat v proces odločanja vključujejo večino, če ne celo vseh atributov, ki so na razpolago. Po drugi strani je pri enostavnih in dokaj majhnih drevesih ponavadi uporabljenih le nekaj atributov. V bistvu gre za še eno metriko kompleksnosti drevesa, ki se nanaša predvsem na zahtevnost odločitve, ki jo mora drevo sprejeti za klasifikacijo nekega primerka. Kljub temu opisane metrike nismo želeli vključiti v sklop prejšnje, za kar smo se odločili predvsem zato, ker ni direktno povezana z velikostjo drevesa. Ker smo v magistrski nalogi želeli preizkusiti enokriterijske meritve, smo število uporabljenih atributov definirali kot novo, samostojno metriko, na podlagi katere smo lahko nato v nadaljevanju opazovali uspešnost in učinkovitost evolucijskih algoritmov. Implementacija metrike je od nas zahtevala, da smo v obeh drevesih prešteli vse unikatne uporabljene atribute, končno oceno različnosti pa je nato predstavljala absolutna razlika obeh vrednosti Vrednosti atributov Ločitveni kriteriji (angl. splitting criteria) posameznih atributov drevesa tudi vplivajo na točnost njegove klasifikacije. Četudi imamo po velikosti in celo uporabljenih atributih popolnoma enaki drevesi, dejansko razvrščanje primerkov poteka popolnoma drugače, če 43

54 so postavljene meje drugačne. [71] Razlike v mejah lahko pomenijo velike spremembe v ločevanju množice primerkov na več podmnožic, zaradi česar so lahko isti primerki klasificirani v različne razrede. Postavljanje dobrih mej je zato ključnega pomena za dobro gradnjo dreves, zaradi česar so določeni indukcijski algoritmi, kot so naprimer ID3 in C4.5 uporabljali t.i. metrike nečistosti vozlišč (angl. impurity measures). Information gain in gain ratio sta samo dve izmed takšnih metrik, katerih namen je pravzaprav rekurzivna izbira najustreznejših atributov in ločitvenih kriterijev v vsakem naslednjem vozlišču, dokler končna vozlišča niso "čista" (oz. vsi primerki, ki so opravili pot skozi drevo do omenjenih vozlišč, pripadajo istemu razredu). [7] Seveda je ločitvene kriterije možno izbrati tudi naključno, kar je pri genetskih algoritmih pogosta praksa, saj se na ta način izognemo hevrističnemu načinu gradnje dreves in tako pokrijemo celoten iskalni prostor. [6] Za ohranjanje raznolikosti populacije tekom evolucije bi zato definitivno bilo primerno, če bi med seboj križali takšna odločitvena drevesa, katerih ločitveni kriteriji bi bili med seboj dokaj različni, saj bi na ta način v potomce vnesli mešan genetski material in s tem povečali verjetnost, da bodo le-ti uspešnejši od svojih staršev. Ideja predstavljene metrike je bila zato prav iskanje razlik na osnovi vrednosti ločitvenih atributov. S kombiniranjem dreves z različnimi vrednostmi atributov bi namreč lahko dobili potomce, ki bi kljub podobni drevesni strukturi primerke razvrščali na drugačen način. Zaradi narave evolucije bi drevesa, ki bi bila uspešnejša od svojih predhodnikov, še vedno napredovala v naslednjo generacijo, raznolikost v novih generacijah pa bi ohranjali s ponovno izbiro dreves za križanje na podlagi razlik v ločitvenih kriterijih. Ker so lahko atributi v podatkovnih množicah tako numerični, kot tudi nominalni, smo morali implementirati način, ki upošteva razlike v obeh tipih atributov. Način vrednotenja se je zato razlikoval glede na tip atributa. Vsak atribut v množici smo pri vrednotenju razlik obravnavali posebej, kot je razvidno iz slike 4.6. Končno oceno je predstavljal seštevek ocenjenih razlik za vsak atribut. Za potrebe lažjega prikaza delovanja metrike podobnosti smo nominalni atribut Ima noge v podatkovni množici vretenčarjev spremenili v numerični atribut, ki beleži število nog živali. V naslednjem koraku smo si za obe drevesi shranili vrednosti atributov, ki se pojavljajo v njih. Zaradi konsistentnosti smo si vedno shranili vrednost, ki je prikazana v 44

55 levi veji drevesa. Pri numeričnih atributih to ni problem, saj je število na obeh vejah enako, pri nominalnih atributih pa prav tako ne, saj je drevo vedno prikazano na tak način, da so ločitveni atributi urejeni po abecednem vrstnem redu. Slika 4.6: Shranjevanje vrednosti atributov v drevesih za klasifikacijo vretenčarjev Tabela 4.2 prikazuje podrobno razčlenitev v nadaljevanju opisanega postopka računanja končne ocene podobnosti. Za vsak nominalni atribut posebej se najprej prešteje število vseh vrednosti atributov, ki so med drevesoma različni. Ker naprimer prvo drevo sploh ne razvršča po pokritosti kože, med tem ko drugo drevo to najprej razdeli množico glede na vretenčarje, ki nimajo pokrite kože in v naslednjem koraku še glede na tiste, pokrite z dlako, lahko razliko v tem atributu ocenimo z 2. Po drugi strani oba atributa klasificirata po hibernaciji živali, zato razlike v tem atributu sploh ni. Numerične atribute ocenjujemo na osnovi absolutne razlike med vrednostmi atributa. Če isto drevo podatkovno množico razdeljuje večkrat po istem atributu, predstavlja skupno vrednost za ta numerični atribut kar seštevek. Vrednosti razlik posameznih numeričnih in nominalnih atributov predstavljajo delne ocene podobnosti oziroma različnosti. Ker je vsak atribut vrednoten posebej, so za ugotavljanje razlik v vrednostih pomembni vsi atributi drevesa. Kljub temu lahko takšen način vodi do določenih težav, zato so bile v okviru implementacije potrebne dodatne izboljšave. 45

56 Tabela 4.2: Razčlenitev načina računanja podobnosti glede na vrednosti atributov Telesna temperatura Pokritost kože Rojeva Vodna žival Zračna žival Ima noge min (x) max (x) x 1 1 (Da) 2 1 (Da) x' x 2 2 (Brez, Dlaka) 1 1 (Da) x' Skupna ocena Hibernira ,5-0, = 1.25 Največji problem takšnega pristopa je razviden predvsem na večjih množicah, ko imamo več atributov, katerih obsegi vrednosti se med seboj zelo razlikujejo. V takšnih primerih se lahko zgodi, da so končne vrednosti ocen podobnosti večinski odraz le enega izmed atributov. Da bi imel vsak atribut enako stopnjo vpliva na končno oceno, smo uporabili metodo skaliranja (angl. feature scaling), s pomočjo katere smo lahko za vsak posamezni atribut oceno razlike ustrezno normalizirali v okvir intervala med nič in ena, kot prikazuje (4.2) [10] ) ) ) (4.2) Kjer je: normalizirana vrednost originalna vrednost Originalna vrednost v našem primeru pri numeričnih atributih pomeni samo vrednost atributa, minimalna in maksimalna vrednost pa sta mejni vrednosti, ki ju ta atribut lahko doseže. Pri nominalnih atributih je originalna vrednost število vrednosti atributa v drevesu, maksimalna vrednost pa kar število vseh vrednosti. Minimalna vrednost za nominalne atribute je vedno 0, saj je to najmanjše možno število vrednosti nominalnega atributa, po katerih drevo razvršča. Ko za posamezno drevo izračunamo normalizirane vrednosti vseh atributov po (4.2), lahko nato za vsakega izmed atributov pridobimo še razliko med vrednostmi tega atributa. Skupna ocena različnosti med drevesoma je seštevek vseh posameznih ocen različnosti atributov. 46

57 4.3.4 Matrika zmede Četrti implementirani pristop se nanaša na matriko zmede (angl. confusion matrix), ki se na področju podatkovnega rudarjenja v glavnem uporablja za predstavitev uspešnosti klasifikacijskega algoritma. Vsebuje število primerkov, ki so bili pravilno oziroma napačno klasificirani. Vsak stolpec matrike predstavlja primerke napovedanih razredov, vsaka vrstica pa primerke dejanskih razredov. Iz tega lahko sklepamo, da diagonala matrike zmede prikazuje vse primerke, ki so bili pravilno razvrščeni, vse ostale celice matrike pa predstavljajo napačno klasificirane primerke. Na osnovi teh rezultatov lahko izpeljemo številne metrike za vrednotenje uspešnosti odločitvenih dreves, kot so naprimer točnost (angl. accuracy), F-score, priklic (angl. recall) in preciznost (angl. precision). Glavna prednost matrike, ki je sicer prikazana tudi v tabeli 4.3, je predvsem njena lahka razumljivost in možen hiter pregled rezultatov klasifikacije. [69] Tabela 4.3: Primer matrike zmede odločitvenega drevesa za klasifikacijo vretenčarjev Napovedan razred Sesalci Plazilci Ptiči Ribe Dvoživke Dejanski razred Sesalci Plazilci Ptiči Ribe Dvoživke Metrika za vrednotenje podobnosti na osnovi matrike zmede, ki smo jo implementirali, se v glavnem osredotoča na pravilno klasificirane primerke, oziroma diagonalo matrike. Ker lahko na podlagi rezultatov klasifikacije za oba drevesa izračunamo vrednosti v matriki zmede, je razlike med njima možno ugotoviti na enostaven način. Za vsakega izmed razredov najprej izračunamo razliko v številu pravilno klasificiranih primerkov, končno oceno različnosti pa nato dobimo kot seštevek vseh vmesnih razlik. Najrazličnejši drevesi sta v končni fazi tisti, ki se med seboj najbolj razlikujeta po številu pravilno klasificiranih primerkov. 47

58 4.3.5 Klasifikacija posameznih primerkov Obetaven pristop vrednotenja podobnosti, ki smo ga tudi implementirali, se nanaša na razlike v klasifikaciji posameznih primerkov podatkovne množice. Tako kot je za primer klasifikacije vretenčarjev razvidno iz tabele 4.4, lahko med seboj primerjamo rezultate klasifikacije dveh dreves. Za vsak primerek iz podatkovne množice, pri katerem opazimo razliko v klasifikaciji, oceno različnosti med drevesoma povečamo za ena. Končna ocena predstavlja vsoto vseh različno klasificiranih primerkov če sta obe drevesi vse primerke razvrstili popolnoma enako, sta glede na ta kriterij med seboj enaki, v nasprotnem primeru pa sta popolnoma različni. Ime živali Tabela 4.4: Razlike v klasifikaciji posameznih primerkov med dvema drevesoma Telesna temperatura Pokritost kože Rojeva Vodna žival Zračna žival Ima noge Hibernira Drevo 1 Drevo 2 Olinguito toplokrvna dlaka da ne ne da ne sesalec sesalec Komodo hladnokrvna luske ne ne ne da ne plazilec dvoživka Sardela toplokrvna luske ne da ne ne ne riba riba Kljunaš toplokrvna dlaka ne napol ne da ne sesalec ptič Ruševec toplokrvna perje ne ne da da ne ptič ptič V končni fazi je izbranemu drevesu najbolj različno tisto drevo, ki je primerke podatkovne množice razvrstilo na od njega najbolj različen način. Zgornji primer prikazuje dve drevesi, ki sta se razlikovali v klasifikacijah le v dveh izmed petih primerkov, kar pomeni, da sta glede na to metriko med seboj bolj podobni kot ne. Naš cilj je po drugi strani križanje dreves, ki primerke klasificirajo na drugačen način. Razlog, zaradi katerega pričakujemo boljše rezultate pri omenjenem pristopu je naslednji: predvidevamo namreč, da bi s križanjem dveh odločitvenih dreves, ki iste primerke ne klasificirata enako, morda uspeli producirati potomca, ki bi bil še uspešnejši od svojih staršev. Že na podlagi razlik v klasifikaciji lahko namreč sklepamo, da sta starša med seboj tudi strukturno različna. Če bi pri križanju dveh dreves na novo nastalo drevo podedovalo tiste dele starševskih dreves, ki so odgovorni za točnost klasifikacije, bi lahko v končni fazi bilo še bolj točno. Seveda se je potrebno zavedati, da je takšen scenarij v veliki meri odvisen od naključja, saj se posamezne točke križanja v drevesih izbirajo naključno, vendar je verjetnost izdelave ugodnejših rešitev na tak način vseeno relativno visoka zaradi velikega števila generacij evolucije. 48

59 5 PRIPRAVA IN IZVEDBA EKSPERIMENTA Implementacija v prejšnjem poglavju opisanih pristopov podobnosti je predstavljala potreben predpogoj za ugotavljanje statistične signifikance vpliva podobnosti med drevesi na proces evolucijske gradnje. Izbrani pristopi so predstavljali nekaj osnovnih načinov, po katerih smo lahko drevesa med seboj primerjali, seveda pa obstaja še veliko drugih možnih pristopov vrednotenja podobnosti, ki bi jih prav tako bilo vredno preizkusiti. Omenjene pristope smo implementirali v okviru javanskega programa "GaTree", ki je za nas predstavljal ogrodje za njihov preizkus. Delujoč program, ki je bil za potrebe raziskav s področja evolucijske gradnje odločitvenih dreves razvit na Inštitutu za informatiko Fakultete za elektrotehniko, računalništvo in informatiko Univerze v Mariboru, namreč že omogoča gradnjo dreves na evolucijski način. Njegove obstoječe funkcionalnosti poleg standardnega načina evolucijske gradnje vključujejo tudi številne pristope križanja, selekcije ter mutacij, kot tudi vrednotenja primerkov dreves. Z bogatim naborom kontrolnih parametrov lahko poleg izbora posameznih pristopov spreminjamo tudi njihove nastavitve, prav tako pa je možno nastavljati parametre, ki so povezani s samim načinom izvedbe evolucije. To je bilo za nas še posebej zanimivo, saj smo na ta način lažje testirali svoje pristope ter skozi vmesne rezultate postopoma ugotavljali, katere izmed nastavitev bi bile najprimernejše za končno izvedbo samega eksperimenta. Upoštevanje podobnosti oziroma različnosti med drevesi v programu v osnovi ni bilo implementirano, zato je naše delo v okviru magistrske naloge najprej vključevalo nadgradnjo programa z novim pristopom izbora dreves za križanje. Pristop, katerega delovanje smo sicer podrobneje opisali že v prejšnjem poglavju, smo poimenovali kar selekcija na osnovi podobnosti. Čeprav v bistvu predstavlja enega izmed novih načinov selekcije dreves, ki smo ga implementirali poleg že obstoječih načinov v programu "GaTree", smo proces selekcije v klasifikacijskem problemu preoblikovali tako, da lahko glede na vrednosti kontrolnih parametrov pristop podobnosti upoštevamo samo pri izbiri drugega starševskega drevesa. Izbor prvega namreč v vsakem primeru poteka na enega izmed obstoječih načinov selekcije, saj za ugotavljanje podobnosti najprej potrebujemo neko referenčno točko, na podlagi katere bomo nato izvajali primerjavo. Takšne vrste implementacija se nam je zdela smiselna, saj lahko tako v prvi fazi izberemo prvo drevo na kateregakoli izmed obstoječih načinov selekcije, nato pa se lahko odločimo, 49

60 ali bomo pri izboru drugega drevesa prav tako uporabili enak način izbora, ali pa bomo namesto tega izbrali prvemu najbolj podobno oziroma najbolj različno drevo. Ker obstaja več različnih načinov, po katerih lahko podobnost vrednotimo, smo vsak način računanja ločili od ostalih, da bi s tem zagotovili večjo neodvisnost med njimi in olajšali njihovo uporabo pri testiranju ter vrednotenju ob kasnejši izvedbi eksperimenta. V primeru, da se drugo drevo izbere na osnovi podobnosti, se glede na vrednosti kontrolnih parametrov namreč podobnost izračuna na enega izmed petih implementiranih načinov. Iz tega je razvidno, da je dodajanje novih pristopov selekcije dreves enostavno, bodisi gre za različne vrste računanja podobnosti oziroma različnosti med drevesoma, bodisi za popolnoma nove pristope selekcije dreves za medsebojno križanje. Seveda je s takšnim načinom omogočena tudi večja kontrola nad posameznimi eksperimentalnimi skupinami, saj nam vsak posamezni pristop računanja na podlagi podobnosti (vključno s standardnim načinom brez upoštevanja podobnosti med primerki) predstavlja eno izmed nastavitev kontrolnih parametrov. 5.1 Načrt izvedbe eksperimenta Eksperiment predstavlja ključno raziskovalno metodo, ki smo jo v okviru magistrskega dela uporabili za doseganje zastavljenih ciljev in odgovarjanje na raziskovalna vprašanja. Razlog za izbiro metode je prevsem njena primernost, saj nam je omogočala, da smo v kontroliranem okolju opazovali vpliv neodvisne spremenljivke na več različnih odvisnih spremenljivk, pri čemer smo lahko vse ostale spremenljivke, ki bi potencialno lahko vplivale na končen rezultat, obdržali nespremenjene. [72] Neodvisno spremenljivko je v našem primeru predstavljal pristop selekcije dveh dreves za križanje. Ker smo implementirali več različnih pristopov vrednotenja podobnosti, smo morali vsakega izmed njih primerjati s standardnim pristopom, ki podobnosti ne upošteva. Na ta način smo lahko ugotavljali, ali je možno izpostaviti kakšne signifikantne izboljšave oziroma poslabšanja katerega izmed implementiranih pristopov v primerjavi z obstoječim. Karakteristike, po katerih smo posamezne pristope med seboj primerjali, predstavljajo odvisne spremenljivke, na katerih smo pričakovali spremembe glede na izbiro pristopa. Gre za enostavne metrike, ki smo jih merili tekom izvedbe eksperimenta in na podlagi katerih smo lahko ugotavljali uspešnost ter učinkovitost evolucijskega algoritma. 50

61 Učinkovitost algoritma smo vrednotili s pomočjo metrike, ki je opazovala hitrost doseganja najbolj optimalne rešitve tekom evolucije, in sicer smo merili: število generacij do najuspešnejšega drevesa v evoluciji (to pomeni, da je bil najučinkovitejši algoritem tisti genetski algoritem, ki je do najuspešnejšega drevesa prišel najhitreje). Za vrednotenje uspešnosti genetskega algoritma glede na izbrane pristope smo opazovali najboljše drevo v generaciji po koncu evolucije. Metrike, ki smo jih vzpostavili in pri tem opazovali, so bile: točnost klasifikacije, ki je merila odstotek vseh pravilno klasificiranih primerkov (vrednost metrike se je gibala med nič in ena, uspešnejši algoritem pa je bil tisti z višjo točnostjo), velikost drevesa ali kar število vseh vozlišč v drevesu, ki je merila kompleksnost drevesa (uspešnejši algoritmi so v sklopu evolucije izdelovali manjša drevesa) in f-score, ki je predstavljala harmonično sredino 2 med priklicem ter preciznostjo. Omenjeni metriki sta si obratno-sorazmerni, zato lahko f-score interpretiramo tudi kot uteženo povprečje med njima. Najboljša vrednost je ena, med tem ko je najslabša vrednost nič. Seveda pri eksperimentu vedno obstaja verjetnost, da so rezultati teh meritev pravzaprav odraz vpliva neke druge neodvisne spremenljivke in ne tiste, ki jo v sklopu eksperimenta v bistvu opazujemo ter spreminjamo. Da bi eksperiment imel ustrezno notranjo veljavnost, je bilo potrebno zagotoviti, da je bil pristop križanja edina neodvisna spremenljivka, ki smo jo spreminjali. Tako smo lahko za dobljene rezultate trdili, da so posledica spremembe opazovanega pristopa in ne kakršnekoli druge anomalije. [72] Ena izmed lastnosti eksperimenta kot raziskovalne metode je prav njegova možnost izolacije tistih spremenljivk, katerih vpliv želimo opazovati. Ker se eksperiment ponavadi ne izvaja v naravnem, temveč laboratorijskem okolju, je ostale spremenljivke veliko lažje kontrolirati in s tem preprečiti njihovo ogrozitev veljavnosti končnih rezultatov. Pogost pristop obravnavanja takšnih spremenljivk je zagotavljanje, da so skozi celoten potek eksperimenta konstantne. V našem primeru smo vse ostale nastavitve, ki so povezane z 2 Harmonična sredina (angl. Harmonic mean) je ena od srednjih vrednosti, ki se uporablja predvsem v primerih, ko je potrebno najti srednje vrednosti stopenj. 51

62 evolucijo in bi lahko potencialno vplivale na odvisne spremenljivke, fiksirali s pomočjo kontrolnih parametrov. 5.2 Opis uporabljenih nastavitev Kontrolni parametri v programu "GaTree" so definirani kot spremenljivke, ki jih je pred samim zagonom genetskega algoritma možno spremeniti in na ta način prilagoditi njihovo izvajanje. Delovanje genetskih algoritmov lahko razumemo kot uravnoteženo kombinacijo raziskovanja novih in izkoriščanja že vzorčenih oziroma uporabljenih regij iskalnega prostora. Omenjeno ravnotežje, ki je ključnega pomena za uspešnost samega algoritma, je odvisno predvsem od kontrolnih parametrov. Izbira najbolj optimalnih parametrov genetskih algoritmov je pogosto dokaj zahtevna naloga, saj niso vse nastavitve enako dobre za vse klasifikacijske probleme. [61] V našem interesu je bila izbira takšnih kontrolnih parametrov, da bi simulirana evolucija bila primerna za vrednotenje njene uspešnosti ter učinkovitosti v okviru eksperimenta. To pomeni, da smo želeli izbrati takšne vrednosti parametrov, ki bi algoritmu omogočale dovolj razširjeno raziskovanje novih regij iskalnega prostora in izkoriščanje že obstoječih, vključenih v drevesa populacije; na ta način smo želeli zagotoviti karseda "klasično" izvedbo evolucije, v sklopu katere ne bi prihajalo do ekstremnih situacij, v katerih bi naše meritve bile neveljavne. Tabela 5.1 prikazuje kontrolne parametre, ki smo jih za potrebe eksperimenta izbirali. Izbor smo izvedli glede na rezultate testnih pogonov genetskega algoritma, ki so nam v bistvu omogočali, da smo se lahko odločili za izbiro najprimernejših kontrolnih parametrov za sam eksperiment. Zgornji del tabele 5.1 prikazuje vse tiste kontrolne parametre, ki se navezujejo na splošne značilnosti evolucije, med tem ko spodnji del definira značilnosti genetskega algoritma ter operatorjev. V nadaljevanju bodo na kratko opisani razlogi za izbiro vrednosti vsakega izmed parametrov. Število zagonov na posamezni podatkovni množici je zelo pomemben parameter, saj je od njega odvisno, ali bomo dobili veljavne rezultate raziskave. Zaradi nedeterminističnosti evolucijskih algoritmov predvidevamo pri vsakem zagonu malenkost drugačne rezultate, zato je na vsaki množici potrebna zadostna količina zagonov, da lahko z določeno mero zaupanja trdimo, da končni rezultati niso le plod naključja. Glavni problem prevelikega 52

63 števila zagonov, s katerim bi sicer lahko zagotovili veljavnost pridobljenih rezultatov, je trajanje evolucije, saj lahko en sam zagon traja kar nekaj časa. Da bi se izognili predolgi izvedbi eksperimenta, ter hkrati še vedno dobili zadostno količino podatkov, nad katerimi bi lahko izvedli veljavne analize, smo v končni fazi določili, da bomo na vsaki podatkovni množici izvedli 10 zagonov. Tabela 5.1: Uporabljeni kontrolni parametri in njihove vrednosti za izvedbo eksperimenta Kontrolni parameter Kratek opis kontrolnega parametra RUN_COUNT Število zagonov na eni podatkovni množici 10 POPULATION_SIZE Velikost populacije oz. število vseh dreves v populaciji 200 ELIZE_SIZE Število najboljših primerkov, ki avtomatsko napredujejo v naslednjo generacijo GENERATION_LIMIT Število generacij evolucije 2000 STAGNATION_LIMIT MAX_DEPTH MAX_DECISIONS Število generacij, po katerih se evolucija ustavi, če najboljši primerek ostane enak Maksimalna globina generiranega drevesa v začetni populaciji Maksimalno število možnih nekončnih vozlišč drevesa v začetni populaciji MUTATION_PROBABILITY Verjetnost mutacije za posamezno vozlišče 0.1 Vrednost parametra SELECTION_METHOD Način izbora oz. selekcije starševskih dreves 3 (turnir) TOURNAMENT_SIZE Število naključno izbranih dreves za izvedbo turnirja 5 SELECTION_SMART_ METHOD Način vrednotenja podobnosti med drevesi do 4 CALCULATOR_METHOD Način računanja uspešnosti dreves (fitness) 0 (točnost, kompleksn.) CROSSOVER_METHOD Način križanja dreves 0 (naključno) Velikost začetne populacije nam določa velikost oziroma razširjenost celotnega iskalnega prostora, ki ga imamo na voljo na začetku evolucije. Premajhno število primerkov dreves nas že v osnovi omejuje v raznolikosti populacije in s tem preprečuje kombiniranje med seboj različnih dreves. Ker želimo v eksperimentu opazovati prav vpliv križanja med seboj različnih dreves, se nam je zato zdelo primerno, da je začetna populacija dovolj velika. Kljub temu začetna populacija ne sme biti prevelika, saj bi v tem primeru algoritem za izdelavo začetne populacije (sploh pri manj kompleksnih podatkovnih množicah) lahko že takoj našel izjemno dobro drevo, tako da z novimi križanji podobnih ali različnih dreves ne bi uspeli najti boljšega drevesa. V končni fazi smo se odločili za dokaj veliko začetno populacijo 200 primerkov z namenom, da bi zagotovili dovolj širok iskalni prostor. 53

64 Elitizem za naš primer niti ni imel takšnega vpliva, zato smo tekom testnih izvedb poskušali z različnim številom najbolj uspešnih dreves, ki v vsaki generaciji avtomatsko napredujejo v naslednjo. V končni fazi smo se odločili za dve najboljši, saj na ta način še vedno ohranjamo najboljše primerke populacije, hkrati pa omogočamo tudi križanje vseh ostalih primerkov populacije ter s tem povečujemo nabor vseh dreves, ki jih je možno med seboj kombinirati. Število generacij evolucije je prav tako pomemben parameter, saj lahko z njim določimo, kako dolgo se bo populacija razvijala. Če evolucijo ustavimo prehitro, s tem tvegamo, da najboljši primerek populacije ne predstavlja najbolj optimalnega drevesa. Po drugi strani previsokih mej ne želimo postavljati, saj bi v primeru, da smo optimum dosegli dokaj hitro, preostanek evolucije pomenil samo nepotrebno izgubo časa, česar pa si v okviru izvedbe eksperimenta nismo mogli privoščiti. Ker razvoj dreves z genetskimi algoritmi ponavadi traja kar dolgo, je bilo namreč potrebno upoštevati tudi časovni vidik izvedbe. Zaradi tega smo morali nastaviti fiksno mejo števila generacij, ki bi algoritmu omogočala približevanje optimumu, hkrati pa se algoritem ne bi predolgo izvajal brez večjih izboljšav dreves. Težavo bi lahko rešili z nastavitvijo parametra, ki nam omogoča zaustavitev evolucije po določenem številu generacij brez napredka. Ker pa s takšnim pristopom ne moremo zagotoviti, da se po prekinitvi evolucije populacija več ne bi razvijala, prav tako pa bi to pomenilo, da število generacij za vsak pogon evolucije ne bi bilo konsistentno, smo se odločili, da bomo za oba parametra nastavili isto število. Na ta način se je za vsak pogon evolucije vedno izvedlo enako število generacij ker pa evolucije nismo želeli ustaviti prehitro, smo obe meji nastavili dovolj visoko, da je bilo tveganje, da do izbrane meje optimuma ne bi dosegli, dovolj majhno. Glede na testne rezultate več pogonov algoritma smo ugotovili, da se optimum skoraj vedno doseže do tisoče generacije, zato smo mejo sicer na račun trajanja izvedbe nastavili na dva tisoč generacij in s tem zagotovili doseg optimuma v večini primerov. Na ta način smo lahko nato nemoteno spremljali učinkovitost algoritma oziroma hitrost doseganja optimuma. Maksimalna globina in število nekončnih vozlišč drevesa vplivata na kompleksnost začetne populacije. Ker se uspešnost dreves praviloma zmanjšuje z njihovo velikostjo, se nam je zdelo smiselno, da v začetno populacijo ne vključujemo zelo specializiranih in kompleksnih dreves, saj bi s kombiniranjem takšnih dreves težko producirali enostavna in dovolj splošna drevesa, ki bi bila veliko uspešnejša od svojih staršev. 54

65 Parametre, ki obravnavajo genetske operatorje oziroma se nanašajo na način izvedbe genetskega algoritma, smo prav tako fiksirali, z izjemo pristopov križanja dreves po podobnosti, katerih uspešnost in učinkovitost smo v sklopu eksperimenta opazovali. Vrednost -1 pomeni križanje dreves brez upoštevanja podobnosti, ostalih pet vrednosti pa predstavlja vse implementirane pristope vrednotenja podobnosti. Da bi lahko vse pristope med seboj primerjali, smo za vsak pristop posebej zagnali genetski algoritem desetkrat na vsaki podatkovni množici. Za selekcijo prvega starševskega drevesa smo izbrali kar klasično selekcijo po turnirski metodi s turnirjem velikosti pet dreves. Vrednotenje uspešnosti dreves smo izvedli s pomočjo minimizirane večkriterijske fitness funkcije, ki upošteva tako točnost klasifikacije kot tudi kompleksnost dreves, kot je razvidno iz (3.2). Kot pristop križanja smo izbrali kar naključno križanje, ki za vsako starševsko drevo izbere mesto križanja in nato izvede enotočkovno križanje. Verjetnost mutacije posameznih vozlišč smo nastavili na 10%, s čimer smo v evolucijo vnesli možnost uvajanja novega genetskega materiala, ki ga v začetni populaciji nismo imeli. Podobne nastavitve genetskih operatorjev je pogosto možno opaziti tudi v literaturi s tega področja, zato smo se v sklopu izvedbe eksperimenta odločili uporabiti enake vrednosti. V nadaljevanju sledi opis izvedbe eksperimenta, ki je sicer v grafični obliki prikazan tudi na sliki Izvedba eksperimenta Po implementaciji pristopov vrednotenja podobnosti in različnosti v programu, izdelavi načrta izvedbe eksperimenta in izbiri primernih kontrolnih parametrov smo bili pripravljeni za zagon eksperimenta. V nasprotju s testnimi izvedbami zagonov, v okviru katerih smo z različnimi nastavitvami zaganjali po eno iteracijo evolucije na eni podatkovni množici, smo pri izvedbi eksperimenta želeli s konsistentnimi nastavitvami zagnati določeno število zagonov na vsaki izmed podatkovnih množic naenkrat. Za to smo definirali skripto, ki je prebrala vse podatkovne množice v podanem direktoriju na disku in nato za vsako izmed njih izvedla natanko deset zagonov z nastavitvami, opisanimi v prejšnjem podpoglavju. Kot smo že omenili, smo več zagonov na podatkovnih množicah izvedli zaradi razlik v rezultatih, ki se pojavljajo pri vsakemu izmed zagonov. Določeno število zagonov na isti 55

66 podatkovni množici z istimi nastavitvami je bilo zato potrebno predvsem za doseg izboljšanja notranje veljavnosti eksperimenta. Ker pa se lahko podatkovne množice in s tem tudi različni klasifikacijski problemi med seboj zelo razlikujejo, končnih rezultatov primerjanja posameznih pristopov križanja nismo mogli posplošiti na celotno populacijo samo na osnovi rezultatov klasifikacije ene same podatkovne množice. Da bi torej izboljšali tudi zunanjo veljavnost eksperimenta, smo izbrali trideset med seboj dokaj različnih podatkovnih množic, na katerih smo za vsak pristop upoštevanja podobnosti (kot tudi za standardni pristop brez upoštevanja podobnosti) izvedli deset zagonov evolucije. Tabela 5.2 podaja kratek opis najpomembnejših značilnosti izbranih podatkovnih množic. Vse podatkovne množice so bile pridobljene iz spletnega mesta centra za strojno učenje in inteligentne sisteme UC Irvine Machine Learning Repository, ki ponuja bogat nabor množic iz različnih področij, tako za namene klasifikacije primerkov, kot tudi regresije in gručenja ter ostalih nalog. [76] Zadostno število množic, na katerih smo eksperiment izvedli, ter seveda njihova raznolikost sta izboljšala zunanjo veljavnost analiz pridobljenih rezultatov, saj smo zaradi ugotovitev na številnih posameznih množicah lahko lažje posploševali na celotno populacijo. Zraven tega smo lahko opazovali tudi rezultate na posameznih množicah, iz česar smo lahko kasneje sklepali tudi o primernosti določenih pristopov za le nekatere izmed podatkovnih množic. V idealnih okoliščinah bi lahko pristope preizkusili na še več različnih množicah, prav tako pa bi lahko na vsaki simulirali več zagonov, saj bi s tem dobili veljavnejše rezultate. Glavni problem, zaradi katerega smo se bili primorani omejiti na v tabeli 5.2 prikazan nabor množic in izvesti manjše število zagonov na vsaki izmed njih, je bilo trajanje izvedbe samega eksperimenta. Ena izmed glavnih slabosti genetskih algoritmov napram klasičnim metodam je namreč njihova časovna zahtevnost, saj se že v okviru ene same generacije evolucije izvede veliko število operacij, ki se nanašajo na sortiranje populacije, genetske operatorje in vrednotenje posameznih primerkov. Z naše strani implementirano računanje podobnosti ter izbira najbolj podobnih ali različnih dreves seveda samo še povečujeta čas izvajanja. Predvidevali smo, da se bo zaradi časovne zahtevnosti izvedbe sam eksperiment kljub omejitvam definiranega števila generacij evolucije, števila primerkov populacije, števila posameznih zagonov ter v končni fazi tudi omejenega nabora podatkovnih množic, izvajal kar nekaj časa. 56

67 Slika 5.1: Pregleden prikaz celotne izvedbe eksperimenta 57

68 Podatkovna množica Tabela 5.2: Osnovne karakteristike uporabljenih podatkovnih množic Vrednosti atributov Manjkajoče vrednosti Število atributov Število primerkov Področje Anneal-ORIG Numerične, nominalne Da Fizika Audiology Nominalne Da Medicina Autos Numerične, nominalne Da Življenje Balance-scale Nominalne Ne Družbeno Breast-cancer Nominalne Da Medicina Breast-w Numerične Da Medicina Car Nominalne Ne Življenje Colic-ORIG Numerične, nominalne Da Medicina Credit-a Numerične, nominalne Da Finance Diabetes Numerične Ne Medicina Ecoli Numerične Ne Biologija Eye_movements Numerične, nominalne Ne Biologija Glass Numerične Ne Fizika Heart-statlog Numerične, nominalne Ne Medicina Hypothyroid Numerične, nominalne Da Medicina Ionosphere Numerične Ne Fizika Iris Numerične Ne Biologija Letter Numerične Ne IT Liver-disorders Numerične Ne Medicina Monks-problems Nominalne Ne Brez Mushroom Nominalne Da Biologija Optdigits Numerične Ne Računal. Pendigits Numerične Ne Računal. Primary-tumor Nominalne Da Medicina Segment Numerične Ne Računal. Sick Numerične, nominalne Da Medicina Sonar Numerične Ne Fizika Soybean Nominalne Da Biologija Vehicle Numerične Ne Življenje Vowel Numerične, nominalne Ne Računal. Eksperiment smo zato izvedli v dveh ločenih delih. V prvem delu smo na vseh množicah ugotavljali uspešnost in učinkovitost genetskih algoritmov, ki so pri križanju dveh dreves upoštevali različnost med njimi, v drugem delu pa smo glede na iste pristope vrednotenja izbirali med seboj najbolj podobna drevesa. Na ta način smo lahko del podatkov že sproti analizirali, med tem ko so je v ozadju izvajal drugi del eksperimenta. Tabela 5.3 prikazuje trajanje celotne izvedbe, razčlenjene na oba pristopa ter nato še na dve podmnožici vseh 58

69 podatkovnih množic. Eksperiment je bil pognan na 64-bitnem strežniškem operacijskem sistemu Windows Server 2008 R2 Standard z 2,4 GHz Intel-ovim Xeon E5645 procesorjem in 25 GB RAM-a. Tabela 5.3: Porabljen čas za izvedbo celotnega eksperimenta Pristop Različnost Podobnost Podatkovne množice Porabljen čas sec (1 dan, 12 ur, 34 min, 30 sec) sec (1 dan, 14 ur, 55 min) 810, sec (3 dni, 13 ur, 32 min, 54 sec) sec (1 dan, 22 ur, 23 min, 24 sec) Skupaj: sec (8 dni, 15 ur, 25 min, 48 sec) Kljub dlje trajajoči izvedbi eksperimenta smo uspeli pridobiti zadostno količino podatkov, na podlagi katerih smo lahko nato v nadaljevanju izvajali statistične analize z namenom ugotavljanja vpliva podobnosti na uspešnost in učinkovitost genetskih algoritmov. 59

70 6 ANALIZA REZULTATOV Z izvedenimi statističnimi testi smo glede na definirane metrike ugotavljali vpliv podobnosti in različnosti med odločitvenimi drevesi v procesu selekcije dreves iz populacije za medsebojno križanje na uspešnost in učinkovitost genetskih algoritmov. Vsakega izmed implementiranih pristopov smo primerjali z obstoječim načinom križanja brez upoštevanja podobnosti ter nato preverjali, če med njimi obstajajo statistično signifikantne razlike. S tem smo želeli ugotoviti, ali se končna uspešnost algoritma in hitrost dosega najboljšega rezultata klasifikacije bistveno razlikujeta glede na tehniko izbora drugega starševskega drevesa za križanje. V primerih, v katerih se je izkazalo, da določen pristop selekcije drugega drevesa glede na podobnost s prvim predstavlja bistveno drugačne rezultate v primerjavi s klasičnim načinom selekcije drugega drevesa glede na točnost klasifikacije in kompleksnost (oz. fitness), smo nato ugotavljali, če opažene razlike morda predstavljajo izboljšavo oziroma nazadovanje implementiranega pristopa glede na obstoječega. Na določenih podatkovnih množicah je bila maksimalna točnost klasifikacije dosežena že v prvi generaciji evolucije, kar pomeni, da algoritem v naslednjih dva tisoč generacijah več ni mogel najti točnejšega odločitvenega drevesa. V bistvu je do tega prišlo zaradi dokaj visoko nastavljenega kontrolnega parametra velikosti populacije, s katerim smo v osnovi v začetno populacijo želeli vnesti zadosten nivo raznolikosti med primerki. Ker je algoritem naključnega generiranja dreves implementiran tako, da dopušča le ustvarjanje unikatnih dreves, je v teh primerih najverjetneje šlo za dovolj izčrpen pregled iskalnega prostora, v okviru katerega je eden izmed 200 odločitvenih dreves začetne populacije že predstavljal optimalno rešitev. Posledično seveda primerjav uspešnosti in učinkovitosti algoritma na takšnih podatkovnih množicah nismo mogli izvajati, zato smo te in vse ostale morebitne množice, ki so prehitro konvergirale h končni (optimalni ali neoptimalni) rešitvi, iz analize izločili, saj bi neveljavni rezultati lahko vplivali na verodostojnost rezultatov. Vse izločene množice so na tabeli 5.2 potemnjene. Nad preostalim naborom podatkovnih množic smo nato izvedli statistične teste, opisane v nadaljevanju. 60

71 6.1 Izvedba statističnih testov in rezultati Osnovno deskriptivno oziroma opisno statististiko nad celotnim naborom podatkov smo izvedli z namenom ugotavljanja splošnih karakteristik o pridobljenih rezultatih. Za vsako izmed štirih opazovanih metrik smo najprej pregledali minimalne in maksimalne vrednosti, saj smo na ta način lahko preverili, ali so bile analizirane podatkovne množice med seboj dovolj raznolike. Ker različne množice predstavljajo specifične klasifikacijske probleme, se lahko tudi pričakovane vrednosti točnosti klasifikacije in drugih meritev zelo močno razlikujejo glede na posamezne množice. Pri enostavnih in manj kompleksnih množicah, kjer je možno izpostaviti preprosta klasifikacijska pravila, ki so uspešna pri klasifikaciji večine testnih primerkov, je tako mogoče pričakovati dokaj visoke točnosti, med tem ko so točnosti klasifikacije odločitvenih dreves na primerih kompleksnejših množic s številnimi atributi in nejasnimi klasifikacijskimi vzorci praviloma nizke. Seveda tukaj govorimo o končnem optimumu točnosti klasifikacije, ki ga lahko bodisi dosežemo skozi evolucijo s pomočjo genetskega algoritma, bodisi poiščemo v okviru pregleda iskalnega prostora z indukcijskim algoritmom. Podobne argumente lahko izpostavimo tudi za ostali dve meritvi uspešnosti algoritma, saj se v končni fazi prav tako navezujeta na kompleksnost končnega odločitvenega drevesa za nek izbran problem, ter točnost klasifikacije. Posledično lahko za metriki kompleksnosti oziroma velikosti drevesa in f-score tudi pričakujemo različne rezultate glede na raznolike podatkovne množice. Tudi za učinkovitost algoritma, merjeno s številom generacij, potrebnih za dosego optimalnega klasifikacijskega drevesa, bi v končni fazi pričakovali podobne razlike glede na različne podatkovne množice. Pri enostavnejših klasifikacijskih problemih predvidevamo, da bo genetski algoritem najuspešnejše drevo uspel najti hitreje, kot pri zahtevnejših. Glede na minimalne in maksimalne vrednosti metrik, predstavljenih v spodaj prikazani tabeli 6.1 ter izračunanih tako za standardni pristop brez upoštevanja podobnosti kot tudi za vseh pet implementiranih pristopov podobnosti in različnosti, lahko sklepamo, da so bile izbrane podatkovne množice iz tabele 5.2 med seboj ustrezno raznolike. Tako smo zagotovili zadostno stopnjo zunanje veljavnosti eksperimenta, prav tako pa smo lahko na ta način izvedli tudi analize na vseh posameznih množicah in s tem ugotavljali skupne značilnosti tistih podatkovnih množic, na katerih smo opazili signifikantne razlike med posameznimi pristopi. 61

72 Tabela 6.1: Minimalne in maksimalne vrednosti meritev nad vsemi množicami Minimum Maksimum Meritve Stand. Razl. Pod. Stand. Razl. Pod. Accuracy 0,7360 0,0692 0,0676 1,000 1,000 1,000 Num. gen Size F-score 0,0105 0,0098 0,0098 1,000 1,000 1,000 Poleg tega, da opazovane meritve tako za vse pristope vrednotenja na osnovi različnosti, kot tudi podobnosti med odločitvenimi drevesi na vseh izbranih podatkovnih množicah zasedajo vrednosti s praktično celotnega intervala zaloge vrednosti 3 (za določene izmed podatkovnih množic so recimo najoptimalnejša drevesa dosegla točnost klasifikacije le okrog 6%, pri drugih pa kar 100%), lahko opazimo tudi dejstvo, da se povprečna vrednost vseh metrik giblje v približnem okvirju srednje vrednosti. Tabela 6.2 poleg teh prikazuje tudi standardni odklon, ki nakazuje, da so vrednosti dokaj razpršene, vendar kljub temu opažene minimalne in maksimalne vrednosti še vedno predstavljajo odstopajoče točke ali osamelce (angl. outliers). Tabela 6.2: Povprečne vrednosti in standardni odkloni meritev nad vsemi množicami Povprečna vrednost Standardni odklon Meritve Stand. Razl. Pod. Stand. Razl. Pod. Accuracy 0,6356 0,6295 0,5847 0,2330 0,2328 0,2540 Num. gen. 858,19 928,25 523,53 719,28 717,51 687,11 Size 11,65 11,23 6,92 8,626 7,739 5,53 F-score 0,5472 0,5347 0,4794 0,2894 0,2912 0,3148 Primerjava povprečnih vrednosti vseh petih pristopov različnosti in podobnosti nam je jasno nakazala, da pri izbiri med seboj podobnih dreves sicer v povprečju prej najdemo najboljšo rešitev, vendar je le-ta v povprečju slabša od rešitve, ki bi jo dobili s križanjem različnih dreves. Čeprav le na osnovi deskriptivne statistike še nismo mogli pokazati ali je rezultat statistično signifikanten, nam do neke mere prikazuje, da se lahko z izbiranjem raznolikih dreves lažje izognemo predčasni konvergenci, kar se zgodi pri izbiri podobnih dreves. Standardni pristop brez upoštevanja podobnosti je v primerjavi s povprečjem vseh petih pristopov različnosti in podobnosti še vedno boljši in učinkovitejši, vendar smo za ugotavljanje signifikantnosti razlik v nadaljevanju morali izvesti dodatne statistične teste. 3 Izjemo predstavlja meritev velikosti drevesa, ki sicer ni navzgor omejena; kljub temu pa je opažena maksimalna vrednost velikosti drevesa dovolj različna od minimalne. 62

73 Kljub temu le na osnovi opisne statistike nismo mogli sklepati o porazdelitvi, na podlagi česar bi se lahko odločali o izbiri najprimernejšega statističnega testa. [31] Nad vsemi podatkovnimi množicami smo zato glede na različne pristope vrednotenja različnosti izvedli Kolmogorov-Smirnov in Shapiro-Wilkov test in ugotovili, da porazdelitve podatkov za vse štiri metrike odstopajo od normalne. Tabela 6.3 prikazuje oba izvedena testa na primeru števila generacij do najuspešnejšega najdenega odločitvenega drevesa evolucije. Za vsak pristop vrednotenja različnosti je test upošteval 210 zagonov deset za vsako množico. Celoten nabor podatkov je namreč vključeval 21 podatkovnih množic, saj smo jih devet izmed začetnih 30, na katerih ni bilo napredka v evoluciji, izločili že v osnovi. Kolmogorov-Smirnov in Shapiro-Wilkov test primerjata statistične vrednosti opazovanega vzorca z normalno porazdeljenimi vrednostmi vzorca z enakim povprečjem in standardnim odklonom. Če test ni signifikanten (p > 0.05), se porazdelitev opazovanega vzorca verjetno bistveno ne razlikuje od normalne. Po drugi strani signifikantnost testa (p < 0.05) pomeni, da se porazdelitev razlikuje od normalne posledično torej podatki niso normalno porazdeljeni. To smo ugotovili tudi v našem primeru, saj smo za vsakega izmed pristopov izvedli test za vsako izmed spremenljivk ter ugotovili zelo močno statistično odstopanje od normalne porazdelitve (naprimer za pristop brez upoštevanja podobnosti je za opazovano spremenljivko števila generacij D(210) = 0,152, pri čemer je p < 0,001). Tabela 6.3: Test normalnosti porazdelitve števila generacij glede na pristope različnosti Kolmogorov-Smirnov Shapiro-Wilk Meritev Pristop D df p D df p classdif, ,000, ,000 confmatr, ,000, ,000 Num. gen. numattr, ,000, ,000 size, ,000, ,000 standard, ,000, ,000 valueattr, ,000, ,000 Takšne rezultate smo sicer pričakovali, saj smo test normalnosti porazdelitev izvedli nad celotnim naborom podatkov, ki je zajemal zagone genetskega algoritma na različnih podatkovnih množicah. Ker so podatkovne množice med seboj zelo različne, kot smo že ugotovili, lahko podatki zaradi tega izgledajo bimodalni ali celo večmodalni, kar pomeni, da imajo dve ali več najpogostejših vrednosti. Če želimo ugotavljati signifikantnost razlik med posameznimi pristopi vrednotenja podobnosti nad vsemi podatkovnimi množicami 63

74 moramo zato uporabiti neparametrizirani statistični test, ki nujno ne zahteva normalne porazdelitve podatkov. Vsak pristop podobnosti oziroma različnosti je predstavljal skupino zagonov genetskega algoritma nad vsemi množicami. Primerjava več pristopov zato pomeni primerjavo več neodvisnih skupin, v sklopu katere nas zanima, ali se katera izmed njih signifikantno razlikuje od ostalih glede na eno izmed opazovanih odvisnih spremenljivk. Za testiranje te hipoteze smo zato morali uporabiti model, ki je zmožen primerjati porazdelitve podatkov v posameznih skupinah med seboj in ugotoviti, če pri katerih izmed njih obstajajo statistično signifikantna odstopanja od ostalih. Kruskal-Wallisov neparametrični test več neodvisnih skupin nam omogoča ocenjevanje opisane hipoteze na podlagi razvrščanja podatkov. Test deluje tako, da za vsako meritev razvrsti vse podatke od najmanjšega do največjega, brez da bi upošteval skupino, kateri pripada. Najnižji vrednosti je dodeljen rank 1, naslednji rank 2 in tako naprej. Po dodelitvi rankov so vsi podatki ponovno zbrani v skupine (v našem primeru so to različni pristopi vrednotenja podobnosti, ki jih med seboj primerjamo), ranki vseh podatkov v posameznih skupinah pa so nato sešteti v skupno oceno, iz katere lahko nato pridobimo povprečno oceno rankov za vsako skupino. Na podlagi povprečnih rankov skupin lahko Kruskal- Wallisov test izračuna testno statistiko, ki nam pove, ali med skupinami dejansko obstajajo signifikantne razlike, [31] kot prikazuje tabela 6.4. Tabela 6.4: Test signifikantnosti razlik med pristopi nad vsemi podatkovnimi množicami Kruskal-Wallis Meritev Test stat. p Accuracy 0,550 0,990 Num. gen. 22,846 < 0,001 Size 3,548 0,616 F-Score 0,857 0,973 Izveden test je pokazal, da lahko hipotezo o enakosti med posameznimi pristopi križanja zavrnemo za opazovano spremenljivko števila generacij do optimalnega drevesa, s katero smo vrednotili hitrost oz. učinkovitost genetskega algoritma. Nadaljna analiza minimalnih in maksimalnih ter povprečnih vrednosti števila generacij za vsak pristop, prikazana na sliki 6.1, je še potrdila dejstvo, da razlike med pristopi glede na opazovano spremenljivko dejansko obstajajo. 64

75 Kljub temu na podlagi izvedenega testa ne moremo vedeti, katere skupine se med seboj signifikantno razlikujejo. Ali so statistično znatne razlike med vsemi pristopi vrednotenja podobnosti, ali le med nekaterimi? Iz slike 6.1 bi lahko morda sklepali, da se klasični pristop brez upoštevanja podobnosti razlikuje od pristopa, ki upošteva velikost in število atributov drevesa. Kljub temu to predstavlja le našo predpostavko, oziroma utemeljeno ugibanje, ki smo ga morali preveriti. Slika 6.1: Porazdelitve števila generacij do optimalnega drevesa glede na pristope Da bi lahko ugotovili, kateri pristopi se med seboj signifikantno razlikujejo, je bilo potrebno med seboj primerjati vse pare. Ker imamo šest pristopov, to pomeni skupaj petnajst parnih testov. Najenostavneje bi lahko izvedli kar petnajst Mann-Whitney testov, s katerimi bi ugotovili, med katerimi pari prihaja do signifikantnih razlik, vendar je problem tega pristopa predvsem dejstvo, da z izvedbo več testov na istih podatkih povečujemo verjetnost, da bomo storili statistično napako 1. vrste (angl. type I error). Ker smo želeli kljub izvedbi vseh testov obdržati 5% verjetnost, da je prišlo do omenjene napake, smo zato v sklopu parnih primerjav pristopov morali prilagoditi p-vrednost, tako da je preko vseh izvedenih statističnih testov verjetnost, da bomo storili napako 1. vrste še vedno znašala le 5%. [31] Tabela 6.5 prikazuje le teste tistih parov pristopov, ki so pokazali določen nivo signifikance pri vrednotenju neenakosti med dvema pristopoma. Pomembno vrednost torej predstavlja prilagojen p, na podlagi katerega lahko ugotovimo, da so signifikantno različni med seboj pravzaprav samo na tabeli 6.5 prikazani prvi trije pari pristopov. 65

76 Tabela 6.5: Primerjava signifikantno različnih parov pristopov za vse podatkovne množice Par pristopov Kruskal-Wallis Pristop 1 Pristop 2 Test stat. Stand. test. stat. p prilagojen p size confmatr 137,595 3,875 < 0,001 0,002 numattr confmatr 117,357 3,305 0,001 0,014 size classdif 105,100 2,960 0,003 0,046 size standard 97,419 2,743 0,006 0,091 Čeprav je bilo morda zanimivo ugotoviti razlike med implementiranimi pristopi vrednotenja podobnosti, smo v bistvu želeli izvedeti, ali kateri izmed petih pristopov morda predstavlja izboljšavo napram klasičnemu načinu selekcije dreves za križanje. Zadnja vrstiva tabele 6.5 predstavlja primerjavo klasičnega pristopa z pristopom križanja na osnovi velikosti dreves. Vrednost prilagojenega p nakazuje šibko signifikanco različnosti med pristopoma, vendar je na podlagi pozitivne vrednosti testne statistike možno ugotoviti, da je povprečen rank števila generacij do najuspešnejšega drevesa evolucije višji za pristop križanja na osnovi velikosti dreves. Ker so genetski algoritmi učinkovitejši, če optimalno rešitev uspejo najti prej, je posledično pristop križanja brez upoštevanja podobnosti z vidika učinkovitosti signifikantno boljši od pristopa križanja med seboj čimbolj različnih dreves po velikosti. V povprečju sta bila sicer pristopa križanja med seboj različnih dreves po vrednostih v matriki zmede in po klasifikaciji posameznih primerkov boljša od standardnega pristopa, kar se tiče učinkovitosti genetskega algoritma (kar je razvidno tudi iz tabel opisnih statistik, prikazanih v prilogi A na koncu magistrske naloge), vendar te razlike niso statistično dovolj signifikantne. Ko smo izvedli Kruskal-Wallisov test še na pristopih križanja med seboj čimbolj podobnih dreves, smo ugotovili, da se pet pristopov glede na nobeno izmed štirih opazovanih odvisnih spremenljivk ni med seboj signifikantno razlikovalo. V nadaljevanju smo se zato osredotočili na pristope križanja različnih dreves. Kljub temu, da na celotnem naboru podatkov nismo mogli dokazati signifikantnih razlik med pristopi z izjemo števila generacij evolucije, smo predvidevali, da bi morda statistično pomembne razlike lahko našli na posameznih podatkovnih množicah. Glede na to, da lahko do nenormalne porazdelitve na celotnem naboru podatkov pride zaradi tega, ker ima vsaka izmed množic svojo porazdelitev podatkov, se nam je zdelo smiselno, da nad vsako posamezno množico izvedemo Kolmogorov-Smirnov statistične teste preverjanja normalnosti porazdelitev posameznih opazovanih spremenljivk glede na 66

77 pristope. Po izvedbi testa smo ugotovili, da se na določenih množicah porazdelitve podatkov sicer signifikantno ne razlikujejo od normalne (npr. na množici audiology je za standardni pristop križanja dreves brez upoštevanja podobnosti D(10) = 0.215, pri čemer je p = 0,200), vendar hkrati obstaja tudi veliko primerov, v katerih še vedno ne moremo govoriti o normalni porazdelitvi podatkov. Možnih razlogov za nenormalno porazdelitev kljub ločitvi podatkov glede na posamezne podatkovne množice je več. Izpostavili bi morda dejstvo, da lahko nezadostno število med seboj različnih vrednosti analiziranih podatkov povzroči, da sicer normalno porazdeljeni podatki izgledajo diskretni oz. nenormalni. Ko smo Kolmogorov-Smirnov test uporabljali za ugotavljanje normalnosti porazdelitev nad celotnim naborom podatkov, smo za vsakega izme pristopov podobnosti analizirali porazdelitev 210 vrednosti. Po razdelitvi podatkov na vseh 21 podatkovnih množic je to pomenilo, da smo lahko za vsak pristop ugotavljali normalnost porazdelitev samo na 10 vrednostih, kar dejansko predstavlja število zagonov vsakega pristopa na vsaki množici. Da bi preverili, ali je majhno število zagonov morda razlog za nenormalno porazdelitev podatkov, smo na eni sami podatkovni množici preverili, kakšna je porazdelitev, če imamo na voljo več podatkov. Zaradi dolgega trajanja izvedbe genetskih algoritmov smo si izbrali dokaj enostavno podatkovno množico iris, na kateri smo število primerkov začetne populacije zmanjšali na 50 in maksimalno število generacij na Nato smo za vsakega izmed šestih pristopov izvedli po 100 zagonov, kar je desetkrat več, kot smo jih v osnovi izvedli za naš eksperiment. Tabela 6.6 prikazuje razlike v porazdelitvi podatkov za meritev števila generacij do najuspešnejšega drevesa glede na posamezne pristope. Tabela 6.6: Primerjava K-S testov na 10 in 100 zagonih za vsak pristop Kolmogorov-Smirnov Meritev Pristop D df p D df p classdif,248 10,082, ,004 confmatr,202 10,200, ,001 Num. gen. numattr,191 10,200, ,008 size,152 10,200, ,036 standard,181 10,200, ,001 valueattr,207 10,200, ,063 Za meritev števila generacij je bila za razliko od ostalih meritev in podatkovnih množic na desetih pogonih opažena dokaj normalna porazdelitev. Ko smo na isti podatkovni množici 67

78 evolucijo za vsak pristop zagnali stokrat, je bila izguba normalnosti porazdelitve očitna. Tudi za meritve na ostalih spremenljivkah smo dobili podobne rezultate, zato smo sklepali, da premajhno število podatkov kljub vsemu ni bilo krivo za nenormalno porazdeljenost. Deset zagonov za vsak pristop na vsaki podatkovni množici je bilo vendarle dovolj za pridobitev podatkov, na podlagi katerih smo lahko izvajali veljavne analize podatki so dejansko nenormalno porazdeljeni, kar smo pokazali z zgoraj opisanim dodatnim testom. Posledično seveda tudi nad podatki, ki smo jih ločili na podatkovne množice, nismo mogli izvajati parametričnih testov. Namesto tega smo za vrednotenje razlik med pristopi izbire dreves za križanje prav tako uporabili Kruskal-Wallisov neparametrični test, nato pa smo opazovali, na katerih množicah je prišlo do signifikantnih razlik med skupinami. Izkazalo se je, da je takšnih množic za pristope križanja med seboj čim bolj različnih dreves enajst, kar je predstavljalo več kot polovico vseh podatkovnih množic. Po drugi strani so se pri pristopih križanja med seboj podobnih dreves signifikantno razlikovali pristopi le na dveh množicah. Razlike med pristopi so se pojavljale za različne opazovane spremenljivke; pri nekaterih množicah so bile te signifikantne za več spremenljivk, pri nekaterih pa samo za eno. Tabela 6.7 prikazuje vse podatkovne množice, na katerih je Kruskal-Wallisov test pokazal signifikantne razlike med pristopi glede na vsaj eno izmed opazovanih spremenljivk. Potemnjene celice v tabeli predstavljajo vse spremenljivke na posameznih množicah, ki so bile glede na pristope križanja statistično signifikantno različne. Nad vsemi prikazanimi podatkovnimi množicami smo izvedli podrobnejšo analizo primerjave posameznih parov pristopov. Izmed štiriindvajset primerov spremenljivk, za katere so bile ugotovljene razlike glede na pristope križanja, je bilo kar enajst primerov takšnih, v katerih smo zaznali signifikantne razlike med dvema ali več izmed petih implementiranih pristopov križanja na osnovi različnosti (sivo obrarvane celice). Rdeče obarvane celice prikazujejo vse spremenljivke, pri katerih je bil standardni pristop brez upoštevanja podobnosti signifikantno boljši od vsaj enega izmed implementiranih pristopov različnosti. Po drugi strani zeleno obarvane celice prikazujejo vse tiste spremenljivke, pri katerih je vsaj eden izmed petih implementiranih pristopov dosegal signifikantno boljše ocene v primerjavi s pristopom brez upoštevanja podobnosti. 68

79 Tabela 6.7: Signifikantne razlike meritev med pristopi na različnih podatkovnih množicah Kruskal-Wallis (sig.) Množica Accuracy Num. gen. Size F-Score Balance-scale,007,474,154,004 Breast-cancer,082,013,019,155 Breast-w <,001,615,540 <,001 Colic-ORIG,416,023,148,290 Ionosphere,453,015,087,412 Optdigits,007,720,008,001 Pendigits,005,877,005,010 Segment,040,256,017,038 Soybean,038,695,011,005 Vehicle,502,011,005,015 Vowel,164,281,010,057 Iz tabele 6.7 je torej razvidno, da smo na štirih množicah uspeli zmanjšati povprečno velikost drevesa, čeprav je bila ta izboljšava v dveh primerih izvedena na račun točnosti klasifikacije in v treh primerih še na račun metrike f-score. Število generacij do optimalne rešitve se med pristopi v tem primeru ni bistveno spreminjalo. Zanimiva je ugotovitev, da so pristopi, ki so na omenjenih množicah uspeli zmanjšati kompleksnost drevesa, ravno tisti pristopi izbire dreves za križanje po različnosti dreves, ki so sicer iskali razlike v strukturi in velikosti dreves. V dveh primerih je izboljšavo pred standardnim ter nekaterimi ostalimi implementiranimi pristopi predstavljalo križanje dreves po različnosti v številu uporabljenih atributov, dvakrat pa križanje po razlikah v velikosti oziroma kompleksnosti drevesa. V primeru množice pendigits, pri kateri je križanje po različnosti glede na velikost bilo signifikantno uspešnejše pri ustvarjanju enostavnejših in manj kompleksnih dreves v primerjavi s pristopom brez upoštevanja razlik med drevesi ter pristopoma križanja glede na razlike v matriki zmede in klasifikaciji posameznih primerkov, je bilo signifikantno uspešnejše tudi križanje glede na razlike v vrednostih atributov. Slika 6.2 prikazuje primerjave maksimalnih, minimalnih ter povprečnih vrednosti dveh metrik za omenjeno podatkovno množico, pri čemer med seboj primerja vseh šest načinov selekcije dreves za križanje. Kot je razvidno iz slike, sta metriki točnosti klasifikacije in kompleksnosti drevesa resnično premo sorazmerni: to pomeni, da s točnostjo klasifikacije raste tudi kompleksnost drevesa in seveda obratno. Signifikantna izboljšava zmanjšanja 69

80 kompleksnosti pristopa križanja po velikosti na izbrani množici torej hkrati pomeni tudi signifikantno poslabšanje točnosti klasifikacije napram klasičnemu pristopu. Slika 6.2: Primerjava pristopov križanja glede na točnost klasifikacije in velikost drevesa Glede na primerjavo pristopov na sliki 6.2 smo sicer opazili, da lahko kljub temu, da med ostalimi pristopi nismo izračunali signifikantne razlike v točnosti klasifikacije ter drugih opazovanih metrikah, vseeno opazimo določene razlike med njimi. Predvsem točnost klasifikacije pristopa križanja dreves glede na razlike v klasifikaciji posameznih primerkov je za ta konkretni primer izgledala boljša napram standardnemu pristopu brez upoštevanja podobnosti. Statistična signifinanca (oziroma p vrednost) je v veliki meri odvisna od velikosti vzorca. Na podlagi testne statistike se namreč glede na število vseh obravnavanih primerkov izračuna verjetnost, da so končni rezultati plod naključja. Posledično bi lahko z dovolj velikim testnim vzorcem vedno zagotovili signifikantnost končnih izsledkov, razen če bi seveda primerjani vrednosti bili popolnoma enaki. Velikost učinka (angl. effect size) pa po drugi strani kvantificira razliko med dvema vrednostima, na podlagi česar nam lahko namesto na "Ali je pristop boljši ali ne?" pomaga odgovoriti na bolj konkretno vprašanje: "Koliko boljši je pristop od primerjanega pristopa nad izbranim kontekstom?" [17] Velikost učinka nam namreč predstavlja standardizirano mero razsežnosti opazovane razlike, ter nam s tem omogoča, da lahko bolj natančno določimo razliko med dvema pristopoma (v nasprotju s statistično signifikanco, ki velikost učinka enači kar z velikostjo vzorca), ki jo lahko nato sami ustrezno interpretiramo glede na opazovan problem. [31] Ko obravnavamo velikost učinka, pravzaprav opazujemo povprečne vrednosti metrik za obe skupini in ju med seboj primerjamo. Pri tem upoštevamo tudi standardni odklon 70

81 populacije, ki predstavlja razpršitev podatkov, zaradi česar posledično velikost vzorca ne vpliva na končno oceno razlike med dvema pristopoma, saj nas namesto tega zanima, kolikšen delež vseh primerkov v eni skupini je slabši oziroma boljši od povprečnega primerka druge skupine. Da bi lahko izračunali velikosti učinka za standardni pristop v primerjavi z pristopom križanja po različnosti v klasifikaciji primerkov ali matriki zmede, smo izvedli Mann-Whitneyev test in s pomočjo (6.1) izračunali vrednosti velikosti učinka, prikazane v tabeli 6.8. (6.1) Kjer je: velikost učinka razlika povprečnih vrednosti metrik obeh skupin (testna statistika) število primerkov opazovanega vzorca Tabela 6.8: Velikosti učinkov dveh pristopov različnosti v primerjavi s standardnim Podatkovna množica Accuracy Num. gen. Size F-Score classdif confmat classdif confmat classdif confmat classdif confmat Audiology 0,043 0,192 0,220 0,095 0,052 Autos < 0,001 0,236 Balance-scale 0,335 0,171 Breast-cancer 0,109 0,024 0,024 Breast-w 0,313 0,262 Colic-ORIG 0,152 0,110 0,134 0,134 Credit-a 0,423 0,390 0,266 0,063 0,063 Eye_movements 0,254 0,123 0,017 Glass 0,118 0,296 0,235 0,413 Heart-statlog 0,102 0,068 < 0,001 0,111 Ionosphere 0,070 0,135 0,110 0,035 Iris Letter 0,059 0,118 0,034 Mushroom 0,102 0,070 0,018 Optdigits 0,186 0,245 0,111 Pendigits 0,127 Segment < 0,001 0,042 0,102 0,106 0,051 Sonar 0,057 0,102 0,145 0,047 Soybean 0,330 0,093 0,228 0,026 Vehicle 0,179 0,244 0,059 0,017 0,032 0,244 0,244 Vowel 0,271 0,398 < 0,001 71

82 Manjkajoče vrednosti celic v tabeli predstavljajo tiste primerjave, pri katerih so bile glede na rezultate Mann-Whitney testa povprečne vrednosti izbrane meritve boljše za pristop brez upoštevanja podobnosti med drevesi. Vse ostale celice prikazujejo vrednosti velikosti učinkov, pri katerih je bil za opazovano meritev eden izmed dveh opazovanih pristopov križanja po podobnosti ali različnosti boljši od standardnega. Cohen je definiral meje vrednosti, ki enolično definirajo velikost učinka. Po njegovih predlogih se kot majhen ali šibak učinek smatra vrednost 0.1, kot srednji učinek vrednost 0.3, vrednost 0.5 pa predstavlja velik ali močan učinek. [18] Na tabelah 6.8 in 6.9 so šibki učinki označeni z rumeno barvo, srednji z zeleno, močni pa z modro barvo. Na večini množic smo pri obeh opazovanih pristopih opazili vsaj majhen, pri nekaterih pa srednji ali celo močan učinek. Tako lahko naprimer na množici credit-a izpostavimo pristop križanja glede na različnost v klasifikaciji primerkov dreves, ki je glede na standardni pristop brez upoštevanja podobnosti znatno boljši po številu generacij do optimalne rešitve in velikosti drevesa. Vrednost 0,423 pri prvem namreč pomeni srednjo velikost učinka, kar dejansko pomeni, da je več kot dve tretjini oziroma v našem primeru kar med šest in sedem izmed desetih zagonov algoritma brez upoštevanja podobnosti med drevesi slabših od povprečnega zagona algoritma, ki upošteva razlike v klasifikaciji posameznih primerkov. Če bi izmed desetih zagonov prvega in desetih zagonov drugega pristopa izbrali po en naključen primerek zagona, bi obstajala 61% verjetnost, da je naključno izbran pristop na osnovi upoštevanja klasifikacije primerkov boljši od standardnega. Večina izboljšav se navezuje na učinkovitost genetskega algoritma ter velikost drevesa, čeprav sta opazovana pristopa na nekaterih podatkovnih množicah izboljšala tudi točnost klasifikacije in f-score. Dejstvo je, da so bile v okviru primerjave obeh pristopov križanja na osnovi različnosti s standardnim pristopom opažene razlike z vsaj šibko velikostjo učinka na kar 20 od 21 množic. Na vseh množicah smo opazili razlike s šibko, srednjo in celo močno stopnjo učinka tudi na primeru primerjave pristopov križanja na osnovi podobnosti med drevesi s pristopom brez upoštevanja podobnosti. Tabela 6.9 prikazuje rezultate izračunov velikosti učinka, na katerih so razvidne razsežnosti izboljšav implementiranih pristopov. 72

83 S primerjanjem obeh tabel smo lahko opazili, da se izboljšave implementiranih pristopov nad standardnim pojavljajo na različnih podatkovnih množicah glede na to, ali med seboj križamo po izbranem pristopu najbolj podobna ali najbolj različna drevesa. Na nekaterih podatkovnih množicah lahko izbran vidik uspešnosti ali učinkovitosti genetskega algoritma izboljšamo, če med seboj križamo drevesa po podobnosti, ponekod pa je bolje kombinirati čimbolj različna drevesa. Tabela 6.9: Velikosti učinkov dveh pristopov podobnosti v primerjavi s standardnim Podatkovna množica Accuracy Num. gen. Size F-Score classdif confmat classdif confmat classdif confmat classdif confmat Audiology 0,194 0,163 Autos 0,122 0,363 0,203 Balance-scale 0,152 0,287 0,163 0,069 Breast-cancer 0,112 0,112 Breast-w 0,112 0,034 0,313 0,136 0,134 0,112 Colic-ORIG 0,136 0,224 0,136 Credit-a 0,297 Eye_movements 0,173 0,338 0,246 0,365 Glass 0,242 0,118 0,024 0,163 0,069 Heart-statlog 0,501 0,085 0,501 0,263 Ionosphere 0,038 0,170 0,178 0,150 0,038 Iris 0,488 0,254 0,106 0,488 Letter 0,161 0,220 0,218 0,044 Mushroom 0,068 0,118 0,236 0,246 Optdigits 0,186 0,439 0,026 0,397 Pendigits 0,096 0,258 Segment 0,220 0,289 0,228 0,288 Sonar 0,037 0,161 0,037 Soybean 0,118 0,192 0,127 0,152 Vehicle 0,355 0,203 0,255 0,134 Vowel 0,169 0,237 0,125 0,239 Izbran pristop upoštevanja podobnosti ali različnosti lahko prav tako vpliva na končno uspešnost oziroma učinkovitost algoritma. Na primeru podatkovne množice glass je tako najprimernejše uporabiti pristop križanja glede na razlike v matriki zmede, saj glede na teste predstavlja izboljšave velikosti končnega drevesa in števila generacij do rešitve v primerjavi s pristopom križanja na osnovi razlik v klasifikaciji posameznih primerkov. Kljub temu pa lahko privzamemo, da vsekakor ni vseeno, ali med seboj križamo drevesa, katerih vrednosti v matriki so med seboj čimbolj podobna ali različna. Glede na primerjavo 73

84 vrednosti velikosti učinkov v tabelah 6.8 in 6.9 bi v tem primeru izbrali pristop križanja dreves, ki so med seboj čimbolj različna po vrednostih v diagonali matrike zmede, saj bi lahko pričakovali boljše rezultate učinkovitosti algoritma ter manj kompleksna drevesa v primerjavi z optimalnimi drevesi, ki bi jih našli s standardnim pristopom križanja dreves brez upoštevanja podobnosti. Čeprav te razlike niso signifikantne (to pomeni, da obstaja verjetnost, da so takšne zgolj po naključju), jih lahko zasledimo na številnih podatkovnih množicah, zato predvidevamo, da so implementirani pristopi za vsaj nekatere izmed izbranih množic boljši, kar bi lahko potrdili z izvedbo eksperimenta na večjem vzorcu. 6.2 Interpretacija rezultatov V prejšnjem podpoglavju smo opisali izvedene statistične teste in razloge za njihovo izbiro ter rezultate, ki smo jih dobili. V tem razdelku podajamo glavne ugotovitve in sklepe, ki smo jih na osnovi pridobljenih rezultatov in znanja s tega področja lahko izpostavili. Prva zanimiva ugotovitev se navezuje na porazdelitve vsake izmed štirih opazovanih spremenljivk, za katere smo najprej predvidevali, da so normalne. Glede na dejstvo, da se genetski algoritmi ne izvajajo na determinističen način, temveč vsakič producirajo malenkost drugačne rezultate, bi zato pričakovali, da bi se po številnih zagonih vrednosti spremenljivk postopoma začela oblikovati normalna porazdelitev podatkov. Po izvedenih testih pa se je pravzaprav izkazalo, da so porazdelitve izrazito nenormalne; na manjših vzorcih podatkov smo v določenih primerih sicer še lahko zasledili normalno porazdeljenost, vendar je to bil zgolj plod naključja, saj smo po ponovnem preverjanju porazdeljenosti na desetkrat večjem vzorcu ugotovili, da normalnosti v porazdelitvi več nismo mogli zaslediti. Slika 6.3 prikazuje dve varianti, ki smo ju izpostavili kot možna razloga za opaženo nenormalno porazdelitev po izvedbi frekvenčne analize: v celotnem iskalnem prostoru je omejen nabor optimalnih odločitvenih dreves, zato je za najuspešnejše drevo ponavadi izbrano eno izmed redkih možnih opcij. Posledično so vrednosti dokaj diskretizirane, zaradi česar ne morejo biti normalno porazdeljene, pogosto se zgodi, da algoritem tekom evolucije ne najde dobrega drevesa, zato kot najboljše drevo evolucije ostane eno izmed slabših dreves, najdenih v začetnih 74

85 generacijah. To pa konec koncev povzroča več najpogostejših vrednosti, kar lahko izkrivlja normalno porazdelitev. Slika 6.3: Nenormalna porazdelitev točnosti klasifikacije za sto zagonov izbranega pristopa Možno je seveda, da gre za kombinacijo obeh variant. V vsakem primeru je porazdelitev podatkov nenormalna, zato smo v nadaljevanju morali uporabljati neparametrične teste, s katerimi smo lahko ugotavljali signifikantnost razlik med šestimi pristopi izbire odločitvenih dreves za križanje na končno uspešnost in učinkovitost genetskega algoritma. Statistični testi so pokazali, da nad celotnim naborom podatkov med posameznimi pristopi ni bilo signifikantnih razlik v vrednostih opazovanih spremenljivk, z izjemo števila generacij do optimalne rešitve, za katerega se je izkazalo, da je standardni pristop brez upoštevanja podobnosti boljši od enega izmed preostalih petih pristopov. Izsledek lahko komentiramo kot logičen, saj ni bilo za pričakovati, da bomo z implementiranimi pristopi križanja dreves po podobnosti oziroma različnosti že v osnovi našli univerzalno izboljšavo obstoječega načina. Dejstvo, da so bili na splošno pravzaprav vsi pristopi enakovredni obstoječemu, nakazuje, da imajo določen potencial na posameznih podatkovnih množicah. Ponavadi se pri klasifikacijskih opravilih izkaže, da so novi pristopi učinkovitejši in uspešnejši za določene specifične probleme, zato smo v nadaljevanju teste ponovili še za vsako izmed enaindvajsetih množic posebej. Rezultati so bili v tem primeru konkretnejši, 75

86 saj smo že dobili več primerov množic, v katerih so bile opažene signifikantne razlike med pristopi. Tukaj so se že začele kazati razlike med posameznimi pristopi: standardni pristop je bil po večini boljši od nekaterih pristopov, ki so upoštevali razlike v strukturi drevesa, v točnosti in f-score vrednosti, med tem ko so omenjeni pristopi bili boljši v zmanjševanju velikosti končne rešitve. S križanjem med seboj po strukturi in velikosti čimbolj različnih dreves je algoritmu namreč omogočalo, da je dobro pregledal robne dele iskalnega prostora, kjer so se nahajala predvsem zelo enostavna in kompleksna drevesa. Ker so dovolj enostavna drevesa ponavadi uspešnejša od kompleksnih, so bile kot končne rešitve najverjetneje izbrana precej majhna odločitvena drevesa, kar je seveda pomenilo dober rezultat glede na opazovano metriko velikosti drevesa. Po drugi strani izjemno enostavna drevesa velikokrat niso najbolj optimalna, zato je standardni pristop v tem primeru še vedno bil uspešnejši iz vidika točnosti same klasifikacije. Vse štiri podatkovne množice (optdigits, pendigits, segment in soybean), za katere so veljale opisane izboljšave velikosti dreves, so velike množice z več kot 16 atributi in preko 650 testnimi primerki. Pravzaprav predstavljajo ene izmed večjih množic, na katerih smo v okviru eksperimenta preizkusili vse pristope. Od ostalih večjih množic se razlikujejo v povprečnih vrednostih točnosti klasifikacije, ki se za omenjene štiri množice gibljejo med 56 in 60%, med tem ko so vrednosti točnosti klasifikacije ostalih večjih množic precej bolj različne. Po drugi strani so množice, pri katerih je standardni pristop dosegal veliko boljšo točnost in f-score od implementiranih pristopov, množice z manjšim številom primerkov in vseh atributov. Opazili smo tudi, da je bil pristop brez upoštevanja podobnosti točnejši pri klasifikacijskih problemih, pri katerih je bilo potrebno primerke razvrščati v manjše število končnih razredov (do 3), med tem ko je pristop križanja dreves glede na razlike v velikosti ter uporabljenih atributih izdeloval manjša in enostavnejša drevesa za probleme z več kot sedmimi končnimi razredi. O razlogih za uspešnost pristopov prav na teh množicah je sicer težko sklepati, vsekakor pa je dobro opazovati podobnosti med njimi in razlike z ostalimi množicami, kot smo predstavili v prejšnjih odstavkih. Na osnovi teh informacij bi lahko izbrali nove, podobne množice, ter na njih ponovili eksperiment, da bi ugotovili, ali so rezultati primerljivi. 76

87 Prav tako bi bilo eksperiment smiselno ponoviti na večjem vzorcu. Ker smo na posamezni podatkovni množici vsak pristop vrednotili na samo desetih zagonih, je v končni fazi izjemno težko trditi, da končni rezultati niso naključni kar nam pravzaprav kaže tudi razmeroma nizka vrednost signifikance primerjav med pristopi. S povečanjem velikosti vzorca bi lahko z večjo gotovostjo trdili, da so opažene izboljšave oziroma poslabšanja petih implementiranih pristopov napram standarnemu pristopu dejansko veljavne. Vsak dodaten zagon genetskega algoritma bi seveda opazno povečal trajanje eksperimenta, zaradi česar smo se v okviru magistrske naloge morali omejiti na manjše število zagonov z namenom ohranjevanja izvedljivosti raziskave. Ker gre za pilotsko raziskavo na področju klasifikacije z odločitvenimi drevesi, saj podobnih raziskav vrednotenja uspešnosti in učinkovitosti genetskih algoritmov glede na križanje z in brez upoštevanja podobnosti v literaturi še nismo zasledili, je smiselno, da smo eksperiment zasnovali tako, da smo preizkusili čim več pristopov na kar največ različnih množicah. Na ta način smo lahko identificirali vse množice, na katerih so se pojavljale največje razlike glede na posamezne pristope. Čeprav pridobljeni rezultati zaradi manjšega vzorca niso bili dovolj signifikantni, smo kljub temu lahko določili velikost učinka, s pomočjo katerega smo ugotovili, kateri pristopi bi lahko bili na izbranih množicah boljši. Izmed številnih množic in pristopov je bilo nato na podlagi rezultatov raziskave možno izbrati tiste, ki bi jih v nadaljnih eksperimentih oziroma raziskavah lahko bolj podrobno preizkusili z namenom odkrivanja razlogov za doseganje boljše ali slabše uspešnosti in učinkovitosti. Primerjava posameznih pristopov med seboj je pokazala, da so razlike med njimi glede na posamezne množice konsistentne. V točnosti klasifikacije in f-score vrednosti je pristop brez upoštevanja podobnosti v večini primerov dosegal boljše rezultate od ostalih implementiranih pristopov. V omenjenih metrikah sta se standarnemu pristopu najbolj približala pristopa glede na podobnost oziroma različnost v matriki zmede in velikosti drevesa, med tem ko so ostali pristopi dosegali bistveno slabše rezultate. Standardni pristop, ki podobnosti ne upošteva, je pogosto namreč že dokaj uspešen pri iskanju točnih dreves izkazalo se je, da je v številnih primerih celo boljši kot gradnja dreves z indukcijskimi algoritmi. Izboljšava točnosti je zato s tega vidika dokaj zahtevna. 77

88 Kljub temu je iz slike 6.4 razvidno, da smo na nekaterih množicah kljub temu uspeli doseči izboljšave točnosti klasifikacije in vrednosti f-score. Na sliki je tako za pristop vrednotenja po različnosti kot tudi podobnosti prikazano število vseh podatkovnih množic, na katerih smo za opazovano spremenljivko zaznali vsaj majhno velikost učinka izboljšave izbranega pristopa upoštevanja podobnosti nad standardnim. Rumena, zelena in modra barva za vsak pristop prikazujejo majhno, srednjo in visoko vrednost učinka, grupirani stolpci za vsako opazovano spremenljivko pa predstavljajo implementirane pristope podobnosti, kot so si sledili tudi pri njihovem opisu v poglavju 3.3: kompleksnost odločitvenega drevesa, število uporabljenih atributov, vrednosti numeričnih in nominalnih atributov, matrika zmede in klasifikacija posameznih primerkov. Slika 6.4: Število množic z izboljšavami posameznih pristopov glede na standardnega V splošnem so bile metrike, ki so se navezovale na strukturo odločitvenih dreves (velikost, število uporabljenih atributov ter vrednosti atributov), bolj uspešne, če smo med seboj križali podobna drevesa. Kombiniranje po strukturi med seboj zelo različnih dreves je sicer v večini primerov res produciralo signifikantnejše enostavnejša drevesa od tistih, ki smo jih izdelali s pomočjo standardnega pristopa, saj so bili najuspešnejši potomci po velikosti zelo različnih dreves ponavadi izjemno majhna drevesa. Čeprav stremimo k enostavnim drevesom pa se moramo zavedati, da pri kompleksnejših klasifikacijskih problemih drevesa minimalne velikosti niso dovolj, saj z njimi ne moremo opisati vseh potrebnih pravil. Predvidevamo, da so bila zaradi tega razloga izdelana drevesa manj uspešna. Po drugi strani smo s kombiniranjem po strukturi podobnih dreves med seboj najverjetneje križali drevesa manjše oziroma srednje velikosti, s katerimi smo lahko zajeli zajeten nabor potrebnih klasifikacijskih pravil. Posledično so bile točnosti klasifikacije in vrednosti f-score višje, prav tako pa smo optimalna drevesa našli veliko prej. Končna kompleksnost dreves 78

89 sicer ni bila optimalna, vendar smo jo kljub temu uspeli izboljšati napram standardnemu pristopu v skoraj polovici vseh podatkovnih množic. Za pristop križanja glede na razlike oziroma podobnosti v matriki zmede in klasifikaciji posameznih primerkov smo morda pričakovali boljše rezultate točnosti klasifikacije in vrednosti f-score, vendar lahko namesto tega izpostavimo izboljšave hitrosti oziroma učinkovitosti algoritma ter kompleksnosti končnih odločitvenih dreves za skoraj polovico od vseh množic. Križanje med seboj različnih dreves glede na vrednosti v matriki zmede oziroma klasifikacijo posameznih primerkov torej v številnih primerih najde optimalno rešitev hitreje kot standardni pristop, poleg tega pa so v kar nekaj primerih drevesa manj kompleksna. Pa vendar je iz slike 6.4 razvidno, da križanje glede na podobnosti v klasifikaciji primerkov in matriki zmede pogosteje producira od standardnega pristopa točnejša drevesa z višjo f- score vrednostjo. Zavedati pa se moramo, da je na sliki prikazano samo število množic, v katerih je opazovan pristop bil boljši od standardnega glede na opazovano spremenljivko; graf nam ne daje informacije o tem, na kateri množici je bila opažena izboljšava, ter še pomembneje, ali izboljšava izbrane spremenljivke na izbrani množici pomeni poslabšanje drugih ali ne. To lahko razberemo iz slike 6.5, na kateri je za vsako množico, na kateri smo zasledili izboljšavo izbranega pristopa različnosti ali podobnosti nad standardnim, z barvno shemo prikazano, če je bil standardni pristop z določeno velikostjo učinka boljši v najmanj eni izmed preostalih treh opazovanih spremenljivk. Slika 6.5: Stabilnosti pristopov križanja glede na upoštevanje podobnosti ali različnosti 79

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije Univerza v Ljubljani Fakulteta za matematiko in fiziko Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije 2. junij 2011 Koncept PSO Motivacija: vedenje organizmov v naravi Ideja: koordinirano

Prikaži več

Podatkovni model ER

Podatkovni model ER Podatkovni model Entiteta- Razmerje Iztok Savnik, FAMNIT 2018/19 Pregled: Načrtovanje podatkovnih baz Konceptualno načtrovanje: (ER Model) Kaj so entite in razmerja v aplikacijskem okolju? Katere podatke

Prikaži več

E-nepremična inženirska zakladnica

E-nepremična inženirska zakladnica Smetanova ulica 17 2000 Maribor, Slovenija E-NEPREMIČNA INŽENIRSKA ZAKLADNICA - TEHNIŠKE FAKULTETE Naročnik: Energetika Maribor d.o.o. Vodja projekta: Daniela Dvornik Perhavec Fakultete za gradbeništvo,

Prikaži več

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v fina

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v fina UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v financah Ljubljana, 2010 1. Klasični pristop k analizi

Prikaži več

OSNOVE UMETNE INTELIGENCE

OSNOVE UMETNE INTELIGENCE OSNOVE UMETNE INTELIGENCE 2017/18 regresijska drevesa ocenjevanje učenja linearni modeli k-nn Zoran Bosnić del gradiva povzet po: Bratko: Prolog programming for AI, Pearson (2011) in Russell, Norvig: AI:

Prikaži več

Datum in kraj

Datum in kraj Ljubljana, 5. 4. 2017 Katalog znanj in vzorci nalog za izbirni izpit za vpis na magistrski študij Pedagoško računalništvo in informatika 2017/2018 0 KATALOG ZNANJ ZA IZBIRNI IZPIT ZA VPIS NA MAGISTRSKI

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Napovedno oglaševanje Kombiniranje internih in eksternih podatkov za boljšo učinkovitost oglaševanja Miloš Suša, iprom Andraž Zorko, Valicon Mojca Pesendorfer, Atlantic Grupa Ljubljana, 22.10.2018 PREDIKTIVNO

Prikaži več

Univerza v Ljubljani Fakulteta za računalništvo in informatiko David Možina Argumentirano strojno učenje z uporabo logistične regresije MAGISTRSKO DEL

Univerza v Ljubljani Fakulteta za računalništvo in informatiko David Možina Argumentirano strojno učenje z uporabo logistične regresije MAGISTRSKO DEL Univerza v Ljubljani Fakulteta za računalništvo in informatiko David Možina Argumentirano strojno učenje z uporabo logistične regresije MAGISTRSKO DELO MAGISTRSKI PROGRAM DRUGE STOPNJE RAČUNALNIŠTVO IN

Prikaži več

3. Preizkušanje domnev

3. Preizkušanje domnev 3. Preizkušanje domnev doc. dr. Miroslav Verbič miroslav.verbic@ef.uni-lj.si www.miroslav-verbic.si Ljubljana, februar 2014 3.1 Izračunavanje intervala zaupanja za vrednosti regresijskih koeficientov Motivacija

Prikaži več

3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja

3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja 3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja AV k = V k H k + h k+1,k v k+1 e T k = V kh k+1,k.

Prikaži več

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA Navdih Poizvedovanje po BD podatkovnih virih, ki imajo časovno dimenzijo in so dostopni. Večji promet pomeni večje število dobrin in močnejšo

Prikaži več

Chapter 1

Chapter 1 - 1 - Poglavje 1 Uvod v podatkovne baze - 2 - Poglavje 1 Cilji (Teme).. Nekatere domene, kjer se uporabljajo podatkovne baze Značilnosti datotečnih sistemov Problemi vezani na datotečne sisteme Pomen izraza

Prikaži več

Avtomatizirano modeliranje pri celostnem upravljanju z vodnimi viri

Avtomatizirano modeliranje pri celostnem upravljanju z vodnimi viri Univerza v Ljubljani Fakulteta za gradbeništvo in geodezijo 36. Goljevščkov spominski dan Modeliranje kroženja vode in spiranja hranil v porečju reke Pesnice Mateja Škerjanec 1 Tjaša Kanduč 2 David Kocman

Prikaži več

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6. julij 2018 Navodila Pazljivo preberite be

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6. julij 2018 Navodila Pazljivo preberite be Ime in priimek: Vpisna št: FAKULEA ZA MAEMAIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6 julij 2018 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Za pozitiven rezultat

Prikaži več

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5. februar 2018 Navodila Pazljivo preberite

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5. februar 2018 Navodila Pazljivo preberite Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5 februar 018 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Nalog je

Prikaži več

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA Enopredmetna matematika IN STATISTIKE Maribor, 31. 01. 2012 1. Na voljo imamo kovanca tipa K 1 in K 2, katerih verjetnost, da pade grb, je p 1 in p 2. (a) Istočasno vržemo oba kovanca. Verjetnost, da je

Prikaži več

Microsoft PowerPoint - MSPO_4_DiagramiVpliva.pptx

Microsoft PowerPoint - MSPO_4_DiagramiVpliva.pptx 8. Diagrami vpliva Odločitveno drevo alternative status quo razširitev gradnja povezovanje izidi 28 30 24 42 16 44 30 34, Univerza v Novi Gorici, Poslovno-tehniška fakulteta 1 Slabosti odločitvenih dreves

Prikaži več

Microsoft Word - CNC obdelava kazalo vsebine.doc

Microsoft Word - CNC obdelava kazalo vsebine.doc ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo mesto, april 2008 Ime in priimek študenta ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo

Prikaži več

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo Turingov stroj in programiranje Barbara Strniša 12. 4. 2010 1 Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolov (običajno Σ 2) Σ n = {s 1 s 2... s n ; s i Σ, i =

Prikaži več

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Blaž Poje Zaporedni in vzporedni genetski algoritmi za reševanje problema trgovskega po

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Blaž Poje Zaporedni in vzporedni genetski algoritmi za reševanje problema trgovskega po UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Blaž Poje Zaporedni in vzporedni genetski algoritmi za reševanje problema trgovskega potnika DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor:

Prikaži več

Folie 1

Folie 1 S&TLabs Innovations mag. Damjan Kosec, S&T Slovenija d.d. marec 2013 S&TLabs Laboratorij za inovacije in razvoj spletnih in mobilnih informacijskih rešitev Kako boste spremenili svoj poslovni model na

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Zapisovanje učnih izidov Bled, 21.1.2016 Darko Mali ECVET ekspert, CPI Pojmi: Kvalifikacija Kompetenca Učni cilji Učni izidi Enote učnih izidov Kreditne točke Programi usposabljanja NE! 2 Učni cilji kompetence

Prikaži več

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar 2009 1 Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero velja 0 f(e) u(e) za e E(G). Za v V (G) definiramo presežek

Prikaži več

Osnove statistike v fizični geografiji 2

Osnove statistike v fizični geografiji 2 Osnove statistike v geografiji - Metodologija geografskega raziskovanja - dr. Gregor Kovačič, doc. Bivariantna analiza Lastnosti so med sabo odvisne (vzročnoposledično povezane), kadar ena lastnost (spremenljivka

Prikaži več

Microsoft Word - A-3-Dezelak-SLO.doc

Microsoft Word - A-3-Dezelak-SLO.doc 20. posvetovanje "KOMUNALNA ENERGETIKA / POWER ENGINEERING", Maribor, 2011 1 ANALIZA OBRATOVANJA HIDROELEKTRARNE S ŠKOLJČNIM DIAGRAMOM Klemen DEŽELAK POVZETEK V prispevku je predstavljena možnost izvedbe

Prikaži več

Diapozitiv 1

Diapozitiv 1 9. Funkcije 1 9. 1. F U N K C I J A m a i n () 9.2. D E F I N I C I J A F U N K C I J E 9.3. S T A V E K r e t u r n 9.4. K L I C F U N K C I J E I N P R E N O S P A R A M E T R O V 9.5. P R E K R I V

Prikaži več

Osnove verjetnosti in statistika

Osnove verjetnosti in statistika Osnove verjetnosti in statistika Gašper Fijavž Fakulteta za računalništvo in informatiko Univerza v Ljubljani Ljubljana, 26. februar 2010 Poskus in dogodek Kaj je poskus? Vržemo kovanec. Petkrat vržemo

Prikaži več

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA KATALOG ZNANJA 1. IME PREDMETA ZBIRKE PODATKOV I ZBIRKE PODATKOV II 2. SPLOŠNI CILJI Splošni cilji predmeta so: razvijanje sposobnosti za uporabo znanstvenih metod in sredstev, razvijanje odgovornosti

Prikaži več

predstavitev fakultete za matematiko 2017 A

predstavitev fakultete za matematiko 2017 A ZAKAJ ŠTUDIJ MATEMATIKE? Ker vam je všeč in vam gre dobro od rok! lepa, eksaktna veda, ki ne zastara matematičnoanalitično sklepanje je uporabno povsod matematiki so zaposljivi ZAKAJ V LJUBLJANI? najdaljša

Prikaži več

FGG13

FGG13 10.8 Metoda zveznega nadaljevanja To je metoda za reševanje nelinearne enačbe f(x) = 0. Če je težko poiskati začetni približek (še posebno pri nelinearnih sistemih), si lahko pomagamo z uvedbo dodatnega

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : Državni izpitni center *M15245112* JESENSKI IZPITNI ROK Izpitna pola 2 / 90 minut Dovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero ali kemični svinčnik in računalo.

Prikaži več

Delavnica Načrtovanje digitalnih vezij

Delavnica Načrtovanje digitalnih vezij Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Digitalni Elektronski Sistemi Osnove jezika VHDL Strukturno načrtovanje in testiranje Struktura vezja s komponentami

Prikaži več

Kazalo 1 DVOMESTNE RELACIJE Operacije z dvomestnimi relacijami Predstavitev relacij

Kazalo 1 DVOMESTNE RELACIJE Operacije z dvomestnimi relacijami Predstavitev relacij Kazalo 1 DVOMESTNE RELACIJE 1 1.1 Operacije z dvomestnimi relacijami...................... 2 1.2 Predstavitev relacij............................... 3 1.3 Lastnosti relacij na dani množici (R X X)................

Prikaži več

DEDOVANJE BARVNE SLEPOTE

DEDOVANJE BARVNE SLEPOTE DEDOVANJE BARVNE SLEPOTE 1. UVOD: Vsak človek ima 23 parov kromosomov, od tega 22 parov avtosomih kromosomov in en par spolnih kromosomov. Ta ne določata samo spola, temveč vsebujeta tudi gene za nekatere

Prikaži več

Microsoft Word - M doc

Microsoft Word - M doc Državni izpitni center *M11145113* INFORMATIKA SPOMLADANSKI IZPITNI ROK NAVODILA ZA OCENJEVANJE Petek, 10. junij 2011 SPLOŠNA MATURA RIC 2011 2 M111-451-1-3 IZPITNA POLA 1 1. b 2. a 3. Pojem se povezuje

Prikaži več

Strojna oprema

Strojna oprema Asistenta: Mira Trebar, Miha Moškon UIKTNT 2 Uvod v programiranje Začeti moramo razmišljati algoritmično sestaviti recept = napisati algoritem Algoritem za uporabo poljubnega okenskega programa. UIKTNT

Prikaži več

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega)

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega) GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega) in za vsako napisati svojo kodo. Dve ikoni imata isto

Prikaži več

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni RAM stroj Nataša Naglič 4. junij 2009 1 RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni trak, pomnilnik ter program. Bralni trak- zaporedje

Prikaži več

Microsoft Word - SI_vaja5.doc

Microsoft Word - SI_vaja5.doc Univerza v Ljubljani, Zdravstvena fakulteta Sanitarno inženirstvo Statistika Inštitut za biostatistiko in medicinsko informatiko Š.l. 2011/2012, 3. letnik (1. stopnja), Vaja 5 Naloge 1. del: t test za

Prikaži več

Univerza v Mariboru Fakulteta za elektrotehniko, računalništvo in informatiko Samoprilagajanje krmilnih parametrov pri algoritmu diferencialne evoluci

Univerza v Mariboru Fakulteta za elektrotehniko, računalništvo in informatiko Samoprilagajanje krmilnih parametrov pri algoritmu diferencialne evoluci Univerza v Mariboru Fakulteta za elektrotehniko, računalništvo in informatiko Samoprilagajanje krmilnih parametrov pri algoritmu diferencialne evolucije za večkriterijsko optimizacijo MAGISTRSKO DELO Maribor,

Prikaži več

Microsoft PowerPoint - p_TK_inzeniring_1_dan_v5_shortTS.ppt [Compatibility Mode]

Microsoft PowerPoint - p_TK_inzeniring_1_dan_v5_shortTS.ppt [Compatibility Mode] Telekomunikacijski inženiring dr. Iztok Humar Vsebina Značilnosti TK prometa, preprosti modeli, uporaba Uvod Značilnosti telekomunikacijskega prometa Modeliranje vodovno komutiranih zvez Erlang B Erlang

Prikaži več

Teorija kodiranja in kriptografija 2013/ AES

Teorija kodiranja in kriptografija 2013/ AES Teorija kodiranja in kriptografija 23/24 AES Arjana Žitnik Univerza v Ljubljani, Fakulteta za matematiko in fiziko Ljubljana, 8. 3. 24 AES - zgodovina Septembra 997 je NIST objavil natečaj za izbor nove

Prikaži več

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvantnih celičnih avtomatov SEMINARSKA NALOGA Univerzitetna

Prikaži več

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru 6.1 Uvod 6 Igra Chomp Marko Repše, 30.03.2009 Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru in na končni ali neskončni čokoladi. Igralca si izmenjujeta

Prikaži več

Microsoft PowerPoint - IPPU-V2.ppt

Microsoft PowerPoint - IPPU-V2.ppt Informatizacija poslovnih procesov v upravi VAJA 2 Procesni pogled Diagram aktivnosti IPPU vaja 2; stran: 1 Fakulteta za upravo, 2006/07 Procesni pogled Je osnova za razvoj programov Prikazuje algoritme

Prikaži več

DNEVNIK

DNEVNIK POROČILO PRAKTIČNEGA USPOSABLJANJA Z DELOM PRI DELODAJALCU DIJAKA / DIJAKINJE. ( IME IN PRIIMEK) Izobraževalni program FRIZER.. Letnik:.. oddelek:. PRI DELODAJALCU. (NASLOV DELODAJALCA) Šolsko leto:..

Prikaži več

STAVKI _5_

STAVKI _5_ 5. Stavki (Teoremi) Vsebina: Stavek superpozicije, stavek Thévenina in Nortona, maksimalna moč na bremenu (drugič), stavek Tellegena. 1. Stavek superpozicije Ta stavek določa, da lahko poljubno vezje sestavljeno

Prikaži več

Osnove matematicne analize 2018/19

Osnove matematicne analize  2018/19 Osnove matematične analize 2018/19 Neža Mramor Kosta Fakulteta za računalništvo in informatiko Univerza v Ljubljani Funkcija je predpis, ki vsakemu elementu x iz definicijskega območja D f R priredi natanko

Prikaži več

FGG14

FGG14 Iterativne metode podprostorov Iterativne metode podprostorov uporabljamo za numerično reševanje linearnih sistemov ali računanje lastnih vrednosti problemov z velikimi razpršenimi matrikami, ki so prevelike,

Prikaži več

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31. avgust 2018 Navodila Pazljivo preberite

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31. avgust 2018 Navodila Pazljivo preberite Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31 avgust 018 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Za pozitiven

Prikaži več

Uvodno predavanje

Uvodno predavanje RAČUNALNIŠKA ORODJA Simulacije elektronskih vezij M. Jankovec 2.TRAN analiza (Analiza v časovnem prostoru) Iskanje odziva nelinearnega dinamičnega vezja v časovnem prostoru Prehodni pojavi Stacionarno

Prikaži več

Spletno raziskovanje

Spletno raziskovanje SPLETNO RAZISKOVANJE RM 2013/14 VRSTE SPLETNEGA RAZISKOVANJA RENKO, 2005 Spletne fokusne skupine Spletni eksperiment Spletno opazovanje Spletni poglobljeni intervjuji Spletna anketa 2 PREDNOSTI SPLETNIH

Prikaži več

Univerzitetni študijski program Fizika I

Univerzitetni študijski program Fizika I Medicinska fizika II. stopnja 1. Splošni podatki o študijskem programu Ime študija: Magistrski študijski program Medicinska fizika. Stopnja študija: Druga bolonjska stopnja. Vrsta študija: Enopredmetni

Prikaži več

Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajan

Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajan Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajanje prekinitvene rutine Dogodek GLAVNI PROGRAM (MAIN-OB1)

Prikaži več

Microsoft Word - polensek-1.doc

Microsoft Word - polensek-1.doc Spletna učilnica športne vzgoje res deluje? Janja Polenšek OŠ Dobje janja.polensek@gmail.com Povzetek S pospešenim uvajanjem informacijsko-komunikacijske tehnologije v proces izobraževanja na OŠ Slivnica

Prikaži več

INDUSTRIJA 4.0: PRILOŽNOSTI DIGITALNE PREOBRAZBE PROCESA RAZVOJA BARV IN PREMAZOV TOMAŽ KERN, BENJAMIN URH, MARJAN SENEGAČNIK, EVA KRHAČ

INDUSTRIJA 4.0:  PRILOŽNOSTI DIGITALNE PREOBRAZBE PROCESA RAZVOJA BARV IN PREMAZOV TOMAŽ KERN, BENJAMIN URH, MARJAN SENEGAČNIK, EVA KRHAČ INDUSTRIJA 4.0: PRILOŽNOSTI DIGITALNE PREOBRAZBE PROCESA RAZVOJA BARV IN PREMAZOV TOMAŽ KERN, BENJAMIN URH, MARJAN SENEGAČNIK, EVA KRHAČ AGENDA IZZIV OZADJE RAZISKAVE POSNETEK STANJA ANALIZA STANJA in

Prikaži več

Gradbeništvo kot Industrija 4.0

Gradbeništvo kot Industrija 4.0 Povzetek: Kot vse druge panoge se mora gradbeništvo modernizirati Industrija 4.0 koncept, ki daje modernizaciji okvir, motivacijo, zagon Industrija 4.0 je stapljanje fizičnega in digitalnega sveta Gradbeništvo

Prikaži več

Microsoft PowerPoint - UN_OM_G03_Marketinsko_raziskovanje

Microsoft PowerPoint - UN_OM_G03_Marketinsko_raziskovanje .: 1 od 10 :. Vaja 3: MARKETINŠKO KO RAZISKOVANJE Marketinško ko raziskovanje Kritičen del marketinškega informacijskega sistema. Proces zagotavljanja informacij potrebnih za poslovno odločanje. Relevantne,

Prikaži več

MODEL PRIMERNOSTI OBMOČIJ ZA POVEZOVANJE

MODEL PRIMERNOSTI OBMOČIJ ZA POVEZOVANJE MODEL PRIMERNOSTI OBMOČIJ ZA POVEZOVANJE doc. dr. Špela Pezdevšek Malovrh prof. dr. Lidija Zadnik Stirn prof. dr. Janez Krč VSEBINA Raziskovalni problem UVOD GOSPODARJENJE V ZASEBNIH GOZDOVIH Ni optimalno

Prikaži več

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje priročno programsko okolje tolmač interpreter (ne prevajalnik)

Prikaži več

Iztok KOSEM in Špela ARHAR HOLDT Trojina, zavod za uporabno slovenistiko ANALIZA BESEDIŠČA IN SKLADNJE V BESEDILIH TESTA BRALNE PISMENO

Iztok KOSEM in Špela ARHAR HOLDT Trojina, zavod za uporabno slovenistiko   ANALIZA BESEDIŠČA IN SKLADNJE V BESEDILIH TESTA BRALNE PISMENO Iztok KOSEM in Špela ARHAR HOLDT Trojina, zavod za uporabno slovenistiko www.trojina.si ANALIZA BESEDIŠČA IN SKLADNJE V BESEDILIH TESTA BRALNE PISMENOSTI PISA 2009 TEMA POROČILA PISA (The Programme for

Prikaži več

Microsoft PowerPoint - Standardi znanja in kriteriji ocenjevanja 2 r.ppt [Samo za branje] [Združljivostni način]

Microsoft PowerPoint - Standardi znanja in kriteriji ocenjevanja 2  r.ppt [Samo za branje] [Združljivostni način] STANDARDI ZNANJA PO PREDMETIH IN KRITERIJI OCENJEVANJA 2. razred SLOVENŠČINA 1 KRITERIJI OCENJEVANJA PRI SLOVENŠČINI POSLUŠANJE -Poslušanje umetnostnega besedilo, določanja dogajalnega prostora in časa,

Prikaži več

Reliability estimation of individual predictions

Reliability estimation of individual predictions Ocenjevanje zanesljivosti posameznih napovedi pri nadzorovanem učenju Darko Pevec DOKTORSKA DISERTACIJA PREDANA FAKULTETI ZA RAčUNALNIšTVO IN INFORMATIKO KOT DEL IZPOLNJEVANJA POGOJEV ZA PRIDOBITEV NAZIVA

Prikaži več

Microsoft PowerPoint - PIS_2005_03_02.ppt

Microsoft PowerPoint - PIS_2005_03_02.ppt Utišajmo mobilne telefone! 1 Vsebina predmeta Osnove poslovnih informacijskih sistemov Modeliranje poslovnih procesov Podatkovne baze in modeliranje podatkov 2. del Osnove jezika SQL Življenjski cikel

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Upravljanje tveganj nabave VSEBINA predavanj Opredelitev TVEGANJ, njihovih OBLIK in VZROKOV Upravljanje tveganja PRISTOPI in STRATEGIJE upravljanja tveganj METODE ublažitve tveganj Primer analize tveganja.

Prikaži več

glava.dvi

glava.dvi Lastnosti verjetnosti 1. Za dogodka A in B velja: P(A B) = P(A) + P(B) P(A B) 2. Za dogodke A, B in C velja: P(A B C) = P(A) + P(B) + P(C) P(A B) P(A C) P(B C) + P(A B C) Kako lahko to pravilo posplošimo

Prikaži več

2. Model multiple regresije

2. Model multiple regresije 2. Model multiple regresije doc. dr. Miroslav Verbič miroslav.verbic@ef.uni-lj.si www.miroslav-verbic.si Ljubljana, februar 2014 2.1 Populacijski regresijski model in regresijski model vzorčnih podatkov

Prikaži več

Verjetnost in vzorčenje: teoretske porazdelitve standardne napake ocenjevanje parametrov as. dr. Nino RODE prof. dr. Blaž MESEC

Verjetnost in vzorčenje: teoretske porazdelitve standardne napake ocenjevanje parametrov as. dr. Nino RODE prof. dr. Blaž MESEC Verjetnost in vzorčenje: teoretske porazdelitve standardne napake ocenjevanje parametrov as. dr. Nino RODE prof. dr. Blaž MESEC VERJETNOST osnovni pojmi Poskus: dejanje pri katerem je izid negotov met

Prikaži več

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, Verzija 1.0

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, Verzija 1.0 TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, 12.11.2018 Verzija 1.0 KAZALO 1 REGISTRACIJA... 3 1.1 Katere podatke potrebujem za registracijo/kreiranje

Prikaži več

8_ICPx

8_ICPx INŠTITUT ZA CELULOZO IN PAPIR PULP AND PAPER INSTITUTE Vpliv dizajna na reciklabilnost papirne embalaže Matej Šuštaršič, Janja Zule GZS, 12.12.2014 Vsebina - Kaj je (eko)dizajn? - Pomen recikliranja papirja

Prikaži več

RAZLIKE MED MSRP 16 IN MRS 17 Izobraževalna hiša Cilj

RAZLIKE MED MSRP 16 IN MRS 17 Izobraževalna hiša Cilj 15. 10. 2018 RAZLIKE MED MSRP 16 IN MRS 17 Izobraževalna hiša Cilj MSRP 16 MRS 17 OPREDELITEV POJMA 'NAJEM' V skladu z MSRP 16 je najem pogodba ali del pogodbe, ki prenaša pravico do uporabe identificiranega

Prikaži več

LaTeX slides

LaTeX slides Statistični modeli - interakcija - Milena Kovač 23. november 2007 Biometrija 2007/08 1 Število živorojenih pujskov Biometrija 2007/08 2 Sestavimo model! Vplivi: leto, farma Odvisna spremenljivka: število

Prikaži več

Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubl

Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubl Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubljani matej.kristan@fe.uni-lj.si Česa smo se naučili

Prikaži več

Microsoft Word - 13-Selekcijski intervju.docx

Microsoft Word - 13-Selekcijski intervju.docx številka 13, 15. dec.2004, ISSN 1581-6451, urednik:radovan Kragelj Pozdravljeni! Danes nadaljujemo z vprašanji, s katerimi vrednotite konkretne lastnosti in sposobnosti posameznega kandidata. V prejšnjih

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev INFORMATIKA Tečaj za višjega gasilca OGZ PTUJ 2017 PRIPRAVIL: ANTON KUHAR BOMBEK, GČ VSEBINA TEORETIČNA PREDAVANJA INFORMACIJSKI SISTEMI SISTEM OSEBNIH GESEL IN HIERARHIJA PRISTOJNOSTI PRAKTIČNE VAJE ISKANJE

Prikaži več

POSLOVNO OKOLJE PODJETJA

POSLOVNO OKOLJE PODJETJA POSLOVNO OKOLJE PODJETJA VSI SMO NA ISTEM ČOLNU. ACTIVE LEARNING CREDO (adapted from Confucius) When I hear it, I forget. When I hear and see it, I remember a little. When I hear, see and ask questions

Prikaži več

Napovedovanje custvene naravnanosti avtorjev v spletnih komentarjih

Napovedovanje custvene naravnanosti avtorjev v spletnih komentarjih Univerza v Ljubljani Fakulteta za računalništvo in informatiko Urška Kosec Napovedovanje čustvene naravnanosti avtorjev v spletnih komentarjih DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM RAČUNALNIŠTVO

Prikaži več

3

3 3.5 Radiologija Stopnja izobrazbe: Strokovni naslov: visoka strokovna izobrazba diplomirana inženirka radiologije, okrajšava dipl.inž.rad. diplomirani inženir radiologije, okrajšava dipl.inž.rad. Študentje

Prikaži več

Microsoft PowerPoint - Mocnik.pptx

Microsoft PowerPoint - Mocnik.pptx MATEMATIČNA PISMENOST IN MATEMATIČNI PROBLEMI Metoda Močnik in Alenka Podbrežnik KAJ NAS JE ZANIMALO? ugotoviti, v kolikšni meri so učenci uspešni pri samostojnem, nevodenemreševanju matematičnih besedilnih,

Prikaži več

INFORMACIJSKO KOMUNIKACIJSKE TEHNOLOGIJE ŠTUDIJ INFORMACIJSKO KOMUNIKACIJSKIH TEHNOLOGIJ

INFORMACIJSKO KOMUNIKACIJSKE TEHNOLOGIJE ŠTUDIJ INFORMACIJSKO KOMUNIKACIJSKIH TEHNOLOGIJ INFORMACIJSKO KOMUNIKACIJSKE TEHNOLOGIJE ŠTUDIJ INFORMACIJSKO KOMUNIKACIJSKIH TEHNOLOGIJ Border Memorial: Frontera de los Muertos, avtor John Craig Freeman, javno umetniško delo obogatene resničnosti,

Prikaži več

Mere kompleksnih mrež (angl. Network Statistics) - Seminarska naloga pri predmetu Izbrana poglavja iz diskretne matematike

Mere kompleksnih mrež   (angl. Network Statistics) - Seminarska naloga pri predmetu Izbrana poglavja iz diskretne matematike Mere kompleksnih mrež (angl. Network Statistics) Seminarska naloga pri predmetu Izbrana poglavja iz diskretne matematike Ajda Pirnat, Julia Cafnik in Živa Mitar Fakulteta za matematiko in fiziko April

Prikaži več

Microsoft Word - Objave citati RIF in patentne prijave za MP.doc

Microsoft Word - Objave citati RIF in patentne prijave za MP.doc Primerjalna analiza gibanja števila objav, citatov, relativnega faktorja vpliva in patentnih prijav pri Evropskem patentnem uradu I. Uvod Število objav in citatov ter relativni faktor vpliva so najbolj

Prikaži več

Microsoft PowerPoint - 14 IntrerspecifiOna razmerja .ppt

Microsoft PowerPoint - 14 IntrerspecifiOna razmerja .ppt IV. POPULACIJSKA EKOLOGIJA 14. Interspecifična razmerja Št.l.: 2006/2007 1 1. INTERSPECIFIČNA RAZMERJA Osebki ene vrste so v odnosih z osebki drugih vrst, pri čemer so lahko ti odnosi: nevtralni (0), pozitivni

Prikaži več

Model IEUBK za napoved vsebnosti svinca v krvi otrok in njegova uporaba na primeru Zgornje Mežiške doline

Model IEUBK za napoved vsebnosti svinca v krvi otrok in njegova uporaba na primeru Zgornje Mežiške doline MODEL IEUBK ZA NAPOVED VSEBNOSTI SVINCA V KRVI OTROK IN NJEGOVA UPORABA NA PRIMERU ZGORNJE MEŢIŠKE DOLINE ZZV Ravne na Koroškem mag. Matej Ivartnik Portorož 25.11.2011 IEUBK model Računalniško orodje,

Prikaži več

AKCIJSKO RAZISKOVANJE INOVACIJSKI PROJEKT ZA ZNANJE IN SPOŠTOVANJE Udeleženci: Učenci 2. c Razredničarka: Irena Železnik, prof. Učni predmet: MAT Učna

AKCIJSKO RAZISKOVANJE INOVACIJSKI PROJEKT ZA ZNANJE IN SPOŠTOVANJE Udeleženci: Učenci 2. c Razredničarka: Irena Železnik, prof. Učni predmet: MAT Učna AKCIJSKO RAZISKOVANJE INOVACIJSKI PROJEKT ZA ZNANJE IN SPOŠTOVANJE Udeleženci: Učenci 2. c Razredničarka: Irena Železnik, prof. Učni predmet: MAT Učna vsebina: Ustno seštevanje in odštevanje do 20 sprehodom

Prikaži več

Microsoft Word - 021_01_13_Pravilnik_o_zakljucnem delu

Microsoft Word - 021_01_13_Pravilnik_o_zakljucnem delu Na podlagi 64. člena Pravil o organizaciji in delovanju Fakultete za humanistične študije, št. 011-01/13 z dne 27. 6. 2013, je Senat Univerze na Primorskem Fakultete za humanistične študije na svoji 4.

Prikaži več

Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij.

Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij. Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij. Protokoli - uvod Protokol je pravilo ali zbirka pravil, ki določajo načine transporta sporočil po računalniškem omrežju

Prikaži več

UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete

UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete ELEKTRONSKI PODATKI, KI JIH ORGANIZACIJA USTVARJA IN POTREBUJE ZA DOSTOP, SE KAŽEJO V RAZLIČNIH

Prikaži več

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x Vaje: Matrike 1 Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N n 1 1 0 1 ; n N 0 2 Pokaži, da je množica x 0 y 0 x y x + z ; x, y, z R y x z x vektorski podprostor v prostoru matrik

Prikaži več

COBISS3/Medknjižnična izposoja

COBISS3/Medknjižnična izposoja 3/Medknjižnična izposoja 2.2 KATALOG Katalog nam omogoča: iskanje gradiva prikaz izbranih bibliografskih zapisov ali pripadajočih podatkov o zalogi iz lokalne baze podatkov v formatu COMARC vpogled v stanje

Prikaži več

Slide 1

Slide 1 Projektno vodenje PREDAVANJE 7 doc. dr. M. Zajc matej.zajc@fe.uni-lj.si Projektno vodenje z orodjem Excel Predstavitev Najbolj razširjeno orodje za delo s preglednicami Dva sklopa funkcij: Obdelava številk

Prikaži več

Microsoft PowerPoint - CIGER - SK 3-15 Izkusnje nadzora distribucijskih transformatorjev s pomo... [Read-Only]

Microsoft PowerPoint - CIGER - SK 3-15 Izkusnje nadzora distribucijskih transformatorjev s pomo... [Read-Only] CIRED ŠK 3-15 IZKUŠNJE NADZORA DISTRIBUCIJSKIH TRANSFORMATORJEV S POMOČJO ŠTEVCEV ELEKTRIČNE ENERGIJE ŽIGA HRIBAR 1, BOŠTJAN FABJAN 2, TIM GRADNIK 3, BOŠTJAN PODHRAŠKI 4 1 Elektro novi sistemi. d.o.o.,

Prikaži več

Na podlagi Zakona o visokem šolstvu, Statuta Univerze v Ljubljani ter Pravil o organizaciji in delovanju Fakultete za družbene vede (FDV) je senat FDV

Na podlagi Zakona o visokem šolstvu, Statuta Univerze v Ljubljani ter Pravil o organizaciji in delovanju Fakultete za družbene vede (FDV) je senat FDV Na podlagi Zakona o visokem šolstvu, Statuta Univerze v Ljubljani ter Pravil o organizaciji in delovanju Fakultete za družbene vede (FDV) je senat FDV na seji 5. 2. 2018 sprejel P R A V I L N I K O PREHODU

Prikaži več

Slide 1

Slide 1 Vsak vektor na premici skozi izhodišče lahko zapišemo kot kjer je v smerni vektor premice in a poljubno število. r a v Vsak vektor na ravnini skozi izhodišče lahko zapišemo kot kjer sta v, v vektorja na

Prikaži več

7. VAJA A. ENAČBA ZBIRALNE LEČE

7. VAJA A. ENAČBA ZBIRALNE LEČE 7. VAJA A. ENAČBA ZBIRALNE LEČE 1. UVOD Enačbo leče dobimo navadno s pomočjo geometrijskih konstrukcij. V našem primeru bomo do te enačbe prišli eksperimentalno, z merjenjem razdalj a in b. 2. NALOGA Izračunaj

Prikaži več

UNIVERZA V LJUBLJANI EKONOMSKA FAKULTETA MAGISTRSKO DELO ANALIZA PRIMERNOSTI UPORABE METOD PODATKOVNEGA RUDARJENJA ZA MODELIRANJE TVEGANJA PRI ZAVAROV

UNIVERZA V LJUBLJANI EKONOMSKA FAKULTETA MAGISTRSKO DELO ANALIZA PRIMERNOSTI UPORABE METOD PODATKOVNEGA RUDARJENJA ZA MODELIRANJE TVEGANJA PRI ZAVAROV UNIVERZA V LJUBLJANI EKONOMSKA FAKULTETA MAGISTRSKO DELO ANALIZA PRIMERNOSTI UPORABE METOD PODATKOVNEGA RUDARJENJA ZA MODELIRANJE TVEGANJA PRI ZAVAROVANJU MOTORNIH VOZIL Ljubljana, september 2014 NATAŠA

Prikaži več

Na podlagi 65. člena Akta o ustanovitvi zasebnega vzgojno izobraževalnega zavoda»waldorfska šola Ljubljana«z dne je po predhodni obravnavi

Na podlagi 65. člena Akta o ustanovitvi zasebnega vzgojno izobraževalnega zavoda»waldorfska šola Ljubljana«z dne je po predhodni obravnavi Na podlagi 65. člena Akta o ustanovitvi zasebnega vzgojno izobraževalnega zavoda»waldorfska šola Ljubljana«z dne 13. 7. 2015 je po predhodni obravnavi in potrditvi besedila na pedagoški konferenci zavoda

Prikaži več

Microsoft Word - SI_vaja1.doc

Microsoft Word - SI_vaja1.doc Univerza v Ljubljani, Zdravstvena fakulteta Sanitarno inženirstvo Statistika Inštitut za biostatistiko in medicinsko informatiko Š.l. 2011/2012, 3. letnik (1. stopnja), Vaja 1 Naloge 1. del: Opisna statistika

Prikaži več

Protege, I.Savnik

Protege, I.Savnik Protégé Iztok Savnik Uporabljeni viri: A Practical Guide To Building OWL Ontologies Using Protege 4 and CO ODE Tools, Edition 1.1 http://protege.stanford.edu/ Protégé OWL ontologije za Semantični splet

Prikaži več