Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
SVEUČILIŠTE U ZAGREBU
FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA
DIPLOMSKI RAD br 1223
PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA BILJNIH VRSTA
Valentino Perović
Zagreb lipanj 2016
Zahvaljuje mentoru doc dr sc Borisu Milašinoviću na povjerenju strpljenju poticaju i savjetima kojima je znatno
olakšao pisanje ovog rada te dr sc Andreji Radović na pomoći i savjetima prilikom implementacije samog sustava
Sadržaj
1 Uvod 1 2 Modeli strojnog učenja 4
21 Strojno učenje 4 22 Maximum Entropy 7 23 Primjeri iz prakse 11
3 Specifikacija zahtjeva 13
31 Korisnički zahtjevi 13 32 Funkcionalni zahtjevi 14 33 Nefunkcionalni zahtjevi 15
4 Arhitektura sustava 17
41 Web servis 17 42 Struktura cjelokupnog sustava 18 43 Tehnologija modela predviđanja 19
44 Odabrana arhitektura sustava 19
5 Statistički i podatkovni modeli 21
51 Podatkovni model 21
511 Prostorni podaci 21 512 Podaci o biljkama 25 513 Proces spajanja podataka 26
52 Statistički model predviđanja nalazišta biljnih vrsta 26
521 Princip rada 26 522 Testiranje modela 28
6 Implementacija sustava 31
61 Implementacija korisničkog sučelja 31 62 Implementacija statističkog modela predviđanja biljnih vrsta 33
63 Implementacija web servisa 35
7 Rezultati 44
71 Korisničko sučelje 44 72 Rezultati predviđanja 46
8 Zaključak 53 Literatura 56 Sažetak 58 Abstract 60
Popis slika
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela 10
Slika 2 Prikaz odabrane arhitekture sustava 20
Slika 3 Prikaz prvog dijela matrice korelacije 24
Slika 4 Prikaz drugog dijela matrice korelacije 24
Slika 5 Grafički prikaz metode testiranja 1198772 29
Slika 6 Grafički prikaz strukture angular radnog okvira 33
Slika 7 Grafički prikaz arhitekture sustava 36
Slika 8 Izgled početnog ekrana korisničkog sučelja 45
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka 45
Slika 10 Izgled sučelja za izbor parametara modela 46
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija 46
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L 47
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L 48
Slika 14 Prikaz vrijednosti parametara određenog područja 48
Slika 15 Prikaz lokacija za Carpinus betulus L 49
Slika 16 Rezultati predviđanja za Carpinus betulus L 49
Slika 17 Prikaz lokacija za Fraxinus ornus L 50
Slika 18 Rezultati predviđanja za Fraxinus ornus L 50
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS 51
Popis tablica
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE 30
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772 30
Tablica 3 Primjer korištenja RNET knjižnice 37
Tablica 4 Isječak učitavanja datoteka 37
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu 40
Tablica 6 Isječak za učenje modela i predikciju 41
Tablica 7 Isječak spremanja datoteke i slanja lokacije 42
1
1 Uvod
Statistički modeli najmoderniji su trend u modernoj primjeni računalne
tehnologije u svrhu znanstvenoistraživačkih ali i poslovnih projekata Primjena
statističkih metoda uz matematičko modeliranje dovelo je do razvoja brojnih
algoritama i modela kojima se omogućuje obrada i analiza velikih količina podataka
Obrada takvih podataka najčešće nije jednostavna stoga je primjena statističkih
modela iznimno važna u modernoj tehnologiji Primjeri korištenja takvih modela
sežu u sve grane moderne tehnologije počevši od komercijalnih primjena u svrhu
istraživanja navika kupaca primjena u svrhu otkrivanja i modeliranja raznih pojava
čije je praćenje u ljudskoj okolini nemoguće kao što su primjerice istraživanja
ljudskih ponašanja i emocija temeljem poruka preko društvenih medija pa sve do
kompleksnih znanstvenih istraživanja u svrhu otkrivanja uzroka bolesti
Pravilno postaviti i u konačnici programski podržati moderne statističke
modele i metode ključan je zadatak prilikom njihove implementacije u svakoj od
mnogobrojnih grana korištenja Neispravno postavljeni matematički modeli mogu
postati izvor dezinformacija jer zbog svoje novonastale popularnosti i mogućnosti
ponove iskoristivosti postoji tendencija stvaranja mnogobrojnih programskih
knjižnica opće namjene koje bez nadzora i testiranja mogu potvrditi netočne
hipoteze ili predstaviti zanimljive rezultate koji u suštini nemaju pokriće u stvarnom
svijetu Takve se nenamjerne dezinformacije kasnije mogu predstavljati kao
činjenice ili koristiti u svrhu ulaganja u neprofitabilne poslovne prilike a u najgorem
slučaju ovakvim metodama mogu se prouzročiti razni medicinski problemi ukoliko
se pogrešnim modelima korištenje neke terapije pokaže ispravnim iako u stvarnosti
može biti štetno
Ipak ispravnom implementacijom statističkih modela predviđanja ostvaruje se
neizmjerna korist u svakoj grani primjene Jedan od primjera korištenja ovakvih
modela u današnje vrijeme sve rašireniji jest u svrhe istraživanja i predviđanja
bioloških čimbenika naše okoline Predviđanje raspodjele ribljih vrsta [1]
predviđanja ili određivanja ugroženih biljnih i životinjskih vrsta predviđanja kretanja
biljnih vrsta i biološke raznolikosti (u daljnjem tekstu bioraznolikost) neki su od
primjera korištenja statističkih modela i metoda u svrhu detaljnog istraživanja
2
prirode Pojam bioraznolikost odnosi se na vrijednost alfa-diverziteta to jest broja
različitih biljnih vrsta u nekom području opisan u radu [2] Takvi tipovi istraživanja
donedavno su predstavljali ogromne prepreke znanstvenicima kako zbog iznimne
vremenske zahtjevnosti istraživanja tako i zbog povećih financijskih sredstava
potrebnih za vršenje takvih istraživanja Korisnost ovakvih istraživanja nije potrebno
napominjati stoga je pojednostavljenje primjene ovakvih metoda uz očuvanje
ispravnosti istih od iznimne važnosti za biologiju kao granu znanosti
Ovisno o grani biologije ključne informacije za istraživanja mogu biti upravo
bioraznolikost i vjerojatnost uspješnosti rasta određene biljke na određenom
teritoriju Podaci o tome gdje bi koja biljka mogla imati uvjete za rast mogu se
iskoristiti u raznim aplikacijama Primjerice u Republici Hrvatskoj svake je godine
ogroman problem širenje ambrozije zbog koje velik broj građana može imati
zdravstvenih problema Zbog male površine države također je važno optimirati
iskoristivost poljoprivrednih površina i zarade od poljoprivrednih djelatnosti što se
također može olakšati korištenjem statističkih modela u svrhu predviđanja
uspješnosti rasta neke sorte na neiskorištenim područjima Bioraznolikost se s
druge strane može iskoristiti u svrhu otkrivanja novih žarišta bioloških istraživanja
gdje bi se istraživačima dao uvid u potencijalnu raznolikost biljnih vrsta na nekom
području čime bi se fokus istraživačkih ekspedicija prebacio sa trenutno popularnih
područja kao što su Nacionalni park Plitvička jezera ili Nacionalni park Sjeverni
Velebit
Svrha ovog rada kao i programske infrastrukture stvorene prilikom njegove
izrade leži upravo u stvaranju verificiranog i znanstveno relevantnog sustava koji bi
korisnicima najčešće znanstvenicima i znanstvenim novacima dao jednostavan i
praktičan skup operacija kojima bi iskoristili stvoreni model predviđanja potencijalnih
nalazišta biljnih vrsta kao i potencijalnog broja biljnih vrsta na cjelokupnom teritoriju
kojeg oni sami odaberu Tehnički gledano ideja je stvoriti programsko rješenje u
obliku web sustava koji bi korisniku omogućio korištenje statističkog modela za
predikciju nalazišta biljnih vrsta i biološke raznolikosti Korištenje samog sustava
nije namijenjeno ljudima koji nemaju potrebno znanje u području primjene s obzirom
da sustav koristi podatke koji nisu dostupni svakome a iste je potrebno i pravilno
pripremiti Stoga je fokus korištenja ovog sustava na ekspertima koji su spremni
3
pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji
bi im inače uzeli mjesece ili godine rada na obradi
Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda
slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji
predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele
Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost
i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi
korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih
zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio
zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i
algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje
modele korištene u sustavu modele podataka te statistički model specificiran za rad
s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon
dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski
detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata
dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih
rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o
tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom
literature korištene za izradu
4
2 Modeli strojnog učenja
21 Strojno učenje
Strojno učenje (engl machine learning) predstavlja podskup područja umjetne
inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija
je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju
Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost
čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog
pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg
utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog
popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne
količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih
rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u
okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u
daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv
čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri
No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio
neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je
Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno
razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli
zaključak
Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog
učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora
(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste
modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to
jest prilikom učenja modela za predikciju model mora imati predanu i referentnu
vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje
filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno
svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili
nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje
podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog
5
modela može se naći u industriju gdje se temeljem podataka o sastavu nekog
proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje
uklonili iz uporabe
Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i
regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest
pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer
jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih
objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i
1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim
brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o
njihovim akademskim uspjesima
U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski
za predviđanje informacije raste li biljka na nekom području te regresijski za
predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s
obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je
ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest
najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje
vrste predviđanja
Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela
strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli
no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije
ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni
ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je
potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska
analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne
modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije
kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i
napredniji modeli strojnog učenja kao što su model najveće regresije (engl
maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora
(engl support vector machines) neuronske mreže (engl artificial neural network)
klasifikacijska i regresijska stabla (engl classification and regression trees)
Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa
6
stručnim kolegama odabran je model najveće entropije kao najbolji model za
implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini
može modelirati samo skupom pozitivnih podataka to jest onih podataka koji
potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali
algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s
obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi
Inicijalni korak većine modela strojnog učenja jest normalizacija atributa
podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost
potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na
predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati
atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća
novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se
radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od
1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije
takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni
rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se
normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće
varijable na samu predikciju
Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora
modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela
testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg
shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom
pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti
određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi
pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost
modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom
slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja
upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model
na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično
ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške
modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom
na broj podataka kojima se model učio Broj podataka kojima se model uči trebao
7
bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj
te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje
takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom
slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka
dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod
klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako
se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice
dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje
upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na
nekom području
S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti
razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u
realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i
potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela
raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti
kod učenja modela Time se osigurava potreban omjer testnih i trening podataka
Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se
dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da
testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost
(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda
validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim
brojem predikcija čime se određuje točnost modela No postoje i neke naprednije
metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata
(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što
se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se
razinom točnosti taj model može koristiti
22 Maximum Entropy
Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj
količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna
definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u
promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije
8
sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost
pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih
podataka Tada se entropija 119867(119883) definira kao
119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)
U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i
povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke
predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model
koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se
tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se
traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću
hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla
Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako
je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate
Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup
riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju
postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može
iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara
realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika
može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se
prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture
Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje
kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti
poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana
ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina
informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i
ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli
iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883
postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon
riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije
119867(119901) = minus sum 119901(119909 119910)119901(119909)
119901(119909119910)119909119910
9
tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz
skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi
119901lowast = 119886119903119892 max119901 isin119862
119867(119901)
U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i
postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na
tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama
lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za
klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom
suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju
modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o
područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom
na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim
živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste
na nekom području
Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija
klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se
vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu
klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o
klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876
vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli
119901 = sum 119901(119870|119878)
119904 isin 119878119902
pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju
vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti
prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav
prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja
modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u
realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može
spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da
se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku
se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje
10
zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za
nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti
85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće
se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag
koji bi zadovoljio korisnika modela
Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i
MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke
klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja
oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da
određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1
Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne
varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom
rada s tekstualnim podacima
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
Zahvaljuje mentoru doc dr sc Borisu Milašinoviću na povjerenju strpljenju poticaju i savjetima kojima je znatno
olakšao pisanje ovog rada te dr sc Andreji Radović na pomoći i savjetima prilikom implementacije samog sustava
Sadržaj
1 Uvod 1 2 Modeli strojnog učenja 4
21 Strojno učenje 4 22 Maximum Entropy 7 23 Primjeri iz prakse 11
3 Specifikacija zahtjeva 13
31 Korisnički zahtjevi 13 32 Funkcionalni zahtjevi 14 33 Nefunkcionalni zahtjevi 15
4 Arhitektura sustava 17
41 Web servis 17 42 Struktura cjelokupnog sustava 18 43 Tehnologija modela predviđanja 19
44 Odabrana arhitektura sustava 19
5 Statistički i podatkovni modeli 21
51 Podatkovni model 21
511 Prostorni podaci 21 512 Podaci o biljkama 25 513 Proces spajanja podataka 26
52 Statistički model predviđanja nalazišta biljnih vrsta 26
521 Princip rada 26 522 Testiranje modela 28
6 Implementacija sustava 31
61 Implementacija korisničkog sučelja 31 62 Implementacija statističkog modela predviđanja biljnih vrsta 33
63 Implementacija web servisa 35
7 Rezultati 44
71 Korisničko sučelje 44 72 Rezultati predviđanja 46
8 Zaključak 53 Literatura 56 Sažetak 58 Abstract 60
Popis slika
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela 10
Slika 2 Prikaz odabrane arhitekture sustava 20
Slika 3 Prikaz prvog dijela matrice korelacije 24
Slika 4 Prikaz drugog dijela matrice korelacije 24
Slika 5 Grafički prikaz metode testiranja 1198772 29
Slika 6 Grafički prikaz strukture angular radnog okvira 33
Slika 7 Grafički prikaz arhitekture sustava 36
Slika 8 Izgled početnog ekrana korisničkog sučelja 45
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka 45
Slika 10 Izgled sučelja za izbor parametara modela 46
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija 46
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L 47
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L 48
Slika 14 Prikaz vrijednosti parametara određenog područja 48
Slika 15 Prikaz lokacija za Carpinus betulus L 49
Slika 16 Rezultati predviđanja za Carpinus betulus L 49
Slika 17 Prikaz lokacija za Fraxinus ornus L 50
Slika 18 Rezultati predviđanja za Fraxinus ornus L 50
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS 51
Popis tablica
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE 30
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772 30
Tablica 3 Primjer korištenja RNET knjižnice 37
Tablica 4 Isječak učitavanja datoteka 37
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu 40
Tablica 6 Isječak za učenje modela i predikciju 41
Tablica 7 Isječak spremanja datoteke i slanja lokacije 42
1
1 Uvod
Statistički modeli najmoderniji su trend u modernoj primjeni računalne
tehnologije u svrhu znanstvenoistraživačkih ali i poslovnih projekata Primjena
statističkih metoda uz matematičko modeliranje dovelo je do razvoja brojnih
algoritama i modela kojima se omogućuje obrada i analiza velikih količina podataka
Obrada takvih podataka najčešće nije jednostavna stoga je primjena statističkih
modela iznimno važna u modernoj tehnologiji Primjeri korištenja takvih modela
sežu u sve grane moderne tehnologije počevši od komercijalnih primjena u svrhu
istraživanja navika kupaca primjena u svrhu otkrivanja i modeliranja raznih pojava
čije je praćenje u ljudskoj okolini nemoguće kao što su primjerice istraživanja
ljudskih ponašanja i emocija temeljem poruka preko društvenih medija pa sve do
kompleksnih znanstvenih istraživanja u svrhu otkrivanja uzroka bolesti
Pravilno postaviti i u konačnici programski podržati moderne statističke
modele i metode ključan je zadatak prilikom njihove implementacije u svakoj od
mnogobrojnih grana korištenja Neispravno postavljeni matematički modeli mogu
postati izvor dezinformacija jer zbog svoje novonastale popularnosti i mogućnosti
ponove iskoristivosti postoji tendencija stvaranja mnogobrojnih programskih
knjižnica opće namjene koje bez nadzora i testiranja mogu potvrditi netočne
hipoteze ili predstaviti zanimljive rezultate koji u suštini nemaju pokriće u stvarnom
svijetu Takve se nenamjerne dezinformacije kasnije mogu predstavljati kao
činjenice ili koristiti u svrhu ulaganja u neprofitabilne poslovne prilike a u najgorem
slučaju ovakvim metodama mogu se prouzročiti razni medicinski problemi ukoliko
se pogrešnim modelima korištenje neke terapije pokaže ispravnim iako u stvarnosti
može biti štetno
Ipak ispravnom implementacijom statističkih modela predviđanja ostvaruje se
neizmjerna korist u svakoj grani primjene Jedan od primjera korištenja ovakvih
modela u današnje vrijeme sve rašireniji jest u svrhe istraživanja i predviđanja
bioloških čimbenika naše okoline Predviđanje raspodjele ribljih vrsta [1]
predviđanja ili određivanja ugroženih biljnih i životinjskih vrsta predviđanja kretanja
biljnih vrsta i biološke raznolikosti (u daljnjem tekstu bioraznolikost) neki su od
primjera korištenja statističkih modela i metoda u svrhu detaljnog istraživanja
2
prirode Pojam bioraznolikost odnosi se na vrijednost alfa-diverziteta to jest broja
različitih biljnih vrsta u nekom području opisan u radu [2] Takvi tipovi istraživanja
donedavno su predstavljali ogromne prepreke znanstvenicima kako zbog iznimne
vremenske zahtjevnosti istraživanja tako i zbog povećih financijskih sredstava
potrebnih za vršenje takvih istraživanja Korisnost ovakvih istraživanja nije potrebno
napominjati stoga je pojednostavljenje primjene ovakvih metoda uz očuvanje
ispravnosti istih od iznimne važnosti za biologiju kao granu znanosti
Ovisno o grani biologije ključne informacije za istraživanja mogu biti upravo
bioraznolikost i vjerojatnost uspješnosti rasta određene biljke na određenom
teritoriju Podaci o tome gdje bi koja biljka mogla imati uvjete za rast mogu se
iskoristiti u raznim aplikacijama Primjerice u Republici Hrvatskoj svake je godine
ogroman problem širenje ambrozije zbog koje velik broj građana može imati
zdravstvenih problema Zbog male površine države također je važno optimirati
iskoristivost poljoprivrednih površina i zarade od poljoprivrednih djelatnosti što se
također može olakšati korištenjem statističkih modela u svrhu predviđanja
uspješnosti rasta neke sorte na neiskorištenim područjima Bioraznolikost se s
druge strane može iskoristiti u svrhu otkrivanja novih žarišta bioloških istraživanja
gdje bi se istraživačima dao uvid u potencijalnu raznolikost biljnih vrsta na nekom
području čime bi se fokus istraživačkih ekspedicija prebacio sa trenutno popularnih
područja kao što su Nacionalni park Plitvička jezera ili Nacionalni park Sjeverni
Velebit
Svrha ovog rada kao i programske infrastrukture stvorene prilikom njegove
izrade leži upravo u stvaranju verificiranog i znanstveno relevantnog sustava koji bi
korisnicima najčešće znanstvenicima i znanstvenim novacima dao jednostavan i
praktičan skup operacija kojima bi iskoristili stvoreni model predviđanja potencijalnih
nalazišta biljnih vrsta kao i potencijalnog broja biljnih vrsta na cjelokupnom teritoriju
kojeg oni sami odaberu Tehnički gledano ideja je stvoriti programsko rješenje u
obliku web sustava koji bi korisniku omogućio korištenje statističkog modela za
predikciju nalazišta biljnih vrsta i biološke raznolikosti Korištenje samog sustava
nije namijenjeno ljudima koji nemaju potrebno znanje u području primjene s obzirom
da sustav koristi podatke koji nisu dostupni svakome a iste je potrebno i pravilno
pripremiti Stoga je fokus korištenja ovog sustava na ekspertima koji su spremni
3
pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji
bi im inače uzeli mjesece ili godine rada na obradi
Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda
slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji
predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele
Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost
i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi
korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih
zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio
zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i
algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje
modele korištene u sustavu modele podataka te statistički model specificiran za rad
s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon
dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski
detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata
dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih
rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o
tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom
literature korištene za izradu
4
2 Modeli strojnog učenja
21 Strojno učenje
Strojno učenje (engl machine learning) predstavlja podskup područja umjetne
inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija
je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju
Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost
čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog
pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg
utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog
popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne
količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih
rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u
okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u
daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv
čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri
No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio
neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je
Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno
razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli
zaključak
Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog
učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora
(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste
modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to
jest prilikom učenja modela za predikciju model mora imati predanu i referentnu
vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje
filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno
svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili
nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje
podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog
5
modela može se naći u industriju gdje se temeljem podataka o sastavu nekog
proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje
uklonili iz uporabe
Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i
regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest
pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer
jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih
objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i
1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim
brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o
njihovim akademskim uspjesima
U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski
za predviđanje informacije raste li biljka na nekom području te regresijski za
predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s
obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je
ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest
najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje
vrste predviđanja
Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela
strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli
no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije
ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni
ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je
potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska
analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne
modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije
kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i
napredniji modeli strojnog učenja kao što su model najveće regresije (engl
maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora
(engl support vector machines) neuronske mreže (engl artificial neural network)
klasifikacijska i regresijska stabla (engl classification and regression trees)
Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa
6
stručnim kolegama odabran je model najveće entropije kao najbolji model za
implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini
može modelirati samo skupom pozitivnih podataka to jest onih podataka koji
potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali
algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s
obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi
Inicijalni korak većine modela strojnog učenja jest normalizacija atributa
podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost
potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na
predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati
atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća
novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se
radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od
1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije
takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni
rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se
normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće
varijable na samu predikciju
Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora
modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela
testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg
shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom
pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti
određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi
pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost
modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom
slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja
upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model
na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično
ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške
modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom
na broj podataka kojima se model učio Broj podataka kojima se model uči trebao
7
bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj
te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje
takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom
slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka
dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod
klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako
se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice
dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje
upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na
nekom području
S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti
razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u
realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i
potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela
raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti
kod učenja modela Time se osigurava potreban omjer testnih i trening podataka
Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se
dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da
testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost
(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda
validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim
brojem predikcija čime se određuje točnost modela No postoje i neke naprednije
metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata
(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što
se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se
razinom točnosti taj model može koristiti
22 Maximum Entropy
Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj
količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna
definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u
promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije
8
sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost
pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih
podataka Tada se entropija 119867(119883) definira kao
119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)
U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i
povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke
predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model
koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se
tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se
traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću
hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla
Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako
je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate
Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup
riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju
postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može
iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara
realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika
može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se
prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture
Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje
kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti
poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana
ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina
informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i
ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli
iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883
postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon
riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije
119867(119901) = minus sum 119901(119909 119910)119901(119909)
119901(119909119910)119909119910
9
tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz
skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi
119901lowast = 119886119903119892 max119901 isin119862
119867(119901)
U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i
postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na
tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama
lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za
klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom
suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju
modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o
područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom
na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim
živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste
na nekom području
Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija
klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se
vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu
klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o
klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876
vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli
119901 = sum 119901(119870|119878)
119904 isin 119878119902
pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju
vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti
prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav
prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja
modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u
realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može
spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da
se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku
se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje
10
zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za
nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti
85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće
se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag
koji bi zadovoljio korisnika modela
Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i
MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke
klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja
oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da
određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1
Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne
varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom
rada s tekstualnim podacima
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
Sadržaj
1 Uvod 1 2 Modeli strojnog učenja 4
21 Strojno učenje 4 22 Maximum Entropy 7 23 Primjeri iz prakse 11
3 Specifikacija zahtjeva 13
31 Korisnički zahtjevi 13 32 Funkcionalni zahtjevi 14 33 Nefunkcionalni zahtjevi 15
4 Arhitektura sustava 17
41 Web servis 17 42 Struktura cjelokupnog sustava 18 43 Tehnologija modela predviđanja 19
44 Odabrana arhitektura sustava 19
5 Statistički i podatkovni modeli 21
51 Podatkovni model 21
511 Prostorni podaci 21 512 Podaci o biljkama 25 513 Proces spajanja podataka 26
52 Statistički model predviđanja nalazišta biljnih vrsta 26
521 Princip rada 26 522 Testiranje modela 28
6 Implementacija sustava 31
61 Implementacija korisničkog sučelja 31 62 Implementacija statističkog modela predviđanja biljnih vrsta 33
63 Implementacija web servisa 35
7 Rezultati 44
71 Korisničko sučelje 44 72 Rezultati predviđanja 46
8 Zaključak 53 Literatura 56 Sažetak 58 Abstract 60
Popis slika
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela 10
Slika 2 Prikaz odabrane arhitekture sustava 20
Slika 3 Prikaz prvog dijela matrice korelacije 24
Slika 4 Prikaz drugog dijela matrice korelacije 24
Slika 5 Grafički prikaz metode testiranja 1198772 29
Slika 6 Grafički prikaz strukture angular radnog okvira 33
Slika 7 Grafički prikaz arhitekture sustava 36
Slika 8 Izgled početnog ekrana korisničkog sučelja 45
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka 45
Slika 10 Izgled sučelja za izbor parametara modela 46
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija 46
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L 47
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L 48
Slika 14 Prikaz vrijednosti parametara određenog područja 48
Slika 15 Prikaz lokacija za Carpinus betulus L 49
Slika 16 Rezultati predviđanja za Carpinus betulus L 49
Slika 17 Prikaz lokacija za Fraxinus ornus L 50
Slika 18 Rezultati predviđanja za Fraxinus ornus L 50
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS 51
Popis tablica
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE 30
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772 30
Tablica 3 Primjer korištenja RNET knjižnice 37
Tablica 4 Isječak učitavanja datoteka 37
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu 40
Tablica 6 Isječak za učenje modela i predikciju 41
Tablica 7 Isječak spremanja datoteke i slanja lokacije 42
1
1 Uvod
Statistički modeli najmoderniji su trend u modernoj primjeni računalne
tehnologije u svrhu znanstvenoistraživačkih ali i poslovnih projekata Primjena
statističkih metoda uz matematičko modeliranje dovelo je do razvoja brojnih
algoritama i modela kojima se omogućuje obrada i analiza velikih količina podataka
Obrada takvih podataka najčešće nije jednostavna stoga je primjena statističkih
modela iznimno važna u modernoj tehnologiji Primjeri korištenja takvih modela
sežu u sve grane moderne tehnologije počevši od komercijalnih primjena u svrhu
istraživanja navika kupaca primjena u svrhu otkrivanja i modeliranja raznih pojava
čije je praćenje u ljudskoj okolini nemoguće kao što su primjerice istraživanja
ljudskih ponašanja i emocija temeljem poruka preko društvenih medija pa sve do
kompleksnih znanstvenih istraživanja u svrhu otkrivanja uzroka bolesti
Pravilno postaviti i u konačnici programski podržati moderne statističke
modele i metode ključan je zadatak prilikom njihove implementacije u svakoj od
mnogobrojnih grana korištenja Neispravno postavljeni matematički modeli mogu
postati izvor dezinformacija jer zbog svoje novonastale popularnosti i mogućnosti
ponove iskoristivosti postoji tendencija stvaranja mnogobrojnih programskih
knjižnica opće namjene koje bez nadzora i testiranja mogu potvrditi netočne
hipoteze ili predstaviti zanimljive rezultate koji u suštini nemaju pokriće u stvarnom
svijetu Takve se nenamjerne dezinformacije kasnije mogu predstavljati kao
činjenice ili koristiti u svrhu ulaganja u neprofitabilne poslovne prilike a u najgorem
slučaju ovakvim metodama mogu se prouzročiti razni medicinski problemi ukoliko
se pogrešnim modelima korištenje neke terapije pokaže ispravnim iako u stvarnosti
može biti štetno
Ipak ispravnom implementacijom statističkih modela predviđanja ostvaruje se
neizmjerna korist u svakoj grani primjene Jedan od primjera korištenja ovakvih
modela u današnje vrijeme sve rašireniji jest u svrhe istraživanja i predviđanja
bioloških čimbenika naše okoline Predviđanje raspodjele ribljih vrsta [1]
predviđanja ili određivanja ugroženih biljnih i životinjskih vrsta predviđanja kretanja
biljnih vrsta i biološke raznolikosti (u daljnjem tekstu bioraznolikost) neki su od
primjera korištenja statističkih modela i metoda u svrhu detaljnog istraživanja
2
prirode Pojam bioraznolikost odnosi se na vrijednost alfa-diverziteta to jest broja
različitih biljnih vrsta u nekom području opisan u radu [2] Takvi tipovi istraživanja
donedavno su predstavljali ogromne prepreke znanstvenicima kako zbog iznimne
vremenske zahtjevnosti istraživanja tako i zbog povećih financijskih sredstava
potrebnih za vršenje takvih istraživanja Korisnost ovakvih istraživanja nije potrebno
napominjati stoga je pojednostavljenje primjene ovakvih metoda uz očuvanje
ispravnosti istih od iznimne važnosti za biologiju kao granu znanosti
Ovisno o grani biologije ključne informacije za istraživanja mogu biti upravo
bioraznolikost i vjerojatnost uspješnosti rasta određene biljke na određenom
teritoriju Podaci o tome gdje bi koja biljka mogla imati uvjete za rast mogu se
iskoristiti u raznim aplikacijama Primjerice u Republici Hrvatskoj svake je godine
ogroman problem širenje ambrozije zbog koje velik broj građana može imati
zdravstvenih problema Zbog male površine države također je važno optimirati
iskoristivost poljoprivrednih površina i zarade od poljoprivrednih djelatnosti što se
također može olakšati korištenjem statističkih modela u svrhu predviđanja
uspješnosti rasta neke sorte na neiskorištenim područjima Bioraznolikost se s
druge strane može iskoristiti u svrhu otkrivanja novih žarišta bioloških istraživanja
gdje bi se istraživačima dao uvid u potencijalnu raznolikost biljnih vrsta na nekom
području čime bi se fokus istraživačkih ekspedicija prebacio sa trenutno popularnih
područja kao što su Nacionalni park Plitvička jezera ili Nacionalni park Sjeverni
Velebit
Svrha ovog rada kao i programske infrastrukture stvorene prilikom njegove
izrade leži upravo u stvaranju verificiranog i znanstveno relevantnog sustava koji bi
korisnicima najčešće znanstvenicima i znanstvenim novacima dao jednostavan i
praktičan skup operacija kojima bi iskoristili stvoreni model predviđanja potencijalnih
nalazišta biljnih vrsta kao i potencijalnog broja biljnih vrsta na cjelokupnom teritoriju
kojeg oni sami odaberu Tehnički gledano ideja je stvoriti programsko rješenje u
obliku web sustava koji bi korisniku omogućio korištenje statističkog modela za
predikciju nalazišta biljnih vrsta i biološke raznolikosti Korištenje samog sustava
nije namijenjeno ljudima koji nemaju potrebno znanje u području primjene s obzirom
da sustav koristi podatke koji nisu dostupni svakome a iste je potrebno i pravilno
pripremiti Stoga je fokus korištenja ovog sustava na ekspertima koji su spremni
3
pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji
bi im inače uzeli mjesece ili godine rada na obradi
Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda
slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji
predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele
Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost
i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi
korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih
zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio
zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i
algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje
modele korištene u sustavu modele podataka te statistički model specificiran za rad
s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon
dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski
detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata
dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih
rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o
tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom
literature korištene za izradu
4
2 Modeli strojnog učenja
21 Strojno učenje
Strojno učenje (engl machine learning) predstavlja podskup područja umjetne
inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija
je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju
Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost
čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog
pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg
utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog
popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne
količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih
rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u
okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u
daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv
čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri
No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio
neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je
Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno
razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli
zaključak
Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog
učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora
(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste
modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to
jest prilikom učenja modela za predikciju model mora imati predanu i referentnu
vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje
filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno
svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili
nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje
podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog
5
modela može se naći u industriju gdje se temeljem podataka o sastavu nekog
proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje
uklonili iz uporabe
Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i
regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest
pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer
jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih
objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i
1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim
brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o
njihovim akademskim uspjesima
U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski
za predviđanje informacije raste li biljka na nekom području te regresijski za
predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s
obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je
ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest
najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje
vrste predviđanja
Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela
strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli
no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije
ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni
ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je
potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska
analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne
modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije
kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i
napredniji modeli strojnog učenja kao što su model najveće regresije (engl
maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora
(engl support vector machines) neuronske mreže (engl artificial neural network)
klasifikacijska i regresijska stabla (engl classification and regression trees)
Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa
6
stručnim kolegama odabran je model najveće entropije kao najbolji model za
implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini
može modelirati samo skupom pozitivnih podataka to jest onih podataka koji
potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali
algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s
obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi
Inicijalni korak većine modela strojnog učenja jest normalizacija atributa
podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost
potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na
predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati
atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća
novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se
radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od
1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije
takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni
rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se
normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće
varijable na samu predikciju
Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora
modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela
testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg
shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom
pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti
određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi
pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost
modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom
slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja
upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model
na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično
ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške
modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom
na broj podataka kojima se model učio Broj podataka kojima se model uči trebao
7
bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj
te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje
takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom
slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka
dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod
klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako
se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice
dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje
upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na
nekom području
S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti
razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u
realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i
potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela
raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti
kod učenja modela Time se osigurava potreban omjer testnih i trening podataka
Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se
dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da
testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost
(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda
validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim
brojem predikcija čime se određuje točnost modela No postoje i neke naprednije
metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata
(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što
se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se
razinom točnosti taj model može koristiti
22 Maximum Entropy
Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj
količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna
definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u
promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije
8
sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost
pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih
podataka Tada se entropija 119867(119883) definira kao
119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)
U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i
povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke
predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model
koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se
tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se
traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću
hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla
Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako
je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate
Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup
riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju
postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može
iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara
realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika
može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se
prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture
Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje
kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti
poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana
ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina
informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i
ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli
iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883
postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon
riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije
119867(119901) = minus sum 119901(119909 119910)119901(119909)
119901(119909119910)119909119910
9
tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz
skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi
119901lowast = 119886119903119892 max119901 isin119862
119867(119901)
U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i
postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na
tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama
lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za
klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom
suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju
modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o
područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom
na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim
živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste
na nekom području
Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija
klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se
vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu
klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o
klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876
vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli
119901 = sum 119901(119870|119878)
119904 isin 119878119902
pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju
vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti
prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav
prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja
modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u
realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može
spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da
se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku
se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje
10
zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za
nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti
85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće
se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag
koji bi zadovoljio korisnika modela
Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i
MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke
klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja
oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da
određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1
Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne
varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom
rada s tekstualnim podacima
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
Popis slika
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela 10
Slika 2 Prikaz odabrane arhitekture sustava 20
Slika 3 Prikaz prvog dijela matrice korelacije 24
Slika 4 Prikaz drugog dijela matrice korelacije 24
Slika 5 Grafički prikaz metode testiranja 1198772 29
Slika 6 Grafički prikaz strukture angular radnog okvira 33
Slika 7 Grafički prikaz arhitekture sustava 36
Slika 8 Izgled početnog ekrana korisničkog sučelja 45
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka 45
Slika 10 Izgled sučelja za izbor parametara modela 46
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija 46
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L 47
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L 48
Slika 14 Prikaz vrijednosti parametara određenog područja 48
Slika 15 Prikaz lokacija za Carpinus betulus L 49
Slika 16 Rezultati predviđanja za Carpinus betulus L 49
Slika 17 Prikaz lokacija za Fraxinus ornus L 50
Slika 18 Rezultati predviđanja za Fraxinus ornus L 50
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS 51
Popis tablica
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE 30
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772 30
Tablica 3 Primjer korištenja RNET knjižnice 37
Tablica 4 Isječak učitavanja datoteka 37
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu 40
Tablica 6 Isječak za učenje modela i predikciju 41
Tablica 7 Isječak spremanja datoteke i slanja lokacije 42
1
1 Uvod
Statistički modeli najmoderniji su trend u modernoj primjeni računalne
tehnologije u svrhu znanstvenoistraživačkih ali i poslovnih projekata Primjena
statističkih metoda uz matematičko modeliranje dovelo je do razvoja brojnih
algoritama i modela kojima se omogućuje obrada i analiza velikih količina podataka
Obrada takvih podataka najčešće nije jednostavna stoga je primjena statističkih
modela iznimno važna u modernoj tehnologiji Primjeri korištenja takvih modela
sežu u sve grane moderne tehnologije počevši od komercijalnih primjena u svrhu
istraživanja navika kupaca primjena u svrhu otkrivanja i modeliranja raznih pojava
čije je praćenje u ljudskoj okolini nemoguće kao što su primjerice istraživanja
ljudskih ponašanja i emocija temeljem poruka preko društvenih medija pa sve do
kompleksnih znanstvenih istraživanja u svrhu otkrivanja uzroka bolesti
Pravilno postaviti i u konačnici programski podržati moderne statističke
modele i metode ključan je zadatak prilikom njihove implementacije u svakoj od
mnogobrojnih grana korištenja Neispravno postavljeni matematički modeli mogu
postati izvor dezinformacija jer zbog svoje novonastale popularnosti i mogućnosti
ponove iskoristivosti postoji tendencija stvaranja mnogobrojnih programskih
knjižnica opće namjene koje bez nadzora i testiranja mogu potvrditi netočne
hipoteze ili predstaviti zanimljive rezultate koji u suštini nemaju pokriće u stvarnom
svijetu Takve se nenamjerne dezinformacije kasnije mogu predstavljati kao
činjenice ili koristiti u svrhu ulaganja u neprofitabilne poslovne prilike a u najgorem
slučaju ovakvim metodama mogu se prouzročiti razni medicinski problemi ukoliko
se pogrešnim modelima korištenje neke terapije pokaže ispravnim iako u stvarnosti
može biti štetno
Ipak ispravnom implementacijom statističkih modela predviđanja ostvaruje se
neizmjerna korist u svakoj grani primjene Jedan od primjera korištenja ovakvih
modela u današnje vrijeme sve rašireniji jest u svrhe istraživanja i predviđanja
bioloških čimbenika naše okoline Predviđanje raspodjele ribljih vrsta [1]
predviđanja ili određivanja ugroženih biljnih i životinjskih vrsta predviđanja kretanja
biljnih vrsta i biološke raznolikosti (u daljnjem tekstu bioraznolikost) neki su od
primjera korištenja statističkih modela i metoda u svrhu detaljnog istraživanja
2
prirode Pojam bioraznolikost odnosi se na vrijednost alfa-diverziteta to jest broja
različitih biljnih vrsta u nekom području opisan u radu [2] Takvi tipovi istraživanja
donedavno su predstavljali ogromne prepreke znanstvenicima kako zbog iznimne
vremenske zahtjevnosti istraživanja tako i zbog povećih financijskih sredstava
potrebnih za vršenje takvih istraživanja Korisnost ovakvih istraživanja nije potrebno
napominjati stoga je pojednostavljenje primjene ovakvih metoda uz očuvanje
ispravnosti istih od iznimne važnosti za biologiju kao granu znanosti
Ovisno o grani biologije ključne informacije za istraživanja mogu biti upravo
bioraznolikost i vjerojatnost uspješnosti rasta određene biljke na određenom
teritoriju Podaci o tome gdje bi koja biljka mogla imati uvjete za rast mogu se
iskoristiti u raznim aplikacijama Primjerice u Republici Hrvatskoj svake je godine
ogroman problem širenje ambrozije zbog koje velik broj građana može imati
zdravstvenih problema Zbog male površine države također je važno optimirati
iskoristivost poljoprivrednih površina i zarade od poljoprivrednih djelatnosti što se
također može olakšati korištenjem statističkih modela u svrhu predviđanja
uspješnosti rasta neke sorte na neiskorištenim područjima Bioraznolikost se s
druge strane može iskoristiti u svrhu otkrivanja novih žarišta bioloških istraživanja
gdje bi se istraživačima dao uvid u potencijalnu raznolikost biljnih vrsta na nekom
području čime bi se fokus istraživačkih ekspedicija prebacio sa trenutno popularnih
područja kao što su Nacionalni park Plitvička jezera ili Nacionalni park Sjeverni
Velebit
Svrha ovog rada kao i programske infrastrukture stvorene prilikom njegove
izrade leži upravo u stvaranju verificiranog i znanstveno relevantnog sustava koji bi
korisnicima najčešće znanstvenicima i znanstvenim novacima dao jednostavan i
praktičan skup operacija kojima bi iskoristili stvoreni model predviđanja potencijalnih
nalazišta biljnih vrsta kao i potencijalnog broja biljnih vrsta na cjelokupnom teritoriju
kojeg oni sami odaberu Tehnički gledano ideja je stvoriti programsko rješenje u
obliku web sustava koji bi korisniku omogućio korištenje statističkog modela za
predikciju nalazišta biljnih vrsta i biološke raznolikosti Korištenje samog sustava
nije namijenjeno ljudima koji nemaju potrebno znanje u području primjene s obzirom
da sustav koristi podatke koji nisu dostupni svakome a iste je potrebno i pravilno
pripremiti Stoga je fokus korištenja ovog sustava na ekspertima koji su spremni
3
pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji
bi im inače uzeli mjesece ili godine rada na obradi
Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda
slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji
predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele
Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost
i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi
korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih
zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio
zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i
algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje
modele korištene u sustavu modele podataka te statistički model specificiran za rad
s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon
dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski
detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata
dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih
rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o
tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom
literature korištene za izradu
4
2 Modeli strojnog učenja
21 Strojno učenje
Strojno učenje (engl machine learning) predstavlja podskup područja umjetne
inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija
je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju
Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost
čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog
pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg
utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog
popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne
količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih
rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u
okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u
daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv
čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri
No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio
neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je
Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno
razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli
zaključak
Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog
učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora
(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste
modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to
jest prilikom učenja modela za predikciju model mora imati predanu i referentnu
vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje
filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno
svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili
nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje
podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog
5
modela može se naći u industriju gdje se temeljem podataka o sastavu nekog
proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje
uklonili iz uporabe
Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i
regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest
pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer
jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih
objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i
1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim
brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o
njihovim akademskim uspjesima
U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski
za predviđanje informacije raste li biljka na nekom području te regresijski za
predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s
obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je
ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest
najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje
vrste predviđanja
Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela
strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli
no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije
ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni
ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je
potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska
analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne
modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije
kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i
napredniji modeli strojnog učenja kao što su model najveće regresije (engl
maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora
(engl support vector machines) neuronske mreže (engl artificial neural network)
klasifikacijska i regresijska stabla (engl classification and regression trees)
Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa
6
stručnim kolegama odabran je model najveće entropije kao najbolji model za
implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini
može modelirati samo skupom pozitivnih podataka to jest onih podataka koji
potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali
algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s
obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi
Inicijalni korak većine modela strojnog učenja jest normalizacija atributa
podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost
potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na
predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati
atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća
novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se
radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od
1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije
takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni
rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se
normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće
varijable na samu predikciju
Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora
modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela
testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg
shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom
pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti
određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi
pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost
modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom
slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja
upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model
na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično
ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške
modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom
na broj podataka kojima se model učio Broj podataka kojima se model uči trebao
7
bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj
te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje
takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom
slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka
dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod
klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako
se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice
dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje
upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na
nekom području
S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti
razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u
realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i
potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela
raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti
kod učenja modela Time se osigurava potreban omjer testnih i trening podataka
Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se
dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da
testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost
(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda
validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim
brojem predikcija čime se određuje točnost modela No postoje i neke naprednije
metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata
(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što
se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se
razinom točnosti taj model može koristiti
22 Maximum Entropy
Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj
količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna
definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u
promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije
8
sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost
pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih
podataka Tada se entropija 119867(119883) definira kao
119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)
U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i
povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke
predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model
koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se
tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se
traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću
hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla
Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako
je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate
Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup
riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju
postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može
iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara
realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika
može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se
prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture
Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje
kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti
poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana
ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina
informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i
ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli
iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883
postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon
riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije
119867(119901) = minus sum 119901(119909 119910)119901(119909)
119901(119909119910)119909119910
9
tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz
skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi
119901lowast = 119886119903119892 max119901 isin119862
119867(119901)
U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i
postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na
tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama
lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za
klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom
suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju
modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o
područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom
na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim
živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste
na nekom području
Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija
klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se
vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu
klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o
klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876
vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli
119901 = sum 119901(119870|119878)
119904 isin 119878119902
pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju
vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti
prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav
prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja
modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u
realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može
spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da
se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku
se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje
10
zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za
nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti
85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće
se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag
koji bi zadovoljio korisnika modela
Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i
MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke
klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja
oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da
određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1
Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne
varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom
rada s tekstualnim podacima
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
Popis tablica
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE 30
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772 30
Tablica 3 Primjer korištenja RNET knjižnice 37
Tablica 4 Isječak učitavanja datoteka 37
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu 40
Tablica 6 Isječak za učenje modela i predikciju 41
Tablica 7 Isječak spremanja datoteke i slanja lokacije 42
1
1 Uvod
Statistički modeli najmoderniji su trend u modernoj primjeni računalne
tehnologije u svrhu znanstvenoistraživačkih ali i poslovnih projekata Primjena
statističkih metoda uz matematičko modeliranje dovelo je do razvoja brojnih
algoritama i modela kojima se omogućuje obrada i analiza velikih količina podataka
Obrada takvih podataka najčešće nije jednostavna stoga je primjena statističkih
modela iznimno važna u modernoj tehnologiji Primjeri korištenja takvih modela
sežu u sve grane moderne tehnologije počevši od komercijalnih primjena u svrhu
istraživanja navika kupaca primjena u svrhu otkrivanja i modeliranja raznih pojava
čije je praćenje u ljudskoj okolini nemoguće kao što su primjerice istraživanja
ljudskih ponašanja i emocija temeljem poruka preko društvenih medija pa sve do
kompleksnih znanstvenih istraživanja u svrhu otkrivanja uzroka bolesti
Pravilno postaviti i u konačnici programski podržati moderne statističke
modele i metode ključan je zadatak prilikom njihove implementacije u svakoj od
mnogobrojnih grana korištenja Neispravno postavljeni matematički modeli mogu
postati izvor dezinformacija jer zbog svoje novonastale popularnosti i mogućnosti
ponove iskoristivosti postoji tendencija stvaranja mnogobrojnih programskih
knjižnica opće namjene koje bez nadzora i testiranja mogu potvrditi netočne
hipoteze ili predstaviti zanimljive rezultate koji u suštini nemaju pokriće u stvarnom
svijetu Takve se nenamjerne dezinformacije kasnije mogu predstavljati kao
činjenice ili koristiti u svrhu ulaganja u neprofitabilne poslovne prilike a u najgorem
slučaju ovakvim metodama mogu se prouzročiti razni medicinski problemi ukoliko
se pogrešnim modelima korištenje neke terapije pokaže ispravnim iako u stvarnosti
može biti štetno
Ipak ispravnom implementacijom statističkih modela predviđanja ostvaruje se
neizmjerna korist u svakoj grani primjene Jedan od primjera korištenja ovakvih
modela u današnje vrijeme sve rašireniji jest u svrhe istraživanja i predviđanja
bioloških čimbenika naše okoline Predviđanje raspodjele ribljih vrsta [1]
predviđanja ili određivanja ugroženih biljnih i životinjskih vrsta predviđanja kretanja
biljnih vrsta i biološke raznolikosti (u daljnjem tekstu bioraznolikost) neki su od
primjera korištenja statističkih modela i metoda u svrhu detaljnog istraživanja
2
prirode Pojam bioraznolikost odnosi se na vrijednost alfa-diverziteta to jest broja
različitih biljnih vrsta u nekom području opisan u radu [2] Takvi tipovi istraživanja
donedavno su predstavljali ogromne prepreke znanstvenicima kako zbog iznimne
vremenske zahtjevnosti istraživanja tako i zbog povećih financijskih sredstava
potrebnih za vršenje takvih istraživanja Korisnost ovakvih istraživanja nije potrebno
napominjati stoga je pojednostavljenje primjene ovakvih metoda uz očuvanje
ispravnosti istih od iznimne važnosti za biologiju kao granu znanosti
Ovisno o grani biologije ključne informacije za istraživanja mogu biti upravo
bioraznolikost i vjerojatnost uspješnosti rasta određene biljke na određenom
teritoriju Podaci o tome gdje bi koja biljka mogla imati uvjete za rast mogu se
iskoristiti u raznim aplikacijama Primjerice u Republici Hrvatskoj svake je godine
ogroman problem širenje ambrozije zbog koje velik broj građana može imati
zdravstvenih problema Zbog male površine države također je važno optimirati
iskoristivost poljoprivrednih površina i zarade od poljoprivrednih djelatnosti što se
također može olakšati korištenjem statističkih modela u svrhu predviđanja
uspješnosti rasta neke sorte na neiskorištenim područjima Bioraznolikost se s
druge strane može iskoristiti u svrhu otkrivanja novih žarišta bioloških istraživanja
gdje bi se istraživačima dao uvid u potencijalnu raznolikost biljnih vrsta na nekom
području čime bi se fokus istraživačkih ekspedicija prebacio sa trenutno popularnih
područja kao što su Nacionalni park Plitvička jezera ili Nacionalni park Sjeverni
Velebit
Svrha ovog rada kao i programske infrastrukture stvorene prilikom njegove
izrade leži upravo u stvaranju verificiranog i znanstveno relevantnog sustava koji bi
korisnicima najčešće znanstvenicima i znanstvenim novacima dao jednostavan i
praktičan skup operacija kojima bi iskoristili stvoreni model predviđanja potencijalnih
nalazišta biljnih vrsta kao i potencijalnog broja biljnih vrsta na cjelokupnom teritoriju
kojeg oni sami odaberu Tehnički gledano ideja je stvoriti programsko rješenje u
obliku web sustava koji bi korisniku omogućio korištenje statističkog modela za
predikciju nalazišta biljnih vrsta i biološke raznolikosti Korištenje samog sustava
nije namijenjeno ljudima koji nemaju potrebno znanje u području primjene s obzirom
da sustav koristi podatke koji nisu dostupni svakome a iste je potrebno i pravilno
pripremiti Stoga je fokus korištenja ovog sustava na ekspertima koji su spremni
3
pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji
bi im inače uzeli mjesece ili godine rada na obradi
Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda
slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji
predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele
Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost
i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi
korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih
zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio
zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i
algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje
modele korištene u sustavu modele podataka te statistički model specificiran za rad
s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon
dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski
detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata
dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih
rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o
tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom
literature korištene za izradu
4
2 Modeli strojnog učenja
21 Strojno učenje
Strojno učenje (engl machine learning) predstavlja podskup područja umjetne
inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija
je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju
Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost
čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog
pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg
utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog
popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne
količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih
rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u
okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u
daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv
čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri
No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio
neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je
Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno
razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli
zaključak
Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog
učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora
(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste
modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to
jest prilikom učenja modela za predikciju model mora imati predanu i referentnu
vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje
filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno
svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili
nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje
podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog
5
modela može se naći u industriju gdje se temeljem podataka o sastavu nekog
proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje
uklonili iz uporabe
Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i
regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest
pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer
jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih
objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i
1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim
brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o
njihovim akademskim uspjesima
U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski
za predviđanje informacije raste li biljka na nekom području te regresijski za
predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s
obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je
ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest
najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje
vrste predviđanja
Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela
strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli
no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije
ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni
ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je
potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska
analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne
modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije
kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i
napredniji modeli strojnog učenja kao što su model najveće regresije (engl
maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora
(engl support vector machines) neuronske mreže (engl artificial neural network)
klasifikacijska i regresijska stabla (engl classification and regression trees)
Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa
6
stručnim kolegama odabran je model najveće entropije kao najbolji model za
implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini
može modelirati samo skupom pozitivnih podataka to jest onih podataka koji
potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali
algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s
obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi
Inicijalni korak većine modela strojnog učenja jest normalizacija atributa
podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost
potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na
predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati
atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća
novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se
radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od
1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije
takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni
rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se
normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće
varijable na samu predikciju
Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora
modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela
testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg
shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom
pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti
određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi
pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost
modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom
slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja
upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model
na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično
ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške
modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom
na broj podataka kojima se model učio Broj podataka kojima se model uči trebao
7
bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj
te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje
takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom
slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka
dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod
klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako
se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice
dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje
upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na
nekom području
S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti
razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u
realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i
potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela
raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti
kod učenja modela Time se osigurava potreban omjer testnih i trening podataka
Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se
dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da
testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost
(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda
validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim
brojem predikcija čime se određuje točnost modela No postoje i neke naprednije
metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata
(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što
se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se
razinom točnosti taj model može koristiti
22 Maximum Entropy
Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj
količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna
definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u
promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije
8
sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost
pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih
podataka Tada se entropija 119867(119883) definira kao
119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)
U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i
povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke
predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model
koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se
tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se
traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću
hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla
Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako
je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate
Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup
riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju
postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može
iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara
realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika
može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se
prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture
Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje
kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti
poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana
ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina
informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i
ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli
iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883
postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon
riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije
119867(119901) = minus sum 119901(119909 119910)119901(119909)
119901(119909119910)119909119910
9
tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz
skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi
119901lowast = 119886119903119892 max119901 isin119862
119867(119901)
U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i
postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na
tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama
lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za
klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom
suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju
modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o
područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom
na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim
živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste
na nekom području
Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija
klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se
vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu
klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o
klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876
vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli
119901 = sum 119901(119870|119878)
119904 isin 119878119902
pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju
vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti
prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav
prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja
modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u
realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može
spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da
se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku
se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje
10
zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za
nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti
85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće
se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag
koji bi zadovoljio korisnika modela
Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i
MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke
klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja
oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da
određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1
Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne
varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom
rada s tekstualnim podacima
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
1
1 Uvod
Statistički modeli najmoderniji su trend u modernoj primjeni računalne
tehnologije u svrhu znanstvenoistraživačkih ali i poslovnih projekata Primjena
statističkih metoda uz matematičko modeliranje dovelo je do razvoja brojnih
algoritama i modela kojima se omogućuje obrada i analiza velikih količina podataka
Obrada takvih podataka najčešće nije jednostavna stoga je primjena statističkih
modela iznimno važna u modernoj tehnologiji Primjeri korištenja takvih modela
sežu u sve grane moderne tehnologije počevši od komercijalnih primjena u svrhu
istraživanja navika kupaca primjena u svrhu otkrivanja i modeliranja raznih pojava
čije je praćenje u ljudskoj okolini nemoguće kao što su primjerice istraživanja
ljudskih ponašanja i emocija temeljem poruka preko društvenih medija pa sve do
kompleksnih znanstvenih istraživanja u svrhu otkrivanja uzroka bolesti
Pravilno postaviti i u konačnici programski podržati moderne statističke
modele i metode ključan je zadatak prilikom njihove implementacije u svakoj od
mnogobrojnih grana korištenja Neispravno postavljeni matematički modeli mogu
postati izvor dezinformacija jer zbog svoje novonastale popularnosti i mogućnosti
ponove iskoristivosti postoji tendencija stvaranja mnogobrojnih programskih
knjižnica opće namjene koje bez nadzora i testiranja mogu potvrditi netočne
hipoteze ili predstaviti zanimljive rezultate koji u suštini nemaju pokriće u stvarnom
svijetu Takve se nenamjerne dezinformacije kasnije mogu predstavljati kao
činjenice ili koristiti u svrhu ulaganja u neprofitabilne poslovne prilike a u najgorem
slučaju ovakvim metodama mogu se prouzročiti razni medicinski problemi ukoliko
se pogrešnim modelima korištenje neke terapije pokaže ispravnim iako u stvarnosti
može biti štetno
Ipak ispravnom implementacijom statističkih modela predviđanja ostvaruje se
neizmjerna korist u svakoj grani primjene Jedan od primjera korištenja ovakvih
modela u današnje vrijeme sve rašireniji jest u svrhe istraživanja i predviđanja
bioloških čimbenika naše okoline Predviđanje raspodjele ribljih vrsta [1]
predviđanja ili određivanja ugroženih biljnih i životinjskih vrsta predviđanja kretanja
biljnih vrsta i biološke raznolikosti (u daljnjem tekstu bioraznolikost) neki su od
primjera korištenja statističkih modela i metoda u svrhu detaljnog istraživanja
2
prirode Pojam bioraznolikost odnosi se na vrijednost alfa-diverziteta to jest broja
različitih biljnih vrsta u nekom području opisan u radu [2] Takvi tipovi istraživanja
donedavno su predstavljali ogromne prepreke znanstvenicima kako zbog iznimne
vremenske zahtjevnosti istraživanja tako i zbog povećih financijskih sredstava
potrebnih za vršenje takvih istraživanja Korisnost ovakvih istraživanja nije potrebno
napominjati stoga je pojednostavljenje primjene ovakvih metoda uz očuvanje
ispravnosti istih od iznimne važnosti za biologiju kao granu znanosti
Ovisno o grani biologije ključne informacije za istraživanja mogu biti upravo
bioraznolikost i vjerojatnost uspješnosti rasta određene biljke na određenom
teritoriju Podaci o tome gdje bi koja biljka mogla imati uvjete za rast mogu se
iskoristiti u raznim aplikacijama Primjerice u Republici Hrvatskoj svake je godine
ogroman problem širenje ambrozije zbog koje velik broj građana može imati
zdravstvenih problema Zbog male površine države također je važno optimirati
iskoristivost poljoprivrednih površina i zarade od poljoprivrednih djelatnosti što se
također može olakšati korištenjem statističkih modela u svrhu predviđanja
uspješnosti rasta neke sorte na neiskorištenim područjima Bioraznolikost se s
druge strane može iskoristiti u svrhu otkrivanja novih žarišta bioloških istraživanja
gdje bi se istraživačima dao uvid u potencijalnu raznolikost biljnih vrsta na nekom
području čime bi se fokus istraživačkih ekspedicija prebacio sa trenutno popularnih
područja kao što su Nacionalni park Plitvička jezera ili Nacionalni park Sjeverni
Velebit
Svrha ovog rada kao i programske infrastrukture stvorene prilikom njegove
izrade leži upravo u stvaranju verificiranog i znanstveno relevantnog sustava koji bi
korisnicima najčešće znanstvenicima i znanstvenim novacima dao jednostavan i
praktičan skup operacija kojima bi iskoristili stvoreni model predviđanja potencijalnih
nalazišta biljnih vrsta kao i potencijalnog broja biljnih vrsta na cjelokupnom teritoriju
kojeg oni sami odaberu Tehnički gledano ideja je stvoriti programsko rješenje u
obliku web sustava koji bi korisniku omogućio korištenje statističkog modela za
predikciju nalazišta biljnih vrsta i biološke raznolikosti Korištenje samog sustava
nije namijenjeno ljudima koji nemaju potrebno znanje u području primjene s obzirom
da sustav koristi podatke koji nisu dostupni svakome a iste je potrebno i pravilno
pripremiti Stoga je fokus korištenja ovog sustava na ekspertima koji su spremni
3
pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji
bi im inače uzeli mjesece ili godine rada na obradi
Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda
slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji
predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele
Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost
i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi
korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih
zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio
zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i
algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje
modele korištene u sustavu modele podataka te statistički model specificiran za rad
s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon
dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski
detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata
dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih
rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o
tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom
literature korištene za izradu
4
2 Modeli strojnog učenja
21 Strojno učenje
Strojno učenje (engl machine learning) predstavlja podskup područja umjetne
inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija
je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju
Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost
čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog
pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg
utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog
popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne
količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih
rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u
okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u
daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv
čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri
No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio
neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je
Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno
razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli
zaključak
Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog
učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora
(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste
modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to
jest prilikom učenja modela za predikciju model mora imati predanu i referentnu
vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje
filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno
svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili
nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje
podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog
5
modela može se naći u industriju gdje se temeljem podataka o sastavu nekog
proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje
uklonili iz uporabe
Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i
regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest
pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer
jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih
objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i
1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim
brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o
njihovim akademskim uspjesima
U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski
za predviđanje informacije raste li biljka na nekom području te regresijski za
predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s
obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je
ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest
najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje
vrste predviđanja
Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela
strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli
no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije
ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni
ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je
potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska
analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne
modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije
kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i
napredniji modeli strojnog učenja kao što su model najveće regresije (engl
maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora
(engl support vector machines) neuronske mreže (engl artificial neural network)
klasifikacijska i regresijska stabla (engl classification and regression trees)
Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa
6
stručnim kolegama odabran je model najveće entropije kao najbolji model za
implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini
može modelirati samo skupom pozitivnih podataka to jest onih podataka koji
potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali
algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s
obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi
Inicijalni korak većine modela strojnog učenja jest normalizacija atributa
podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost
potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na
predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati
atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća
novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se
radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od
1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije
takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni
rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se
normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće
varijable na samu predikciju
Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora
modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela
testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg
shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom
pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti
određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi
pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost
modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom
slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja
upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model
na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično
ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške
modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom
na broj podataka kojima se model učio Broj podataka kojima se model uči trebao
7
bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj
te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje
takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom
slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka
dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod
klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako
se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice
dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje
upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na
nekom području
S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti
razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u
realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i
potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela
raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti
kod učenja modela Time se osigurava potreban omjer testnih i trening podataka
Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se
dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da
testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost
(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda
validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim
brojem predikcija čime se određuje točnost modela No postoje i neke naprednije
metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata
(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što
se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se
razinom točnosti taj model može koristiti
22 Maximum Entropy
Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj
količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna
definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u
promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije
8
sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost
pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih
podataka Tada se entropija 119867(119883) definira kao
119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)
U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i
povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke
predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model
koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se
tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se
traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću
hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla
Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako
je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate
Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup
riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju
postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može
iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara
realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika
može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se
prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture
Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje
kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti
poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana
ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina
informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i
ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli
iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883
postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon
riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije
119867(119901) = minus sum 119901(119909 119910)119901(119909)
119901(119909119910)119909119910
9
tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz
skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi
119901lowast = 119886119903119892 max119901 isin119862
119867(119901)
U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i
postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na
tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama
lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za
klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom
suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju
modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o
područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom
na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim
živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste
na nekom području
Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija
klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se
vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu
klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o
klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876
vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli
119901 = sum 119901(119870|119878)
119904 isin 119878119902
pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju
vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti
prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav
prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja
modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u
realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može
spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da
se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku
se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje
10
zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za
nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti
85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće
se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag
koji bi zadovoljio korisnika modela
Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i
MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke
klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja
oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da
određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1
Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne
varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom
rada s tekstualnim podacima
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
2
prirode Pojam bioraznolikost odnosi se na vrijednost alfa-diverziteta to jest broja
različitih biljnih vrsta u nekom području opisan u radu [2] Takvi tipovi istraživanja
donedavno su predstavljali ogromne prepreke znanstvenicima kako zbog iznimne
vremenske zahtjevnosti istraživanja tako i zbog povećih financijskih sredstava
potrebnih za vršenje takvih istraživanja Korisnost ovakvih istraživanja nije potrebno
napominjati stoga je pojednostavljenje primjene ovakvih metoda uz očuvanje
ispravnosti istih od iznimne važnosti za biologiju kao granu znanosti
Ovisno o grani biologije ključne informacije za istraživanja mogu biti upravo
bioraznolikost i vjerojatnost uspješnosti rasta određene biljke na određenom
teritoriju Podaci o tome gdje bi koja biljka mogla imati uvjete za rast mogu se
iskoristiti u raznim aplikacijama Primjerice u Republici Hrvatskoj svake je godine
ogroman problem širenje ambrozije zbog koje velik broj građana može imati
zdravstvenih problema Zbog male površine države također je važno optimirati
iskoristivost poljoprivrednih površina i zarade od poljoprivrednih djelatnosti što se
također može olakšati korištenjem statističkih modela u svrhu predviđanja
uspješnosti rasta neke sorte na neiskorištenim područjima Bioraznolikost se s
druge strane može iskoristiti u svrhu otkrivanja novih žarišta bioloških istraživanja
gdje bi se istraživačima dao uvid u potencijalnu raznolikost biljnih vrsta na nekom
području čime bi se fokus istraživačkih ekspedicija prebacio sa trenutno popularnih
područja kao što su Nacionalni park Plitvička jezera ili Nacionalni park Sjeverni
Velebit
Svrha ovog rada kao i programske infrastrukture stvorene prilikom njegove
izrade leži upravo u stvaranju verificiranog i znanstveno relevantnog sustava koji bi
korisnicima najčešće znanstvenicima i znanstvenim novacima dao jednostavan i
praktičan skup operacija kojima bi iskoristili stvoreni model predviđanja potencijalnih
nalazišta biljnih vrsta kao i potencijalnog broja biljnih vrsta na cjelokupnom teritoriju
kojeg oni sami odaberu Tehnički gledano ideja je stvoriti programsko rješenje u
obliku web sustava koji bi korisniku omogućio korištenje statističkog modela za
predikciju nalazišta biljnih vrsta i biološke raznolikosti Korištenje samog sustava
nije namijenjeno ljudima koji nemaju potrebno znanje u području primjene s obzirom
da sustav koristi podatke koji nisu dostupni svakome a iste je potrebno i pravilno
pripremiti Stoga je fokus korištenja ovog sustava na ekspertima koji su spremni
3
pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji
bi im inače uzeli mjesece ili godine rada na obradi
Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda
slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji
predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele
Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost
i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi
korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih
zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio
zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i
algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje
modele korištene u sustavu modele podataka te statistički model specificiran za rad
s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon
dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski
detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata
dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih
rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o
tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom
literature korištene za izradu
4
2 Modeli strojnog učenja
21 Strojno učenje
Strojno učenje (engl machine learning) predstavlja podskup područja umjetne
inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija
je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju
Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost
čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog
pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg
utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog
popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne
količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih
rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u
okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u
daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv
čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri
No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio
neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je
Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno
razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli
zaključak
Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog
učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora
(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste
modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to
jest prilikom učenja modela za predikciju model mora imati predanu i referentnu
vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje
filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno
svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili
nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje
podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog
5
modela može se naći u industriju gdje se temeljem podataka o sastavu nekog
proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje
uklonili iz uporabe
Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i
regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest
pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer
jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih
objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i
1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim
brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o
njihovim akademskim uspjesima
U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski
za predviđanje informacije raste li biljka na nekom području te regresijski za
predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s
obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je
ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest
najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje
vrste predviđanja
Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela
strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli
no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije
ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni
ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je
potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska
analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne
modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije
kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i
napredniji modeli strojnog učenja kao što su model najveće regresije (engl
maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora
(engl support vector machines) neuronske mreže (engl artificial neural network)
klasifikacijska i regresijska stabla (engl classification and regression trees)
Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa
6
stručnim kolegama odabran je model najveće entropije kao najbolji model za
implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini
može modelirati samo skupom pozitivnih podataka to jest onih podataka koji
potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali
algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s
obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi
Inicijalni korak većine modela strojnog učenja jest normalizacija atributa
podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost
potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na
predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati
atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća
novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se
radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od
1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije
takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni
rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se
normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće
varijable na samu predikciju
Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora
modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela
testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg
shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom
pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti
određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi
pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost
modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom
slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja
upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model
na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično
ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške
modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom
na broj podataka kojima se model učio Broj podataka kojima se model uči trebao
7
bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj
te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje
takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom
slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka
dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod
klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako
se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice
dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje
upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na
nekom području
S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti
razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u
realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i
potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela
raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti
kod učenja modela Time se osigurava potreban omjer testnih i trening podataka
Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se
dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da
testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost
(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda
validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim
brojem predikcija čime se određuje točnost modela No postoje i neke naprednije
metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata
(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što
se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se
razinom točnosti taj model može koristiti
22 Maximum Entropy
Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj
količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna
definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u
promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije
8
sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost
pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih
podataka Tada se entropija 119867(119883) definira kao
119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)
U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i
povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke
predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model
koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se
tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se
traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću
hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla
Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako
je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate
Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup
riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju
postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može
iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara
realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika
može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se
prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture
Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje
kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti
poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana
ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina
informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i
ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli
iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883
postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon
riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije
119867(119901) = minus sum 119901(119909 119910)119901(119909)
119901(119909119910)119909119910
9
tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz
skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi
119901lowast = 119886119903119892 max119901 isin119862
119867(119901)
U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i
postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na
tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama
lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za
klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom
suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju
modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o
područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom
na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim
živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste
na nekom području
Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija
klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se
vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu
klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o
klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876
vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli
119901 = sum 119901(119870|119878)
119904 isin 119878119902
pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju
vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti
prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav
prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja
modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u
realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može
spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da
se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku
se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje
10
zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za
nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti
85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće
se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag
koji bi zadovoljio korisnika modela
Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i
MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke
klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja
oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da
određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1
Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne
varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom
rada s tekstualnim podacima
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
3
pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji
bi im inače uzeli mjesece ili godine rada na obradi
Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda
slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji
predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele
Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost
i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi
korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih
zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio
zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i
algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje
modele korištene u sustavu modele podataka te statistički model specificiran za rad
s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon
dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski
detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata
dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih
rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o
tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom
literature korištene za izradu
4
2 Modeli strojnog učenja
21 Strojno učenje
Strojno učenje (engl machine learning) predstavlja podskup područja umjetne
inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija
je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju
Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost
čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog
pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg
utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog
popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne
količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih
rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u
okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u
daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv
čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri
No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio
neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je
Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno
razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli
zaključak
Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog
učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora
(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste
modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to
jest prilikom učenja modela za predikciju model mora imati predanu i referentnu
vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje
filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno
svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili
nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje
podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog
5
modela može se naći u industriju gdje se temeljem podataka o sastavu nekog
proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje
uklonili iz uporabe
Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i
regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest
pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer
jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih
objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i
1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim
brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o
njihovim akademskim uspjesima
U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski
za predviđanje informacije raste li biljka na nekom području te regresijski za
predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s
obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je
ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest
najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje
vrste predviđanja
Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela
strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli
no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije
ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni
ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je
potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska
analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne
modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije
kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i
napredniji modeli strojnog učenja kao što su model najveće regresije (engl
maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora
(engl support vector machines) neuronske mreže (engl artificial neural network)
klasifikacijska i regresijska stabla (engl classification and regression trees)
Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa
6
stručnim kolegama odabran je model najveće entropije kao najbolji model za
implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini
može modelirati samo skupom pozitivnih podataka to jest onih podataka koji
potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali
algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s
obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi
Inicijalni korak većine modela strojnog učenja jest normalizacija atributa
podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost
potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na
predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati
atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća
novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se
radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od
1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije
takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni
rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se
normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće
varijable na samu predikciju
Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora
modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela
testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg
shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom
pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti
određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi
pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost
modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom
slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja
upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model
na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično
ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške
modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom
na broj podataka kojima se model učio Broj podataka kojima se model uči trebao
7
bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj
te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje
takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom
slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka
dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod
klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako
se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice
dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje
upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na
nekom području
S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti
razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u
realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i
potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela
raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti
kod učenja modela Time se osigurava potreban omjer testnih i trening podataka
Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se
dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da
testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost
(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda
validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim
brojem predikcija čime se određuje točnost modela No postoje i neke naprednije
metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata
(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što
se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se
razinom točnosti taj model može koristiti
22 Maximum Entropy
Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj
količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna
definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u
promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije
8
sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost
pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih
podataka Tada se entropija 119867(119883) definira kao
119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)
U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i
povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke
predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model
koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se
tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se
traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću
hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla
Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako
je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate
Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup
riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju
postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može
iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara
realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika
može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se
prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture
Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje
kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti
poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana
ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina
informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i
ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli
iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883
postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon
riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije
119867(119901) = minus sum 119901(119909 119910)119901(119909)
119901(119909119910)119909119910
9
tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz
skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi
119901lowast = 119886119903119892 max119901 isin119862
119867(119901)
U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i
postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na
tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama
lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za
klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom
suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju
modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o
područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom
na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim
živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste
na nekom području
Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija
klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se
vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu
klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o
klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876
vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli
119901 = sum 119901(119870|119878)
119904 isin 119878119902
pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju
vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti
prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav
prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja
modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u
realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može
spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da
se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku
se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje
10
zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za
nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti
85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće
se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag
koji bi zadovoljio korisnika modela
Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i
MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke
klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja
oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da
određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1
Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne
varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom
rada s tekstualnim podacima
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
4
2 Modeli strojnog učenja
21 Strojno učenje
Strojno učenje (engl machine learning) predstavlja podskup područja umjetne
inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija
je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju
Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost
čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog
pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg
utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog
popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne
količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih
rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u
okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u
daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv
čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri
No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio
neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je
Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno
razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli
zaključak
Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog
učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora
(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste
modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to
jest prilikom učenja modela za predikciju model mora imati predanu i referentnu
vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje
filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno
svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili
nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje
podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog
5
modela može se naći u industriju gdje se temeljem podataka o sastavu nekog
proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje
uklonili iz uporabe
Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i
regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest
pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer
jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih
objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i
1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim
brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o
njihovim akademskim uspjesima
U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski
za predviđanje informacije raste li biljka na nekom području te regresijski za
predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s
obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je
ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest
najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje
vrste predviđanja
Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela
strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli
no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije
ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni
ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je
potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska
analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne
modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije
kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i
napredniji modeli strojnog učenja kao što su model najveće regresije (engl
maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora
(engl support vector machines) neuronske mreže (engl artificial neural network)
klasifikacijska i regresijska stabla (engl classification and regression trees)
Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa
6
stručnim kolegama odabran je model najveće entropije kao najbolji model za
implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini
može modelirati samo skupom pozitivnih podataka to jest onih podataka koji
potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali
algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s
obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi
Inicijalni korak većine modela strojnog učenja jest normalizacija atributa
podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost
potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na
predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati
atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća
novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se
radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od
1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije
takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni
rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se
normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće
varijable na samu predikciju
Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora
modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela
testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg
shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom
pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti
određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi
pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost
modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom
slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja
upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model
na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično
ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške
modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom
na broj podataka kojima se model učio Broj podataka kojima se model uči trebao
7
bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj
te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje
takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom
slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka
dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod
klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako
se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice
dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje
upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na
nekom području
S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti
razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u
realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i
potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela
raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti
kod učenja modela Time se osigurava potreban omjer testnih i trening podataka
Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se
dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da
testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost
(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda
validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim
brojem predikcija čime se određuje točnost modela No postoje i neke naprednije
metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata
(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što
se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se
razinom točnosti taj model može koristiti
22 Maximum Entropy
Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj
količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna
definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u
promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije
8
sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost
pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih
podataka Tada se entropija 119867(119883) definira kao
119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)
U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i
povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke
predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model
koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se
tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se
traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću
hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla
Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako
je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate
Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup
riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju
postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može
iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara
realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika
može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se
prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture
Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje
kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti
poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana
ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina
informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i
ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli
iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883
postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon
riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije
119867(119901) = minus sum 119901(119909 119910)119901(119909)
119901(119909119910)119909119910
9
tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz
skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi
119901lowast = 119886119903119892 max119901 isin119862
119867(119901)
U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i
postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na
tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama
lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za
klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom
suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju
modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o
područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom
na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim
živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste
na nekom području
Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija
klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se
vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu
klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o
klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876
vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli
119901 = sum 119901(119870|119878)
119904 isin 119878119902
pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju
vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti
prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav
prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja
modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u
realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može
spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da
se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku
se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje
10
zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za
nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti
85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće
se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag
koji bi zadovoljio korisnika modela
Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i
MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke
klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja
oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da
određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1
Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne
varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom
rada s tekstualnim podacima
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
5
modela može se naći u industriju gdje se temeljem podataka o sastavu nekog
proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje
uklonili iz uporabe
Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i
regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest
pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer
jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih
objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i
1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim
brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o
njihovim akademskim uspjesima
U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski
za predviđanje informacije raste li biljka na nekom području te regresijski za
predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s
obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je
ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest
najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje
vrste predviđanja
Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela
strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli
no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije
ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni
ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je
potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska
analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne
modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije
kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i
napredniji modeli strojnog učenja kao što su model najveće regresije (engl
maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora
(engl support vector machines) neuronske mreže (engl artificial neural network)
klasifikacijska i regresijska stabla (engl classification and regression trees)
Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa
6
stručnim kolegama odabran je model najveće entropije kao najbolji model za
implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini
može modelirati samo skupom pozitivnih podataka to jest onih podataka koji
potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali
algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s
obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi
Inicijalni korak većine modela strojnog učenja jest normalizacija atributa
podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost
potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na
predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati
atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća
novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se
radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od
1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije
takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni
rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se
normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće
varijable na samu predikciju
Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora
modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela
testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg
shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom
pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti
određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi
pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost
modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom
slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja
upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model
na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično
ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške
modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom
na broj podataka kojima se model učio Broj podataka kojima se model uči trebao
7
bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj
te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje
takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom
slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka
dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod
klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako
se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice
dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje
upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na
nekom području
S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti
razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u
realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i
potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela
raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti
kod učenja modela Time se osigurava potreban omjer testnih i trening podataka
Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se
dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da
testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost
(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda
validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim
brojem predikcija čime se određuje točnost modela No postoje i neke naprednije
metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata
(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što
se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se
razinom točnosti taj model može koristiti
22 Maximum Entropy
Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj
količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna
definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u
promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije
8
sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost
pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih
podataka Tada se entropija 119867(119883) definira kao
119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)
U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i
povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke
predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model
koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se
tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se
traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću
hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla
Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako
je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate
Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup
riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju
postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može
iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara
realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika
može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se
prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture
Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje
kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti
poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana
ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina
informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i
ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli
iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883
postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon
riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije
119867(119901) = minus sum 119901(119909 119910)119901(119909)
119901(119909119910)119909119910
9
tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz
skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi
119901lowast = 119886119903119892 max119901 isin119862
119867(119901)
U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i
postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na
tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama
lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za
klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom
suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju
modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o
područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom
na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim
živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste
na nekom području
Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija
klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se
vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu
klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o
klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876
vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli
119901 = sum 119901(119870|119878)
119904 isin 119878119902
pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju
vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti
prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav
prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja
modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u
realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može
spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da
se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku
se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje
10
zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za
nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti
85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće
se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag
koji bi zadovoljio korisnika modela
Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i
MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke
klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja
oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da
određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1
Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne
varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom
rada s tekstualnim podacima
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
6
stručnim kolegama odabran je model najveće entropije kao najbolji model za
implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini
može modelirati samo skupom pozitivnih podataka to jest onih podataka koji
potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali
algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s
obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi
Inicijalni korak većine modela strojnog učenja jest normalizacija atributa
podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost
potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na
predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati
atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća
novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se
radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od
1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije
takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni
rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se
normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće
varijable na samu predikciju
Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora
modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela
testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg
shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom
pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti
određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi
pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost
modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom
slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja
upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model
na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično
ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške
modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom
na broj podataka kojima se model učio Broj podataka kojima se model uči trebao
7
bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj
te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje
takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom
slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka
dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod
klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako
se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice
dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje
upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na
nekom području
S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti
razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u
realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i
potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela
raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti
kod učenja modela Time se osigurava potreban omjer testnih i trening podataka
Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se
dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da
testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost
(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda
validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim
brojem predikcija čime se određuje točnost modela No postoje i neke naprednije
metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata
(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što
se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se
razinom točnosti taj model može koristiti
22 Maximum Entropy
Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj
količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna
definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u
promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije
8
sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost
pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih
podataka Tada se entropija 119867(119883) definira kao
119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)
U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i
povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke
predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model
koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se
tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se
traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću
hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla
Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako
je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate
Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup
riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju
postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može
iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara
realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika
može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se
prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture
Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje
kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti
poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana
ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina
informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i
ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli
iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883
postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon
riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije
119867(119901) = minus sum 119901(119909 119910)119901(119909)
119901(119909119910)119909119910
9
tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz
skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi
119901lowast = 119886119903119892 max119901 isin119862
119867(119901)
U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i
postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na
tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama
lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za
klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom
suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju
modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o
područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom
na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim
živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste
na nekom području
Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija
klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se
vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu
klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o
klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876
vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli
119901 = sum 119901(119870|119878)
119904 isin 119878119902
pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju
vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti
prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav
prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja
modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u
realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može
spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da
se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku
se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje
10
zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za
nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti
85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće
se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag
koji bi zadovoljio korisnika modela
Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i
MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke
klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja
oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da
određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1
Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne
varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom
rada s tekstualnim podacima
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
7
bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj
te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje
takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom
slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka
dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod
klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako
se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice
dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje
upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na
nekom području
S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti
razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u
realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i
potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela
raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti
kod učenja modela Time se osigurava potreban omjer testnih i trening podataka
Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se
dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da
testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost
(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda
validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim
brojem predikcija čime se određuje točnost modela No postoje i neke naprednije
metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata
(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što
se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se
razinom točnosti taj model može koristiti
22 Maximum Entropy
Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj
količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna
definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u
promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije
8
sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost
pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih
podataka Tada se entropija 119867(119883) definira kao
119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)
U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i
povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke
predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model
koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se
tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se
traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću
hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla
Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako
je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate
Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup
riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju
postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može
iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara
realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika
može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se
prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture
Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje
kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti
poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana
ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina
informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i
ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli
iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883
postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon
riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije
119867(119901) = minus sum 119901(119909 119910)119901(119909)
119901(119909119910)119909119910
9
tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz
skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi
119901lowast = 119886119903119892 max119901 isin119862
119867(119901)
U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i
postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na
tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama
lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za
klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom
suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju
modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o
područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom
na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim
živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste
na nekom području
Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija
klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se
vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu
klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o
klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876
vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli
119901 = sum 119901(119870|119878)
119904 isin 119878119902
pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju
vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti
prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav
prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja
modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u
realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može
spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da
se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku
se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje
10
zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za
nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti
85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće
se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag
koji bi zadovoljio korisnika modela
Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i
MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke
klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja
oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da
određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1
Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne
varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom
rada s tekstualnim podacima
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
8
sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost
pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih
podataka Tada se entropija 119867(119883) definira kao
119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)
U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i
povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke
predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model
koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se
tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se
traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću
hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla
Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako
je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate
Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup
riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju
postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može
iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara
realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika
može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se
prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture
Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje
kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti
poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana
ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina
informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i
ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli
iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883
postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon
riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije
119867(119901) = minus sum 119901(119909 119910)119901(119909)
119901(119909119910)119909119910
9
tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz
skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi
119901lowast = 119886119903119892 max119901 isin119862
119867(119901)
U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i
postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na
tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama
lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za
klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom
suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju
modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o
područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom
na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim
živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste
na nekom području
Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija
klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se
vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu
klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o
klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876
vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli
119901 = sum 119901(119870|119878)
119904 isin 119878119902
pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju
vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti
prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav
prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja
modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u
realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može
spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da
se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku
se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje
10
zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za
nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti
85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće
se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag
koji bi zadovoljio korisnika modela
Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i
MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke
klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja
oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da
određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1
Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne
varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom
rada s tekstualnim podacima
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
9
tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz
skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi
119901lowast = 119886119903119892 max119901 isin119862
119867(119901)
U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i
postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na
tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama
lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za
klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom
suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju
modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o
područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom
na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim
živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste
na nekom području
Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija
klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se
vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu
klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o
klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876
vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli
119901 = sum 119901(119870|119878)
119904 isin 119878119902
pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju
vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti
prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav
prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja
modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u
realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može
spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da
se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku
se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje
10
zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za
nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti
85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće
se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag
koji bi zadovoljio korisnika modela
Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i
MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke
klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja
oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da
određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1
Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne
varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom
rada s tekstualnim podacima
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
10
zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za
nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti
85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće
se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag
koji bi zadovoljio korisnika modela
Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i
MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke
klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja
oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da
određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1
Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne
varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom
rada s tekstualnim podacima
Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
11
23 Primjeri iz prakse
Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava
za preporuke na internetskim stranicama preko modela za predviđanje vremenske
prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica
temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela
strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati
na problematiku takvih domena obrađenu u nekim radovima
Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u
kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog
objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno
dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim
modelom strojnog učenja (Google-Profile of Mood States) određuje javno
raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o
raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je
model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja
u prethodna tri dana
U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu
predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-
a neuronskih mreža linearne regresije i metode potpornih vektora (engl support
vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s
obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo
specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih
modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno
kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT
najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio
odluku da se upravo taj model koristi u samom sustavu
[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku
pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje
se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih
dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o
toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle
smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
12
takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke
raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude
se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja
biološke raznolikosti na neistraženim područjima prije samog učenja modela
Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se
korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom
podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti
prosječan broj bioloških vrsta čak i malim brojem postojećih podataka
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
13
3 Specifikacija zahtjeva
U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su
podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju
zadatke koje korisnik može obavljati prilikom interakcije sa sustavom
Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te
također reakcije sustava ako dođe do određene pogreške Popisivanjem
funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u
ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i
kako ih obraditi
Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni
zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava
ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća
koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku
implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da
se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili
arhitekture na koju se ta operacija oslanja
31 Korisnički zahtjevi
Korisnik mora moći spremati vlastite prostorne podatke na sustavu
Sustav mora omogućiti primanje i spremanje prostornih podataka koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći spremati vlastite podatke o biljkama na sustav
Sustav mora omogućiti primanje i spremanje podataka o biljkama koje
korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja
nalazišta biljnih vrsta
Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom
učenja modela
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
14
Sustav mora omogućiti odabir između prostornih podataka koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom
učenja modela
Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik
spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja
modela za predviđanje nalazišta biljnih vrsta
Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija
Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o
biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi
predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta
Korisnik treba moći pokrenuti proces predikcije
Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i
biodiverziteta temeljenog na odabranim parametrima predikcije
Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije
Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s
obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom
obliku
Korisnik mora moći preuzeti dobivene rezultate
Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta
biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili
koristiti u drugim sustavima prilikom istraživanja
32 Funkcionalni zahtjevi
Sustav mora podržati prihvat i postojanost prostornih podataka korisnika
Obrada primljenih prostornih podataka i njihova postojanost u stalnoj
memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom
obliku te ih je potrebno otpakirati nakon preuzimanja
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
15
Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika
Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad
ovakvim podacima nisu potrebne dodatne transformacije nakon primanja
Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti
biljke navedene u njima
Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom
predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor
biljnih vrsta navedenih u njima
Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama
predikcija
Prilikom odabira predikcije sustav na temelju primljenih parametara mora
pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija
modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome
koju je metodu predviđanja korisnik odabrao
Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko
korištenje i preuzimanje
S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom
formatu sustav mora omogućiti dohvat rezultata za svaku od akcija
33 Nefunkcionalni zahtjevi
Zahtjevi za performansama sustava
- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav
namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u
realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi
na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije
moguća u krećem vremenskom periodu radi ograničenja tehnologijom
Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je
odbiti
Zahtjevi za sigurnošću podataka
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
16
- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom
korisniku i nalaziti se u zasebnoj korisničkoj datoteci
Formati podataka
- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]
(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf
- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu
strukturu primanje takvih podataka omogućeno je jedino ako su podaci
zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani
format pakiranja je zip
- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)
formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici
sustava kako bi bili pripremljeni za daljnju obradu
Ograničenja korištenja
Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez
potrebe za prijavom na sustav
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
17
4 Arhitektura sustava
Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za
olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim
vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično
rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje
takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje
sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i
instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan
zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je
potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti
izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za
potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih
datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no
detaljnije razmatranje ovog faktora biti će u poglavlju 7
41 Web servis
Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim
same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske
skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste
uređaja odabrana je REST (engl representational state transfer) struktura web
servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo
zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je
ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla
je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje
su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne
aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su
slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja
Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se
postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i
danas moguće naći raznovrsne implementacije web sustava no REST servisi su
nešto čemu treba težiti
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
18
Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se
povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te
potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform
resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče
na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun
dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol
omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom
primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno
može odrediti željena operacija nad modelom Neke od prednosti REST-a su
- direktna implementacija klijent-server arhitekture čime se logika
prikaza podataka u potpunosti odvaja od logike za obradom podataka
- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a
(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)
- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka
akcija nad modelom ima vlastiti URI može se svaku od tih adresa
spremiti i zapamtiti ukoliko se često koristi
- slojevitost sustava koja se ostvaruje direktno implementacijom REST-
a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje
modela i sustava naknadno može ostvariti korištenjem baza podataka
S obzirom na brojne prednosti dobivene implementacijom REST servisa takav
način rada pokazuje se iznimno prikladnim za arhitekturu sustava
42 Struktura cjelokupnog sustava
Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl
Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni
obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se
ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC
arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne
jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne
ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka
već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
19
Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja
i modela podataka on komunicira s modelom prilikom traženja podataka te je u
konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi
Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe
upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju
u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca
kao arhitekturne vodilje sustava
43 Tehnologija modela predviđanja
Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor
tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva
i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih
važnih faktora za odluku
- velik broj podataka za učenje
- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi
imati i po nekoliko atributa)
- potreba za brzom obradom brojnih visoko dimenzionalnih podataka
- mogućnost rada sa nepotpuno definiranim podacima
- potreba za kompleksnim matematičkim operacijama nad podacima
S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim
prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa
nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti
nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako
postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na
brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično
razviti model u nekom od takvih jezika
44 Odabrana arhitektura sustava
U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje
se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna
struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
20
prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih
komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen
po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost
podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za
ostvarenje modela predviđanja korištene su tehnologije statističkih programskih
jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena
arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka
skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne
komponente sustava te se potiče modularizacija sustava
Slika 2 Prikaz odabrane arhitekture sustava
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
21
5 Statistički i podatkovni modeli
Podatkovni model predstavlja podatke nužne za rad sustava i modela
predviđanja Opis podataka značenje atributa te način dobivanja podataka
najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra
se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad
modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji
način se informacije modela podataka koriste kod učenja i predviđanja te što točno
daju rezultati predviđanja
51 Podatkovni model
Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U
poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih
datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci
o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513
objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim
biljkama
511 Prostorni podaci
Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim
geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile
formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast
5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za
učenje modela dolaze iz dva neovisna izvora
- izvor bio-klimatskih faktora za određeno područje prema bioclim
modelu definiranom na [13] (BIOCLIM)
- izvor podataka digitalnog modela terena (DEM) temeljen na podacima
sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)
BIOCLIM model se sastoji od sljedećih faktora
- prosječna godišnja temperatura (BIO1)
- prosječan raspon najviše i najniže temperature (BIO2)
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
22
- izotermija (BIO3)
- temperaturna sezonalnost (BIO4)
- najviša temperatura najtoplijeg mjeseca (BIO5)
- najniža temperatura najhladnijeg mjeseca (BIO6)
- godišnji raspon temperatura (BIO7)
- srednja temperatura najvlažnijeg kvartala (BIO8)
- srednja temperatura najsušeg kvartala (BIO9)
- srednja temperatura najtoplijeg kvartala (BIO10)
- srednja temperatura najhladnijeg kvartala (BIO11)
- godišnja količina padalina (BIO12)
- količina padalina najvlažnijeg mjeseca (BIO13)
- količina padalina najsušeg mjeseca (BIO14)
- sezonska količina padalina (BIO15)
- količina padalina najvlažnijeg kvartala (BIO16)
- količina padalina najsušeg kvartala (BIO17)
- količina padalina najtoplijeg kvartala (BIO18)
- količina padalina najhladnijeg kvartala (BIO19)
Model podataka DEM sadrži sljedeće atribute
- nadmorska visina (NAD_M_)
- ekspozicija (EKSPOZICIJ)
- nagib terena (NAGIB_TERE)
Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više
odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora
ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe
donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u
predviđanju direktno a to su koordinate područja koje se koriste za spajanje
podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti
nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne
vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja
potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne
mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
23
neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna
vrijednost nekog atributa određenog područja
S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa
postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u
korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim
drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje
takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom
slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen
s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti
do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su
tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između
dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost
trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno
izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se
on može primijeniti i kada povezanost varijabli nije linearna Formula za
Spearmanov ρ koeficijent korelacije glasi
119903119904 = 1 minus 6 sum119889119894
2
119899 (1198992 minus 1)
119899
119894=1
Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih
podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par
varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva
dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među
nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i
izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute
nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi
BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17
BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički
programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički
programski jezik R koja je dala jednaki rezultat
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
24
Slika 3 Prikaz prvog dijela matrice korelacije
Slika 4 Prikaz drugog dijela matrice korelacije
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
25
512 Podaci o biljkama
Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše
zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i
zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke
Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta
prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s
obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam
prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti
atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka
postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta
kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u
radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da
istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im
u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog
parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara
određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka
nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi
područja potpuno neistraženih to jest navedenih u bazi što je također opisano u
[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme
istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može
iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz
datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi
potrebni u podacima o biljkama su
- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate
u bazi podataka FCD
- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka
FCD iako u slučaju da korisnik sam unosi podatke atribut može
predstavljati i lokalizirano ime biljke
- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u
kojem je koordinata nađena u referentnom sustavu HTRS96
- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem
je koordinata nađena u referentnom sustavu HTRS96
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
26
513 Proces spajanja podataka
S obzirom da su podaci o području odvojeni od podataka o biljkama
nađenima na nekom području postoji problem dodjeljivanja podataka o području
biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se
postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu
naprednim metodama presjeka geografskih objekata pomoću funkcije over
knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba
koordinata centroida dobivenih u podacima o biljkama u geografske objekte
funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije
skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog
skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se
za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se
ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u
poglavlju 52
52 Statistički model predviđanja nalazišta biljnih vrsta
U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja
dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na
koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi
su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521
obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri
predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela
i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za
korišteni model Konkretna implementacija modela pomoću programskih alata
opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za
implementaciju te navode razlozi njihovog korištenja
521 Princip rada
Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se
koriste znače te kako se oni mogu iskoristiti za predviđanje modela
Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
27
području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području
prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska
degenija ne raste u močvarnom području S obzirom na podatke koji se koriste
logično je da se predikcija nalaženja biljke na nekom području može ostvariti
korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature
ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib
terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje
iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta
biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne
vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su
predani Generira se model za određenu biljku te se predaju podaci o zemljištima
svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine
(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se
vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci
o tome raste li biljka na određenom području povezuju sa datotekom iz koje su
pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske
atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest
vjerojatnost rasta biljke na tom području
Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog
naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži
u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom
skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog
predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko
biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost
kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke
o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno
dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na
određenom području S obzirom na atribute područja i broj različitih vrsta na njima
radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim
u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o
biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira
nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut
o biološkoj raznolikosti
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
28
522 Testiranje modela
Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi
njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške
metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata
(engl root-mean-sqaure-error) bazira se na korištenju standardne metode
najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U
metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno
nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata
predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom
skupu podataka s obzirom da je testni skup zapravo podskup svih podataka
Formula po kojoj se postotak greške računa je
119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899
119894=1
119899
gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija
na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat
ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja
modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim
skupom podataka
Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE
zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele
koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi
1198772 = 1 minus 119878119870119866
119880119878119870=
sum ( 119910119894 minus 119891119894 )2119899
119894=1
sum ( 119910119894 minus )2119899119894=1
gdje su
119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899
119894=1
119899
119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2
119899
119894=1
= sum 119910119894
119899119894=1
119899
Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak
točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
29
brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja
budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar
model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne
vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički
prikaz ove metode može se vidjeti na slika 5
Slika 5 Grafički prikaz metode testiranja 1198772
Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste
modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako
da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje
Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao
model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o
nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan
bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za
koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci
o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi
krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički
nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
30
3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus
betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati
testiranja regresije
Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE
Hrast kitnjak Ambrozija Običan grab
RMSE 9282 9381 9296
Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772
Bidiverzitet
R2 7624
Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi
uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane
rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode
validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo
matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka
i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same
domene dok za matematičku i statističku domenu taj rezultat predstavlja problem
jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta
rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom
na kompleksnost domene
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
31
6 Implementacija sustava
Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava
statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje
vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija
cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u
poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim
implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju
implementacija web servisa
61 Implementacija korisničkog sučelja
Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog
današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za
prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko
sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja
da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani
korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u
JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje
odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC
obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS
[16]
Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC
obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web
servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i
jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima
kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji
nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih
komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova
dizajna web stranice Protok podataka je takav da angularov upravljač (engl
controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa
strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su
podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
32
radnog okvira Angular promjene u podacima određuje na način da se podatak
prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se
vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja
promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na
korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog
sučelja
Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost
prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom
idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog
olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava
Naime moguće je čak imati iste module na web servisu i angular radnom okviru te
znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu
Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti
vanjske knjižnice korištene prilikom implementacije
- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i
interakciju ili proširivanje tih karata sadržajem
- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja
kojima se omogućuje lakša interakcija korisnika sa sustavom
- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka
putem angular-a
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
33
Slika 6 Grafički prikaz strukture angular radnog okvira
Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti
korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem
korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima
i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase
i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za
korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije
onemogućeno korisniku da se odluči za takvu interakciju
62 Implementacija statističkog modela predviđanja biljnih vrsta
U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model
predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R
Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo
potrebno pronaći način korištenja jedne od dvije navedene tehnologije
implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti
ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog
knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
34
statistički programski jezik R R je programski jezik otvorenog koda čije zajednica
vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju
korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik
prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih
matrica brzim kompleksnim matematičkim operacijama i radom s velikim
skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži
upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje
interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i
skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom
efikasno povezuje NET okruženje i implementiraju brojne strukture podataka
specifične za R koje se kasnije mogu predati korisničkom sučelju putem web
servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima
se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije
modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka
u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su
- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi
brojne funkcije pretvorbe u geoprostorne podatke
(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)
transformacije između koordinatnih sustava (spTransform)
funkcije specifične za geoprostorne podatke (over)
- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz
datoteka shapefile formata te zapisivanja i čitanja istih
(readOGR writeOGR)
- maptools [23] ndash skup alata za rad i obradu geoprostornih
podataka
- caret [14] ndash skup funkcija za stvaranje efikasnih modela
strojnog učenja te funkcija za validaciju modela i određivanje
korelacije (findCorrelation)
- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela
koristeći minimalno memorije u procesu učenja i predikcije i
istovremeno omogućavajući visoke brzine rada
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
35
- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava
instaliranog na računalu te prihvat rezultata funkcija sustava u
R-u iznimno ubrzava rad sa shapefile datotekama
63 Implementacija web servisa
Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST
načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također
prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne
ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom
sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu
leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju
pogledom bez da se koristi neki javascript radni okvir Komunikacija između
korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje
vraćaju json (engl javascript object notation) objekte Postojanost podataka
ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da
ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture
implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje
problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom
proširivanja funkcionalnosti ili održavanja aplikacije
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
36
Slika 7 Grafički prikaz arhitekture sustava
Važan aspekt web servisa je komunikacija sa R skriptom koja implementira
stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta
kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije
može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju
koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje
grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao
što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti
poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje
omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom
jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih
naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove
knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka
kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem
R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R
objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost
ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
37
R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET
okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je
pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali
prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom
Tablica 3 Primjer korištenja RNET knjižnice
string toExecute = StringFormat(a lt- maxent_test(list(0)
list(1) list(2)) dataList shapesList plantsList)
_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4
WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))
string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]
Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se
od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom
jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena
datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu
predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli
shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje
potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile
datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke
shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena
datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi
kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik
Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu
P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih
datoteka preko koordinata koje su navedene u datotekama sa podacima iz
shapefile datoteka koristeći funkciju over paketa rgdal
Tablica 4 Isječak učitavanja datoteka
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
38
WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5
Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12
Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19
EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji
se traže u datotekama
numOfCsvs = length(dataList)
numOfShapes = length(shapesList)
shapesDict = vector(mode = list length = numOfShapes)
names(shapesDict) lt- shapesList
csvsDict = vector(mode = list length = numOfCsvs)
names(csvsDict) lt- dataList
Učittavnje SHAPEFILE-a -------------------------------------------
-------
for (index in 1numOfShapes)
shapeLocation lt- paste(
EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS
hapes shapesList[index] sep = )
shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]
[])[[1]][1])
shapesDict[[index]] = shapeFile
P4SLATLON = CRS(proj4string(shapesDict[[1]]))
for(j in 1numOfCsvs)
csvLocation =
paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl
oadsData dataList[[j]] sep = )
csvFile = readcsv(csvLocation header = TRUE sep = quote =
stringsAsFactors = F)
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
39
x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]
X_coords = matrix(transform(x_y_coors HTRS96_X =
asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)
Y_coords = matrix(transform(x_y_coors HTRS96_Y =
asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)
extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord
NazKlase)])
cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)
names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord
NazKlase)
coordinatees = SpatialPoints(cleanMatrix[12] proj4string =
P4SLATLON)
result = c()
for(i in 1numOfShapes)
overlay lt- over(coordinatees shapesDict[[i]])
indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES
if(length(result) == 0)
result lt- overlay[indicesOfAttributes]
else
result lt- cbind(result overlay[indicesOfAttributes])
csvsDict[[j]] = cbind(cleanMatrix result)
Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5
Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
40
u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje
kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela
Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu
results_all lt- c()
for(k in 1length(csvsDict))
if(length(results_all) == 0)
results_all lt- csvsDict[[k]]
else
results_all lt- rbind(results_all csvsDict[[k]])
resultfinal = results_all
rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row
== -9999))
resultfinal = resultfinal[rows_to_keep]
resultfinal = naomit(resultfinal)
Treća cjelina prikazana u tablici 6 je priprema podataka o području nad
kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad
kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju
se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga
prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana
biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u
tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim
podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine
kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable
X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa
Nakon učenja modela radi se predikcija nad svim podacima o područjima te se
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
41
rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje
rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su
izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja
biljke na tom području na 0
Tablica 6 Isječak za učenje modela i predikciju
for (index in 1length(plantsList))
rows_plant = apply(resultfinal 1 function(row) any(row ==
plantsList[index]))
plant = resultfinal[rows_plant]
y = rep(1 nrow(plant))
plant_final = cbind(plant y)
maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)
minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)
minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb
simplify=FALSE))
plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)
rep((maxVal - minVal) each = nrow(plant_final))
plant_norm = cbind(plant_norm plant_final[c(y)])
y_plant = datamatrix(plant_norm[c(y)])
X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in
c(y))])
mxentmodel lt- maxentmaxent(X_plant y_plant)
maxentresult lt- predictmaxent(mxentmodel final_data)
plant_name lt- vector(mode = list length = 1)
names(plant_name) lt- plantsList[index]
plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
42
forMerge lt- cbind(final_data[c(ID)] plant_name)
shapedata lt- merge(shapedata forMerge by = ID all = TRUE)
shapedata[isna(shapedata)] lt- 0
Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke
shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i
biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu
datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod
ove cjeline prikazan je u tablici 7
Tablica 7 Isječak spremanja datoteke i slanja lokacije
writeLocation =
EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads
setwd(writeLocation)
now lt- Systime()
date lt- SysDate()
fileName = paste(prediction_ format(date format = d_m_Y) _
asinteger(now) sep = )
writeOGR(shape writeLocation fileName driver=ESRI Shapefile)
fullPath = paste(writeLocation fileName sep = )
allFiles = c(paste(fileName shp sep = ) paste(fileName dbf
sep = ) paste(fileName shx sep = ) paste(fileName prj
sep = ))
zip( zipfile = fileName files = allFiles zip =
Sysgetenv(R_ZIPCMD zip))
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
43
return_path = paste(fullPath zip sep = )
return(return_path)
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
44
7 Rezultati
U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis
funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u
korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim
podacima QGIS
71 Korisničko sučelje
Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i
dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8
prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena
dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i
jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka
odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na
slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku
i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10
Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana
datoteka iz koje će se dovući podaci što je prikazano na slici 11
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
45
Slika 8 Izgled početnog ekrana korisničkog sučelja
Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
46
Slika 10 Izgled sučelja za izbor parametara modela
Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija
72 Rezultati predviđanja
Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L
(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za
svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom
sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o
opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako
bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak
o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno
područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
47
koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na
tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje
se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na
ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom
kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu
poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom
kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija
opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti
normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia
artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog
polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus
L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su
na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati
za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata
predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada
s prostornim podacima
Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
48
Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L
Slika 14 Prikaz vrijednosti parametara određenog područja
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
49
Slika 15 Prikaz lokacija za Carpinus betulus L
Slika 16 Rezultati predviđanja za Carpinus betulus L
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
50
Slika 17 Prikaz lokacija za Fraxinus ornus L
Slika 18 Rezultati predviđanja za Fraxinus ornus L
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
51
Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS
Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih
nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L
(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim
krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za
ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja
ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i
opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva
raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u
priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća
su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati
dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u
područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te
vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična
s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se
rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu
vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno
izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta
u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
52
Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak
model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim
područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste
isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne
koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća
područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika
opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za
učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom
da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika
nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni
rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog
malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav
ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u
granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako
bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima
se model uči
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
53
8 Zaključak
U današnjem svijetu prepunom informacija gdje se Internetom može doći do
podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno
važan korak prema naprijed Sve su češće priče o implementaciji umjetne
inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija
koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili
nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni
algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta
biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj
tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na
što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih
poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti
glavni pokretač i korisnik ovakvih modela
Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u
budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena
istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao
platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan
onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se
implementirao web servis koji je dostupan i preko drugih uređaja ili programa
namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja
Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka
kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada
sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio
pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba
algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz
rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao
vidjeti željene rezultate
U radu su predstavljene ideje tehnologije i implementacijske strukture
korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju
7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli
koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća
poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
54
primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]
Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije
podataka koje prethode samom učenju modela te svakako korištenje naprednijih
algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad
sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego
zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
55
_____________________
Valentino Perović 0036465527
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
56
Literatura
[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species
Distributions A Note on Proper Validation and Chance Predictions Transactions of
the American Fisheries Society 131(2002) str 329-336
[2] Whittaker R H Evolution and Measurement of Species
Diversity Taxon 21(1972) str 213-251
[3] Rosenblatt F The perceptron A probabilistic model for information storage and
organization in the brain Psychological Review 65(1958) str 386-408
[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools
and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011
[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to
natural language processing Computational linguistics 22(1996) str 39-71
[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of
Computational Science 2(2011) str 1-8
[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across
an alpine rangeland in northern Spain A comparison of prbabilistic methods
Applied Vegetation Science 10(2011) str- 1-18
[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only
distribution models implications for background and pseudo-absence data
Ecological Applications 19(2011) str 181-197
[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of
species distributions from occurrence data Ecography 29(2006) str 129-151
[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species
Distributions with MAXENT Using a Geographically Biased Sample of Presence
Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS
One 9(2014) str 1-13
[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling
effort and spatial uncertainty of locations on models of plant invasion patterns in
Croatia u postupku recenzije
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
57
[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016
[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016
[14] Max Khun Package caret 1362016 Classification and Regression Training
httpscranr-projectorgwebpackagescaretcaretpdf 1762016
[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial
Dana httpscranr-projectorgwebpackagesspsppdf 2042016
[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg
1222016
[17] Leaflet httpleafletjscom 1642016
[18] Angular UI httpsangular-uigithubio 742016
[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016
[20] Bootstrap httpgetbootstrapcom 1132016
[21] Jean-Michel Perraud RNET Documentation 30102015
httpjmp75githubiordotnet 242016
[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data
Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf
2252016
[23] Roger Bivand Package maptools 3012016 Tools for Reading and
Handling Spatial Objects httpscranr-
projectorgwebpackagesmaptoolsmaptoolspdf 1842016
[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial
Logistic Regression with Support for Text Classification httpscranr-
projectorgwebpackagesmaxentmaxentpdf 1342016
[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA
Geoprocessing and Terrain Analysis in R httpscranr-
projectorgwebpackagesRSAGARSAGApdf 2152016
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
58
Sažetak
Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u
modernim tehnologijama Korištenje takvih modela je posvuda no posebno se
istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka
Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s
obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli
podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih
modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja
Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom
na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom
predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja
prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi
efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta
biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog
sustava uzevši u obzir prednosti koje bi takva arhitektura donijela
Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti
korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za
predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko
sučelje za rad sa samim sustavom
Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i
načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja
potencijalna poboljšanja i prijedlozi drugačijih uporaba
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
59
Ključne riječi
strojno učenje
MAXENT
predviđanje nalazišta biljnih vrsta
predviđanje biološke raznolikosti
regresijski model
klasifikacijski model
web servis
statistički model predikcije
validacija modela strojnog učenja
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
60
Abstract
Machine learning models represent interesting field of research in modern
technologies Usage of this models can be found everywhere but this paper
explores usages in the field of biology especially in prediction of species
occurrences and biodiversity Simple usage of this type of models can ease long
term researches of species occurrences and biodiversity and validation of those
models can reduce human errors in those researches
Paper covers ideas and qualities of machine learning models especially
MAXENT (Maximum entropy) model which showed great results regarding
predictions using data about plants and animals because they are not
presenceabsence type of data Problems regarding models with biological data are
shown as are examples on how one would utilize then Later chapters cover
demands of biodiversity and species occurrence prediction systems and
architecture of that system is presented regarding improvements this architecture
would bring
Web api system for predicting biodiversity and plant species occurrences is
presented along with data models of such system MAXENT machine learning
model is chosen for systems prediction model and validated using data from Flora
Croatica Database
Predictions given by system for few of most common plants species in
Croatia are presented Paper wraps up with description of systems user interface
usage and short discussion on quality of given solution possible improvements and
other usages
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models
61
Key words
machine learning
MAXENT
biodiversity prediction
plant species occurrences prediction
regression models
classification models
web api
probabilistic prediction models
validation of machine learning models