• Rezultati Niso Bili Najdeni

NIKO KROFLIČ

N/A
N/A
Protected

Academic year: 2022

Share "NIKO KROFLIČ "

Copied!
54
0
0

Celotno besedilo

(1)

N IK O K R O FL IČ 2 0 1 9 Z A K L JU Č N A PR O JE K T N A N A L O G A

NIKO KROFLIČ

KOPER, 2019

ZAKLJUČNA PROJEKTNA NALOGA

UNIVERZA NA PRIMORSKEM

FAKULTETA ZA MANAGEMENT

(2)
(3)

Koper, 2019

PRIMERJALNA ŠTUDIJA ALGORITMOV ZA NAPOVED PRODAJE IZDELKOV

Niko Kroflič

Zaključna projektna naloga

Mentor: doc. dr. Uroš Godnov UNIVERZA NA PRIMORSKEM

FAKULTETA ZA MANAGEMENT

(4)
(5)

POVZETEK

V okviru raziskave za zaključno projektno nalogo je izvedena primerjalna študija algoritmov (globokih nevronskih mrež, naključnih dreves in AdaBoost) za napoved prodaje izdelkov na podatkovnem viru indijskega ponudnika živil BigMart. Podatkovni vir je pregledan, vizualiziran, prečiščen in transformiran s primerjavo rezultatov. Modeli so bili zgrajeni in so merili uspešnost pod privzetimi parametri, nato pa optimizirani z metodo naključnega iskanja po mreži. Med najbolj uspešnimi sta bila algoritma globoke nevronske mreže in naključnih gozdov. Glavna razlika med njima je bila ta, da je za optimizacijo globokih nevronskih mrež porabljenih 95–97 % več časa kot pa za optimizacijo naključnih gozdov. Algoritem prilagodljivega spodbujanja (AdaBoost) pa je izkazoval podpovprečne rezultate. Najboljši rezultati, ki so bili pridobljeni, so pri metrikah R2 = 0,61 in prilagojen R2 = 0,35.

Ključne besede: podatkovna znanost, strojno učenje, napovedovanje, globoka nevronska mreža, naključni gozdovi, AdaBoost.

SUMMARY

Within the framework of the research for the final project assignment, a comparative study of algorithms (deep neural network, random forests, and AdaBoost) for the sales forecast on the data source of Indian food supplier BigMart was performed. The dataset was examined, visualised, cleaned, and transformed upon which the models were built. They measured successfulness under the default parameters. Then, they were optimised by the method of randomised grid search. Among the most successful ones, there were the algorithms of deep neural network and random forests. The main difference between them was the increased time spent on the optimisation of the deep neural network, which ranged from 95–97% compared to random forests. The algorithm of the adaptive boosting (AdaBoost), however, showed below average results. The best results achieved were at the metrics R2 = 0,61 and adjusted R2 = 0,35.

Key words: data science, machine learning, forecasting, deep neural network, random forests, AdaBoost.

UDK: 004.8:658(043.2)

(6)
(7)

ZAHVALA

Zahvaljujem se vsem, ki so kakor koli pripomogli k nastanku zaključne projektne naloge.

Zahvalo najprej namenjam mentorju, doc. dr. Urošu Godnovu, za strokovno pomoč, nasvete in izkazano zaupanje.

Prav tako se zahvaljujem svojim prijateljem, da je celoten študij potekal tudi zabavno, posebej pa svoji partnerki Daliji, ki me je vedno spodbujala, tudi ko bi kdo drug že odnehal.

Na koncu največjo zaslugo pripisujem svoji družini, zlasti mami Valeriji in očetu Stanetu.

Velika hvala vsem!

(8)
(9)

VSEBINA

1 Uvod ... 1

1.1 Opredelitev problema ... 1

1.2 Namen in cilji ... 2

1.3 Metode za doseganje ciljev ... 2

1.4 Predpostavke in omejitve ... 2

2 Teoretična izhodošča ... 3

2.1 Podatkovna znanost ... 3

2.1.1 Metodologija CRISP-DM ... 4

2.1.2 Strojno učenje ... 6

2.2 Napovedovanje ... 7

2.3 Algoritmi ... 9

2.3.1 Algoritem globoke nevronske mreže ... 11

2.3.2 Algoritem naključnih gozdov ... 13

2.3.3 Algoritem AdaBoost ... 15

2.3.4 Metrike za ocenjevanje napovednih modelov ... 16

3 Raziskava ... 18

3.1 Priprava podkovnega vira ... 18

3.1.1 Raziskovalna analiza podatkov ... 19

3.1.2 Čiščenje podatkovnega vira ... 21

3.2 Modeliranje ... 25

3.3 Model globoke nevronske mreže ... 26

3.4 Model naključnih gozdov ... 29

3.5 Model AdaBoost ... 30

3.6 Rezultati ... 31

3.6.1 Delitev 75/25 ... 31

3.6.2 Delitev 70/30 ... 33

3.6.3 Delitev 60/40 ... 36

4 Sklep ... 39

Literatura in viri ... 41

(10)

SLIKE

Slika 1: Faze metodologije CRISP-DM ... 4

Slika 2: Klasično programiranje in strojno učenje ... 6

Slika 3: Bivariatna regresija ... 8

Slika 4: Multipla regresija z dvema neodvisnima spremenljivkama ... 9

Slika 5: Štiri hipoteze, ki rešijo problem ... 10

Slika 6: Linearna pragovna enota ... 11

Slika 7: Večplastni perceptron ... 12

Slika 8: Globoka nevronska mreža s povezavo nazaj ... 12

Slika 9: Odločitveno drevo ... 13

Slika 10: Podatkovni niz, obrnjen za 45º ... 14

Slika 11: Paralelna ansambel metoda ... 14

Slika 12: Algoritem AdaBoost ... 16

Slika 13: Informativni pregled podatkovnega vira ... 19

Slika 14: Distribucija prodaje izdelkov ... 19

Slika 15: Kategorične spremenljivke ... 20

Slika 18: Popravek napačno vnesenih vrednosti ... 22

Slika 19: Distribucija teže izdelka pred in po imputaciji ... 23

Slika 20: Distribucija velikosti trgovine pred in po imputaciji ... 23

Slika 21: Diskretizacija ... 24

Slika 23: Metrika RMSE in MAE – delitev 75/25 ... 32

Slika 24: Metrika R2, prilagojen R2 in čas učenja – delitev 75/25 ... 33

Slika 25: Metrika RMSE in MAE – delitev 70/30 ... 35

Slika 26: Metrika R2, prilagojen R2 in čas učenja – delitev 70/30 ... 36

Slika 27: Metrika RMSE in MAE – delitev 60/40 ... 37

Slika 28: Metrika R2, prilagojen R2 in čas učenja – delitev 60/40 ... 38

PREGLEDNICE Preglednica 1: Metrika kakovosti za numerične spremenljivke ... 21

Preglednica 2: Metrika kakovosti za kategorične spremenljivke ... 21

Preglednica 3: Navidezne spremenljivke ... 24

Preglednica 4: Rezultati globokih nevronskih mrež – delitev 70/30 ... 27

Preglednica 5: Rezultat optimizirane globoke nevronske mreže – delitev 70/30 ... 29

Preglednica 6: Rezultat modela naključnih gozdov – delitev 70/30 ... 29

Preglednica 7: Rezultat optimiziranega modela naključnih gozdov – delitev 70/30 ... 30

(11)

Preglednica 8: Rezultat modela AdaBoost – delitev 70/30 ... 30

Preglednica 9: Rezultat optimiziranega modela AdaBoost – delitev 70/30 ... 31

Preglednica 10: Rezultat modelov – delitev 75/25 ... 32

Preglednica 11: Rezultat modelov – delitev 70/30 ... 34

Preglednica 12: Rezultati modelov – delitev 60/40 ... 37

(12)

KRAJŠAVE GNM globoka nevronska mreža

LPE linearna pragovna enota MAE angl. mean absolute error NG naključni gozdovi

ONDP odločanje na podlagi podatkov Pril. R2 prilagojen koeficient determinacije R2 koeficient determinacije

RMSE angl. root means squared error UNM umetna nevronska mreža

(13)

1 UVOD

Informacijska revolucija 21. stoletja postavlja nove paradigme ekonomije. Podatki predstavljajo temelj konkurenčne prednosti za vsa podjetja, ki so aktivna na globalnem trgu.

Bolj kakovostne podatke, kot ima podjetje na voljo, več odločitev lahko sprejme na podlagi podatkov. Največji problem predstavlja količina podatkov, ki je na voljo na trgu. Podjetje se mora odločiti, kateri podatki so kakovostni oziroma reprezentativni in nato te podatke pravilno interpretirati v informacije. Količina podatkov, ki jih je človeštvo generiralo od začetka civilizacije do leta 2003, je ocenjena na pet exabytov. Leta 2003 je bilo ocenjeno, da enako količino podatkov človeštvo ustvari v samo 18 dneh (Lyman idr. 2003).

Nekateri tudi ocenjujejo, da je bilo 90 % vseh podatkov, ki jih je ustvarilo človeštvo, ustvarjenih samo v zadnjih dveh letih (SINTEF 2013). Za obdelavo ogromnih količin podatkov se uporabljajo vede podatkovne znanosti. Podatkovna znanost (angl. data science) je interdisciplinarna veda, ki uporablja znanstvene metode, statistiko in algoritme, da pridobi uporabne informacije iz strukturiranih ali nestrukturiranih podatkov. Povpraševanje po podatkovnih znanstvenikih je vsako leto večje, v zadnjem letu se je dvignilo za 29 %, od leta 2013 pa kar za 344 % (Holak 2019). Kot glavno orodje podatkovnih znanstvenikov se uporablja razne algoritme strojnega učenja (angl. machine learning). Strojno učenje nam omogoča, da iz pridobljenih podatkov »naučimo« računalniški model in tako dobimo rešitve za razne probleme. V osnovi so lahko problemi, ki jih rešujemo, napovedni (napoved neke količine, cene, vremena ...) ali razvrstitveni, torej pravilna razvrstitev v določene domene (moški ali ženska, v kateri segment spada stranka …) (Cielen, Meysman in Ali 2016).

1.1 Opredelitev problema

V zaključni projektni nalogi smo se posvetili napovednim problemom za napoved prodaje izdelkov v določeni trgovini. Napovedovanje povpraševanja je temeljna dejavnost za vsa podjetja, neodvisno od tega, ali je podjetje proizvodno, trgovina na debelo, trgovina na drobno ali ponudnik storitev. Napovednih tehnik je več, ključnega pomena za podjetje pa je, da izbere najbolj optimalno rešitev za problem, ki ga želi rešiti. Boljša, kot je regresija, bolj natančna bo ekstrapolacija podatkov, kar ima neposredni vpliv na učinkovitost in uspešnost podjetja. Vsi problemi niso enake narave, zato je težko oceniti, kateri algoritem bo najbolj optimalen za določen problem. Za izvedbo zaključne projektne naloge smo uporabili in primerjali tri algoritme:

 algoritem globokih nevronskih mrež (angl. deep neural network),

 algoritem naključnih gozdov (angl. random forests),

 algoritem prilagodljivega spodbujevanja (angl. adaptive boosting ‒ AdaBoost, v nadaljevanju AdaBoost).

(14)

1.2 Namen in cilji

Namen zaključne projektne naloge je narediti primerjavo naprednih napovednih algoritmov (globokih nevronskih mrež, naključnih dreves in AdaBoost algoritma) za področje napovedi prodaje izdelkov na podatkovnem viru indijskega ponudnika živil BigMart.

Cilji zaključne projektne naloge so:

 priprava podatkov za obdelavo (čiščenje, diskretizacija, transformacija, redukcija);

 izdelava napovednih modelov;

 primerjava algoritmov v natančnosti na podlagi metrik RMSE, MAE, R², pril. R2 in hitrosti.

1.3 Metode za doseganje ciljev

Modele smo zgradili s programskim jezikom Python z uporabo knjižic Sklearn, Tensorflow in Keras. Uporabljen vir podatkov, na katerem bo izvedena primerjava, je pridobljen s spleta, in sicer gre za podatkovni vir indijskega ponudnika živil BigMart iz leta 2013. Podatkovni vir vsebuje 1559 izdelkov iz 10 različnih trgovin na raznih lokacijah (Datahack analyticsvidhya 2013). Cilj je zgraditi modele, ki bodo napovedali prodajo posameznega izdelka v določeni trgovini. S tem modelom lahko BigMart hipotetično identificira ključne izdelke, s katerimi lahko poveča prodajo.

1.4 Predpostavke in omejitve Predpostavke:

 V raziskavo je vključen samo en vir podatkov, zato je posploševanje na druge vire vprašljivo.

 Vir podatkov je relativno majhen, 8523 vnosov za učni niz (angl. training set) in 5681 vnosov za testni niz (angl. testing set).

 Algoritem globokih nevronskih mrež potrebuje več podatkov za boljše rezultate, zato so lahko rezultati pri tem algoritmu slabši.

(15)

2 TEORETIČNA IZHODOŠČA

Pred izvedbo raziskave moramo spoznati ključne teoretične koncepte, ki nam bodo služili kot osnova v celotni zaključni projektni nalogi. Pregledali smo relevantno literaturo na področjih podatkovne znanosti, standarda rudarjenja podatkov (CRISP-DM), napovedovanja in posameznih algoritmov globokih nevronskih mrež, naključnih gozdov ter AdaBoost. Prav tako smo opredelili metrike, s katerimi smo merili uspešnost in učinkovitost posameznega algoritma.

2.1 Podatkovna znanost

Podatkovna znanost (angl. data science) je interdisciplinarna veda, ki se ukvarja s podatki s ciljem, da pridobi uporabne informacije iz strukturiranih ali nestrukturiranih podatkov. Pojav podatkovne znanosti je relativno nov. Pred tem so podobne poklice upravljali statistiki in poslovni analitiki. Veščine, ki so potrebne za poklic podatkovnega znanstvenika, so programiranje, matematika, statistika, strojno učenje, strokovno znanje o domeni, vizualizacija podatkov in komunikacijske veščine (O'Neil in Schutt 2013). Eden izmed glavnih razlogov za pojav podatkovnih znanstvenikov je pojav velikih podatkov (angl. big data). Gre za ogromne količine podatkov, za katere je treba uporabiti drugačne pristope za analizo. Trenutno ni skupne definicije, kako veliko podatkov potrebujemo, da postanejo veliki podatki, lahko pa opredelimo tri karakteristike: volumen, raznolikost in hitrost nastanka, torej njihovo količino, različnost in hitrost ustvarjanja (Cielen, Meysman in Ali 2016).

Podjetja so spoznala, da je odločanje na podlagi podatkov (angl. data driven decision making) bolj donosno. Leta 2008 je raziskava pokazala, da podjetja, ki prakticirajo odločanje na podlagi podatkov, dosežejo večjo tržno vrednost in produktivnost za 5–6 % (Brynjolfsson, Hitt in Kim 2011). Odločanje na podlagi podatkov, v nadaljevanju ONPD, se nanaša na prakso odločanja na podlagi analize podatkov in ne zgolj na intuicijo. Na primer, če se postavimo v kožo tržnika, lahko izberemo oglase, ki temeljijo izključno na naših dolgoletnih izkušnjah na tem področju, torej se bomo odločili na podlagi intuicije in dolgoletnega znanja, vendar, kot sta pokazala Tversky in Kahneman (1974), smo ljudje nagnjeni k raznim kognitivnim pristranskostim in napakam v razmišljanju. Pri ONPD pa lahko svojo izbiro utemeljimo z analizo podatkov v nadzorovanem poskusu, kako se potrošniki odzivajo na različne oglase (Provost in Fawcett 2013, 29). Leta 2011 je podjetje Google izvedlo 7000 naključnih nadzorovanih poskusov za razne oglase, da bi izvedeli, kateri so empirično bolj učinkoviti. Proces naključnih nadzorovanih poskusov so poimenovali A/B-test (Stephens-Davidowitz 2017, 317). Če uporabimo primerjavo olja in podatkov, lahko rečemo, da so podatkovni znanstveniki kot rafinerije za olje, saj podjetja z dobrimi podatki in znanjem rudarjenja teh podatkov pridobijo bistveno konkurenčno prednost. Svetovalno podjetje Manyika idr. (2011) poudarjajo, da morajo menedžerji na teh področjih za učinkovito pridobivanje teh prednosti razumeti osnove podatkovne znanosti. Omenjeno podjetje je leta 2011 napovedalo, da bo v Združenih državah Amerike (v nadaljevanju ZDA) do leta 2018 primanjkovalo 1,5 milijona menedžerjev z

(16)

analitičnem znanjem, ki bodo lahko uporabili velike podatke za učinkovito odločanje (Manyika idr. 2011).

2.1.1 Metodologija CRISP-DM

Rudarjenje podatkov (angl. data mining) vključuje znatno količino znanosti, tehnologije in tudi umetnosti. Toda tako kot pri mnogih drugih procesih moramo uporabiti standard, ki postavlja strukturo za reševanje problemov, s tem pa omogočimo doslednost, ponovljivost in objektivnost. Med bolj priljubljenimi standardi za rudarjenje podatkov je med-industrijski standard za proces rudarjenja podatkov (angl. cross-industry standard process for data mining).

To je metodologija in standard za rudarjenje podatkov, ki opisuje proces cikla za rudarjenje in obdelavo podatkov. Proces vsebuje šest ključnih faz, zaporedje med posameznimi fazami pa ni ustaljeno, saj se med posameznimi koraki lahko pomikamo naprej in nazaj, če projekt tako zahteva (Chapman idr. 2000).

Slika 1: Faze metodologije CRISP-DM Vir: Chapman idr. 2000, 10

Razumevanje posla. Faza poslovnega razumevanja predstavlja del, kjer ustvarjalnost analitika igra veliko vlogo. Podatkovna znanost lahko mnogo stvari opiše in pojasni, vendar pa je ključ do uspeha ustvarjalna formulacija problema, ki ga je mnogokrat treba opredeliti kot več posameznih problemov, da ga lahko učinkovito rešimo (Provost in Fawcett 2013, 27–28).

Osredotočiti se moramo na natančne cilje in namene podjetja, kaj želi podjetje rešiti ali izvedeti,

(17)

zato je znanje industrije oziroma sektorja, v katerem deluje podjetje, ključnega pomena. Treba je pravilno postaviti vprašanja, saj lahko v nasprotnem primeru raziskava zgreši prvotni namen.

Razumevanje podatkov. Drugi del procesa se začne s pridobivanjem podatkov – od kod podatki pridejo oziroma kje jih bomo pridobili. Določeni podatki so zastonj, velikokrat pa je treba zanje plačati. Velikokrat se tudi zgodi, da podatkov za določen problem ni, zato je treba uvesti pomožne projekte za njihovo zbiranje (Provost in Fawcett 2013, 28). Nato je treba podatke temeljito pregledati in jih ovrednotiti, v tej fazi lahko opazimo, ali so podatki popolni (torej, če vsebujejo manjkajoče vrednosti). V pomoč nam je raziskovalna analiza podatkov (angl.

exploratory data analysis), s katero podatke vizualiziramo in izračunamo osnovne opisne statistike. To nam omogoča, da podatke lažje interpretiramo. Prepoznamo lahko prvotne vzorce, ki pred tem niso bili očitni, to pa nam da priložnost, da nadaljnje oblikujemo prve hipoteze.

Priprava podatkov. Faza priprave podatkov je časovno najbolj intenziven del procesa.

Ocenjeno je, da je 50–70 % časa v projektu namenjeno tej fazi. Drugi ocenjujejo, da podatkovni znanstveniki namenijo kar 80 % časa tej fazi in le 20 % nadaljnjemu modeliranju in analiziranju (Dasu in Johnson 2003, 23). Ključni elementi v fazi priprave podatkov so:

 Izbira podatkov, za katere se odločimo narediti analizo. Izberemo lahko ožji del primerov (vrstic podatkovnega niza) ali ožji del atributov (stolpcev podatkovnega niza). Wickham (2014) navaja, da imajo urejeni podatki (angl. tidy data) stolpce in vrstice, kjer vsak stolpec predstavlja spremenljivko ali atribut ter vsak primer vrstico.

 Čiščenje podatkov. Podatki, ki jih dobimo, so redkokdaj popolni, pogosto prihaja do manjkajočih vrednosti in napačnih podatkov. Treba je oceniti, kako podatke učinkoviti očistiti, v primeru manjkajočih vrednosti lahko podatke odstranimo ali jih zapolnimo, če ocenimo, da to ne bo vplivalo na nadaljnje rezultate.

 Izračunavanje novih podatkov. Iz podatkov lahko izpeljemo nove atribute z namenom, da pridobimo bolj reprezentativen atribut. Primer: površina = širina * dolžina.

 Združitev podatkov. Podatki lahko pridejo od raznih virov, zato jih je treba združiti v en podatkovni niz. Treba je tudi preveriti, da ne prihaja do podvojenih vnosov.

Pomemben koncept te faze je tudi, da preverimo, da ne prihaja do uhajanja podatkov (angl. data leakage). O uhajanju podatkov govorimo takrat, ko določena spremenljivka, ki je bila izbrana v preteklosti, daje informacijo o ciljni spremenljivki, ki jo želimo napovedati, vendar pa je nimamo na voljo ob času napovedi. Na primer, če bi želeli ugotoviti nakup stranke na podlagi sorodnih artiklov in bi za to uporabljali kategorije kupljenih predmetov, ki jih seveda nimamo, preden stranka ne upravi nakupa (Provost in Fawcett 2013, 30).

Modeliranje. V fazi modeliranja izberemo algoritme, ki so primerni za rešitev problema.

Problem, ki ga rešujemo, je že prepoznan v prvem in drugem koraku. Preden izgradimo modele, je treba podatkovni niz razdeliti na učni (angl. training set) in testni niz (angl. testing set).

Podatke učnega niza uporabimo za izgradnjo modela. Cilj je, da ustvarimo model, ki dovolj

(18)

dobro posplošuje na testni niz, ki je namenjen evalvaciji modela. Model, ki ga zgradimo, ima tudi parametre, ki so različni in specifični za vsak algoritem. Te parametre je treba najprej optimizirati, nato modele testiramo na testnem nizu in merimo njihovo natančnost.

Evalvacija. V fazi evalvacije ugotavljamo, če model dosega poslovne cilje, ki smo jih zastavili v prvi fazi. Treba je ugotoviti, ali je model pomanjkljiv. Če ugotovimo neskladnost z našim ciljem ali modelom, se vrnemo v fazo modeliranja. Upoštevati je treba, da je lahko model v trenutnem »laboratorijskem stanju« odličen, vendar pa lahko v dejanskem poslovnem kontekstu povzroča preveč lažnih alarmov – če ima model prekomerno prileganje ali pa celo prezre pomembne dogodke pri podmernem prileganju, da bi bil ekonomsko sprejemljiv.

Uvajanje. Pri uvajanju se rezultati podatkovnega rudarjenja uporabijo, da bi dosegli nekaj donosnega ali uporabnega glede na cilje, ki smo si jih zastavili. Uvajanje modela v proizvodni sistem običajno zahteva, da se model zapiše za produkcijsko okolje. Običajno gre za večjo hitrost ali združljivost z obstoječim sistemom. Ne glede na to, ali je uvedba uspešna, se proces pogosto vrne v prvo fazo poslovnega razumevanja, saj lahko druga ponovitev prinese izboljšano rešitev (Provost in Fawcett 2013, 34).

2.1.2 Strojno učenje

Stojno učenje je podkategorija umetne inteligence, ki nam omogoča, da računalniški model naučimo reševanja določenih problemov. Večina umetne inteligence, bolj specifično, ozke umetne inteligence (angl. narrow artificial intelligence), ki jo srečujemo v komercialnih izdelkih, je rezultat stojnega učenja. Arthur Samuel (1959), pionir umetne inteligence in strojnega učenja, je opisal strojno učenje kot »področje, ki daje računalnikom sposobnost učenja brez eksplicitnega programiranja«. Strojno učenje je najbolj uporabno, kjer težko definiramo in sprogramiramo logiko programa, gre za popolnoma drugačno paradigmo programiranja. V klasičnem programiranju damo programu pravila in podatke, da dobimo odgovore, pri strojnem učenju pa podamo računalniku podatke in odgovore, da dobimo pravila (Chollet 2017, 5).

Slika 2: Klasično programiranje in strojno učenje Vir: Chollet 2017, 5

Strojno učenje lahko delimo na štiri kategorije (Géron 2017):

Nadzorovano učenje (angl. supervised learning) je kategorija učenja, kjer imamo učni niz

(19)

z označenimi rešitvami. Problemi, ki jih srečujemo v nadzorovanem učenju, se delijo na napovedne: napoved neke zvezne spremenljivke (napoved cen, prodaje izdelkov …) in razvrstitvene probleme (razvrstitev v določene diskretne domene (jabolka ali hruška, moški ali ženska, bo potrošnik kupil ali ne …)).

Nenadzorovano učenje (angl. unsupervised learning) je kategorija učenja, kjer imamo niz podatkov brez označenih rešitev. Sistem poskuša najti rešitev v vzorcu podatkovnega niza, najpogosteje v obliki grozdenja. Algoritem grozdenja razvrsti podatke v določene razrede, ki so si med seboj podobni, na primer razvrstitev strank s podobnim vedenjskim vzorcem.

Delno nadzorovano učenje (angl. semi-supervised learning) je kategorija učenja, kjer imamo niz podatkov, ki je delno označen z rešitvami. Pogosti primer uporabe so sistemi za prepoznavanja ljudi na fotografijah. Ko sistem prepozna enake obraze na fotografijah (grozdenje) vpraša uporabnika za oznako osebe, ki je na fotografiji.

Spodbujevalno učenje (angl. reinforcement learning) je kategorija učenja, ki se je razvila iz psihološke vede behaviorizma in posledično iz nevroznanosti. Temelji predvsem na paradigmi biološkega dopaminskega sistema, ki deluje kot sistem nagrajevanja. V tej kategoriji je učenec agent, ki zaznava okolje in upravlja določene akcije, da doseže zastavljen cilj. Agent dobi nagrado če izkazuje želeno vedenje za doseganje cilja, ki je predstavljena le kot naključno število.

2.2 Napovedovanje

Kot smo omenili, podjetja v današnjem globaliziranem okolju nenehno iščejo strategije, da pridobijo konkurenčno prednost in posledično izboljšajo finančno uspešnost. Eden izmed faktorjev, ki prispeva k tej enačbi, so poslovne napovedi. Poslovne napovedi (ali katere koli druge napovedi) so sestavljene iz statističnih analiz in znanja domene, za katero je napoved namenjena. Poznamo veliko različnih napovedovalnih metodologij. Med najbolj znanimi je regresijska analiza, ki se uporablja že od 20. stoletja. Danes imamo na razpolago tudi bolj prefinjena orodja, kot so nevronske mreže, ki so znatno razširile področje napovedovanja (Hoshmand 2008, 1). Vladne ustanove in velika podjetja so zelo odvisna od dobrih napovednih tehnik, da bi napovedale prihodnje gospodarske in poslovne dejavnosti. Podobno so velike korporacije odvisne od dobrih poslovnih napovedi, zato uporabljajo regresijske analize za določanje prihodnjih tržnih potencialov za svoje proizvode, ustvarjanje prihodkov, obvladovanje stroškov, rast zalog in zahteve glede denarnih tokov (Hoshmand 2008, 239). Ker smo se v raziskavi posvetili napovednim algoritmom, bomo bolj natančno spoznali linearno regresijo oziroma regresijsko analizo. Pri preprosti bivariatni regresijski analizi nas zanima, ali obstaja odnos med dvema spremenljivkama. Spremenljivka, ki jo želimo napovedati, se imenuje odvisna spremenljivka 𝑦, spremenljivka, ki služi kot napovedovalec odvisni spremenljivki, pa se imenuje neodvisna spremenljivka 𝑥. Linearno razmerje med njima lahko zapišemo z enačbo (Hoshmand 2008, 165):

(20)

𝑦 = 𝑎 + 𝑏𝑥 + 𝑒 kjer je:

y vrednost odvisne spremenljivke, torej spremenljivke, ki jo želimo napovedati;

a regresijska konstanta, točka, kjer premica seka y os;

b regresijski koeficient ali naklon premice;

x vrednost neodvisne spremenljivke ali pojasnjevalne spremenljivke;

e napaka modela.

Čeprav je osnoven bivariaten regresijski model preprost, je v gospodarskih in ekonomskih situacijah zelo učinkovit, saj večina podatkov v teh domenah sledi linearnosti neposredno ali posredno z nekakšno podatkovno transformacijo. Na primer, finančni analitik se lahko zanima za bivariatno razmerje med naložbo 𝑥 in njegovo prihodnjo donosnostjo 𝑦, ekonomist lahko napove potrošnjo 𝑦 glede na razpoložljivi dohodek 𝑥, ki ga ima posameznik. Ko želimo napovedati odvisno spremenljivko 𝑦 z več kot eno neodvisno spremenljivko, pa govorimo o multipli regresiji. Uporaba mnogih pojasnjevalnih spremenljivk izboljša našo sposobnost ne samo za napoved odvisne spremenljivke, temveč tudi za boljšo razlago njenih variacij, torej opis v kolikšni meri ima določena pojasnjevalna spremenljivka 𝑥 vpliv na izid odvisne spremenljivke 𝑦 (Hoshmand 2008, 206). Enačba se ne razlikuje bistveno od preproste bivariatne regresije, edina sprememba je, da imamo več neodvisnih spremenljivk 𝑥𝑛:

𝑦 = 𝑎 + 𝑏1𝑥1 + 𝑏2𝑥2+ ⋯ 𝑏𝑛𝑥𝑛 + 𝑒

Za vsako dodatno neodvisno spremenljivko regresiji dodamo novo dimenzijo, zato imamo pri bivariatni regresiji dve dimenziji (𝑥, 𝑦), vizualiziramo pa jo s premico.

Slika 3: Bivariatna regresija Vir: Hoshmand 2008, 169.

Če povečamo regresijo na dve neodvisni spremenljivki (𝑥1, 𝑥2), dobimo tridimenzionalen prostor (𝑦, 𝑥1, 𝑥2), odnos med njimi pa vizualiziramo z ravnino. Problem nastane, če želimo

(21)

vizualizirati več kot 3 dimenzije, saj jih kot tridimenzionalna bitja lahko opišemo le matematično.

Slika 4: Multipla regresija z dvema neodvisnima spremenljivkama Vir: Hoshmand 2008, 207.

V primeru naše raziskave smo za napoved prodaje izdelkov uporabili enajst neodvisnih spremenljivk.

2.3 Algoritmi

Danes so algoritmi vpleteni že povsod, tkani so v življenje naše civilizacije, ne samo v pametnih telefonih in prenosnem računalniku, ampak tudi v avtomobilih, hišah in igračah, so del našega življenja, ki ga v veliki meri dopolnjujejo ter usmerjajo. Algoritem lahko definiramo kot kateri koli dobro definiran računski postopek, ki sprejme n-število vhodnih enot in proizvede n-število izhodnih enot, torej gre za sekvenco računskih postopkov, ki transformirajo vhodne enote v izhodne enote (Cormen idr. 2009, 5). V nadaljevanju bomo spoznali nekaj osnovnih konceptov pri algoritmih strojnega učenja, ki se nanašajo na vse modele, ki jih bomo raziskali.

Nadzorovano učenje. Problem, ki smo ga v okviru raziskave reševali, spada pod kategorijo nadzorovanega učenja, kjer imamo učni niz, ki vsebuje 𝑛-število vhodno-izhodnih parov (𝑥1, 𝑦1), (𝑥2, 𝑦2), … (𝑥𝑛, 𝑦𝑛). Vsak element 𝑦𝑖 (vrednost, ki jo želimo napovedati, v našem primeru prodaja izdelkov v določeni trgovini) je bil ustvarjen z neznano funkcijo 𝑦 = 𝑓(𝑥).

Naloga modela je, da najde funkcijo ℎ, ki se najbolj približa pravi funkciji 𝑓. Funkciji ℎ pravimo hipoteza, saj se uči skozi prostor možnih hipotez, da najde tisto, ki se najbolj približa pravi. Da ugotovimo, kako dobro naša hipoteza posplošuje na ostale podatke, lahko merimo njeno uspešnost na testnem nizu. Hipoteza posplošuje dobro takrat, ko korektno napove ali razvrsti večino novih primerov. Omembe vredno je tudi to, da obstaja vsebinska razlika med znanstveno hipotezo, statistično in strojnega učenja, pri znanstveni hipotezi mislimo na začasno razlago za opažanja, ki so ovrgljiva. V statistiki je hipoteza razlaga med populacijami podatkov, ki se interpretira verjetnostno. V nadaljevanju bosta besedi model in hipoteza uporabljeni izmenično, saj pri obeh mislimo na isto stvar; določena funkcija, ki se približa pravi funkciji, ki bo uspešno rešila problem.

(22)

Slika 5 prikazuje več možnih hipotez za rešitev problema. V prvem okvirju imamo linearno hipotezo, v ostalih pa večstopenjske polinome. S principom Ochkamove britve vemo, da je hipoteza, ki naredi manj predpostavk, boljša, torej bolj preprosta hipoteza v veliki večini posplošuje bolj kot pa kompleksna (Russell in Norvig 2009, 695–696).

Slika 5: Štiri hipoteze, ki rešijo problem Vir: Russell in Norvig 2009, 696.

Interpretacija modelov. Definiramo lahko dve vrsti modelov, črne in bele škatle. Modeli bele škatle so preprosti za interpretacijo in jih v večini lahko vizualiziramo ter ocenimo, kako model naredi odločitve (odločitveno drevo). V nasprotnem primeru pa imamo modele značaja črne škatle, ki jih težko interpretiramo in razlagamo (umetne nevronske mreže) (Géron 2017, 172).

Kompenzacija pristranskosti in variance. Pomemben del statistike in strojnega učenja je dejstvo, da lahko napako modela generaliziramo kot vsoto treh različnih napak:

 Pristranskost je rezultat napačnih predpostavk, kot na primer če predpostavljamo, da so podatki linearni, v resnici pa so kvadratni. Tak model bo imel podmerno prileganje (angl.

underfitting), se pravi, da ima model veliko pristranskost in s tem premalo kompleksnosti, da reši problem. Kot analogijo lahko uporabimo primer študenta, ki se je učil napačne stvari oziroma se jih sploh ni in posledično ni opravil izpita.

 Varianca je posledica prekomerne občutljivosti modela na majhna odstopanja v podatkih.

Vzrok te posledice je svoboda, ki jo ima model, saj poskuša zadovoljiti prileganje skoraj vsem podatkom – prekomerno prileganje (angl. overfitting). Tak model ima veliko varianco in s tem preveliko kompleksnost, da bi uspešno posploševal na druge podatke. Ponovno lahko uporabimo analogijo študenta, ki se je prekomerno učil in si zapomnil vsa vprašanja iz določene knjige, vprašanja pri izpitu pa so malenkost odstopala in ni opravil izpita.

 Napaka podatkov je problem samih podatkov, kjer je mnogokrat prisoten šum. Tak problem lahko rešimo, da dobro očistimo podatke ali pa popravimo podatkovni vir, kot so senzorji.

Del te napake so pogosto tudi skrajne vrednosti (angl. outliers), ki jih moramo odstraniti, razen v primerih, kjer prav te iščemo.

Med pristranskost in varianco je kompromis, saj večja kompleksnost modela poveča varianco ter zmanjša pristranskost. Nasprotno pa manjša kompleksnost modela poveča pristranskost in

(23)

zniža varianco. Cilj dobrega modela je, da najde ravnotežje med varianco in pristranskostjo, da bo uspešno posploševal na nove podatke.

2.3.1 Algoritem globoke nevronske mreže

Ljudje se radi zgledujemo po naravi, iz nje črpamo inspiracijo in ideje. Narava je skozi proces Darwinove naravne selekcije imela milijarde let in ogromno poskusov, da je ustvarila prefinjene sisteme, ki so bili metabolično ter praktično učinkoviti. Osnova za umetne nevronske mreže (angl. artificial neural networks) je arhitektura nevronskih sistemov v naših možganih, ki velja za najbolj kompleksno stvar v znanem vesolju (Koch 2012). Idejo ANN sta leta 1943 prvič predlagala nevrofiziolog Warren McCulloch in matematik Walter Pitts (1943). Predstavila sta poenostavljen model, kako bi lahko biološki nevroni skupaj reševali kompleksne izračune. Leta 1957 je Frank Rosenblatt (1958) predstavil najbolj osnovno komponento ANN – perceptron – ki je sestavljena iz enoslojnih linearnih pragovnih enot (angl. linear treshold unit).

Slika 6: Linearna pragovna enota Vir: Deshpande 2017.

LTU deluje kot poenostavljen biološki nevron, ki sprejme 𝑛-število vhodnih enot 𝑥1, 𝑥2, … 𝑥𝑛. Vsak vhod ima utež, ki se pomnoži z vhodno enoto, nato se v jedru vrednosti seštejejo, 𝑥1𝑤1+

⋯ 𝑥𝑛𝑤𝑛. Skupna vrednost gre skozi aktivacijsko funkcijo, ki razbere, ali je signal dovolj močen, da se nevron sproži. Nevronov izhod je le binaren – 1 ali 0 (v primeru Sigmondove funkcije).

Če razporedimo LTU v več plasti, dobimo večplastni perceptron (angl. multi layer perceptron) s povezavami naprej, kjer imamo vhodno plast, izhodno plast in vsaj eno skrito plast. Vsaka plast razen zadnje je v celoti povezana z naslednjo plastjo (Géron 2017, 265). Problem pri teh mrežah je, da skozi proces učenja niso zmožne spreminjati težišč.

(24)

Slika 7: Večplastni perceptron Vir: Pavlovsky 2017.

O globokih nevronskih mrežah in globokem učenju (angl. deep learning) govorimo takrat, ko imamo nevronsko mrežo z več zaporednimi skritimi plastmi. Arhitektura modernih nevronskih mrež se ne razlikuje bistveno od začetnih idej. Podatki gredo skozi nevronsko mrežo. Vsaka enota v plasti predstavlja LTU s težiščem, ki ojača signala določene sinapse. ANN nato naredi napoved, ki se skozi funkcijo izgube primerja z dejanskim izidom, ki ga bi morala napovedati, na podlagi primerjave pa dobimo rezultat izgube. Ta rezultat predstavlja odstopanje, ki ga mora ANN minimizirati skozi učenje (Chollet 2017, 10). Kot smo omenili, večplastni perceptron s povezavami naprej ne more spreminjati težišča v povezavah, za to potrebujemo povezavo nazaj in algoritem, ki bo te uteži spreminjal. To dosežemo z metodo vzvratnega razširjanja (angl.

backpropagation), ki optimizira parametre v težiščih. Skozi ta proces ANN iterativno izboljša svojo napoved in zmanjša rezultat izgube (angl. loss score).

Slika 8: Globoka nevronska mreža s povezavo nazaj Vir: Chollet 2017, 11.

(25)

2.3.2 Algoritem naključnih gozdov

Da bi razumeli algoritem naključnih gozdov, moramo najprej spoznati odločitveno drevo (angl.

decision tree) in ansambel učenje (angl. ensemble learning). Odločitveno drevo omogoča reševanje napovednih in razvrstitvenih problemov in je eno od najbolj priljubljenih načinov za statistično sklepanje. Velika prednost odločitvenih dreves je, da jih z lahkoto vizualiziramo in interpretiramo, predvsem, če jih primerjamo z umetnimi nevronskimi mrežami, kjer so odločitve kot črna škatla. Odločitveno drevo je sestavljeno iz vozlišč, vej in listov, deluje pa tako, da naredi napoved skozi sekvenco zaporednih testov. Vsako vozlišče predstavlja test za vhodne enote, kjer nas lahko zanima ali je 𝑥1 ≥ 0, nato se vozlišče razcepi na možne veje, ki predstavljajo možne vrednosti za test, ki je bil izveden. Veje vodijo v liste, kjer so vrednosti, ki jih algoritem nato vrne, torej napove (Russell in Norvig 2009, 697–699).

Slika 9: Odločitveno drevo Vir: Gavrilov 2016.

Kot slabost odločitvenih dreves lahko omenimo, da delajo odločitvene meje pravokotno. S tem lahko rotacija podatkovnega niza drastično vpliva na rezultat. Slika 10 prikazuje identičen podatkovni niz, le da je v drugem okviru obrnjen za 45º in s tem drastično vpliva na kompleksnost (Géron 2017, 179).

(26)

Slika 10: Podatkovni niz, obrnjen za 45 º Vir: Géron 2017, 179.

Ansambel tehnika učenja združi napoved skupine modelov (napovednih ali razvrstitvenih), da dobi agregatno napoved, ki je boljša, kot bi bila od posameznega modela (Géron 2017, 183).

Ta princip je znan kot modrost množice, ki pravi, da je v nekaterih primerih skupinska odločitev boljša kot odločitev posameznika (Surowiecki 2004). Ansambel učenje lahko razdelimo na dve kategoriji: paralelno in zaporedno.

Paralelne ansambel metode generirajo modele vzporedno, na podlagi teh modelov pa lahko ansambel napove nov primer in s tem združi napovedi vseh modelov – vrečanje (angl. bagging).

Funkcija, ki odloča, katera napoved bo izbrana za razvrstitvene probleme, je pogosto statistični modus –najpogostejša vrednost in povprečje, če gre za napovedni problem. Prednost te tehnike je, da dobimo model, ki ima manjšo pristranskost in varianco (Géron 2017, 187).

Slika 11: Paralelna ansambel metoda Vir: Géron 2017.

(27)

Zaporedne ansambel metode generirajo modele zaporedno. Vsak model v verigi poizkuša popraviti svojega predhodnika, kjer je imel podmerno prileganje. Posledica tega so napovedovalci (angl. predictor), ki se vedno bolj osredotočajo na težje primere. Na ta način model skozi čas pridobiva vedno več kompleksnosti, da uspešno reši problem. Podrobnosti o zaporedni tehniki bomo raziskali v naslednjem podpoglavju pri algoritmu AdaBoost.

Algoritem naključnih gozdov predstavlja ansambel odločitvenih dreves v paraleli skozi proces vrečanja. Glavna prednost tega algoritma je, da se bolj izogiba prekomernemu prileganju in načeloma bolj posplošuje na nove podatke. To doseže s tem, da uvaja naključnost pri gojenju posameznih odločitvenih dreves (Géron 2017, 191).

2.3.3 Algoritem AdaBoost

AdaBoost spada v družino ansambel tehnike učenje, ki smo jo spoznali v prejšnjem poglavju.

Prav tako smo spoznali tudi dve kategoriji ansambel tehnik: vzporedno, ki se uporablja pri algoritmu naključnih gozdov, in zaporedno ali sekvenčno, ki jo uporablja algoritem AdaBoost.

Glavni koncept algoritma AdaBoost je, da v zaporedju iterativno izboljša svoje prednike skozi čas učenja. Deluje tako, da iz mnogih šibkih učencev (angl. weak learner) ustvari tako imenovanega močnega učenca (angl. strong learner) (Bishop 2006, 657). Algoritem AdaBoost lahko uporabi različne osnovne algoritme, ki služijo kot jedro algoritma (lahko so tudi odločitvena drevesa, ki smo jih spoznali v prejšnjem poglavju). Ta osnovni algoritem se izboljša skozi koncept oteževanja učnega niza, ki vsakemu primeru v učnemu nizu dodeli težišče 𝑤𝑖 ≥ 0. Večja, kot je utež podatka, večjo pomembnost mu dodeli algoritem AdaBoost pri učenju.

Proces spodbujanja se, za vse primere v učnem nizu, začne z določeno težo, nato se generira prvi model ali hipoteza ℎ1, ki naredi napoved. Cilj druge hipoteze ℎ2 je, da naredi boljšo napoved kot prva hipoteza, zato zmanjša težo pri primerih, ki jih je prva hipoteza napovedala prav in poveča težo pri primerih, kjer so bili napovedani napačno. Na podlagi novega oteženega učnega niza se generira hipoteza ℎ2. Proces se nato ponovi tolikokrat, kot mu to dodelimo (Russell in Norvig 2009, 749).

(28)

Slika 12: Algoritem AdaBoost Vir: Navlani 2018.

2.3.4 Metrike za ocenjevanje napovednih modelov

Modele je treba oceniti glede na to, kako dobro ali slabo posplošujejo in rešujejo probleme.

Ocenjevalne metrike med razvrstitvenim in napovednimi algoritmi se razlikujejo. V nadaljevanje bomo raziskali osnovne in najbolj pogoste metrike za napovedne modele.

Priporočeno je, da se v produkciji napovednega modela uporablja le ena metrika, razen v primerih, kjer ocenjujemo tudi čas algoritma (Ng 2019, 21). V primeru naše raziskave smo uporabili vse tri metrike, vključno s časom, da se izognemo določenim pomanjkljivostim raznih metrik in podatkovnega niza.

Koren povprečne napake kvadratov (angl. root means squared error – RMSE) je najbolj pogosta metrika za ocenjevanje napovednih modelov. Definirana je kot kvadratni koren razdalje med pravilnim rezultatom in napovedanim rezultatom, kjer 𝑦𝑖 predstavlja i-ti pravilni rezultat in 𝑦̂𝑖 i-ti napovedni rezultat. Manjša, kot je vrednost RMSE, boljša je napoved modela.

𝑅𝑀𝑆𝐸 = √∑ (𝑦𝑖 𝑖 − 𝑦̂𝑖)² 𝑛

Čeprav je RMSE priljubljena in zelo pogosta metrika, ima težave. Ker gre za povprečje podatkovnih točk, je občutljiva na skrajne vrednosti (angl. outliers), zato moramo že v fazi

(29)

priprave podatke pregledati, ali imamo skrajne vrednosti, ki bi lahko vplivale na rezultate (Zheng 2016, 15).

Povprečna absolutna napaka (angl. mean absolute error – MAE) je podobna metriki RMSE, saj meri napovedno napako modela, vendar ima prednost, da je manj občutljiva na skrajne vrednosti podatkov. Matematično govorimo o povprečni absolutni razliki med pravilnimi rezultati 𝑦𝑖 in napovednimi rezultati 𝑦̂𝑖.

𝑀𝐴𝐸 = 1

𝑛∑|𝑦𝑖 − 𝑦 𝑖|

𝑛

𝑖=𝑖

R-kvadrat (angl. R-squared) ali koeficient determinacije je kvadrat Personovega koeficienta, ki nam opiše prileganje (angl. goodness of fit) regresijske črte. Ta nam pove delež variance odvisne spremenljivke, ki jo lahko pojasnijo neodvisne spremenljivke (CFI 2015). Vrednost metrike R-kvadrat lahko sega med 0 in 1 – višja, kot je vrednost, boljši model imamo. Prednost metrike R-kvadrat je, da je preprosto primerljiva.

Prilagojen R-kvadrat (angl. adjusted R-squared) je popravek R-kvadrata. Glavna razlika med R-kvadratom in prilagojenim R-kvadratom je, da R-kvadrat predpostavlja, da vsaka neodvisna spremenljivka 𝑥 pojasnjuje delež variance neodvisne spremenljivke 𝑦. Prilagojen R-kvadrat pa opisuje le neodvisne spremenljivke, ki imajo dejanski vpliv na odvisno spremenljivko. Zaradi tega razloga so vrednosti prilagojenega R-kvadrata v osnovi nižje od R-kvadrata (Stephanie 2013).

𝑅𝑎𝑑𝑗2 = 1 − [(1 − 𝑅2)(𝑛 − 1) 𝑛 − 𝑘 − 1 ]

(30)

3 RAZISKAVA

V sklopu raziskave smo izvedli primerjalno študijo algoritmov globokih nevronskih mrež, naključnih gozdov in AdaBoost. Podatkovni vir smo najprej pregledali, da bi ugotovili morebitne pomanjkljivosti, izvedli vizualizacijo za lažjo interpretacijo in ga pripravili za modeliranje. Delitev podatkovnega vira je v treh razmerjih – 75/25, 70/30 in 60/40, s tem nadzorujemo uspešnost modela glede na velikost učnega niza.

3.1 Priprava podkovnega vira

Proces začnemo z raziskovalno analizo podatkov z namenom, da dobimo boljši občutek za podatke in informacije o tem, kaj predstavljajo. Ugotoviti moramo, ali je podatkovni vir pomanjkljiv. V osnovi imamo enajst neodvisnih spremenljivk 𝑥:

 edinstven ID-izdelka (angl. item identifier);

 teža izdelka (angl. item weight);

 koliko maščobe vsebuje izdelek (angl. item fat content);

 delež celotne površine prikaza vseh izdelkov v trgovini, ki je dodeljen določenemu izdelku (angl. item visibility);

 kategorija, ki ji izdelek pripada (angl. item type);

 najvišja maloprodajna cena (seznamska cena) izdelka (angl. item MRP);

 edinstvena ID-trgovina (angl. outlet identifier);

 leto ustanovitve trgovine (angl. outlet establishment year);

 velikost trgovine glede na pokritost zemljišča (angl. outlet size);

 vrsta mesta, v katerem se nahaja trgovina (angl. outlet location type);

 vrsta trgovine (angl. outlet type).

Imamo tudi eno odvisno spremenljivko 𝑦, s katero želimo napovedati:

 prodajo izdelka v posamezni trgovini (angl. item outlet sales).

Podatkovni vir najprej pregledamo informativno. Iz tega lahko izvemo, v kakšnem podatkovnem zapisu je določena spremenljivka in ali imamo manjkajoče vrednosti. Iz slike 13 lahko razberemo, da imamo 8523 vrstic in 12 stolpcev oziroma spremenljivk. Pet spremenljivk je v numerični obliki, od katerih je ena diskretna in štiri zvezne ter ostalih sedem spremenljivk v kategorični – besedilni obliki. Ker modeli strojnega učenja ne morejo procesirati besedilnih oblik neposredno, jih bomo morali kasneje spremeniti v reprezentativno numerično obliko.

Poleg tega lahko opazimo, da imamo manjkajoče vrednosti v spremenljivkah teže izdelka in velikosti trgovine, ki jih moramo zapolniti ali pa jih odstraniti.

(31)

Slika 13: Informativni pregled podatkovnega vira

3.1.1 Raziskovalna analiza podatkov

Ciljno spremenljivko, ki nas v nalogi napovedovanja najbolj zanima, pregledamo statistično in jo hkrati vizualiziramo. Opazimo lahko, da imamo normalno unimodalno distribucijo z asimetrijo v desno in povprečjem 2181,29 ter standardnim odklonom 1706,50. Razpon vrednosti je med 33,29 in 13086,96. Večina prodaje izdelkov sega med 0 in 2000.

Slika 14: Distribucija prodaje izdelkov

Čeprav ima naš podatkovni vir kategorične spremenljivke, za katere je znano, da jim ne moremo izračunati osnovne opisne statistike, jih lahko vseeno vizualiziramo s pomočjo histograma. Na sliki 15 lahko vidimo distribuciji šestih kategoričnih spremenljivk – izključena je samo spremenljivka za ID izdelka zaradi velike variabilnosti. Histogram maščobe izdelka vsebuje napačno vnesene vrednosti; »LF« in »low fat«, ki sta mišljena kot »Low Fat« in »reg« kot

(32)

Regular – te vrednosti bomo morali v nadaljevanju popraviti. Napačno vnesene vrednosti so pogosta napaka, z vizualizacijo podatkov pa jih hitro odkrijemo. Iz kategorije izdelkov vidimo, da kategoriji »sadje in zelenjava« ter »prigrizki« predstavljata velik del ponudbe, ki jo ima BigMart. Za trgovine in strategijo, ki jo opravljajo, je vidno, da se osredotočajo bolj na male in srednje velike trgovine s supermarketom tipa 1.

Slika 15: Kategorične spremenljivke

Za oceno kakovosti spremenljivk oziroma podatkov lahko poleg vizualizacije uporabimo tudi druga orodja – eno od teh orodij je metrika kakovosti podatkov. Ta nam omogoča, da dobimo numerično oceno kakovosti o posamezni spremenljivki, na podlagi katere se lahko odločimo ali jo bomo odstranili. Spremenljivke, ki niso reprezentativne, lahko negativno vplivajo na uspešnost modela. Zaradi tega razloga je treba nekakovostne podatke identificirati že v fazi priprave podatkov. Pri metriki kakovosti merimo kakovost podatkov v petih dimenzijah:

 manjkajoče (angl. missing), število manjkajočih vrednosti v stolpcu deljeno s številom vrstic;

 neskončnost (angl. infinite), število neskončnih vrednosti v stolpcu deljeno s številom vrstic;

 identitarnost (angl. ID-ness), število različnih vrednosti v stolpcu deljeno s številom vrstic.

zaradi narave numeričnih spremenljivk, predvsem zveznih, se jim avtomatično pripiše vrednost 0;

 stabilnost (angl. stability), vsota najbolj pogoste nemanjkajoče vrednosti v stolpcu deljeno s številom vrstic;

 veljavnost (angl. valid), delež vrednosti stolpca, ki ni bil štet pod manjkajoče, neskončne, identitetne in stabilne.

Preglednica 1 prikazuje metriko kakovosti za numerične spremenljivke, preglednica 2 pa metriko kakovosti za kategorične spremenljivke. Tri metrike, ki nas najbolj zanimajo, so manjkajoče, neskončne in identitentarne. Pri numeričnih spremenljivkah je najbolj kritična teža

(33)

izdelka, saj nam manjka 17,17 % vrednosti. V nadaljevanju bomo manjkajoče vrednosti popravili s povprečno imputacijo, s tem bomo manjkajoče vrednosti zapolnili s povprečjem od vrednosti, ki jih imamo.

Preglednica 1: Metrika kakovosti za numerične spremenljivke Teža

izdelka

Vidnost

izdelka MRP

Leto ustanovitve trgovine

Prodaja izdelka v posamezni trgovini

Manjkajoče 17,17 0 0 0 0

Neskončnost 0 0 0 0 0

Identitarnost 0 0 0 0 0

Stabilnost 1,01 6,17 0,08 17,17 0,20

Veljavnost 81,83 93,83 99,92 82,83 99,80

Z manjkajočimi vrednostmi se srečamo tudi pri kategoričnih spremenljivkah, in sicer v spremenljivki velikost trgovine, ki ima 28,28 % manjkajočih vrednosti. Te vrednosti bomo popravili z imputacijo, vendar bomo imputirali vrednosti z najpogostejšo vrednostjo, saj gre za kategorično spremenljivko. Lahko bi se tudi odločili, da bi spremenljivko izbrisali.

Spremenljivki, ki ju bomo v nadaljevanju odstranili, sta ID izdelka in ID trgovine.

Preglednica 2: Metrika kakovosti za kategorične spremenljivke

ID izdelka

Maščoba izdelka

Kategorija izdelka

ID trgovine

Velikost trgovine

Vrsta mesta

Vrsta trgovine

Manjkajoče 0 0 0 0 28,28 0 0

Neskončnost 0 0 0 0 0 0 0

Identitarnost 18,29 0,06 0,19 0,12 0,04 0,04 0,05

Stabilnost 0,12 59,71 14,46 10,97 32,77 39,31 65,43

Veljavnost 81,59 40,23 85,36 88,91 38,92 60,66 34,52

3.1.2 Čiščenje podatkovnega vira

Procesa priprave in čiščenja sta bistvenega pomena za uspešnost modelov. Kot smo omenili, se približno 80 % časa porabi v teh fazah in le 20 % v fazi modeliranja. Princip modelov strojnega učenja sledi znanemu reku »smeti noter, smeti ven«. Če bodo modeli dobili vnesene nekakovostne in nereprezentativne podatke, potem bodo rezultati enako nekakovostni in nereprezentativni. V fazi raziskovalne analize podatkov smo odkrili naslednji stvari:

 napačno vnesene vrednosti (maščoba izdelka),

 manjkajoče vrednosti (teža izdelka in velikost trgovine),

(34)

 nereprezentativne spremenljivke (ID izdelka in ID trgovine),

 kategorične spremenljivke.

Omenjene težave smo popravili, poleg teh smo naredili tudi diskretizacijo za spremenljivko teža izdelka, kar pomeni, da jo spremenimo iz zvezno-numerične v kategorično spremenljivko.

Nato sledi še transformacija podatkov ter delitev podatkovnega niza na testni in učni niz.

Eliminacija nereprezentativnih spremenljivk. Glede na rezultate matrike kakovosti smo izbrisali spremenljivki ID izdelka in ID trgovine.

Popravek napačno vnesenih vrednosti. Napačno vnesenim vrednostim dodelimo korektno vrednost tako, da je enotna. Slika 18 prikazuje histogram pred in po popravku.

Slika 16: Popravek napačno vnesenih vrednosti

Popravek manjkajočih vrednosti. Pri manjkajočih vrednostih imamo več možnosti za popravek.

Prva možnost je, da spremenljivke, ki imajo manjkajoče vrednosti, preprosto izbrišemo, vendar bi lahko s tem izgubili potencialno dobre napovedne spremenljivke. Druga možnost je, da manjkajoče vrednosti zapolnimo s tehniko imputacije: modus, povprečje, regresijo in podobno.

V našem primeru smo se za spremenljivko teža izdelka odločili za imputacijo s povprečjem.

Gre za preprosto in lahko tehniko, ki pa ima nekaj težav. Imputacija s povprečjem popači distribucijo spremenljivke, saj zapolni manjkajoče vrednosti s samo eno vrednostjo, kar pomeni, da spremenljivka izgubi del variance (Lodder 2014). To spremembo distribucije lahko opazimo tudi v našem primeru, saj se distribucija spremeni iz relativno enakomerne distribucije v normalno distribucijo.

(35)

Slika 17: Distribucija teže izdelka pred in po imputaciji

Pri spremenljivki velikost trgovine moramo uporabiti imputacijo s tehniko najpogostejše vrednosti, saj gre za kategorično spremenljivko, kjer je povprečje neveljavno. Distribucija v tem primeru ni bistveno spremenjena, je pa opazno, da postane bolj pristranska k najpogostejši vrednosti.

Slika 18: Distribucija velikosti trgovine pred in po imputaciji

Diskretizacija. Spremenljivko teža izdelka smo spremenili iz zvezno-numerične v kategorično.

Diskretizacija omeji spremenljivko na diskretne zaboje (angl. bins) ter s tem izboljša razmerje med signalom in šumom. Vsak zaboj izravna nepotrebna nihanja, ki so prisotna v zvezni spremenljivki. Za diskretizacijo smo izbrali tri zaboje, ki so enakomerno razdeljeni, in jim pripisali tri razrede: lahko, srednje in težko.

(36)

Slika 19: Diskretizacija

Transformacija. Proces začnemo z urejanjem kategoričnih spremenljivk. Kot smo omenili, algoritmi strojnega učenja ne morejo procesirati kategoričnih spremenljivk neposredno, zato smo jih pretvorili v navidezne spremenljivke (angl. dummy variable). To spremeni kategorične spremenljivke v numerični zapis 0 ali 1, ki nam pove samo, ali je spremenljivka prisotna ali ne, torej imamo ob prisotnosti spremenljivke zapis 1 in ob odsotnosti zapis 0. Morda edina posledica tega procesa je, da dobimo več dodatnih stolpcev, torej spremenljivk oziroma dimenzij, kot smo jih imeli na začetku, kar bo definitivno negativno vplivalo na metriko prilagojenega R2. V primeru spremenljivke teža izdelka dobimo iz prvotnega stolpca dva dodatna.

Preglednica 3: Navidezne spremenljivke

Teža izdelka – lahko Teža izdelka – srednje težko Teža izdelka – težko

1 0 0

1 0 0

0 0 1

0 0 1

1 0 0

Dobro vprašanje je, zakaj kategorični spremenljivki, kot je teža izdelka, preprosto ne dodelimo reprezentativne številke: 1 za lahko, 2 za srednje težko in 3 za težko, kar je znano kot kodiranje podatkov. S tem bi seveda obdržali en stolpec, vendar pa pride do težave, kjer bi model strojnega učenja interpretiral kodirane podatke, kot da obstaja določena hierarhija oziroma kriterij razvrščanja med posameznimi vrednostmi, torej 1 < 2 < 3.

Vse podatke imamo sedaj v numerični obliki, zato proces nadaljujemo s skaliranjem oziroma normalizacijo podatkov. Normalizacijo naredimo z namenom, da spravimo spremenljivke v enak razpon vrednosti, saj so določeni modeli in algoritmi strojnega učenja občutljivi na relativne razdalje med dvema točkama v Evklidskem prostoru. Vzemimo štiri možice števil in

(37)

s tem štiri različne razpone 𝐴 = {2,5,7}, 𝐵 = {23,53,63}, 𝐶 = {123,538,865} in 𝐷 = {1245,3252,5722}. Med razponom množice A: 7 − 2 = 5 in množice D: 5722 − 1245 = 4477 je bistvena razlika in s tem tudi Evklidska razdalja med njunima točkama. Če množice normaliziramo po formuli:

𝑥 = 𝑥 − min (𝑥) max(𝑥) − min (𝑥)

dobimo matriko, ki je normalizirana na enotni razpon od 0 – 1, [

0 0 0

0,017 0,015 0,001 0,097 0,016 0,150

1 1 1

].

Delitev podatkovnega niza. Pred delitvijo podatkovnega niza moramo prestaviti odvisno spremenljivko v lasten podatkovni okvir, tako da imamo ločene neodvisne spremenljivke 𝑥 in odvisno spremenljivko 𝑦. Podatkovni niz, ki ima 8523 vnosov, nato razdelimo na tri različna razmerja:

 75 % za učni niz in 25 % za testni niz,

 70 % za učni niz in 30 % za testni niz,

 60 % za učni niz in 40 % za testni niz.

Namen različnih delitev je, da lahko opazujemo, kako bo velikost učnega niza vplivala na končne rezultate. Naključnost delitve podatkovnega niza je konstanta – s tem zagotovimo doslednost in ponovljivost, tako da bo pri vsaki delitvi ter pri vsakem modelu popolnoma enaka porazdelitev spremenljivk.

Podatkovni niz, ki ga imamo po čiščenju in pripravi vsebuje 8523 vnosov in 35 spremenljivk oziroma dimenzij, povečano število dimenzij je rezultat navideznih spremenljivk.

3.2 Modeliranje

V nadaljevanju pridemo do točke, kjer smo uporabili obdelan podatkovni niz in primerjali uspešnost algoritmov. Metrike, ki bodo upoštevane, so koren povprečne napake kvadratov (RMSE), povprečna absolutna napaka (MAE), R-kvadrat (R2), prilagojen R-kvadrat (prilagojen R2) in čas v sekundah. Vsak model bo imel en optimiziran in neoptimiziran rezultat. Drugače bo pri GNM, kjer smo najprej zgradili štiri različne neoptimizirane modele in se nato odločili za optimizacijo le enega. To naredimo izključna zaradi večje variabilnosti, ki jih imajo GNM.

Optimizacija je računsko zahteven del modeliranja, saj imajo modeli različne parametre in hiperparametre, kjer poskušamo najti najboljšo kombinacijo za rešitev problema. Za optimizacijo smo uporabili metodo naključnega iskanja po mreži (angl. randomised grid search), kjer smo definirali mrežo različnih parametrov, nato pa skozi 50 iteracij naključno iskali najboljšo kombinacijo parametrov v prostoru različnih možnosti. Čas je seveda omejen s

(38)

količino procesorske moči, ki jo imamo na voljo, zato moramo poudariti, da so bile komputacije narejene na procesorski osnovi in v paraleli na šestjedrnem (3,20 GHz–3,80 GHz) – 12-nitnem procesorju.

3.3 Model globoke nevronske mreže

Vzpostavitev učinkovitega modela globoke nevronske mreže je prava umetnost, saj imamo ogromno parametrov in hiperparametrov, s katerimi lahko opravljamo arhitekturo in delovanje globoke nevronske mreže. Zaradi tega razloga smo zgradili štiri modele z različno arhitekturo, nato pa izbrali eno arhitekturo in jo optimizirali.

Model GNM 1 je sestavljen iz štirih plasti:

 vhodna plast s 34 vhodnimi enotami;

 skrita plast 1, ki ima 64 nevronov in aktivacijsko funkcijo – ReLU;

 skrita plast 2, ki ima 54 nevronov in aktivacijsko funkcijo – ReLU;

 izhodna plast z 1 izhodno enoto.

Poleg omenjenih plasti imamo še optimizacijski algoritem – adam, število iteracij – 250 in velikost serije – 50.

Model GNM 2 je sestavljen iz treh plasti:

 vhodna plast s 34 vhodnimi enotami;

 skrita plast 1, ki ima 128 nevronov in aktivacijsko funkcijo – ReLU;

 izhodna plast z 1 izhodno enoto.

Poleg omenjenih plasti imamo še optimizacijski algoritem – adam, število iteracij – 150 in velikost serije – 50.

Model GNM 3 je sestavljen iz petih plasti:

 vhodna plast s 34 vhodnimi enotami;

 skrita plast 1, ki ima 64 nevronov, aktivacijsko funkcijo – ReLU in osip (angl. dropout) – 0,5;

 skrita plast 2, ki ima 128 nevronov, aktivacijsko funkcijo – ReLU in osip 0,5;

 skrita plast 3, ki ima 128 nevronov, aktivacijsko funkcijo – ReLU in osip 0,5;

 izhodna plast z eno izhodno enoto.

Poleg omenjenih plasti imamo še optimizacijski algoritem – adam, število iteracij – 300 in velikost serije – 50.

Model GNM 4 je sestavljen iz šestih plasti:

 vhodna plast s 34 vhodnimi enotami;

 skrita plast 1, ki ima 200 nevronov, aktivacijsko funkcijo – ReLU in inicializacijo uteži –

(39)

normalno;

 skrita plast 2, ki ima 100 nevronov, aktivacijsko funkcijo – ReLU in inicializacijo uteži – normalno;

 skrita plast 3, ki ima 50 nevronov, aktivacijsko funkcijo – ReLU in inicializacijo uteži – normalno;

 skrita plast 4, ki ima 25 nevronov, aktivacijsko funkcijo – ReLU in inicializacijo uteži – normalno;

 izhodna plast z 1 izhodno enoto.

Poleg omenjenih plasti imamo še optimizacijski algoritem – adam, število iteracij – 300 in velikost serije – 50.

Modele po učenje lahko primerjamo in vidimo, da so prvi trije najbolj uspešni. Model GNM 4 je imel prekomerno prileganje, verjetno zaradi kombinacije prevelike kompleksnosti in prekomernega števila iteracij. Na podlagi rezultatov smo za optimizacijo izbrali osnovno arhitekturo modela GNM 1 z dvema skritima plastema, saj je z arhitekturnega vidika najboljša izbira med modelom GNM 2, ki ima eno skrito plast in GNM 3, ki ima tri skrite plasti, saj bi lahko bila ena skrita plast premalo kompleksna (podmerno prileganje), tri plasti pa preveč kompleksne (prekomerno prileganje).

Preglednica 4: Rezultati globokih nevronskih mrež – delitev 70/30

Model RMSE MAE R2 Pril. R2 Čas (s)

GNM 1 1090,42 755,90 0,58 0,33 39,69

GNM 2 1082,64 792,62 0,58 0,33 24,40

GNM 3 1088,18 754,10 0,58 0,33 82,74

GNM 4 1440,89 977,07 0,26 0,06 68,76

Optimizacija globoke nevronske mreže

Z ugotovitvami iz osnovnega modeliranja smo izbrali arhitekturo modela GNM 1 kot osnovo za naš optimiziran model. Kar sledi je, da določimo mrežo možnih parametrov, skozi katero smo iskali eno od optimalnih rešitev. Obseg parametrov bo omejen na:

 število nevronov v prvi skriti plasti: [25, 50, 75, 100],

 število nevronov v drugi skriti plasti: [30, 60, 90],

 aktivacijska funkcija: [relu, tanh, sigmoid, hard sigmoid, linear, softmax, softplus, softsign],

 L1 regulacija: [0, 0,01, 0,003, 0,001,0,0001],

 L2 regulacija: [0, 0,01, 0,003, 0,001, 0,0001],

 stopnja učenja: [1e-2, 1e-3, 1e-4],

(40)

 razpad: [1e-6, 1e-9,0],

 osip: [0,0, 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, 0,7, 0,8, 0,9],

 optimizacijski algoritem: [SGD, RMSprop, Adagrad, Adadelta, Adam, Adamax, Nadam],

 iteracije: [50, 100, 150, 200],

 velikost serije: [5, 10, 20, 40, 60, 80, 100, 150],

 inicializacija uteži: [uniform, lecun uniform, normal, zero, glorot normal, glorot uniform, he normal, he uniform].

Na voljo imamo torej 12 parametrov, ki skupaj vsebujejo 68 različnih vrednosti. Če izračunamo število možnih kombinacij v takšnem prostoru dobimo:

(4 1) ∗ (3

1) ∗ (8

1) … ∗ (8 1) ∗ (8

1) = 387,072,000

Zato ni realno, da bi pričakovali najboljšo kombinacijo vrednosti, ki bo proizvedla najbolj optimalno hipotezo. S tem razlogom uporabljamo tudi metodo naključnega iskanja po mreži, kjer lahko naključno naletimo na eno izmed mnogih optimalnih rešitev, in ne le klasičnega iskanja po mreži (angl. grid search), kjer mreža testira vsako možno kombinacijo, ki je na voljo.

Po iskanju dobimo najboljše parametre, ki jih je mreža pridobila skozi 50 iteracij:

 število nevronov v prvi skriti plasti: 100,

 število nevronov v drugi skriti plasti: 60,

 aktivacijska funkcija: linear,

 L1 regulacija: 0,001,

 L2 regulacija: 0,003,

 stopnja učenja: 0,01,

 razpad: 1e-6,

 osip: 0,4,

 optimizacijski algoritem: Adamax,

 iteracije: 50,

 velikost serije: 10,

 inicializacija uteži: glorot uniform.

V preglednici 5 so prikazani rezultat optimizirane GNM in neoptimiziranimi modeli GNM 1, GNM 2, GNM 3 in GNM 4. Najbolj opazna je razlika v času, ki je bistveno večja zaradi procesa optimizacije, ki je bila kljub temu omejena na le 50 iteracij. Delež izboljšave (glede na prejšnjo najboljšo vrednost) je pri določeni metriki:

 RMSE: 2,44 %,

 MAE: 2,84 %,

 R2: 3,45 %,

 pril. R2: 9,09 %.

(41)

Preglednica 5: Rezultat optimizirane globoke nevronske mreže – delitev 70/30

Model RMSE MAE R2 Pril. R2 Čas (s)

GNM 1 1090,42 755,90 0,58 0,33 39,69

GNM 2 1082,64 792,62 0,58 0,33 24,40

GNM 3 1088,18 754,10 0,58 0,33 82,74

GNM 4 1440,89 977,07 0,26 0,06 68,76

GNM opt 1056,21 734,43 0,60 0,36 8326,52

3.4 Model naključnih gozdov

Model naključnih gozdov je za modeliranje v primerjavi z GNM bistveno preprostejši.

Kompleksnih arhitektur ni, prav tako je bistveno manjše število možnih parametrov in hiperparametrov. Neoptimiziran model samo inicializiramo in obdržimo privzete vrednosti.

Preglednica 6: Rezultat modela naključnih gozdov – delitev 70/30

Model RMSE MAE R2 Pril. R2 Čas (s)

NG 1161,29 808,30 0,52 0,26 0,29

Optimizacija naključnih gozdov

Optimizacijo naključnih gozdov smo prav tako izvedli z metodo naključnega iskanja po mreži, zato moramo definirati možni prostor parametrov:

 število gozdov: [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200],

 maksimalna globina dreves: [5, 10, 15, 20, 25, 30],

 najmanjše število vzorcev delitev vozlišča: [2, 5, 10, 15, 100],

 najmanjše število vzorcev za liste: [1, 2, 5, 10],

 maksimalno število upoštevanih lastnosti pri delitvi ji: [auto, sqrt].

Število možnih kombinacij s petimi parametri in 29 vrednostmi je:

(12 1) ∗ (6

1) ∗ (5 1) ∗ (4

1) ∗ (2

1) = 2880

Po naključnem iskanju po mreži dobimo optimalne parametre za nov model naključnih gozdov:

 število gozdov: 1200,

 maksimalna globina dreves: 5,

 najmanjše število vzorcev delitev vozlišča: 100,

(42)

 najmanjše število vzorcev za liste: 10,

 maksimalno število upoštevanih lastnosti pri delitvi: auto.

Preglednica 7: Rezultat optimiziranega modela naključnih gozdov – delitev 70/30

Model RMSE MAE R2 Pril. R2 Čas (s)

NG 1161,29 808,30 0,52 0,26 0,29

NG – opt. 1055,83 737,68 0,60 0,36 335,64

Preglednica 7 vsebuje rezultate neoptimiziranega in optimiziranega modela naključnih gozdov.

Delež izboljšave je pri določeni metriki:

 RMSE: 9,08 %;

 MAE: 8,74 %;

 R2: 15,38 %;

 prilagojen R2: 38,46 %.

Optimizacija naključnih gozdov je s tem bistveno izboljšala prvotno stanje modela, prav tako ni računsko tako zahtevna, kot je model GNM. V primerjavi smo pri GNM porabili 8326 sekund in le 336 pri naključnih gozdovih, kar je 95 % manj časa.

3.5 Model AdaBoost

Model AdaBoost je glede kompleksnosti modeliranja najbolj preprost model. Podobno kot pri modelu naključnih gozdov ga samo inicializiramo in je s tem že pripravljen za napovedovanje.

Kot osnovni algoritem, ki ga bo uporabljal AdaBoost, smo določili odločitvena drevesa. V preglednici 8 vidimo rezultate modela brez optimizacije.

Preglednica 8: Rezultat modela AdaBoost – delitev 70/30

Model RMSE MAE R2 Pril. R2 Čas (s)

AdaBoost 1362,70 1119,10 0,34 0,11 0,27

Optimizacija modela AdaBoost

Mreža, ki smo jo zgradili za optimizacijo, je zelo preprosta, saj bo prostor možnosti zelo preprost in omejen;

 število gozdov: [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200],

 stopnja učenja: [0.01, 0.05, 0.1, 0.3, 1],

 izguba: [linear, square, exponential].

Reference

POVEZANI DOKUMENTI

Ţensko kot mater smo ţe spoznali v prejšnjem poglavju, tukaj pa se bomo posvetili ţenski kot ljubimki in njenemu odnosu do moških in do spolnosti. Podobo

Ko 'smo spoznali nekaj bistvenih epidemioloških posltavk v deúnfekciji, prav tako pa tudi nekaj osnovnih zahtev za dober dezinficietl's, lahko povežemo vse naše želje z

V prejšnjem poglavju smo izpostavili veliko učnih snovi pri matematiki, ki nam omogočajo razvijanje algebraičnega mišljenja. Pomembno pa je, da znamo izbrati

Da bi otroci spoznali igre, ki so se jih igrali naši predniki, smo v okviru diplomske naloge preko projektnega dela skupaj raziskali, odkrivali in se učili pravil

Tako so otroci spoznali, da kozolci ne stojijo samo v Deželi kozolcev, ampak tudi drugje, zato smo se odločili, da si naslednji dan pogledamo, ali kozolci stojijo še kje

Spoznali smo tehniko barvanja prestrukturiranih mandal. Govorili smo o možnostih uporabe te tehnike na likovnih delavnicah pomoči z umetnostjo in za samopomoč. Poudarili smo

Njen dotik je zato v delih Goriškove določen z naravnimi mediji, s tekstilom in celulozo, oziroma z naravnimi snovmi, ki so v preteklosti skozi življenjske izkušnje že prepojili

V sedem mesecev zorenem vinu imajo največjo koncentracijo skupnega ekstrakta chardonnayi (največ med njimi chardonnay iz kleti Ščurek 21,3 g/L), najmanj skupnega ekstrakta ima