• Ei tuloksia

Opiskelijoiden oppimistulosten ennakointi koneoppimisen menetelmillä

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "Opiskelijoiden oppimistulosten ennakointi koneoppimisen menetelmillä"

Copied!
52
0
0

Kokoteksti

(1)

Opiskelijoiden oppimistulosten ennakointi koneoppimisen menetelmillä

Aaro Alhainen

Pro gradu -tutkielma

Tietojenkäsittelytieteen laitos

(2)

itä-suomen yliopisto

, Luonnontieteiden ja metsätieteiden tiedekunta, Joensuu Tietojenkäsittelytieteen laitos

Tietojenkäsittelytiede

Alhainen, Aaro: Opiskelijoiden oppimistulosten ennakointi koneoppimisen menetelmillä Pro gradu -tutkielma, 45 s.

Ohjaajat: Ilkka Jormanainen ja Tapani Toivonen 2. syyskuuta 2021

Tiivistelmä: Tutkielman tavoitteena oli selvittää soveltuvatko koneoppimisen me- netelmät opiskelijoiden oppimistulosten ennakointiin sekä toteuttaa pienimuotoinen työkalu opiskelijadatan helppoon analysointiin. Kirjallisuudessa esitettyjen tutkimustu- losten perusteella koneoppimisen menetelmät soveltuvat opiskelijoiden oppimistulosten ennakointiin erinomaisesti. Menetelmistä erityisesti esiin nousivat päätöspuut niiden yk- sinkertaisuuden ja muita vaihtoehtoja helpomman ymmärrettävyyden ansiosta. Lisäksi neuroverkkoihin ja syväoppimiseen verrattuna päätöspuut sekä muut kappaleessa 4.2.1 esitellyt menetelmät tarvitsevat keskimäärin vähemmän dataa kouluttamiseen,joten ne soveltuvat hyvin erityisesti kohteisiin joissa dataa ei ole saatavilla suuria määriä. Tämä ei kuitenkaan poista haasteita, joita esimerkiksi riski ylikouluttamiselle tuo. Oppimis- tulosten ennakointia voidaan tehostaa yhdistelemällä eri koneoppimisen menetelmiä jolloin ennakointitarkkuutta voidaan kasvattaa edelleen.

Avainsanat: Koneoppiminen, neuroverkot, luokittelijat, oppimistulosten ennakointi, Educational Data Mining

(3)

Sisältö

1 Johdanto 1

1.1 Tutkimuskysymykset . . . 2

1.2 Tutkimusmenetelmät . . . 2

2 Tutkimuksen taustaa 3 2.1 Oppimistulosten ennakointi . . . 3

2.2 Aiemmat tutkimukset . . . 4

2.2.1 Nick Z. Zacharis . . . 4

2.2.2 Jie Xu ja kumppanit . . . 7

2.3 Olemassa olevien työkalujen esittely . . . 9

2.3.1 Weka . . . 9

2.3.2 RapidMiner studio . . . 9

2.3.3 Excel . . . 11

2.3.4 SPSS . . . 12

2.3.5 Yhteenveto . . . 13

(4)

3 Koulutusdatan louhinta 14

3.1 Miten koulutusdatan louhinta tapahtuu? . . . 14

3.2 Mitä koulutusdata louhinnalla tavoitellaan? . . . 14

3.3 Koulutusdatan louhinnan haasteet . . . 15

4 Koneoppimisen menetelmät 17 4.1 Mitä koneoppimisen menetelmät ovat ja mihin niitä käytetään? . . . . 17

4.1.1 Koneoppimisen kolme tyyppiä . . . 18

4.1.2 Mihin koneoppimistä käytetään? . . . 19

4.2 Eri menetelmien esittely . . . 19

4.2.1 Luokittelumentelmät . . . 20

4.2.2 Klusterointimenetelmät . . . 27

5 Kokeellisen osuuden esittely 32 5.1 Tekninen kuvaus . . . 33

5.1.1 Datan prosessointi . . . 34

5.2 Käytön kuvaus . . . 34

5.3 Toteutustavasta aiheutuvat haasteet . . . 36

5.4 Datan kuvaus, rakenne ja vaatimukset . . . 39

6 Tulokset ja johtopäätökset 40 Viitteet 43 A Liitteet 46 A.1 Työkalun testitapaukset . . . 47

(5)

1. Johdanto

Valitsin aiheeksi ”Opiskelijoiden oppimistulosten ennakointi koneoppimisen menetel- millä”, koska oppimistulosten ennakointi eri metodeja hyödyntäen on kiinnostanut jo pidempään. Tein kandin samaisesta aiheesta, mutta keskittyen ennakointimenetelmissä vain neuroverkkoihin. Neuroverkkojen avulla ennakoinnissa päästään korkeisiin tark- kuuksiin, mutta huonona puolena niissä on se, että koulutukseen tarvittavan datan määrä on suuri. Kouluissa opetusryhmien koot eivät ole yleisesti kovinkaan suuria ja niinpä kerättävän datan määräkin pysyy yleensä pienenä ja tästä johtuen kaikkia ennakointime- netelmiä ei voida hyödyntää tehokkaasti. Pienien datasettien takia lähdin selvittämään miten eri koneoppimisen menetelmät soveltuvat oppimistulosten ennakointiin, koska eri menetelmien käyttöön tarvittava datan määrä vaihtelee suuresti. Tässä tutkimuksessa ta- voitteena on selvittää mitkä koneoppimisen menetelmät ovat tehokkaita oppimistulosten ennakoinnissa, erityisesti pienillä dataseteillä, sekä rakentaa tutkielman toteutusosassa yksinkertainen ja helppokäyttöinen työkalu opiskelijadatan tulkintaan.

Oikean menetelmän valinta voi osoittautua haastavaksi, mutta sopivan menetelmän avulla oppimistulosten ennakointia voidaan tehdä helpommin sekä tarkemmin ympäristöissä joissa kerättävää dataa ei ole paljoa tarjolla tai se on muuten puutteellista. Hyvin valittu menetelmä mahdollistaa tukea tarvitsevien opiskelijoiden havaitsemisen entistä pienemmissä ryhmissä, mahdollisesti jo ennen kuin opiskelija jää liikaa muita jälkeen.

Tutkielman rakenne on seuraava. Aloitan esittelemällä oppimistulosten ennakointia neuroverkoilla. Käyn läpi mitä neuroverkot ovat, miten niitä voidaan hyödyntää oppi- mistulosten ennakoinnissa sekä esittelen esimerkkejä kirjallisuudesta. Neuroverkkojen jälkeen etenen oppimistulosten ennakointiin muilla koneoppimisen menetelmillä. Osios- sa esittelen mitä koneoppimisen menetelmät ovat sekä mihin niitä käytetään, miten mentelmiä voidaan hyödyntää oppimistulosten ennakoinnissa. Lisäksi vertaan miten koneoppimisen menetelmät poikkeavat neuroverkoilla ennustamisesta sekä esittelen esimerkkejä kirjallisuudesta. Seuraavaksi siirryn kokeellisen osuuden esittelyyn. Ko-

(6)

Esittelen toteutetun ohjelman rakenteen sekä demonstroin sen käyttöä. Kokeellisen osuuden jälkeen seuraa pohdintoja sekä johtopäätöksiä aiheesta.

1.1 Tutkimuskysymykset

Aiemmassa tutkielmassani opiskelijoiden oppimistulosten ennakoinnista neuroverkoilla tavoitteena oli selvittää voiko opiskelijoiden oppimistuloksia ennakoida neuroverkoilla.

Lisäksi samanlaista tutkimusta on tehnyt myös Toivonen väitöskirjassaan.[25] Tutkiel- mien perusteella voidaan todeta, että neuroverkot soveltuvat teknisesti tähän tarkoituk- seen erittäin hyvin. Niiden hyödyntäminen aiheuttaa kuitenkin erityisesti datan laatuun ja määrään liittyviä rajoituksia. Yksi tällainen rajoitus on esimerkiksi neuroverkkojen heikko suoriutuminen kun datan määrä on pieni.[28]

Tässä tutkielmassa tarkoituksena on jatkaa opiskelijoiden oppimistulosten ennakoinnin tutkimista ja keskittyä vastaamaan seuraaviin tutkimuskysymyksiin:

RQ 1:Miten nykyiset olemassa olevat työkalut soveltuvat oppimistulosten ennakointiin?

RQ 2:Soveltuvatko neuroverkkojen lisäksi myös muut koneoppimisen menetelmät opis-

kelijoiden oppimistulosten ennakointiin?

RQ 3: Millaisia teknisiä ratkaisuja työkalussa tulisi tehdä jotta vähemmän tilas- totieteellistä ammattitaitoa omaavat henkilöt haluaisivat käyttää sitä?

1.2 Tutkimusmenetelmät

Valitsin tutkielman tutkimusmenetelmäksi suunnittelututkimus-metodin (Design Re- search). Suunnittelututkimus on kasvattanut suosiotaan erityisesti kasvatustieteiden alalla, mutta myös tietojenkäsittelytieteen tutkimuksen sekä erityisesti koulutusdatan lou- hinnan tutkimuksessa. Suunnittelututkimus-metodologian tavoitteena on muun muassa kehittää empiirisesti perusteltuja teorioita kokeilemalla eri käytännön toteutuksia.[24]

Näiden ominaisuuksien seurauksena katsoin että suunnittelututkimus on metodologiana tutkielmaani hyvin soveltuva ja siten päätin käyttää sitä.

(7)

2. Tutkimuksen taustaa

Kiinnostus koulutusdatan louhintaa kohtaan on kasvanut viimeisen kymmenen vuoden aikana merkittävästi kun erilaiset digitaaliset oppimisympäristöt ovat yleistyneet. Näistä oppimisympäristöistä saadaan enenemissä määrin erilaista hyvinkin yksityiskohtaista dataa, jota voidaan hyödyntää esimerkiksi tutkimuksissa ja erilaisissa analyyseissä.

Tutkielmassa käytettävä tutkimusmenetelmä on design research ja tavoitteena on vertailla eri koneoppimisen metodien soveltuvuutta opiskelijoiden oppimistulosten ennakointiin sekä vertailla jo olemassa olevien työkalujen hyviä sekä huonoja puolia. Lisäksi tämän tiedon pohjalta tavoitteena on luoda työkalu opiskelijadatan analysointiin ja testata sen toimivuutta sekä sopivuutta teknisen testauksen avulla.

2.1 Oppimistulosten ennakointi

Erilaista oppimistulosten ennakointia on tehty pienessä määrin jo vuosikymmenien ajan kun opiskelijoiden oppimisen edistymistä on seurattu esimerkiksi pistokokeiden avulla ja niiden perusteella annettu tukiopetusta. Tämä on kuitenkin vaatinut sen että opettaja viettää saman opiskelijaryhmän kanssa paljon aikaa ja tuntee opiskelijat, jolloin hän pystyy ajan saatossa muodostamaan kuvan eri opiskelijoiden vahvuuksista sekä heikkouksista. Teknologisen kehityksen ansiosta oppimateriaalit sekä oppimistehtävät ovat siirtyneet kasvavissa määrin sähköisiin oppimisympäristöihin, joiden kautta kou- lutusdataa on mahdollista saada aivan uudella tavalla. Saatavilla olevan datan määrän ja kattavuuden kasvun ansiosta oppimistulosten ennakoinnin mahdollisuutta suuressa mittakaavassa on alettu tutkia ja sen tarjoamia mahdollisuuksia selvittää.

Oppimistulosten ennakointi on noussut viime vuosien aikana ajankohtaiseksi aiheeksi muun muassa koulutuksen määrärahojen niukkuuden takia. Opiskelijoiden oppimistulok- sia ennakoimalla voidaan nähdä opiskelijoiden oppimisen eroavaisuuksia ja siten havaita

(8)

muun ryhmän tahdista ja siten reputtaa kurssin tai jopa jättää koulun kesken. Tällöin oppilaitoksen resursseja voidaan käyttää tehokkaammin kun resursseja voidaan keskittää ennalta sellaisiin paikkoihin joissa niitä tarvitaan. Resurssien tehokkaampi käyttö johtaa myös siihen että resursseja voidaan hyödyntää muuhun käyttöön. Yliopistot ja muut koulutuksen järjestäjät joiden tulovirta perustuu valmistuvien opiskelijoiden määrään, hyötyisivät merkittävästi siitä jos keskeyttävien opiskelijoiden määrä saadaan minimoi- tua. Tämä mahdollistaisi esimerkiksi tutkimukseen käytettävän ajan sekä resurssien lisäämisen ja opiskelijoille tarjottavien palveluiden sekä kurssitarjonnan parantamisen.

2.2 Aiemmat tutkimukset

Esittelen seuraavaksi muutamia oppismistuloksien ennakointiin keskittyviä tutkimuksia joissa on hyödynnetty sähköisistä oppimisympäristöistä saatavaa dataa. Tutkimuksissa on tutkittu sitä että onko oppimistulosten ennakointi ylipäätänsä mahdollista sekä millä menetelmillä ennakointia voidaan tehdä.

2.2.1 Nick Z. Zacharis

Nick Z. Zacharis tutki neuroverkkojen soveltuvuutta opiskelijoiden opiskelumenestyksen ennakointiin tutkimuksessaan.[10] Zacharis käytti tutkimuksessaan dataa insinööri- ja konepajaopiskelijoista vuosilta 2015-2016. Datan lähteenä Zacharis käytti kahta Moodle- oppimisalustalla pidettyä kurssia, joista saatiin tiedot, milloin ja mitä materiaaleja opiskelija oli käyttänyt. Zacharis käytti Moodle-datasta kuutta eri atribuuttia neuroverkon rakentamiseen [Taulukko 2.1].

Tutkimuksessa käytettiin Multilayer Perceptron (MLP) neuroverkkoa. Neuroverkkomalli rakennettiin ja sen tarkkuus testattiin IBM SPSS Statistics (SPSS) ohjelmistolla. Neuro- verkko koulutettiin back-propagation learning algoritmilla, jossa neuroneiden painoja säädettiin Gradient Descent -menetelmällä siten että kokonaisvirheen määrä saadaan mahdollisimman pieneksi. Zacharis jakoi tutkimuksessa käytetyn datan satunnaisesti kolmeen osaan, koulutusdataan (60%), testausdataan (20%) sekä verkon tuottamien tulosten validointiin käytettävään dataan (20%). Koulutusdata käytetään verkon koulut- tamiseen, jossa määritellään muun muassa neuroneiden aloituspainot. Testausdatalla pyritään löytämään verkon tuottamia virheitä ja välttämään ylikouluttamista. Validointiin varatulla datalla varmistetaan verkon tuottamien arvojen oikeellisuus. Ennen käyttöä,

(9)

Menetelmien vertailu oppimistuloksien ennakoinnin kontekstissa

Riippumattomat Riippuvat

• Viestien määrä joita opiskelija kat- soi ja/tai lähetti

• Opiskelijan osallistuminen sisällön tuottamiseen

• Opiskelijan katselemien tiedosto- jen lukumäärä

• Tehtyjen tehtävien/visojen määrä

• kurssin lopputulos 0 tai 1(0 = hy- lätty ja 1= hyväksytty). Lopputulos tulee suoraan kurssin lopussa saata- vasta arvosanasta, josa arvosana on korkeampi kuin 6 niin lopputulos on 1, muutoin 0.

Taulukko 2.1:Zachariksen käyttämät attributit

datasta irrotetaan tulokset, jonka jälkeen se voidaan syöttää verkolle. Tämän jälkeen ver- kon antamia tuloksia verrataan datasta aiemmin irrotettuihin, jolloin nähdään tuloksissa oleva virheen suuruus. Ennen verkon kouluttamista Zacharis normalisoi koulutusdatan käyttämällä kaavaa [Kaava 2.1], joka palauttaa arvon väliltä 0 ja 1.

(x− Min)

(M ax−Min) (2.1)

Neuroverkkoon Zacharis käytti seuraavia asetuksia.

”MLP Success (MLEVEL=N) WITH Messages Ccc Quiz_Efforts Files_Viewed/RESCALE COVARIATE=NORMALIZE /PARTITION

TRAINING=6 TESTING=2 HOLDOUT=2 /ARCHITECTURE AUTOMATIC=NO HIDDENLAYERS=1 (NUMUNITS=AUTO) HIDDEN FUNCTION=TANH

OUTPUTFUNCTION=SOFTMAX /CRITERIA TRAINING=BATCH

OPTIMIZATION= SCALED CONJUGATE LAMBDAINITIAL=0.0000005 SIGMAINITIAL=0.00005 INTERVALCENTER=0 INTERVALOFFSET=0.5 MEMSIZE=1000 /PRINT CPS NETWORKINFO SUMMARY CLASSIFICATION

SOLUTION IMPORTANCE /PLOT NETWORK ROC GAINLIFT PREDICTED/OUTFILE MODEL=’C:\Users\Nikzach\Hubic\Artificial

Prediction - Nikos\6-8-2016\Synaptic_Weights.Xml’ /STOPPINGRULES ERRORS TEPS= 10 (DATA=AUTO) TRAININGTIMER= ON (MAXTIME=15)

(10)

Piilossa olevalle kerrokselle käytettiin aktivointifunktiona hyperbolista tangenttia. Zacha- ris:n mukaan koulutuksen aikana neuroneiden painojen säätämiseksi parhaat vaihtoehdot ovat ”batch-mode” ja ”online (incremental) -mode”. Tutkimuksessa Zacharis käytti

”batch-modea”, koska se on yhtä hyvä kuin ”online-mode”, mutta vaatii hiukan vähem- män laskentatehoa. Syynä pienempään laskentatehon vaatimukseen on että ”batch-mode”

hyödyntää painojen säätämiseen aiempaa koulutusdataa. Zacharis käytti skaalattua Con- jugate Gradient -metodia verkon kouluttamiseen. Se on yleisesti käytetty iteratiivinen metodi lineaaristen yhtälöiden ratkaisemiseen ja sen on todettu olevan Gradient Descent sekä perinteistä Conjugate Gradient -menetelmiä kevyempi ja helpommin optimoi- tavissa. Koulutuksen aikana neuroverkon neuroneiden painoja päivitettiin jokaisen iteraatiokierroksen välissä.

Zacharis määritti koulutukseen viisi eri pysäytysehtoa, jolloin koulutus lopetetaan.

Säädetyt ehdot olivat:

1. Virheen määrä ei laske 10 perättäisen iteraatiokierroksen aikana.

2. Koulutusaika ylittää 15 minuuttia.

3. Automaattisesti säätyvä enimmäismäärä koulutusjaksoille.

4. Virheen suhteellinen muutos on alle 1.0e-4 %.

5. Virheen muutoksen suhde on alle 1.0e-3 %.

Zacharis:sin tavoitteena oli tutkia voiko MLP-neuroverkkoja hyödyntää opiskelijan kurssituloksen määritämisessä, hyödyntämällä dataa opiskelijan käyttäytymisestä opimi- salustalla sekä osallistumisesta kurssin tehtäviin. Tutkimuksen tulokset olivat todella hyviä ja neuroverkon luokittelukyky oli erinomainen. Zacharis:sin saamat tulokset koulutuksen lopussa [Taulukko 2.2].

Taulukko 2.2:Zachariksen saamat tulokset koulutuksen lopussa Lopputulos Hylätty Hyväksytty Luokittelutarkkuus(%)

Hylätty 28 1 96,6%

Hyväksytty 0 30 100%

Kokonaisprosentti 47,5% 52,5% 98,3%

(11)

2.2.2 Jie Xu ja kumppanit

Xu ja kumppanit lähestyvät tutkimuksessaan asiaa koulutuksen kustannusten tiimoilta eli miten koulutuksesta saataisiin edullisempaa. Yksi hintojen laskun mahdollistava tekijä on opiskelijoiden valmistumisnopeus. Ajallaan tai ennenaikaisesti valmistuva opiskelija kuluttaa oppilaitoksen resursseja vähemmän kuin hitaasti opinnoissa etenevä opiskelija. Niinpä olisi hyödyllistä rakentaa sellainen järjestelmä jonka avulla pystyt- täisiin seuraamaan opiskelijoiden etenemistä ja oppimistuloksia jatkuvan seurannan periaatteella sekä ennakoimaan tulevaa. Tällöin keskeyttäneiden tai muuten opintojen vaikeuden sekä haasteiden takia tapahtuva hidastuminen voitaisiin havaita hyvissä ajoin ja puuttua siihen. Tutkimuksessan käytettiin 1169 Kalifornian yliopiston mekaanisen ja avaruustieteen laitoksen opiskelijan tietoja jotka oli kerätty kolmen vuoden aikana.[20]

Xu ja kumppanit huomauttavat että vaikka opiskelijoiden oppimistuloksien ennakointia on tutkittu paljon, on tavoitteena ollut ratkoa älykkäinen tuutorointijärjestelmien (Intel- ligent Tutoring System, ITS) ongelmia sekä perinteisten että MOOC-opintokurssien suorittamista. Ne kuitenkin eroavat merkittävästi tutkintoon tähtäävien opintojen ennus- tamisesta, joissa tulee vastaan uudenlaisia ongelmia.

Ensimmäinen haaste on se, että tutkinto koostuu lukuisista eri kursseista ja niiden suori- tusjärjestys vaihtelee opiskelijoittain muun muassa pää- ja sivuaine kokonaisuuksien mukaan. Lisäksi opiskelijoiden taustat voivat poiketa toisistaan huomattavasti, joka on yksi merkittävä tekijä opintojen suoritusnopeuden sekä arvosanojen ennakoinnissa. Kurs- silla voi samaan aikaan olla sekä pääaineopiskelijoita että kyseistä ainetta sivuaineena tekeviä. Tämä lisää opiskelijoiden taustojen vaikutusta ennakointiin, koska opiskelijoita tulee eri osaamis- ja tietotaitotasoilla.

Toisekseen opiskelija suorittaa opintojensa aikana lukuisia kursseja jotka eivät kuitenkaan ole keskenään saman veroisia oppimistuloksien ennakoinnin kannalta. Eri kurssien välillä voi olla suuria eroja niiden antaman informaation välillä. Niinpä ennakointiin ei kannata käyttää kaikkia kursseja vaan pyrkiä valitsemaan mahdollisuuksien mukaan vain relevantit. Kaikkia kursseja ei kannata käyttää, koska se ensinnäkin lisää datan määrää ja monimutkaisuutta ja tuo siten merkittävästi lisää kohinaa, joka taas johtaa ennakointitarkkuuden laskuun.

Kolmanneksi opiskelijoiden oppimistulosten ennakointi tutkinto-ohjelmassa ei ole yhdellä kerralla suoritettava tehtävä vaan vaatii jatkuvaa seurantaa ja analysointia opiskelun etenemisen ohessa.

(12)

kolme päävaihetta ovat algoritmin toteutus, datapohjaisen kurssiklusterointialgoritmin toteuttaminen sekä simuloitujen opintojen tekeminen. Tutkimuksessa käytettävä data on kerätty 1169 opiskelijasta kolmen vuoden ajalta.

Tutkimuksessa käytettävä ennakointialgoritmi on progressiivinen eli sitä voidaan päivit- tää ajan saatossa uudella opiskelijadatalla. Idea on siinä että kun opiskelija suorittaa opintoja, hänen tietämyksensä aiheesta kasvaa, jolloin myös aiemmin opitun tiedon vaikutus voimistuu tiedon soveltamisen myötä. Tutkimuksessa opiskelijoiden käymien kurssien relevanttiutta oppimistulosten kannalta pyrittiin selvittämään eri suosittelijajär- jestelmistä (recommender systems) tutulla todennäköisyysmatriisikertoimella (probabi- listic matrix factorization). Oppimistulosten ennakoinnissa kohdataan samankaltaisia haasteita kuin esimerkiksi elokuvien suosittelijajärjestelmissä eli jokainen käyttäjä on arvostellut vain pienen osan koko elokuvakannasta. Tilanne on sama opiskelijoiden kanssa koska jokainen opiskelija käy vain pienen osan koko kurssitarjonnasta jolloin kurssien relevanttiutta oppimistulosten kannalta on hankala päätellä aukottomasti. Kurs- sin relevanttiutta voidaan kuitenkin päätellä sen mukaan onko kyseinen kurssi kuinka monen kurssin esitietovaatimuksena. Tätä tietoa voidaan hyödyntää myös syötteiden lukumäärän minimoinnissa, koska syötteiksi voidaan valita vain ne kurssit jotka ovat kunkin kurssin esitietovaatimuksena.

Xu ja kumppanit toteavat että arvosanojen keskiarvon ennakointi suoraan opintojen päättyessä on hankalaa, joten he pilkkovat ongelman pienempiin kokonaisuuksiin ja ennakoivat arvosanat yksittäisille kursseille. Tälläkin tavalla opintojen edetessä arvosanan ennakointi monimutkaistuu, koska suoritettujen kurssien määrän kasvaessa myös niistä tulevien syötteiden määrä kasvaa.

Tutkimusta varten Xu ja kumppanit loivat neljä ennustusalgoritmia joiden avulla opiskelijoiden menestystä ennakoitiin vuosineljänneksittäin. Käytetyt algoritmit olivat lineaarinen regressio, logistinen regressio, satunnainen metsä (Random Forest) sekä K- lähin naapuri. Xu ja kumppanit haluavat painottaa kuitenkin että he tekivät oletuksen että saman alan opiskelijat suorittavat kurssit samassa järjestyksessä sekä valitsevat samat pääkurssit joka vuosi neljännes. He toteavat kuitenkin että oletus ei todennäköisesti pidä aina paikkaansa koska todellisuudessa opiskelijat suorittavat kursseja aina hieman toisistaan poiketen.

Tutkimuksen aikana havaittiin että satunnainen metsä -algoritmi suoriutui useimmissa tapauksissa parhaiten ja K-lähin naapuri-algoritmi huonoiten. Tuloksista oli havaittavissa että ennustusvirheen määrä pieneni vuosineljänneksien kasvaessa. Tutkimuksen tarkoitus oli osoittaa, että oppimistuloksien ennakointi käytetyillä metodeilla on mahdollista ennakoida opiskelijoiden oppimistuloksia sekä esittää eroja heidän suoriutumisessa.

(13)

2.3 Olemassa olevien työkalujen esittely

Esittelen seuraavaksi tällä hetkellä opiskelijoiden datan käsittelyyn soveltuvia oh- jelmistoja. Esiteltävät ohjelmistot ovat suosituimpia datan käsittelyyn käytettäviä ohjelmistoja.[26]

2.3.1 Weka

Weka[26] on Java-pohjainen koneoppimisen työkalu joka sisältää laajan kirjaston erilaisia tiedonlouhinnan sekä mallin rakennuksen algoritmeja. Weka ei tue uusien ominaisuuksien lisäämistä dataan, mutta siitä löytyy toiminto ominaisuuksien valitse- miselle. Weka tarjoaa laajan valikoiman algoritmeja luokitteluun, klusterointiin sekä erilaisten riippuvuuksien havaitsemiseen joita voidaan käyttää sekä yhdessä että erikseen.

Lisäksi Wekaan on saatavissa erilaisia laajennuksia joilla ohjelmiston toimintaa sekä ominaisuuksia voidaan muuttaa.

Ohjelmistoa voidaan käyttää graafisen käyttöliittymän lisäksi myös komentoriviltä sekä Wekan tarjoaman Java API:n kautta. Käyttöliittymä on suunniteltu käyttäjille joilla ei ole Weka:sta tai sen tarjoamista ominaisuuksista suurta kokemusta. Komentorivi sekä Java API on suunnattu hieman kokeneemmille käyttäjille ja ne myös tarjoavat graafista käyttöliittymää laajemmat ominaisuudet.

2.3.2 RapidMiner studio

RapidMiner studio[26] on tiedon louhintaan sekä mallien luontiin käytetty ohjelmisto.

RapidMiner studiosta löytyy toiminto ominaisuuksien valitsemiselle, mutta toisin kuin Weka, RapidMiner studio pystyy luomaan dataan uusia ominaisuuksia vanhojen perusteella. RapidMiner studio sisältää todella laajan valikoiman erilaisia algoritmeja klusterointiin, assosiaatiosääntöjen louhintaan sekä muihin sovellutuksiin.

RapidMinerin graafista ohjelmointikieltä pidetään keskimäärin muita vastaavia tiedon- louhintatyökaluista löytyviä kieliä parempana ja tehokkaampana. Wekan tavoin myös RapidMiner studio sisältää API:n jonka kautta ohjelmiston toimintoja voi käyttää sekä Javalla että Pythonilla. RapidMiner sisältää samat algoritmit kuin Wekakin, mutta sen lisäksi siinä on yhteisön luomia algoritmeja sekä parametri ehdotuksia.

(14)

Kuva 2.1:Weka-työkalun käyttöliittymä

Kuva 2.2:RapidMiner Studio -työkalun käyttöliittymä [22]

(15)

2.3.3 Excel

Excel on yleisin ja ehkä helppokäyttöisin tilastollinen datan analysointiin käytetty työkalu. Se eroaa muista työkaluista sillä että se ei varsinaisesti keskity tiedon louhintaan tai mallien luontiin vaan pyrkii olemaan mahdollisimman yleiskäyttöinen tilastollinen työkalu erityisesti kohtuullisen pienille dataseteille. Excelissä datan muokkaaminen on nopeaa sekä vaivatonta ja tehdyt muutokset näkee datassa välittömästi. Excelin etuna on sen käyttö vaadi juurikaan aiempaa tietämystä ohjelmistosta tai tilastotieteestä, mutta tehokasta käyttöä varten tämä tieto on välttämätöntä. Taulukko-ohjelman avulla opiskelijadatasta erilaisten lukujen ja numeeristen yhteenvetojen tekeminen on helppoa, mutta muun tyyppisistä dataa Excelillä on hankalaa käsitellä.

Kuva 2.3:Excel-työkalun käyttöliittymä

(16)

2.3.4 SPSS

SPSS on tilastollisiin toimenpiteisiin, testeihin, korrelaatio- sekä regressioanalyyseihin suunnattu työkalu. SPSS:n mukana tulee Modeler-työkalu joka on suunniteltu erityisesti luomaan datasta uusia ominaisuuksia olemassa olevien perusteella. Lisäksi työkalu sisältää toiminnallisuuksia muun muassa datan filtteröintiin, ominaisuuksien valintaan sekä ominaisuusavaruuden pienentämseen. Vaikka SPSS on todella kattava tilastotieteen työkalu, sen datan mallinnusominaisuudet ovat muita verrokkeja heikommat. SPSS:n heikkouksia on sen joustamattomuus ja räätälöinnin haasteellisuus. Lisäksi SPSS:n toimintojen dokumentaatio on osittain heikko.

Kuva 2.4:SPSS-työkalun käyttöliittymä [21]

(17)

2.3.5 Yhteenveto

Esitellyistä ohjelmistoista osa on ilmaisia ja osasta on saatavissa ilmainen kokeiluversio.

Yhteinen tekijä ohjelmistojen välillä on se, että niillä opiskelijadatan käsittely vaatii käyttäjältä ennakkotietämystä aiheesta sekä vähintäänkin vahvoja tilastotieteen perusteita.

Tämän takia kyseiset työkalut eivät ole opetushenkilökunnalle relevantteja vaihtoehtoja opiskelijadatan analysointiin.

(18)

3. Koulutusdatan louhinta

Koulutusdatan louhinnalla (Educational data mining) tarkoitetaan työkaluja sekä -tapoja joiden avulla koulutusdatasta saadaan automaattisesti jalostettua uutta tietoa. Koulutus- datan louhinnalla tavoitellaan yleensä tarkempaa tietoa opiskelijoiden oppimistuloksista.

Tätä tietoa voidaan hyödyntää muun muassa havaitsemaan tukiopetusta tai muuta tukea tarvitsevat opiskelijat sekä kohdentaa resursseja muuten tarkemmin.

3.1 Miten koulutusdatan louhinta tapahtuu?

Koulutusdatan louhinta on usein sähköiseen oppimisalustaan, esimerkiksi Moodleen, kytketty työkalu joka käsittelee palvelussa kerättävä dataa automaattisesti ja tarjoaa koh- deryhmälle lisää tietoa opiskelijoiden suoriutumisesta opinnoissa. Palvelusta saatavissa oleva data sisältää muun muassa seuraavia tietoja: käyttäjän viettämä aika palvelus- sa, käyttäjän käyttämä aika jonkun tehtävän tekoon sekä käyttäjän tekemien tehtävien tulokset.

3.2 Mitä koulutusdata louhinnalla tavoitellaan?

Ryan S. Baker ja Kalina Yacef[27] tutkivat koulutusdatan louhintaa ja määrittivät sille neljä tavoitetta:

• Ennakoidaan opiskelijan tulevaa oppimiskäyttäytymistä

• Olemassa olevien opetustekniikoiden parantaminen tai uusien kehittäminen

• Oppimisympäristöjen tarjoaman tuen vaikutusten arviointi

• Tieteellisen tiedon lisääminen niin oppijoista kuin oppimisesta

(19)

3.3 Koulutusdatan louhinnan haasteet

Koulutusdatan louhinnassa haasteina ovat muun muassa eettisyys, käytettävän datan arkaluontoisuus sekä datan pirstaleisuus. Datan haasteiden lisäksi EDM:n vaikeutena on sen käyttämiseen vaadittava osaaminen sekä työkalut.

Eettiset kysymykset nousevat esille kun louhinnalla tuotettua dataa käytetään väärin esimerkiksi opiskelijaa itseään vastaan. Tästä esimerkkinä voisi olla tilanne jossa kurssille otetaan vain henkilöt jotka algoritmien mukaan kykenevät suoriutumaan kurssista. Toinen esimerkki voisi olla että koulutuslinjalle valitaan sellaiset opiskelijat jotka varmasti valmistuvat ajallaan jolloin koulutuksen tarjoava laitos saa opiskelijoista maksimaalisen hyödyn.[29]

Käytettävän datan arkaluontoisuus aiheuttaa haasteita tiedon varastoinnin ja käytön osalta.

Opiskelijoista kerättävä data sisältää henkilötietoja sekä henkilökohtaisiksi luettavia tietoja. Näiltä osin täytyy ottaa huomioon muun muassa GDPR:n tuomat säännökset datan varastointiin ja siitä huolehtimiseen. Lisäksi tällainen tieto voi vääriin käsiin joutuessa aiheuttaa merkittävää haittaa datasetissä mukana oleville henkilöille.[29]

Datan pirstaleisuus voi olla joissakin tapauksissa suuri haaste. Tiedonlouhinnasta saatavia tuloksia parantaa se jos käytettävää dataa on paljon. Koulumaailmassa tieto on kuitenkin hajallaan useammassa eri järjestelmässä pieninä palasina, joka johtaa siihen että tietoa joudutaan koostamaan useammasta järjestelmästä samaan paikkaan jotta vaadittava tietomäärä saadaan täytettyä.

Datan haasteiden lisäksi EDM sisältää omat haasteensa. Tiedonlouhinnalla voidaan saada todella arvokasta tietoa jonka avulla voidaan tehdä paljon parempia päätöksiä.

Tiedonlouhinta kuitenkin vaatii syvää tuntemusta niin siihen käytettävistä työkaluista kuin työtavoista jotta sitä osataan käyttää siten että saatavat tulokset ovat mahdolli- simman hyviä. Tämän lisäksi tiedonlouhintaa tekevillä henkilöillä tulee olla syvää tilastollista sekä analyyttistä osaamista. Tämä siksi että vaikkakin valmiita työkaluja sekä tapoja on saatavilla, ei niitä voida useinkaan hyödyntää suoraan vaan saadakseen edes kohtuullisia tuloksia täytyy niitä osata konfiguroida kyseisen datan tarpeiden mu- kaiseksi. Konfigurointi tarkoittaa yleensä työkalun asetuksien säätämistä ja usein myös dataa käsittelevien algoritmien kirjoittamista joiden avulla data muotoillaan työkalulle sopivaan muotoon.[30]

Tiedonlouhinnan vaatima osaaminen on sellaista jota ei löydy sellaisilta henkilöiltä,

(20)

osaava henkilö tai ulkoistaa tiedonlouhinta jollekin kolmannelle osapuolelle. Molemmat ratkaisut lisäävät tiedonlouhinnan kustannuksia ja hidastavat prosessia merkittävästi. Li- säksi ulkoistus toisi haasteita myös tiedonhallinnan kannalta koska silloin opiskelijoiden tietoja täytyisi luovuttaa kolmannelle osapuolelle, joka ei välttämättä ole datan luonteen perusteella sopivaa.[30]

Louhinnan lisäksi erityisosaamista vaatii tuloksena saatavan datan analysointi. Tuloksena saatavalla raakadatalla ei useinkaan suoraan tehdä mitään vaan siitä muodostetaan analysoimalla näkemyksiä.[30]

Tutkielman toteutusosa pureutuu erityisesti näihin seikkoihin eli miten työkalusta tehdään niin helppokäyttöinen, että sitä pystyy käyttämään sekä sen tuottamia tuloksia ymmärtämään ilman erityistä osaamista data-analytiikasta tai tilastotieteestä.

(21)

4. Koneoppimisen menetelmät

Tässä kappaleessa käyn läpi eri koneoppimisen menetelmiä, niiden toimintaperiaatteita sekä esittelen niiden käyttökohteita.

4.1 Mitä koneoppimisen menetelmät ovat ja mihin niitä käytetään?

Koneoppimisen menetelmät ovat vuosikymmenien aikana saaneet monia erilaisia virallisia määrityksiä. Yhden tällaisen määritelmän on antanut Arthur Samuel. Hänen mukaan koneoppiminen on tutkimusala joka antaa tietokoneille mahdollisuuden oppia ilman että tietokone varsinaisesti ohjelmoidaan kyseisen asian tekemistä varten.[13]

Koneoppiminen on teknologia kehittää algoritmeja joilla on kyky mallintaa ihmisen ajattelutoimintaa. Koneoppiminen on saanut paljon vaikutteita eri aloista, muun muassa tekoälystä, todennäköisyyksistä sekä tilastotieteestä, tietojenkäsittelytieteestä sekä psy- kologiasta ja filosofiasta.[14, 15, 16] Tärkein yksittäinen tekijä näissä algoritmeissa on se, että ne kykenevät oppimaan ympäröivän kontekstin syötetyn datan perusteella ilman varsinaista ohjausta tai opetusta. Koneoppimista hyödynnetään hahmontunnistuksessa, konenäössä, avaruusalusten kehittämisessä, finanssisektorilla, viihdeteollisuudessa sekä lääketieteen alalla.

Koneoppimisen algoritmi on laskennallinen prosessi joka pyrkii täyttämään sille määri- tellyn tehtävän syötettävän datan perusteella, ilman että määritetty tehtävä on kirjoitettu eli kovakoodattu algoritmin logiikkaan tuottamaan halutun kaltainen lopputulos. Ky- seisiä algoritmeja voisi luonnehtia pehmokoodatuiksi, koska niillä on kyky muokata muuttaa toimintalogiikkaansa syötetyn data perusteella. Toistojen seurauksena algoritmi kehittyy entistä paremmaksi ja suoriutuu siten annetusta tehtävästä paremmin, tämä

(22)

Koulutuksen päätyttyä algoritmin “oppimisen” ei tarvitse päättyä vaan se voi jatkaa syötteistä oppimisprosessia sen elinkaaren loppuun saakka, kuten ihmisetkin.

4.1.1 Koneoppimisen kolme tyyppiä

Koneoppimisen algoritmit voidaan jakaa karkeasti kolmeen eri kategoriaan. Ensimmäi- nen sekä ideaalein koneoppimisen tyyppi on emuloida ihmisen tapaa oppia syötteiden prosessoinnissa. Tavoite voi olla esimerkiksi hahmon tunnistus, tavoitteena esimerkiksi tunnistaa omenat ja appelsiinit. Jokainen omena ja appelsiini on uniikki, mutta yleensä helposti toisistaan tunnistettavissa. Sen sijaan että algoritmi kovakoodattaisiin tunnis- tamaan kyseiset hedelmät toisistaan esimerkiksi värin, koon tai muodon perusteella, voidaan tehdä algoritmi joka oppii tunnistamaan hedelmät toisistaan kun sitä koulutetaan.

Koulutuksessa algoritmille esitettäisiin monia tarkkoja kuvauksia kyseisistä hedelmistä jolloin algoritmi oppii minkälaisia ominaisuuksia hedelmillä on. Kuvaus hedelmästä voi sisältää luokan lisäksi esimerkiksi värin, koon, muodon, maun ja tuoksun. Luokan ja muiden attribuuttien perusteella algoritmi pystyy oppimaan minkälaisia ominaisuuk- sia mihinkin luokkaan eli hedelmän kuuluu ja onnistunut oppija pystyykin oppimisen aikana saadun kokemuksen perusteella luokittelemaan hedelmiä joita ei koulutusdatassa ilmentynyt.

Toinen koneoppimisen tyyppi perustuu ohjaamattomaan oppimiseen. Ohjaamaton op- piminen toimii algoritmin kohdalla hyvin samankaltaisesti kuin neuroverkkojenkin kohdalla. Ohjaamattomassa oppimisessa algoritmille syötettävä data ei sisällä valmiita luokitteita eikä sille siten kerrota koulutuksen aikana täsmällisesti mitä lopputulos jokai- sen syötteen kohdalla on vaan koulutus perustuu siihen että algoritmi itse hakee suunnan miten lähtee oppimaan. Vertauskuvana voisi pitää vaikka boulderointia (kiipeilyä ilman valjaita tai apuköysiä). Ihminen kykenee oppimaan kiipeilemään itsenäisesti ilman ope- tusta. Oppiminen tapahtuu tällöin ohjaamattomasti ja oppiminen tapahtuu käytännössä toistojen ja epäonnistumisten kautta. Vaikka kiipeilijä todennäköisesti oppii kiipeile- mään, todennäköisyys sille että hänen otteensa tai tekniikkaansa on epäoptimaalinen on suuri eli lopputulos ei välttämättä ole toivottu. Tämä sama pätee myös algoritmeihin eli vaikka algoritmi oppii itsenäisesti, voivat sen antamat tulokset olla erilaisia kuin alkuun oli toivottu. Ohjaamattoman oppimisen huonoina puolina on oppimisen hitaus, koska algoritmilla ei ole selkeää suuntaa minne lähteä.

Kolmas tapa yhdistää kaksi aiempaa ja on siten “puoliohjaavaa” oppimista. Siinä ennen datan syöttämistä algoritmille, osasta syötteistä poistetaan luokitteet jolloin algoritmi saa vihjeitä mihin suuntaan lähteä, mutta se ei saa valmiina kaikkea tietoa vaan joutuu soveltamaan saadun tiedon perusteella. Tämä tyyli muistuttaa eniten luonnollista

(23)

oppimista, koska esimerkiksi aiemmin läpikäydyn kiipeilyesimerkin tapauksessa on harvoin tilanteita jolloin kiipeilyhallilla ei olisi muita kiipeilijoitä. Sen sijaan usein kiipeilyn ohessa seuraamalla muiden kiipeilijöiden suorituksia oppii uusia tekniikoita ja tapoja.

4.1.2 Mihin koneoppimistä käytetään?

Naqa ja Murphy mainitsevat teoksessaan että onnistuneessa algoritmissa on kaksi eri- tyisen tärkeää etua. Ensimmäinen etu on että algoritmi kykenee korvaamaan työläitä ja toistuvia ihmisen töitä. Toinen vielä tärkeämpi etu on että algoritmi kykenee oppi- maan monimutkaisempia ja hienovaraisempia kuvioita syötetystä datasta kuin ihminen kykenisi.[17]

Naqa ja Murphy antavat käytännön esimerkkinä sädehoidot, joissa kyseisistä ominai- suuksista olisi suurta etua. Esimerkiksi päivittäinen kasvainten ääriviivojen seuraaminen sekä hoidon aikana vaarassa olevien sisäelimien seuranta on aikaa vievä prosessi joka pohjautuu havainnoitsijan osaamistasoon sekä kokemukseen ihmisen anatomiasta diag- nostisissa kuvissa. Lisäksi havainnoitsijan kokemuksella on rajansa sekä epävarmuutta ja havainnoitsijoiden välistä vaihtelua joka vaikuttaa havaittuihin kasvaimiin.[17]

Algoritmin avulla voidaan poistaa kyseiset epävarmuustekijät ja saada havainnoinnin laatu mahdollisimman tasaiseksi. Lisäksi algoritmin avulla voidaan saada tarkempia tuloksia, koska algoritmi kykenee havaitsemaan diagnosistisista kuvista pienempiä vaihteluita sekä yhdistämään eri muutosten seurauksia toisiinsa. Lisäksi hoitoihin kuuluu usein myös sädehoitoja jotka ovat monimutkainen prosessi, koska säteilyn määrää täytyy säädellä yksilöllisesti jokaisen potilaan kohdalla ja optimoida annettu määrä että se tehoaa parhaalla mahdollisella tavalla kasvaimeen, mutta kuitenkin minimoiden haittavaikutukset.[17]

4.2 Eri menetelmien esittely

Tässä kappaleessa esittelen eri koneoppimisen menetelmiä. Menetelmien yhteydessä on kuvaus menetelmästä sekä esimerkki käyttötapauksesta. Teen esiteltyjen menetelmien välillä pienimuotoista vertailua eli miten ne eroavat toisistaan ja miten saavutettavat lopputulokset eroavat toisistaan.

(24)

4.2.1 Luokittelumentelmät

Neuroverkot

Neuroverkko on matemaattinen malli, joka yrittää simuloida biologisen neuroverkon, esimerkiksi ihmisen aivojen, rakennetta sekä toiminnallisuutta. Verkko koostuu joukosta keskenään toisiinsa yhteydessä olevista neuroneista. Neuroneiden tarkoitus on vastata aivoissa olevia neuroneita.[1, 7] Neuroverkosta pyritään siten tekemään toimintalogiikal- taan aivoja muistuttava koneellinen datan mallinnustyökalu, jota pystytään kouluttamaan haluttuun tehtävään.

Neuroverkkojen käytetään yleisesti havaitsemaan datasta riippuvuuksia sekä kuvioita, joiden avulla neuroverkko voi tehdä johtopäätöksiä sekä ennusteita. Neuroverkkoja voidaan hyödyntää tehtävissä jotka ovat haastavia perinteisille tietokoneille. Näitä tehtäviä ovat muun muassa sää- ja myyntiennusteet, sähkönkulutuksen ennustaminen, puheentunnistus sekä konkurssien ennustaminen.[3, 4]

Neuroverkon rakenne Neuronit ovat neuroverkon solmuja joissa datan käsittely ta- pahtuu. Verkon rakenne koostuu kerroksista joissa neuronit ovat [Kuva 4.1]. Verkossa on aina vähintään kaksi kerrosta jotka molemmat ovat näkyviä. Näkyvien kerrosten lisäksi verkko voi sisältää N – 2 (N = neuroverkon kerrosten lukumäärä) kappaletta piilossa olevia kerroksia jolloin verkko kykenee vaativampaan datan käsittelyyn. Neuronien sekä kerrosten määrä on suunnittelukysymys ja niiden määrä päätetäänkin yleensä kokemuksiin perustuen vaikkakin viitearvoja neuronien ja kerrosten ylä- ja alarajoille on käsitelty monessa tutkimuksessa.[5] Jokainen neuroni ottaa vastaan sarjan painotettuja syötteitä joko aiemman kerroksen neuroneilta tai verkon ulkopuolelta, jos kyseessä on syöttökerros. Neuroni käsittelee syötteet ja jos syötteiden käsittelyn jälkeen neuronille koulutuksen aikana säädetty aktivointifunktio ylittyy se ”laukeaa”. Kun neuroni laukeaa, se lähettää syötteiden käsittelystä saadun tuloksen yhdelle tai useammalle seuraavan kerroksen neuronille.[2] Yksi tällainen funktio on lineaarinen aktivointifunktio. Lineaa- rinen aktivointifunktio on toiminnaltaan sekä rakenteeltaan yksinkertainen. Toisin kuin esimerkiksi porrasaktivointifunktio joka antaa arvon 0 tai 1, lineaarinen aktivointifunk- tio suorittaa saamalleen syötteelle aiemmin määrätyn laskutoimituksen ja antaa arvon sen perusteella. Toimintatavan seurauksena neuroverkon kerrosten lukumäärä menettää merkitystään, koska verkon läpi kulkevien arvojen käsittely on varsin yksinkertaista.

Neuroverkon kouluttaminen Yksi neuroverkon käyttöönoton vaiheista on kouluttami- nen. Ihmisten tavoin neuroverkot oppivat suoraan sille syötetystä datasta. Koulutuksessa

(25)

Kuva 4.1:Yksinkertaisen neuroverkon rakenne

verkko koulutetaan haluttuun tehtävään koulutusdatan avulla. Koulutusdata koostuu ratkaistavaan asiaan liittyvistä attribuuteista. Koulutusalgoritmeja on monia, mutta ne voidaan jakaa kahteen pääkategoriaan, jotka ovat ohjattu ja ohjaamaton kouluttaminen.

Koulutuksessa neuroverkon jokaisen neuronin painoa säädetään, kunnes neuroverkon tuottama tulos alkaa olla halutun kaltainen.[5, 7] Ohjatussa koulutuksessa yksi yleinen toimintatapa on jakaa koulutusdata kahteen osaan. Koulutukseen käytettävän datan osuus on 70% - 80% kokonaisdatasta ja verkon tuloksien validointiin käytettävä osuus on 20% - 30%.[3] Toinen tapa on jakaa data kolmeen osaan. Ensimmäinen ja suurin osa on koulutusta varten 50% - 60%, toinen osa on verkon testausta 30% ja kolmas tuloksien validointia varten 10% - 20%.[2, 3]

Koulutusdatan määrän ollessa pieni sen jakaminen osiin saattaa aiheuttaa ongelmia siten, että verkosta tulee alikoulutettu. Alikoulutettu verkko ei pysty luokittelemaan dataa jolloin neuroverkon tuottama tulos voi olla huonompi kuin täysin satunnaisesti tehty datan jaottelu.[5]

Koulutuksen tavoitteena on opettaa neuroverkko tulkitsemaan datasta haluttuja asioita sekä saada tulkintojen virhemarginaali halutun rajan sisään. Perinteinen tapa on jatkaa koulutusta, kunnes neuroverkon koulutussyklin laskennallinen virhe alittaa virheelle ase- tetun maksimin. On kuitenkin todettu, että koulutuksen jatkaminen virheelle asetettuun maksimiin saakka ei välttämättä ole järkevää ja voikin johtaa verkon ylikouluttamiseen.

Ylikouluttamisessa datan käsittely- sekä analysointikyky heikkenee, koska verkko yk- sinkertaisesti oppii datan ulkoa eikä kykene yleistämään ongelmaa ja antamaan tuloksia sen pohjalta.[5, 6]

(26)

datasta on poistettu lopputulokset. Haittapuolena on, että tällä tavalla kouluttaminen on merkittävästi hitaampaa kuin käyttämällä ohjattua kouluttamista sekä koulutuksen lopputulosta ei voi tietää ennalta. Ohjaamaton koulutus lopetetaan, kun neuroverkko saa- vuttaa sille ennalta määrätyn suorituskyvyn.[2] Ohjaamatonta kouluttamista käytetään, kun neuroverkon halutaan luokittelevan data useampaan eri kategoriaan.[8]

Koulutuksen jälkeen neuroverkon neuroneiden painot yleisesti jäädytetään vaikkakin jotkin neuroverkkotyypit mahdollistavat niin kutsutun jatkuvan oppimisen. Jatkuvassa oppimisessa neuroneiden painoja säädetään hitaasti neuroverkkoon syötetyn datan perusteella. Tämän tavan etuna on se, että neuroverkko pystyy mukautumaan muuttuvaan dataan, jolloin sen käyttöikä voi olla pidempi.[2]

Koulutuksen viimeisenä vaiheena on verkon validointi eli testaus, jossa varmistetaan, että verkon tuottamat tulokset ovat ennalta määrätyn virhemarginaalin sisällä. Testauksessa käytetään kokonaisdatasta testaukseen varattua osuutta, josta irrotetaan data, jota verkon halutaan tuottavan. Tämän jälkeen data syötetään neuroverkkoon ja tuloksia verrataan irrotettuun dataan, josta saadaan laskettua verkon keskimääräinen virhemarginaali (Mean Squared Error).[2] Keskimääräinen virhe lasketaan käyttämällä kaavaa [Kaava 4.1], jossa p on prosessoijaelementin antamien tuotosten lukumäärä, N on datasta löytyvien esimerkkien lukumäärä, Yij on verkon tuotos esimerkkiin i prosessointi elementissä j ja Dij on haluttu tuotos esimerkkiin i prosessoija elementissä j.

M SE = ÍPN

j=0,i=0(di j−Yi j)2

N P (4.1)

Keskimääräisen virheen ollessa hyvin pieni on syytä olettaa, että verkko on ylikoulutettu ja siten sen suorituskyky on heikentynyt.[6]

Vastavirta-algoritmi Perinteisessä neuroverkossa data kulkee vain yhteen suuntaan, eteenpäin ja neuroneiden painojen säätely tapahtuu aina iterointikierrosten välissä.

Vastavirta-algoritmilla tieto kulkee neuroverkon sisällä myös taaksepäin. Kun neuro- verkko havaitsee virheen, tieto siitä palaa neuronilta sitä edeltäville neuroneille, jonka avulla saadaan selville neuronin osuus virheeseen ja säädettyä sen painoa kyseisen osuuden perusteella. Vastavirta-algoritmin avulla painojen säätely saadaan osaksi tiedon prosessointia. Vastavirta-algoritmi tuo etua erityisesti silloin kun käsiteltävässä datassa oleva tieto sisältää riippuvuussuhteita.[11]

(27)

Data ja sen käsittely Jotta neuroverkkoa voidaan kouluttaa, tarvitaan dataa asiasta, jota halutaan käsitellä. Dataa voidaan hankkia esimerkiksi eri tietokannoista tai teke- mällä kysely asiaan liittyvältä kohdeyleisöltä.[1, 2] Ennen kuin dataa voidaan syöttää neuroverkkoon, on se normalisoitava esimerkiksi arvojen 0 ja 1 välille. Neuroverkko toi- mii paremmin sekä on helpompi kouluttaa, kun datan attribuuttien arvojen keskinäinen vaihtelu ei ole ylettömän suurta. Suuri arvojen vaihtelu aiheuttaa virheellisiä tuloksia, koska suuriarvoiset attribuutit peittoavat pienemmät.[1]

Syväoppiminen

Syväoppiminen (Deep Learning) on osa keinotekoisiin neuroverkkoihin perustuvia koneoppimisen sovellutuksia. Syväoppiminen käsittää eri arkkitehtuureihin perustuvia neuroverkkoja kuten syvät neuroverkot, syvän uskon verkot, takaisin kytkeytyvät neuro- verkot sekä konvoluutioneuroverkot. Näitä eri arkkitehtuurin omaavia syväoppimisen metodeja hyödynnetään muun muassa puheentunnistuksen, konenäön sekä luonnollisen kielen prosessoinnin yhteydessä. Syväoppiminen tarkoittaa neuroverkkoa jolla on useita kerroksia ja joka pyrkii progressiivisesti erottelemaan korkean tason ominaisuuksia prosessoimattomasta syötteestä. Syväoppiminen poikkeaa perinteisistä neuroverkoista sillä että verkon koko on perinteistä huomattavasti suurempi.[19]

Perinteisiin “matalantason” luokittelijoihin verrattuna syväoppiminen tarvitsee vähem- män syötteen esiprosessointia kuten ominaisuuksien erottelua jossa poistetaan syötteestä tarpeettomia ominaisuuksia datan sopivuuden parantamiseksi.[19]

Konvoluutioneuroverkot Konvoluutiota käytetään yleensä korvaamaan vähintään yhden kerroksen matriisikertominen. Konvoluutioneuroverkot on suunniteltu prosessoi- maan moniulotteista dataa, esimerkiksi väri- sekä videokuvaa. Konvoluutioneuroverkko perustuu neljään ideaan jotka hyödyntävät luonnollisten signaalien ominaisuuksia kuten paikallisia yhteyksiä, jaettuja painoja, yhdistämistä sekä monien kerrosten hyödyntä- mistä. Multi Layer Perceptron (MLP) -verkkoihin verrattuna konvoluutioverkot ovat vähemmän alttiita ylikouluttamiselle, koska toisin kuin MLP-verkoissa jossa jokainen perceptron on yhteydessä seuraavan kerroksen jokaiseen perceptroniin, on niissä yhteyk- sien määrä minimoitu. Konvoluutioneuroverkkojen etuna on myös se, että ne tarvitsevat varsin vähän datan esiprosessointia, koska ne pystyvät oppimaan suodattamaan dataa ja löytämään sieltä vain kiinnostavat ominaisuudet. Konvoluutioneuroverkon piilos- sa olevat kerrokset koostuvat yleensä sarjoista konvolutionaalisia kerroksia. Yleisin

(28)

kerrosten antamaa tulosta saadaan yksinkertaistettua ja siten sitä saadaan helpommin käsiteltävä.[19]

Konvoluutioneuroverkkoja on käytetty menestyksekkäästi havaitsemaan, jakamaan osiin sekä tunnistamaan asioita sekä alueita kuvista. Kyseiset tehtävät ovat luonteeltaan sellai- sia että niissä on suuria määriä merkittyä dataa (labelled data), kuten liikennemerkkien tunnistusta sekä kasvojen, tekstin ja ihmiskehon tunnistusta valokuvista. Yksi suurimmis- ta lähiaikojen käytännön menestyksestä on kasvojen tunnistus. Kasvojen tunnistuksen avulla voit nykyään avata matkapuhelimen lukituksen sekä tehdä passintarkastuksen matkalle lähtiessä. Kuvan tunnistus on toinen merkittävä tällä hetkellä nousussa oleva sovellutus. Kuvan tunnistusta hyödynnetään itsestään ajavissa autoissa monella tapaa tunnistamaan muun muassa liikennemerkkejä, tiemerkintöjä, muita tiellä liikkujia sekä tien muotoa ja suuntaa. Konvoluutioneuroverkot ovatkin tällä hetkellä paras tapa tehdä erilaisia tunnistus- ja havaitsemistehtäviä. Suurin tekijä syväoppimisen suosion kasvulle on viime vuosien kasvanut laskentakapasiteetti. Entistä tehokkaampia näytönohjaimia tulee markkinoille vuosittain ja hinnat ovat siten laskeneet. Siinä missä monimutkaisen verkon kouluttaminen saattoi viedä viikkoja vielä pari vuotta sitten, voi kyseisen verkon kouluttaminen onnistua tänä päivänä muutamassa tunnissa.[19]

Takaisinkytkeytyvät neuroverkot Takaisinkytkeytyvät neuroverkot poikkeavat pe- rinteisistä syväoppimisen verkoista siten että ne kykenevät säilyttämään tilaa (state) piilossa olevissa soluissa. Tähän tilaan on tallennettuna tietoa kaikista syötteistä joita neuroverkko on saanut. Takaisinkytkeytyvä neuroverkko kykenee ennakoimaan hyvin muun muassa seuraavan merkin tekstistä sekä seuraavan sanan lauseesta. Tällaisissa tilanteissa tilaan voidaan tallentaa tekstin yleiskuva eli onko tekstin sisältö esimerkiksi positiivinen tai negatiivinen. LeGun, Bengio ja Hinton esittävät hyvänä esimerkkikäyt- tökohteena kääntäjän joka kääntää englanninkielistä tekstiä ranskaksi.[19] Siinä ensin

“englanninkielinen” tulkki lukee tekstin ja luo ajatusvektorin joka kuvastaa tekstiä ja palauttaa sen tuloksena. Tämän jälkeen kyseistä ajatusvektoria voidaan käyttää tekstin ranskaksi kääntävän verkon alkutilana. Verkko päättää ensimmäisen sanan, jonka jälkeen se päättää todennäköisyyslaskentaa hyödyntäen mikä seuraava sana on. Tätä jatketaan kunnes päästään tekstin loppuun. Tämän kaltainen yksinkertainen konekäännösten tekeminen on viime aikoina ruvennut kilpailemaan state-of-art metodien kanssa ja herät- tääkin kysymyksen siitä, tarvitaanko lauseen merkityksen ymmärtämiseen muuta kuin sisäisiä ilmaisuja joita muokataan päättelemissääntöjen avulla. Lisäksi yhdistämällä takaisinkytkeytyvät neuroverkot konvoluutioneuroverkkojen kanssa voidaan kuvien si- sältöä muuttaa tekstiksi. Tämä on mahdollista koska konvoluutioneuroverkot kykenevät analysoimaan kuvia pikselitasolla ja muuttamaan sen aktiivivektoriksi jonka avulla takaisinkytkeytyvä neuroverkko kykenee muodostamaan sitä kuvaavan tekstin.[19]

(29)

Takaisin kytkeytyvien neuroverkkojen haasteena on se, että vaikka ne sisältävätkin

“muistia” eli pystyvät pitämään tallessa tietoa edellisistä syötteistä, eivät ne kuitenkaan kykene oppimaan pitkän aikavälin riippuvuuksia. Tämä johtuu siitä, että “muistin”

kasvaessa myös verkon koko ja erityisesti syvyys kasvaa, mutta jokainen kerros on kopio toisistaan siinä mielessä että ne jakavat samat painot. Niinpä pitkän aikavälin riippuvuuk- sien ja suhteiden muistamiseen toimivat paremmin Long Short-Term Memory (LSTM) -verkot, jotka ovat takaisinkytkeytyvien neuroverkkojen alalaji. LSTM-verkot sisältävät jokaisessa piilossa olevassa kerroksessa erityisen muistisolun jonne tietoa tallennetaan ja joka syöttää sitä sitten seuraavalle kerrokselle. Käyttämällä takaisin kytkeytyvän neuroverkon kanssa LSTM-tekniikkaa, voidaan takaisin kytkeytyville neuroverkoille tyypillinen häviävän gradientin ongelma ratkaista, koska LSTM mahdollistaa että gra- dientin arvo voi pysyä muuttumattomana. LSTM-tekniikasta huolimatta “räjähtävän gradientin” ongelma on edelleen läsnä.[19]

K-lähin naapuri

Toisin kuin neuroverkot, lähimmän naapurin luokittelijat lähestyvät ongelmaa eri tavalla.

Ne eivät neuroverkkojen tapaan yritä yleistää mallia vaan arvioivat sitä vain paikallisesti.

Lähimmän naapurin luokittelija algoritmi pyrkii luokittelemaan annetun datan aiempien syötteiden perusteella. Luokittelija toimii siten, että koulutusvaiheessa sille annetaan dataa jonka luokittelija sijoittaa avaaruuteen, jossa on yksi ulottuvuus jokaista datan sisältämää ominaisuutta kohden. Esimerkiksi jos datassa on kolme ominaisuutta on avaruus minne data sijoitetaan kolmiulotteinen. Algoritmi toimii siten että kun uusi syöte tulee luokiteltavaksi, sijoitetaan se kyseiseen avaruuteen johon koulutusvaiheessa lisättiin dataa. Tämän jälkeen haetaan datapisteen K lähintä naapuripistettä joiden avulla algoritmi määrittää mihin luokkaan uusi piste kuuluu. Luokittelu jälkeen uusi datapiste voidaan poistaa tai jättää se sinne jolloin luokittelijan koulutus jatkuu käytön aikana.

Muuttuja K on vapaasti määritettävissä tarpeen mukaan, mutta usein pyritään löytämään optimaalinen luku jonka verran naapureita riittää luokituksen tekemiseen. K:n kokoon vaikuttaa muun muassa luokkien määrä sekä datasetin ominaisuudet. Jos K:n koko määritellään kiinteäksi voi se pienellä datamäärällä tarkoittaa sitä, että naapuruston koko kasvaaa huomattavan suureksi. Suuri naapurusto johtaa siihen että koska pisteiden etäisyydet toisiinsa nähden kasvavat niin niiden väliset samankaltaisuudet vähenevät, laskien siten luokittelun tarkkuutta. Hämäläinen ja Vinni ehdottavat tutkimuksessaan että naapureita painotettaisiin niiden etäisyyden perusteella. Tällöin kaukaisempien naapueiden merkitys luokittelussa laskisi eikä esimerkiksi kaksi kauempaa naapuria

(30)

avaruuteen jonka jälkeen lisätyn pisteen ja kaikkien avaruuteen aiemmin lisättyjen pisteiden väliset etäisyydet lasketaan. Pisteiden välisen etäisyyden laskemiseen voidaan käyttää eri metodeja, mutta yleensä standardina pidetään euklidista etäisyyttä [Kaava 4.2]. Laskennan jälkeen tuloksena on lista etäysyyksistä eri pisteisiin. Listalta otetaan k lähintä pistettä ja näiden pisteiden luokkien perusteella uusi piste saa luokkansa.

de =q

(x1−x2)2+(y1− y2)2 (4.2)

K-lähin naapuri toimii tehokkaasti pienilläkin tietomäärillä mutta tietomäärien kasvaessa datan moniulotteisuudesta riippuen voi luokitteluun kuluva aika kasvaa merkittävästi koska jokaisen uuden syötteen kohdalla etäisyyksien laskeminen joudutaan tekemään uudestaan.

Tukivektorikone

Tukivektorikoneet (Support Vector Machine) ovat hyödyllisiä silloin kun luokkien rajat eivät ole lineaarisia ja dataa on liian vähän epälineaarisen mallin kouluttamiseen. Perus- idea on se, että kun data muutetaan ulottuvuuteen, jossa on enemmän pisteitä, siitä tulee lineaarisesti eroteltavaa. Tukivektorikone keskittyy ainoastaa luokkien rajoihin ja hyp- pääkin siten sellaisten datapisteiden yli jotka ovat helposti luokiteltavissa. Hämäläisen mukaan paras tulos saadaan, kun luokkien jakamiseen käytettävä marginaali joustaa hiukan, jolloin myös sallitaan muutamia virheellisesti luokiteltuja datapisteitä. Tukivek- torikoneiden etuna on se, että ne löytävät aina yleisesti optimaalisen ratkaisun. Niiden tarkkuus ei myöskään riipu datan syvyydestä sekä ne sietävät hyvin ylikouluttamista.

Neuroverkkojen tavoin datan pitää kuitenkin olla yhtenäistä sekä numeerista, mallia on vaikea tulkita sekä sopivien parametrien valitseminen voi olla haastavaa. Myös- kin yksittäiset isot poikkeamat datassa voivat aiheuttaa ongelmmia, mutta joustavien marginaalien avulla tätä pystytään minimoimaan.[9]

Päätöspuut

Päätöspuut ovat yksinkertaisia ja siten myös helppoja ymmärtää. Ne kykenevät käsittele- mään erityyppisiä arvoja samalla kertaa ja ovatkin siksi yksi suosituimmista ennakointiin käytetyistä algoritmeista. Päätöspuiden yksinkertaisuutta korostaa se, että niiden pe- rusteluprosessin voi kääntää suoraan IF-lauseiksi. Ne pystyvät luokittelemaan syötteitä nopeasti sekä ovat joustavia. Isommat päätöspuut pystyvät sietämään datassa olevaa pientä kohinaa sekä puuttuvia attribuutteja. Päätöspuilla on korkea datan esittämiskyky,

(31)

koska ne voivat arvioida epälineaarisen luokan rajoja, vaikka rajat olisivatkin monissa paikoissa osittain rinnakkain. Hämäläinen ja Vinni kuitenkin huomauttavat tutkimukses- saan, että saatu malli voi olla merkittävästi ylikoulutettu etenkin, jos käytössä on ollut pieni datasetti. Päätöspuiden suurin rajoite on oletus, että kaikki datapisteet voidaan luo- kitella deterministisesti yhteen luokkaan. Siitä johtuen kaikkia epäjohdonmukaisuuksia kohdellaan kuin virheitä. Toinen päätöspuiden ongelma on niiden herkkyys ylikoulutta- miselle, erityisesti kun datan määrä on pieni. Hämäläinen ja Vinni toteavat, että datan määrän ollessa pieni, sopii Bayes-luokittelija käyttöön paremmin. Lisäksi koulutusalalla sovellutuksissa datalla on tapana muuttua ajan kuluessa siten että mallin koulutukseen käytetty data harvoin vastaa täydellisesti dataa jota käsitellään tulevaisuudessa.[9, 18]

Bayes-luokittelijat

Bayes-luokittelijoilla eri attribuuttien välisiä riippuvuuksia kuvataan verkon avulla, jossa riippuvuutta ilmaistaan ehdollisella todennäköisyydellä. Hämäläinen ja Vinni[9]

huomauttavat, että Bayes-luokittelijaa voidaan käyttää, täytyy ensin tietää eri attribuut- tien väliset riippuvuudet. Opetusteknologian alalla on yleistä, että asiantuntija tekee tilapäisen graafin attribuuttien välisistä riippuvuuksista. Tällä tavoin tehdyssä graafissa on kuitenkin suuri riski siihen, että sen sisältämät riippuvuudet ovat irrelevantteja jolloin tosiasialliset riippuvuudet jäävät taka-alalle. Bayes-luokittelijoiden etuna on se, että vaikka pelkkä naiivi Bayes -oletus pitää harvoin, niin Bayes-luokittelijalla saadaan hyviä tuloksia. Naiiveilla Bayes -luokittelijoilla on päätöspuuta matalampi tiedon esittämis- kyky, mutta ne kykenevät luokittelemaan dataa, vaikka sen luokkien rajat olisivatkin hyvin monimutkaisia. Muita Bayes-mallin etuja on sen yksinkertaisuus, tehokkuus, korkea kohinan sietokyky sekä tulkinnan helppous. Bayes-malli soveltuu käytettäväksi erityisesti silloin kun datan määrä on pieni.

4.2.2 Klusterointimenetelmät

Luokittelumenetelmät yrittävät luokitella annetun datan jonkun ennalta määritellyn luokan alle kun taas klusterointimenetelmät pyrkivät ryhmittelemään annetun datan eri ryhmiin. Luokittelumenetelmien toiminta perustuu siihen että annetusta datasta pyritään muodostamaan malli jonka perusteella ominaisuusavaruuden pisteet voidaan luokitella eri luokkiin kun taas klusterointimenetelmät yrittävät löytää syötetyn datan ominaisuusa- varuudesta luonnollisia ryhmiä sekä yhteyksiä ja muodostaa ryhmiä niiden perusteella.

(32)

Menetelmien vertailu oppimistuloksien ennakoinnin kontekstissa

Algoritmi Edut Haitat

K-lähin naapuri Yksinkertainen ja soveltuu erilai- siin ongelmiin hyvin. Helppo ym- märtää.

Käyttää paljon muistia. Ongelmas- ta riippuen kallis koska päätöksen perusteena voidaan käyttää kaikkea koulutusdataa. Tästä johtuen myös hidas, koska IO-operaatioita voi ol- la todella paljon. Väärä etäisyysva- linta voi johtaa tuloksien virheelli- syyteen.

Tukivektorikone Pystyy luokittelemaan dataa vaik- ka luokkien rajat eivät olisikaan li- neaarisia. Tarvitsee epälineaarista luokittelijaa vähemmän dataa kou- luttamiseen. Löytävät aina yleisesti optimaalisen ratkaisun. Tarkkuus ei myöskään riipu datan yhtenäisyy- destä.

Syötettävän datan tulee olla numee- rista sekä yhtenäistä. Mallin tulkin- ta sekä parametrien valinta voi olla haastavaa. Lisäksi isot poikkeamat datassa voivat aiheuttaa ongelmia.

Päätöspuut Yksinkertaisia ja helppoja ymmär- tää. Pystyvät käsittelemään erilai- sia arvoja samalla kertaa. Sietävät kohinaa ja puuttuvia attribuutteja.

Rajoitteena oletus että kaikki da- tapisteet voidaan luokitella deter- ministisesti. Herkkyys ylikoulutta- miselle, erityisesti pienillä datajou- koilla.

Bayes- luokittelijat

Yksinkertaisuus, tehokkuus, kor- kea kohinan sietokyky sekä tulkin- nan helppous.

Matalamnpi tiedon esittämiskyky.

Neuroverkot Kykenee käsittelemään epätäydel- listä dataa sekä pystyy antamaan vastauksen vaikka verkon sisällä ta- pahtuisikin virheitä.

Optimaalisen verkon rakenteen määrittäminen hankalaa. Pystyy kä- sittelemään vain numeeria syötteitä.

Optimaalinen kouluttaminen han- kalaa, koska oikeaa lopetushetkeä ei tiedetä.

Syväoppiminen Kykenee “sivuttamaan” syötteessä olevia tarpeettomia ominaisuuksia joten datan esiprosessointi ei ole välttämätöntä.

Koulutus vaatii paljon dataa sekä on laskennallisesti raskas.

Taulukko 4.1:Koneoppimisen menetelmien vertailu

(33)

on aina tapauskohtainen ja datasta riippuvainen. Esittelen alla muutamia yleisimpiä klusterointimenetelmiä sekä niiden niiden käyttökohteita.

Agglomeratiivinen klusterointi

Agglomeratiivinen klusterointi (Agglomerative Clustering) joka tunnetaan myös nimellä Agglomerative Nesting (AGNES) on hierarkisen klusteroinnin yleisin tyyppi. Algoritmin toimintalogiikka on seuraava:

1. Se aloittaa klusteroinnin siitä lähtökohdasta että jokainen avaruuden piste on oma klusterinsa.

2. Jokaisella “kierroksella” näistä klustereista etsitään kaksi lähimmäistä ja muo- dostetaan niistä yksi isompi klusteri. Tätä prosessia toistetaan niin kauan kunnes jäljellä on vain yksi iso klusteri.

3. Tuloksena saadaan dendogrammi joka kuvaa pisteiden sijoittamisen klustereissa puumaisena visualisointina.

Toimintalogiikka osoittaa että algoritmi toimii “alhaalta ylös” -logiikalla, koska se käsittelee jokaista pistettä omana klusterina (dendogrammin lehtenä) ja etenee siitä kohti juurta (yhtä isoa klusteria). Agglomoeratiivisen klusteroinnoin vastakohta ”Jakava klusterointi” (Divisive clustering) toimii “ylhäältä alas” -logiikalla, muodostaen ensin yhden ison klusterin. Tämän jälkeen se jokaisella kierroksella jakaa kaikkein heterogee- nisimmän klusterin kahtia ja tätä prosessia toistetaan kunnes jokainen avaruudessa oleva piste on oma klusterinsa. Agglomeratiivisen klusteroinnin tapaan myös tässä tuloksena on dendogrammi josta nähdään eri pisteiden klusteroituminen. Erona näissä kahdessa menetelmässä on se, että agglomeratiivinen klusterointi on hyvä havaitsemaan pieniä klustereita kun taas “Jakava klusterointi” -menetelmä soveltuu paremmin tunnistamaan isoja klustereita.

BIRCH

Tasapainotettu iteratiivisesti hierarkian avulla supistava ja klusteroiva on ohjaamaton tiedonlouhinta-algoritmi jota käytetään hierarkiseen klusterointiin erityisesti isoilla

(34)

rajoitettujen resurssien avulla ja saada silti hyvän tuloksen. BIRCH:n tarvitseekin usein toimiakseen käydä annettu tietue vain kerran läpi.

Aiempiin klusterointialgoritmeihin nähden BIRCH:n toimintalogiikka on täysin poikkea- va. Aiemmin klusterointialgritmit toimivat siten että ne latasivat koko datasetin muistiin jonka jälkeen itse klusterointi voitiin aloittaa. Tämä toimii hyvin pienillä dataseteillä, mutta vähänkään suuremmilla tarvittavien laskentaresurssien määrä voi osoittautua liian suureksi. Tämän lisäksi monet aiemmat ratkaisut perustuivat siihen, että jokaisen klusterointipäätöksen kohdalla koko pisteavaruus käytiin läpi joka aiheuttaa sen, että klusterointi on resurssien näkökulmasta kallista.

DBSCAN

Tiheyspohjainen paikkakohtainen klusterointi kohinaa sisältäviin käyttötapauksiin on tiheyspohjainen ei-parametrinen algoritmi. DBSCAN on yksi useimmiten käytetyistä sekä paljon tieteellisissä julkaisuissa viitattu klusterointialgoritmi. Se klusteroi pisteava- ruuden pisteet jotka ovat keskenään lähekkän ja merkitsee poikkeamiksi sellaiset pisteet, jotka sijaitsevat muuhun pisteavaruuteen nähden erillään.

DBSCAN:n etuina pidetään muun muassa sitä ettei se vaadi K-means:n tapaan kluste- reiden määrän tietämistä etukäteen sekä että se pystyy löytämään jopa mielivaltaisen muotoisia klustereita. Eli esimerkiksi sellaisia, joka on kokonaan toisen klusterin ympä- röimä. Tämä on mahdollista siksi koska DBSCAN kestää hyvin kohinaa ja poikkeamia.

DBSCAN:n käyttö on lisäksi helppoa ja se vaatii syötteksi vain kaksi parametria. Tämän lisäksi DBSCAN:n etuna pidetään sitä ettei se juurikaan välitä missä järjestyksessä data on syötetty tietokantaan.

DBSCAN:n heikkouksina pidetään ettei se ole täysin deterministinen eli jos pisteava- ruuden piste voidaan saavuttaa useasta eri pisteestä, sen klusteroituminen voi määräytyä sattumanvaraisisien muuttujien perusteella esimerkiksi datan järjestyksen mukaan. Li- säksi DBSCAN pohjaa monen muun algoritmin tapaan Eukliidiseen etäisyyteen joka tuo mukanaan ”ulottuvuuksien kirouksen” (Curse of Dimensionality), jolla viitataan siihen, että korkean ulottuvuuden pisteavaruuksissa etäisyysalgoritmin kyky etäisyyden maarittämiseen heikkenee merkittävästi. Lisäksi DBSCAN ei kykene klusteroimaan hy- vin sellaisen pisteavaruuden pisteitä jonka avaruuden eri osien pistetiheydet poikkeavat toisistaan merkittävästi.

(35)

K-Means

K-means on yksi suosituimmista klusterointialgoritmeista pitkälti sen yksinkertaisuuden sekä nopeuden takia. K-means:n tavoitteena on ryhmitellä pisteavaruuden pisteet samankaltaisuuden perusteella ennalta määrättyyn määrään ryhmiä. Ryhmittelyn kautta K-means saattaa havaita datassa mahdollisesti piileviä kuvioita ja yhdistäviä tekijöitä.

K-means algoritmin toimintaperiaate on seuraava:

1. Se luo ennalta määritellyn määrän klustereiden keskipisteitä (Centroids) pis- teavaruuden satunnaisiin paikkoihin joita käytetään alkuarvoina klusteroinnin alussa.

2. Algoritmi käy pisteavaruuden pisteitä läpi ja muuttaa centroidien sijainteja sen perusteella.

3. Kohtaa 2. toistetaan kunnes klustereiden keskipisteiden sijainnit eivät enää muutu tai ennalta määrätty iteraatioiden lukumäärä täyttyy.

K-means toimii erittäin hyvin pienien pistemäärien kanssa, mutta se alkaa hidastua jos klusteroitavia pisteitä on paljon. Hidastumistakin suurempi heikkous on se että toimiakseen K-means vaatii että koko syötedata on pidettävä muistissa joka isoilla dataseteillä on hankalaa sekä kallista.

Mini-Batch K-Means

Mini Batch K-means (myöhemmin MBK) on esitetty K-means klusterointialgoritmin korvaajaksi isojen data määrien klusterointiin. Suurimpana erona perinteiseen K-means algoritmiin on se, että MBK pilkkoo syötedatan useampaan saman kokoiseen osaan sen sijaan että käyttäisi koko syötedataa. Tämä laskee iteraatiokohtaista laskentakapasitetti- tarvetta, koska jokaisella iteraatiolla ei käydä koko syötedataa läpi vaan vain osa siitä.

Tämä kuitenkin aiheuttaa sen, että klustereiden laatu/tarkkuus laskee hieman.

Mini Batch K-meansin toimintaperiaate on seuraava:

1. Se pilkkoo syötedatan ennalta määrätyn kokoisiin osiin jotka mahtuvat muistiin.

2. Jokaisella iteraatiolla valitaan pilkotuista osista sattumanvaraisesti yksi jonka

(36)

5. Kokeellisen osuuden esittely

Tutkielman toteutusosassa on tarkoituksena luoda helppokäyttöinen ja kevyt työkalu opiskelijadatan analysointiin. Työkalun tavoitteena on tarjota ominaisuudet opiskelija- datan visualisointiin sekä pienimuotoiseen oppimistulosten ennakointiin. Työkalu on tarkoitus toteuttaa web-pohjaisena jolloin käytettävien laitteiden kanta on mahdollisim- man laaja. Työkalun toiminnallisuuden lisäksi tavoitteena on luoda sen käyttöliittymästä sekä käytettävyydestä sellainen joka vetoaa opettajiin ja muihin käyttäjäkohderyhmän henkilöihin.

Työkalun perusidea on seuraava. Käyttäjä menee selaimellaan web-osoitteeseen jossa työkalu on saatavilla ja syöttää opiskelija datan työkaluun .csv-tiedostona. Työkalu purkaa ja analysoi tiedoston sisältämän datasetin ja visualisoi käyttäjälle opiskelijoiden keskinäisen sijoittumisen klusterointipuuna. Puusta käyttäjä voi havaita millä perusteella ryhmittely on tehty ja halutessaan tutkia tarkemmin opiskelijan tietoja. Käyttäjä voi halutessaan muokata työkalun asetuksia eli esimerkiksi vaihtaa käytettyjä algoritmeja ja parametreja. Työkalu tarjoaa kaksi erilaista algoritmia etäisyyden laskentaan jotka ovat Eukliidinen etäisyys (Kaava 5.1) ja Manhattan-etäisyys (Kaava 5.2). Parametrivalinnan sisältö perustuu syötettyyn dataan ja sen ominaisuuksiin. Asetusten vaihtaminen tehdään alasvetovalikoilla sekä valintalistoilla joten niiden muuttaminen on yksinkertaista. Ase- tusten tarjoamisen ideana on mahdollistaa käyttäjälle nähdä eri metodeilla tapahtuvien analysointien erot.

deuc = vt n

Õ

i=0

(Xi−Yi)2 (5.1)

dman=

n

Õ

i=0

|(Xi−Yi)| (5.2)

Työkalu valitsee automaattisesti annetusta datasta tyypiltään numeraaliset sekä totuusar- volliset ominaisuudet ja tarjoaa ne käyttäjälle listana josta hän voi valita mieleiset

(37)

ominaisuudet. Valinnan jälkeen työkalu suorittaa luokittelun ja visualisoinnin niiden pohjalta.

Toivonen ja kumppanit perehtyivät opiskelijadatan käsittelyyn käytettäviin työkaluihin tutkimuksessaan.[23] Tutkimuksessa havaittiin että opettajilla ei ole juurikaan mielen- kiintoa opetella uusia työkaluja joiden käyttö ja opettelu vaatii paljon vaivaa. Tämä johtui pitkälti siitä syystä että opetusjakson kesto per ryhmä ei ollut pitkä ja siihen suhteutettuna työkalusta saatava hyöty työmäärään nähden ei ollut merkittävä. Työkalun osalta tutkimuksessa todettiin että jos käyttäjä pystyy näkemään miksi käytetty algoritmi esimerkiksi luokitteli datan tietyllä tavalla, lisäsi se tuloksen luotettavuutta merkittävästi.

Lisäksi käyttäjien kiinnostusta lisäsi se jos työkalun/algoritmin asetuksia pystyi muok- kaamaan vapaasti ja näkemään muutoksen vaikutukset reaaliajassa. Työkalun antamien tulosten osalta havaittiin että päätöspuu on esitysmuotona helpoin ymmärtää, koska siinä luokittelun säännöt pysyvät yksinkertaisina ja helpommin ymmärrettävissä.

Käyttöliittymän ja käytettävyyden osalta havaittuna haasteena on opettajien vähäinen kiinnostus opetella uutta ja monimutkaista työkalua.

5.1 Tekninen kuvaus

Työkalu toteutetaan puhtaasti web-pohjaisena. Tällä tavoitellaan sitä, että työkalua pystyy käyttämään mahdollisimman laajalla laitekannalla, koska tällöin tekniset vaatimukset rajautuvat siihen että laitteessa on moderni selain. Lisäksi työkalu toteutetaan siten, että kaikki laskenta ja muu datan käsittely tapahtuu käyttäjän laitteella eikä mitään dataa lähetetä palvelimen suuntaan. Tältä osin käytettävän laitteen suorituskyky määrittää pitkälti kuinka sulavasti työkalu toimii. Kaiken työkalun tekemän laskennan olisi voinut ulkoistaa palvelimen puolelle ja siten parantaa suorituskykyä hitaammilla laitteilla sekä suurempia datasettejä käsiteltäessä. Tämä olisi kuitenkin tuonut todennäköisesti kysymyksiä sekä epäluottamusta palvelimelle siirretyn datan säilömisestä sekä työkalun yleisestä tietoturvasta, koska lähetettävä data saattaa sisältää sellaisia salassapidettäviä tietoja joiden tallentaminen ja säilyttäminen voi olla luvanvaraista. Tietoturvakysymysten lisäksi haluan työkalun olevan käytettävä myös silloin kun verkkoyhteyttä ei ole saatavissa tai se on todella hidas.

Työkalu toteutetaan PWA:na joka mahdollistaa sen, että se voidaan asentaa verkkosivulta laitteeseen jolloin se on laitteella käytettävissä kuten muutkin sovellukset. PWA-tekniikan

Viittaukset

LIITTYVÄT TIEDOSTOT

Oppimistulosten lisäksi arvioidaan muun muassa opettajien ja rehtoreiden käsityksiä omasta ammatillisesta kehittymisestä, koulun työskentelyilmapiiristä ja johtamisesta sekä

Esimerkiksi kuwaitilaisten näkökulmasta tämä herätti pohdiskeluja siitä, osaavatko heidän opiskelijansa vastata tehtävään yhtä hyvin kuin vaikkapa suomalaiset

Tässä luvussa määritellään, mitä käsite tekoäly tarkoittaa. Tekoälyn määrittelyn jälkeen tutustutaan koneoppimisen käsitteeseen, joka on yksi tekoälyn osa-alu- eista.

telmiä toimivuus voi olla hyvinkin sidoksissa siihen millaiseen ympäristöön niitä yritetään soveltaa.(Hausknecht ym. 2014) Koneoppimiseen perustuvissa ratkaisuissa on myös mui-

Suurimmat hyödyt koneoppimisen käytöstä kyberturvallisuuden kontekstissa ovat laajojen datamäärien analysointi sekä kyberturvallisuudessa työskentelevien

Tutkielman tavoitteena oli selvittää, miten luovat menetelmät Rikosseuraamuslaitoksen työntekijöiden mukaan vaikuttivat asiakkaan henkilökohtaiseen muutosprosessiin, kuten

(Chollet 2018) Jotta koneoppimisen avulla voidaan luoda hyvä malli, on ymmärrettävä sille syötettävän datan merkitys.. Koneoppimismallit perustuvat niille syötettyyn

Tietokoneiden laskentatehon lisäännyttyä, erilaiset numeeriset tietokonepohjai- set menetelmät, erityisesti numeerinen virtausdynamiikka ja elementtimenetelmä (engl. finite