V aktivnosti se dogaja več stvari. Učenci
Aktivnost je podobna aktivnosti Obisk v živalskem vrtu, ki je namenjena mlajšim učencem.
Z gradnikom Zbirke podatkov naložimo podatke Živali - z neznanimi tipi (tako da jih dvokliknemo) in jih pokažemo v gradniku Tabela. Vsebujejo podatke o različnih živalih in njihovo deblo - sesalec, dvoživka, žuželka in tako naprej. Da so medvedi sesalci in vrane ptice pa sicer vemo tudi, če nam ne povejo, da prvi ne valijo jajc, slednje pa letijo.
Na koncu tabele so živali, ki niso razvrščene. Tam je slon, za katerega se ve, da je sesalec (zaradi rilca? Mogoče ne. :), če za govnačko morda ne vemo, kam sodi, pa hitro opazimo, da ima perje, torej mora biti ptica. Kako to vemo - pač, vemo, da imajo ptice perje.
Kaj pa, če tega ne bi vedeli vnaprej? Če bi imeli le podatke o živalih (ki jih še ne poznamo) in o njihovih lastnostih, ne da bi vedeli, kaj je tipično za posamično vrsto? Takšne probleme rešujejo postopki strojnega učenja: računalnik dobi le podatke in iz njih mora razbrati pravila.
Za ilustracijo se vrnemo se v gradnik Zbirke podatkov in naložimo podatke Živali v finščini. V eni od izvedb v razredu smo učencem rekli, da so se znašli na Finskem, tam pa jih je hudobni diktator vrgel v zapor, jim dal seznam 87 živali z imeni, lastnostmi in vrstami v finščini, in zagrozil, da morajo do jutra pravilno povedati, kam sodi 13 živali na koncu seznama - ali pa jim odseka glavo. (Zgodba nima ne repa ne glave - zakaj Finska, zakaj bi diktatorja zanimala takšna reč… Vendar je izpadla čisto posrečeno. :) Sodi sopuli med lintu ali, morda, nisäkäs, tako kot je nisäkäs tudi huonekärpänen.
Naučili se bomo rešiti ta problem. Za začetek pa se vrnemo k slovenskim podatkom, da povadimo na njih. Pozabili bomo, kar vemo doslej: delali se bomo, da pravzaprav sploh ne vemo, kaj je to ptica in kaj perje, kot da sploh ne bi poznali teh besed. Sami bomo morali iz podatkov odkriti, da je perje značilnost ptic. Tako bomo sestavili živalski ključ najprej s slovenskimi besedami, potem pa storili enako s finskimi.
Ugotoviti moramo, kaj je tipično za posamične vrste. Podatke povežemo v Porazdelitve.
V Porazdelitve kot spremenljivko izberemo živalsko skupino, stolpce pa delimo glede na posamezne kriterije. Tako lahko vidimo, na primer, koliko živali iz posamezne skupine leti.
Če želimo sestaviti svoj ključ za razlikovanje med skupinami, pa se nam splača sliko obrniti: delimo glede na vrsto, kot spremenljivke pa izbiramo različne lastnosti. Tako, na primer, vidimo, da imajo zobe predvsem ribe in sesalci, nimajo pa jih ptice, žuželke in nevretenčarji.
Skupaj, frontalno, poiščemo podatek, ki nam čim uspešneje loči kako izmed skupin od ostalih. Recimo, da izberemo mleko. V tem primeru na tablo narišemo začetek drevesa – “daje mleko”, v vejo “Da” napišemo Sesalec, “Ne” pa se bo nadaljevala.
V Porazdelitvah izberemo “Ne” in podatke povežemo z novo Porazdelitvijo, ki dobi le izbrane podatke iz prvega gradnika Porazdelitve.
Če so učenci dovolj samostojni, nadaljujejo z gradnjo drevesa: v vsakem koraku najdejo spremenljivko, ki dobro deli preostale živali (v gornjem primeru bi bili to ne-sesalci). Pri tem lahko gre za lastnost, ki je tipična za določeno skupino ali pa tudi za več skupin, za nekatere pa ne (kot, na primer, do neke mere, zobje v prvem primeru, za vse živali).
Če učenci tega še ne bodo zmogli, drevo sestavljamo frontalno. V praksi se je - s pomočnikom ali dvema v razredu - čisto obneslo, da so učenci samoostojno poiskali in predlagali vsak naslednji korak delitve, enega od njihovih predlogov smo uporabili na učiteljevem računalniku in ga narisali na tablo.
Po določenem številu delitev se naveličamo: zakaj moramo klikati po porazdelitvah in iskati tipične lastnosti? Postopek je videti dovolj očiten in nobene posebne pameti in ustvarjalnosti ne zahteva: računalnik bi lahko šel sam prek vseh lastnosti, izračunal, katera najlepše deli živali v skupine ter jo uporabil. Zakaj torej tega ne bi prepustili računalniku?
Seveda mu lahko. V Orangeu obstaja gradnik Drevo, ki sestavi takšno drevo sam. Učencem pokažemo, kako to naredimo.
Drevo bo lahko takšno:
Tu se prepričamo, da učenci razumejo, kako deluje: ponovno pokažemo gradnik Tabela, gremo do dna, kjer je 13 živali z neznanimi vrstami, in jih razvrstimo s pomočjo drevesa.
Če je računalnik sam sestavil drevo, ga najbrž lahko sam tudi uporablja, ne?
Gradnik Napovedi zahteva dva vhoda: podatke o živalih in model, ki naj ga uporablja za napovedi. Povežemo ga tako:
Gradnik Napovedi nastavimo tako, da ne kaže verjetnosti in klasifikacijskih napak (nastavitve na vrhu gradnika), da bo manj navlake.
V prvem stolpcu vidimo skupine, ki jih napoveduje model (torej drevo), v drugem resnične skupine živali. Te se vedno ujemajo. Torej smemo upati, da je model pravilno napovedal tudi skupine živalim na dnu tabele. Pokažemo torej spodnji del in preverimo.
(Mimogrede moramo posvariti: napovedi drevesa za živali z znanimi skupinami so seveda točne, saj jih je algoritem videl ob sestavljanju modela in se jih lahko preprosto “zapomni”. Če bi želeli pravilno testirati model, bi morali začasno odstraniti del podatkov z znanimi skupinami, sestaviti drevo iz ostalih podatkov in ga nato testirati na skritih podatkih. Učencev s tem ne bomo obremenjevali, za učitelja pa se spodobi, da ve za to.)
Zdaj se vrnemo v gradnik Zbirke podatkov in ponovno izberemo Živali v finščini. Dobimo drevo, ki morda ni enako slovenskemu, saj je postopek morda kje slučajno izbral drugo lastnost. Verjamemo pa lahko, da deluje.
Pravzaprav lahko to preverimo: odpremo Napovedi, pogledamo, ali drevo pravilno ugiba skupine tam, kjer so znane … in na koncu tabele izvemo še, da sodi sopuli v kalastaa.
Tu se lahko ura spremeni v zabavno ugibanje finskih besed - vsaj v našem razredu je bilo tako.
Učencem povemo, da računalniki na podoben način sestavljajo tudi modele iz podatkov za povsem druga področja. Tako lahko sestavimo model, ki napoveduje, ali ima nekdo določeno bolezen, katero reklamo se splača pokazati obiskovalcu neke spletne strani in ali se pred samovozečim avtomobilom nahaja kakšna ovira. Model, ki smo ga spoznali ima obliko drevesa. Takšne, preproste modele, so raziskovali predvsem v začetkih umetne inteligence. Današnji modeli so bolj zapleteni, osnovna ideja pa je še vedno podobna.
Z vidika naravoslovja: utrjevanje razlikovanja med skupinami živali.
Z vidika umetne inteligence: učenci spoznajo preprost napovedni model – klasifikacijsko drevo in izvedo, kako ga lahko računalnik sam zgradi. S tem vidijo, kako se računalnik “uči” iz podatkov. Izvedo, da je to le en predstavnik izmed mnogih. Z vidika računalništva na splošno: učenci opišejo algoritem za gradnjo dreves, torej gre tudi za spoznavanje koncepta algoritma.
Predvideni potrebni gradniki Orangea: Zbirke podatkov, Tabela, Porazdelitve, Drevo, Drevogled, Napovedi.
Učenec: