• Ei tuloksia

Työtehtävän tunnistaminen ajoneuvodatasta

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "Työtehtävän tunnistaminen ajoneuvodatasta"

Copied!
64
0
0

Kokoteksti

(1)

Janne Uusitupa

Työtehtävän tunnistaminen ajoneuvodatasta

Tietotekniikan pro gradu -tutkielma 13. toukokuuta 2020

Jyväskylän yliopisto

(2)

Tekijä:Janne Uusitupa

Yhteystiedot:janne.t.uusitupa@student.jyu.fi Ohjaaja:Timo Hämäläinen

Työn nimi:Työtehtävän tunnistaminen ajoneuvodatasta Title in English:Classification of work tasks from tractor data Työ:Pro gradu -tutkielma

Opintosuunta:Ohjelmisto- ja tietoliikennetekniikka Sivumäärä:60+4

Tiivistelmä: Esineiden Internet mahdollistaa uudenlaisen, tehostetun tiedonkeruun ja sen analytiikan sekä isoista että pienistä järjestelmistä. Tämä avaa uusia liiketoimintamahdol- lisuuksia. Työssä tutkitaan, miten työtehtäviä voidaan klassifioida traktorin reaaliaikaisesta ajodatasta. Keskeinen haaste on relevantin tiedon valinta ja siirto traktorista. Tutkielmassa käsitellään klassifioinnin perusalgoritmeja sillä tarkkuudella, että niiden perusajatus tulee il- mi. Tämä auttaa parhaan algoritmin valinnassa sulautettuun ympäristöön, jossa resurssit ovat vähäiset. Tuloksena on kolmen eri työtehtävän tehokas erottelu.

Avainsanat:ajoneuvo, traktori, koneoppiminen, klassifiointi

Abstract: Internet of Things allows a new, enhanced data analytics from both small and large systems. This brings new business possibilities. The objective of this study is to build a model that classifies work tasks efficiently from real time data. The central problem is the selection and transmission of relevant data from the vehicle. Some of the most important classification algorithms are covered in the basics to get an overview of what is suitable for the task. Appropriate algorithm in an embedded system with minimal resources is desirable.

As a result, an efficient classification between three different work tasks is found.

Keywords:vehicle, tractor, machine learning, classification

(3)

Esipuhe

Tutkielma sai alkunsa syksyllä 2019 ja valmistui keväällä 2020. Tutkimusprosessin loppu- puolta väritti covid-19-pandemia. Tämä ei onneksi haitannut kirjoittamistani – pikemmin- kin helpotti sitä, koska kotona oli helppo syventyä työn viimeistelyyn. Alkuun pääsemisessä neuvojen kysyminen kasvotusten oli ensiarvoisen tärkeää.

Opin samalla paljon uutta. Aineisto ja tutkimusongelma olivat kiehtovia, koska ne olivat kon- kreettisia ja hyödyllisiä. Tutkielman laajimmaksi osaksi muodostui klassifioinnin teoreetti- nen osa, oman mielenkiinnon ja valinnanvapauden vuoksi. Koska pääpaino on teoriapuolella, jäi soveltaminen kevyemmäksi. Vankka teoriapohja on kuitenkin tarpeen tässä tutkimuksessa reunalaskennan rajoitteiden vuoksi. Soveltamisessa onkin runsaasti jatkotutkimuksen varaa.

Kirjoitin tutkielman Emacsin org-modella. Tätä varten laajensin org-modea gradu3:n doku- menttityypin määrityksillä. Ratkaisu oli oikea, ja kirjoittaminen sillä vaivatonta. Takerrun helposti pikkuseikkoihin, ja kirjoittamista enemmän työtä vaati ajatusten kirkastaminen ko- konaiskuvassa. Ladontajärjestelmän valmistelu vaati alkuvaiheessa muutaman ylimääräisen tunnin, mutta sen jälkeen se ei ollut juurikaan tiellä.

Kiitän Pyry Kotilaista vinkeistä ja ideoista. Kiitos myös Timo Hämäläiselle tutkielman oh- jauksesta ja kotiväelle tuesta.

Jyväskylässä 13. toukokuuta 2020 Janne Uusitupa

(4)

Termiluettelo

• Algoritmi:Sarja ohjeita, joka kuvaa hyödyllisen prosessin. Esimerkkinä ruoanlaitto- resepti. Tässä tutkielmassa käsiteltävät algoritmit ovat tiedonlouhintaa avustavia algo- ritmeja.

• CAN-väylä:(engl. Controller Area Network) Tiedonsiirtoväylä, jota käytetään mm.

ajoneuvojen ohjausjärjestelmissä.

• CSV:(engl.comma-separated values) Raakatekstimuotoinen taulukkoesitys. Yksi teks- tirivi vastaa yhtä taulukon riviä, ja pilkut erottavat rivin soluja.

• Hermoverkko:Kerroksellinen joukko hermosoluja, joissa tavallisesti päällimmäinen kerros on syötekerros, ja vaste voidaan lukea viimeisestä kerroksesta.

• Hypertaso:n-ulotteisen vektoriavaruuden n-1-ulotteinen aliavaruus. Hypertaso jakaa avaruuden kahteen osaan. Esimerkiksi tason hypertaso on suora.

• KDD-prosessi: (engl. Knowledge Discovery from Databases) Tiedonlouhinnan ko- konaisprosessimalli. Sisältää vaiheet: tiedon valinta, esiprosessointi (tai puhdistus), muunnos, tiedonlouhinta ja tulkinta. Ks. luku 2.2.

• Kerneli: (Tutkielman kannalta yksinkertaistettu määritelmä.) Kahden vektorin ku- vaus, jonka avulla voidaan löytää sopiva lineaarinen erotettavuus datajoukolle. Hyö- dyllinen tukivektorikoneiden kanssa, ks. luku 3.5.4.

• Klassifiointi, luokittelu: Luokan valitseminen uudelle näytteelle jonkin algoritmin avulla. Määritelmä luvussa 3.1.1.

• Koneoppiminen:Koneen jäljittelemä luonnollinen oppimisprosessi. Ks. luku 3.1. Liit- tyvä termi ontekoäly.

• Koulutusdata:Aineiston osa, joka on varattu algoritmin tai tekoälyn oppimista varten.

• Malli(koneoppiminen): Tässä tutkielmassa mallilla tarkoitetaan pääsääntöisesti kou- lutusdatan avulla kehitettyä luokittelijaa. Malli sisältää sen tiedon, jonka avulla ohjel- ma pystyy tekemään päätöksiä ja myös kehittämään itseään lisää jatkokoulutuksessa.

• Neuroni: Hermosolu, tässä erityisesti simuloitu hermosolu tai sen yksinkertaistus.

Hermoverkon osa, jolla on useita ärsykekanavia sisään ja ulos.

• Pistetulo:Kahden vektorin komponenttien tulojen summa, ks. luku 3.5.1. Tulo kuvaa

(5)

hyödyllinen hypertason määrittämisen kannalta.

• Prioritodennäköisyys:Jonkin luokan tai muuttujan esiintymistodennäköisyys aineis- tossa. Määritetään laskemalla yhteen kyseisen luokan esiintymät suhteessa kaikkien näytteiden lukumäärään.

• RPM: (engl. revolutions per minute) Moottorin pyörintänopeusyksikkö kierroksina minuutissa.

• Scikit-learn:Python-kirjasto, joka implementoi kokoelman hyödyllisiä tiedonlouhin- nan työkaluja ja algoritmeja. Ks. luku 3.6.

• Sekaannusmatriisi:Taulukko, joka kuvaa, miten hyvin luokittelu toimii. Sarakkeilla on ennustetut luokat ja riveillä todelliset luokat. Täydellisessä luokittelussa sekaan- nusmatriisissa on vain päälävistäjällä nollasta poikkeavia lukuja; mitä enemmän pää- lävistäjän ulkopuolella on lukuja, sitä epätarkempi luokittelu on. Sekaannusmatriisi havainnollistaa, minkä luokkien kesken on eniten virheitä.

• Sktime:Python-kirjasto, joka implementoi kokoelman aikasarjaklassifiointikirjastoja.

Ks. luku 5.4.

• Tensorflow: Tekoälykirjasto syväoppimis- ja neuroverkkotutkimusta varten. Imple- mentoitu C++:lla ja Pythonilla.

• Tiedonlouhinta: Uuden, oivaltavan tiedon etsimistä datasta. Käsitellään tarkemmin luvussa 2.2.

• Tukivektori:Vektori näytteestä hypertasoon, joka ”tukee” hypertasoa.

• Vektori:Suunnan ja pituuden kuvaus jossakin vektoriavaruudessa. Esitetään järjestet- tynä joukkona, jossa on vektoriavaruuden ulottuvuuden verran komponentteja.

(6)

Kuviot

Kuvio 1. Dataohjattu päätöksenteko, KDD-prosessi siihen sulautettuna. Yhdistelmä

Marin ja Petrin (2017, 8) sekä Bramerin (2016, 2) kaavioista. . . 6

Kuvio 2. Esimerkki ylioppimisesta. . . 13

Kuvio 3.K:nlähimmän naapurin algoritmin havainnekuva (Ajanki, 2007). . . 15

Kuvio 4. Pikavaihteiden suhteelliset frekvenssit aineistossa. . . 18

Kuvio 5. Eri pikavaihteiden ja kierroslukujen suhde maanopeuksiin. . . 18

Kuvio 6. Päätöspuu edellisen luvun esimerkkiaineistosta. . . 22

Kuvio 7. Esimerkki hypertasosta, joka erottaa kahta joukkoa. . . 25

Kuvio 8. Rosenblattin (1958, 389) perceptron-malli. . . 28

Kuvio 9. Aineisto kahden primäärikomponentin avulla esitettynä. . . 38

Kuvio 10. Maanopeuden (vaaka-akseli) ja kierrosluvun suhde luokkiin (eri väreillä). . . 40

Kuvio 11. Kolme luokkaa erottuu toisistaan RBF-kernelillä. . . 41

Kuvio 12. Edeltävän kuvion menetelmä, mutta kaikki luokat mukana. . . 42

Taulukot

Taulukko 1. Signaalitaulukko. Datassa on näiden lisäksi päivämäärä ja aika.. . . 34

Taulukko 2. Tukivektorikoneen sekaannusmatriisi. . . 40

(7)

Sisältö

1 JOHDANTO . . . 1

1.1 Tutkimusaihe . . . 1

1.2 Tutkimusstrategia. . . 2

2 AJONEUVON TIEDONLOUHINTA . . . 3

2.1 Ajoneuvot ja kasvavat datamäärät . . . 3

2.2 Tiedonlouhinta. . . 5

2.3 Ajoneuvon itse tuottama data ja siihen lisätyt sensorit . . . 7

2.4 Tutkimusmenetelmä . . . 7

2.5 Työtehtävän tunnistusmenetelmiä . . . 9

2.6 Yhteenveto ajoneuvon tiedonlouhinnasta . . . 10

3 KLASSIFIOINTI . . . 11

3.1 Klassifiointi ongelmana ja menetelmänä . . . 11

3.1.1 Klassifioinnin määritelmä . . . 12

3.1.2 Erilaiset aineistot ja menetelmät . . . 14

3.2 Lähimmät naapurit . . . 15

3.3 Naiivi Bayes-luokittelija . . . 16

3.3.1 Määritelmä . . . 16

3.3.2 Esimerkki tutkimusaineiston pohjalta . . . 17

3.3.3 Kolmen eri näytteen luokittelu . . . 19

3.3.4 Yhteenveto Bayes-menetelmästä. . . 21

3.4 Päätöspuut . . . 21

3.4.1 Rakennetun puun käyttäminen . . . 21

3.4.2 TDIDT-algoritmi . . . 23

3.4.3 Epäpuhtaus . . . 24

3.4.4 Yhteenveto päätöspuista . . . 24

3.5 Tukivektorikoneet . . . 24

3.5.1 Reaaliavaruus . . . 26

3.5.2 Binäärinen luokittelija . . . 27

3.5.3 Moniluokkainen luokittelija . . . 28

3.5.4 Kerneli. . . 29

3.5.5 Yhteenveto . . . 30

3.6 Scikit-learn-kirjasto . . . 30

3.7 Yhteenveto eri luokittelumenetelmistä . . . 31

4 AINEISTO . . . 33

4.1 Muuttujat aineistossa . . . 33

4.2 Työtehtävät . . . 35

4.3 Aineiston käyttö tutkimuksessa . . . 35

5 AINEISTON ANALYYSI . . . 38

5.1 Pääkomponenttien analyysi . . . 38

(8)

5.2 Sekaannusmatriisi . . . 39

5.3 Klassifiointi scikit-learn-kirjastolla . . . 39

5.4 Aikasarjaklassifiointi sktime-kirjastolla . . . 42

6 TULOKSET . . . 43

6.1 Kolmen luokan tehokas erottelu . . . 43

6.2 Liiketoimintamahdollisuudet . . . 45

6.3 Yhteenveto ajoneuvon tiedonlouhinnasta . . . 46

7 YHTEENVETO. . . 47

LÄHTEET . . . 49

LIITTEET. . . 53

(9)

1 Johdanto

Tämän tutkimuksen taustalla on eÄlytelli-hanke, jonka puitteissa yliopisto ja Valtra tekevät yhteistyötä. Tutkimus tehdään tässä kontekstissa1. Tämä on jatkumossa IoTLi-hankkeelle (IoT:sta liiketoimintaa) ja Kankaan (2018) pro gradu -tutkielmalle. Kangas totesi traktorin olevan ”kyberfyysinen järjestelmä” muiden nykyaikaisten ajoneuvojen tavoin. Samaan ovat päätyneet myös Massaro ym. (2017). Syynä tälle kehitykselle on se, että moottorin ja ajotie- tokoneiden digitaalinen sidoksisuus on kasvanut. Kangas hahmotteli kyberfyysistä viiteke- hystä traktorille, painottaen uhkien mallintamista ja kokonaiskuvan kartoittamista.

Tässä tutkimuksessa tätä viitekehystä laajennetaan liiketoiminnan näkökulmasta. Käytännön hyötyä saadaan pohtimalla, miten ajoneuvodataa voi hyödyntää, sekä millaisia uusia liike- toimintamahdollisuuksia se tuo. Tätä varten tutkimuksessa analysoidaan Valtran keräämää dataa traktoreista. Empiirisenä osuutena testataan uutta mallia, jonka avulla voidaan tunnis- taa traktorilla suoritettu työtehtävä. Tätä tarkastellaan isommassa viitekehyksessä miettien liiketoimintamahdollisuuksia.

1.1 Tutkimusaihe

Tutkimusaiheena on traktorin työtehtävän tunnistaminen CAN-väylästä kerätyn aineiston pe- rusteella. Tavoitteena on tuottaa malli, joka tunnistaa ajotavan reaaliaikaisesti kerätystä da- tasta. Tätä varten tehdään systemaattinen kartoitus keskeisimmistä klassifiointimenetelmistä ja -algoritmeistä. Näistä menetelmistä rakentuu tutkimuksen teoreettinen osuus2. Aineistoa visualisoidaan eri näkökulmista ja eri mallien avulla. Lopullisen mallin osalta tutkitaan, pys- tyykö mallia ajamaan sulautetussa järjestelmässä eli ajoneuvossa itsessään3.

Tutkimuksen aineistona käytetään Valtran keräämää ajoneuvodataa. Tämä data sisältää ajo- neuvon CAN-väylältä poimittuja viestejä. Ajoneuvoina toimivat valitut Valtran tutkimustrak- torit. Ajankohtana eräs Valtran sisäinen tutkimushanke, jossa on ajettu traktorilla työtehtäviä

1Pro gradu -tutkielma tehdään hankkeesta irrallaan ja eri osiot yhteen nivottuna.

2Pro gradu -tutkielman pääkontribuutio.

3Projektiraportin pääkontribuutio.

(10)

käyttäen siihen kytkettäviä työkoneita. Datan keruun, rajauksen, ja alustavan prosessoinnin on suorittanut Valtra kokonaan. Tätä dataa käytetään mallin kehittämiseen.

1.2 Tutkimusstrategia

Tutkimuksessa hahmotetaan käytetylle aineistolle sopivia klassifiointimenetelmiä. Tämän tyyppiselle datalle etsitään uudenlaisia ja innovatiivisia käyttötapoja, ja tutkitaan dataohjat- tua päätöksentekoa tämmöisen mallin avulla. Analysointi ja mallin kehittäminen ovat puh- taasti numeerista, empiiristä tutkimusta. Klassifiointi- ja liiketoimintamallin kehittäminen ovat konstruktiivista tutkimusta. Strategiaan liittyy kuitenkin myös tulkinnallinen puoli – menetelmien punnitseminen ja tulosten lopullinen arviointi tehdään tutkimuksen näkökulma ja konteksti arvioiden.

Tutkimuskysymykset ovat:

1. Minkälaisilla menetelmillä ja algoritmeilla työtehtäviä voidaan tunnistaa ajoneuvoda- tasta parhaiten?

2. Saadaanko tutkittavan traktoridatan avulla toimiva malli työtehtävien tunnistamiseen?

3. Pystyykö työtehtävän tunnistavaa ohjelmaa ajamaan ajoneuvossa, ja minkälaisia re- sursseja se tällöin vaatisi?

4. Minkälaista liiketoimintapotentiaalia työtehtävän tunnistamisella on?

(11)

2 Ajoneuvon tiedonlouhinta

Tutkimuksen teoriaosuus käsittelee työtehtävän tunnistamisen taustoja sekä tiedonlouhintaa.

Tutkimusmenetelmän valinta perustellaan ja luodaan katsaus IT-alan konstruktiivisen mene- telmän tutkimukselle.

2.1 Ajoneuvot ja kasvavat datamäärät

Tiedonlouhintaa käsittelevässä kirjallisuudessa on yleisenä aiheena tietomäärän kasvun rä- hähtäminen (mm. Mari ja Petri 2017, Rasku 2019, ja Bramer 2016). Syiksi tälle mainitaan datankeruun kustannusten pieneneminen, tallennustilan lisääntyminen ja datan kasvavat hyö- dyt. Isosta datamäärästä toivotaan saavan tietoa, joka auttaa ennustamisessa ja muuten pii- lossa olevien syy-yhteyksien löytämisessä. Organisaatiolle suorin hyöty on päätöksenteon avustaminen ison datamäärän avulla. ACM:n hakukoneen perusteella termi ”data explosion”

on yleistynyt vuosituhannen vaihteen jälkeen (ACM, 2020)4.

Tietomäärän kasvun räjähtäminen ulottuu myös ajoneuvoihin (Massaro ym. 2017). Ajoneu- vodatan louhinnasta on runsaasti tutkimusta. Aiheina ovat olleet ennen kaikkea kuljettajan tai ajotavan tunnistaminen ja tehokkuuden parantaminen (Fugiglando ym. 2016, Hallac ym.

2016, ja Lacour ym. 2014). Näissä tutkimuksissa hyödynnetään CAN-väylää ja uusia senso- reita datalähteinä. Käytännössä datankeruun ajoneuvosta suorittaa jokin ajoneuvoon kiinni- tetty uusi tutkimuslaite. Tämä laite voi suorittaa prosessointia, tärkeimpänä tiedon pakkaus ja relevantin tiedon suodatus. Syntyvä hyötydata data voidaan joko tallentaa tilapäisesti lait- teelle tai lähettää langattomasti eteenpäin.

Ajotapaa ja kuljettajaa tunnistettaessa tutkitaan,mitenkuljettaja ajaa. Työtehtävää tunnistet- taessa yritetään sen sijaan vastata siihen, mitä kuljettaja tekee. Kuljettajan ja ajotavan vai- kutuksia halutaan minimoida työtehtävää tunnistettaessa, vaikka molemmat voidaan potenti- aalisesti luokitella samasta datasta. Molemmissa menetelmät mallin rakentamisessa voidaan olettaa olevan samankaltaisia, vaikka itse malleista tulee erilaisia.

4Hakukoneen URL-osoitehttps://dl.acm.org/, hakusana ”data explosion” OR ”explosion of data”.

16.1.2020 hakutuloksia oli 410, joista 47 on julkaistu ennen vuotta 2004.

(12)

Mitä kasvavalla tietomäärällä voi tehdä? Tieto auttaa ennen kaikkea päätöksenteossa. Päätök- siä voi tehdä isossa ja pienessä mittakaavassa: ajoneuvossa itsessään tai sen jossakin osassa, tai ajoneuvovalmistajan puolella, joko olemassa olevia tai uusia ajoneuvoja koskien. Myös näiden väliin mahtuu päätöksenteon tasoja, ja niiden yläpuolelle yhteiskunnalliset ja globaa- lit tasot. Päätöksentekoon tarvitaan jonkinlainen malli tai viitekehys, jossa ratkaisu voidaan hahmottaa, sekä tietoa, joka rajaa ratkaisujen joukkoa optimaaliseksi.

Keskeisinä haasteina ovat datan laatu ja monimutkaisuus. Nämä haasteet ovat tunnettuja jo ennen datamäärän räjähtämistä (Breiman, 1984). Datan monimutkaisuuttalisää heterogee- nisuus, muuttujien lukumäärä, ennustettavan tai ennustavan muuttujan kategorioiden luku- määrä, ja niin edelleen. Vähiten monimutkaista on tarkasti tutkittavaa ominaisuutta kuvaava muuttujien joukko. Tietokanta voi olla iso näytteiden lukumäärältään, kunhan se on helposti analysoitavissa.

Dataohjattu päätöksenteko voi olla joko heikkoa tai vahvaa. Näistä heikommassa paradig- massa data ”käsitellään ja tulkitaana prioriolemassa olevien mallien avulla”, kun taas vah- vemmassa paradigmassa edellä mainitun lisäksi malleja luodaan ja tulkitaan datan avulla (Mari ja Petri, 2017). Mallien luomiseen datasta tarvitaan siihen soveltuvia metamalleja, ku- ten dataa klusteroivia ja klassifioivia työkaluja, jotka nostavat uutta tietoa ja uusia malleja esiin. Dataohjatussa päätöksenteossa Mari ja Petri korostavat käytetyn datan relevanttiutta ja oikeellisuutta. Irrelevantti tai virheellinen data vievät kohti vääriä johtopäätöksiä. Datan laa- tu vaikuttaa monimutkaisuuden rinnalla merkittävästi siihen, miten tarkkoja tuloksia siitä saa (Blake ja Mangiameli, 2011). Toisin sanoen päätöksentekoprosessissa kulkee tiedon muka- na aina laatumuuttuja, joka lopulta vaikuttaa päätöksen luotettavuuteen. Tätä laatumuuttujaa voidaan arvioida tietyillä mittareilla, kuten F1-arvolla5.

Ajoneuvot voidaan nähdä osana esineiden Internetiä. Sekä esineiden Internetissä että da- taohjatussa päätöksenteossa keskeistä ovat isot datamäärät ja niiden hyödyntäminen. Toki esineiden Internetissä tähän nivoutuu myös sulautetut järjestelmät, sensoriverkot ja niiden reaaliaikaisuus. Näiden hyödyntämisessä keskeistä taas on haasteiden, kuten datan laadun ja

5Blake ja Mangiameli (2011) käyttävät termiä ”F-measure”. Tämä mittari perustuu tarkkuuden ja muis- tamisen muuttujiin, jotka taas pohjautuvat oikeiden positiivisten, väärien positiivisten ja väärien negatiivisten suhteisiin (binäärisessä) luokittelussa.

(13)

monimutkaisuuden, hallitseminen, jotta tulokset ovat relevantteja ja oikeellisia.

2.2 Tiedonlouhinta

Tan, Steinbach ja Kumar (2006, 3) kuvaavat tiedonlouhinnan olevan yksi vaihe isompaa KDD-prosessia (engl. knowledge discovery from databases). Tässä prosessissa on lisäksi muun muassa tiedon esiprosessointi ja tulosten jälkiprosessointi. Prosessin alkupäässä on dataa ja loppupäässä tietoa. Zaki ja Meira Jr. (2014, 26) luettelevat prosessivaiheita hieman tarkemmin. He mainitsevat koko prosessin myös olevan ”hyvin iteratiivinen ja interaktii- vinen”. KDD-prosessi on sulautettu mukaan kuvioon 1, jonka sisällä on tiedonlouhinta ja ulkopuolella dataohjatun päätöksenteon viitekehys. KDD-prosessi kuvataan vesiputousmal- lisesti, jonka vaiheet alkupäästä luettuna ovat datan valinta, esiprosessointi, muunnos, tie- donlouhinta ja tulkinta.

Tiedonlouhinta itsessään on ”Prosessi, jossa etsitään oivaltavia, mielenkiintoisia ja uusia säännönmukaisuuksia, kuten myös kuvaavia, ymmärrettäviä ja ennustettavia malleja isosta datajoukosta” (Zaki ja Meira Jr., 2014, 1). Tässä auttavat muun muassa erilaiset algoritmit, koneoppiminen, ja sopiva visualisointi. Tiedonlouhinnasta on olemassa prosessimalleja, ku- ten CRISP-DM. Nämä prosessimallit sivuutetaan tässä tutkielmassa. Prosessimallit voidaan todetaohjaavaniteratiivista prosessia, johon liittyy muun muassa datan tarkastelu, relevant- tien ominaisuuksien löytäminen, mallin rakentaminen näiden pohjalta ja mallin testaaminen.

Tässä tutkielmassa prosessin eri vaiheet sisältyvät eri lukuihin. Isossa kuvassa osa esiproses- soinnista voidaan katsoa olevan jo tehty tämän tutkimuksen aineiston osalta. Kuten luvussa 1.1 todetaan, data on valmiiksi valikoitua ja koostettua, minkä ansiosta sitä on helppo lähteä työstämään. Aineiston sisältöä eritellään tarkemmin luvussa 4, sekä miten hyvin aineisto tu- kee tutkittavia ominaisuuksia. Tämä on pohjana analyysille, jossa data suodatetaan ja proses- soidaan, ja yritetään etsiä relevantit ominaisuudet. Tästä suodatetusta aineistosta pystytään erottamaan merkityksellinen malli. Tämän mallin relevanttiutta pohditaan luvussa 6. Vaikka luvut ovat peräkkäin, on itse tutkimusprosessi rakentanut eri osa-alueita iteratiivisesti.

(14)

Empiirinen ympäristö

Informaatio- ympäristö

Datan

keräys Tiedon

tuottaminen Mittaus

Tiedon valinta

Tiedon- louhinta

Tulkinta ja tulokset

Päätöksenteko

Tavoite Rajoitukset

Päätös

Luotettavuus

Proseduuri KDD-prosessi

Informaation keräys

...

...

Havainto

laatu

Tieto

Laatu

Kuvio 1. Dataohjattu päätöksenteko, KDD-prosessi siihen sulautettuna. Yhdistelmä Marin ja Petrin (2017, 8) sekä Bramerin (2016, 2) kaavioista.

(15)

2.3 Ajoneuvon itse tuottama data ja siihen lisätyt sensorit

Hallac ym. (2016) raportoivat tuloksia ajoneuvodatan käytöstä kuljettajan tunnistamisessa.

Tässä tutkimuksessa käytettiin auton ohjausdataa, ja otsikon mukaisesti eroja etsittiin tiet- tyjen käännösten kohdalta. Tuloksien he raportoivat olevan ”lupaavia”, 77% luotettavuus kahden kuljettajan erottelulle, ja 50% viiden kuljettajan erottelulle toisistaan.

Kuljettajan tunnistamisessa näyttäisi olevan hyödyllistä käyttää tiheän intervallin dataa. Hal- lacin ym. tapauksessa tarkastellaan hienovaraisia liikkeitä, joita kuljettaja tekee – kuten se, miten kuljettaja kääntyy mutkassa. Traktorin työtehtävistä dataa on merkittävästi harvem- malla intervallilla. Esimerkiksi mutkan käyttämistä vertailukohtana ei tämän tiedon perus- teella voisi käyttää, koska käännöksestä saadaan korkeintaan yksi näyte.

Carmonan ym. (2015) tutkimuksessa löydettiin kaksi päälinjaa ajoneuvodatan keräämiselle:

Ajoneuvon itse tuottamansisäisen datan hyödyntäminen, sekäulkoisendatan hyödyntämi- nen. Sisäisellä datalla tarkoitetaan ajoneuvon itse tuottamaa, CAN-väylältä kerättyä tietoa.

Ulkoisella datalla tarkoitetaan kaikkea muuta ajoon liittyvää dataa. Esimerkkejä tästä on pu- helimen kiihtyvyysanturin hyödyntäminen (jota on hyödyntänyt mm. Johnson ja Trivedi, 2011), sekä silmänliikkeiden seuranta, joita Carmona ym. nostavat esille. He ovat sulaut- taneet ajoneuvon sisäiseen dataan GPS-tietoa. Sijainti auttaa ympäristön luokittelussa. Eri lähteistä saatua tietoa voidaan yhdistää, jolloin niistä nousee enemmän tietoa yhdessä.

2.4 Tutkimusmenetelmä

Tutkimuksessa käytetään useita menetelmiä, koska eri osa-alueet vaativat erilaisia lähesty- mistapoja. Tiedonlouhinta on pohjimmiltaan numeerista ja siten empiiristä tutkimusta. Li- säksi tutkimuksessa käytetään konstruktiivista tutkimusmenetelmää. Datan ja analyysin tu- losten tulkitsemisessa tärkeässä roolissa ovat ymmärrys tiedonlouhinnasta sekä traktoreista.

Tiedonlouhinnasta on tärkeää ymmärtää työkalujen ja algoritmien perustoiminta, ja miksi ne toimii kuten toimivat. Datasta on syytä ymmärtää, mitä eri muuttujat vastaavat traktorissa.

Klassifioinnissa on etua siitä, jos tietää, miten työtehtävät suurin piirtein heijastuvat datassa.

Tätä tietoa on tarkoitus kartoittaa tiedonlouhinnassa ja tiedonkartoitusprosessissa laajemmin.

(16)

Tutkimusstrategiassa on ylätason menetelmänä konstruktiivinen tutkimus. Pohjimmiltaan tutkimuksen tavoitteena on tuottaa kaksi mallia: ylemmällä tasolla organisaation ja liiketoi- minnan malli, joka mahdollistaa datan tehokkaan hyödyntämisen. Ongelmanratkaisun mer- kitystä tässä kontekstissa korostaa toiminnallinen suunnittelututkimus (mm. Sein 2011). Sik- si tässä tutkimuksessa huomioidaan nämä eri tason konstruktiot. Alemmalla tasolla on mal- li, joka klassifioi työtehtäviä datan avulla. Alemman tason mallia voidaan arvioida helposti testaamaalla sitä vasten koejoukkoa, joka on erotettu aineiston koulutusjoukosta. Ylemmän tason mallia tutkija ei voi yksin evaluoida, vaan se täytyy tehdä yhdessä kohdeorganisaation ja mahdollisesti myös käyttäjien kanssa (Mullarkey ja Hevner, 2019).

Yksi tunnetuimpia konstruktiivisen tutkimuksen lähteitä on Hevner ym. artikkeli (2004), jonka seitsemän ohjenuoraa kattavat hyvin suunnittelututkimuksen perusperiaatteen. Posi- tivistinen näkemys artefaktista ongelman ratkaisussa ei kuitenkaan ole kattava seuraavista syistä. Tämän tutkimuksen aineisto on pieni ja rajattu muutamiin erityisiin työtehtäviin, ku- ten luvussa 4 todetaan. Tästä johtuen tuloksia ei voida yleistää koskemaan kaikenlaisia työ- tehtäviä. Monipuolisempaa dataa tarvitaan, jotta tulokset voisivat kattaa monipuolisempia tehtäviä. Lisäksi aineiston koko rajaa sitä, miten merkityksellisiä tulokset ovat. Vaikka klas- sifiointi toimisi tässä aineistossa, ei se välttämättä toimi samoista työtehtävistä koostuvassa, isommassa aineiestossa. Tilannetta voi monimutkaistaa esimerkiksi sääolosuhteet ja kuljet- tajat. Käytössä olevassa aineistossa on vain muutamia erilaisia kuljettajia ja sääolosuhteita.

Vaikka näitä ei ole spesifioitu, asettaa aikasarjojen lukumäärä näille rajoitteita.

Hevnerin ym. (2004) ohjenuoria täytyy laajentaa, jotta ne saataisiin sopimaan tähän ongel- maan. Näiden epistemologiaa on pohtinut muun muassa Niehaves (2007), joka punnitsee ohjenuoria interpretivistisestä näkökulmasta. Niehaves viittaa useisiin muihin näkökulmiin sekä positivistisesta että interpretivistisesta näkökulmasta suunnittelututkimuksessa. Niiden avulla saadaan käytettäviä ohjenuoria ja tieteellistä perustellisuutta myös kriittisyyttä niiden objektiivisuuteen. Tutkimuksessa on tärkeä havaita, että tutkimusympäristö, käsittäen tutki- jan, tutkimushankkeen, yhteistyöyrityksen ja erityisesti sen yhteistyöhön liittyvä organisaa- tio, kattaa useita erilaisia työkulttuureita.

(17)

2.5 Työtehtävän tunnistusmenetelmiä

Erilaisia yksinkertaisia ajotehtäviä voidaan tunnistaa helposti ja silmämääräisesti. Esimer- kiksi tähän tapaan: jos nopeus on yli 30 kilometriä tunnissa, ajetaan maantiellä. Jos nopeus on nolla ja kuormitus tasaisesti matala, on traktori tyhjäkäynnillä. Tällaiset kategoriat toimi- vat hyvänä lähtökohtana, mutta eivät vastaa tarkempiin kysymyksiin koskien itse työtehtäviä.

Niihin, mitä tehdään esimerkiksi pellolla. Niistä voidaan intuitiivisesti sanoa vain se, että no- peus on hidasta tai kohtalaista, ja että moottorin kuormitus vaihtelee epätasaisissa sykleissä.

Jotta työtehtävät voidaan erottaa toisistaan, täytyy löytää systemaattisia menetelmiä erottaa ne datasta. Menetelmiä on useita erilaisia. Strategiana on kokeilla kaikki soveltuvat mene- telmät systemaattisesti läpi, ja valikoida niistä parhaiten sopiva jatkokehitystä varten. Edellä hahmoteltiin intuitiivista sääntöpohjaista klassifiointia; eräs klassifiointialgoritmien joukko käyttääkin tällaisiapäätöspuita. Se on yksi tapa kartoittaa ymmärrystä datasta. Päätöspuussa kukin oksa sisältää jonkin reunaehdon, joka tarkentaa klassifiointia aina lehtisolmuun as- ti, joka valitsee luokan ja päättää algoritmin. Kun tämmöinen klassifiointimalli on tarkka, sisältää kukin reunaehto merkityksellistä tietoa itse datasta.

Tutkittava aineisto on luonteeltaan aikasarjadataa. Klassifiointia on mahdollista käyttää joko yksittäisille näytteille, niistä johdetuille johdannaismuuttujille. Näihin soveltuvia algoritme- jä ovat muun muassa tukivektorikoneet (engl.Support Vector Machines). Muuttujia voidaan tehdä työsyklin pituudesta tai jonkin muuttujan paikallisesta maksimista jollakin aikavälillä.

Työsykli voidaan tunnistaa siitä, että moottorin kuormitus ja nopeus putoavat hetkellisesti – toisaalta työsyklit eroavat siirtymisajosta siinä, että siirtyessä nopeus vaihtelee epätasaisem- min (Lacour, 2014, 3).

Lisäksi on olemassa aikasarjoja klassifioivia algoritmejä. Tällaisia ovat muun muassa aika- sarjamuuttujien piirtämiä muotoja tunnistavat algoritmit. Näiden käytöstä ajoneuvodatassa tutkija ei tunne esimerkkejä. Aikasarjaklassifiointi on oma ongelmajoukkonsa, johon liittyen on useita erilaisia algotimeja (Bagnall ym. 2017).

(18)

2.6 Yhteenveto ajoneuvon tiedonlouhinnasta

Ajoneuvoissa on nähtävissä datamäärien kasvamisen ilmiö. Datan kerääminen tapahtuu joko uusia sensoreita lisäämällä, tai hyödyntämällä olemassa olevia järjestelmiä tehokkaammin.

Molemmissa tapauksissa data on itse ajosta, joko lähempänä ajoneuvon teknistä toimintaa tai kuljettajan ohjausta. Fokus valitaan sen mukaan, mikä on fokuksen kannalta tärkeintä.

Työtehtävän tunnistamisessa on tärkeää havaita sekä kuljettajan toimintaa (mitähän tekee), että miten työkone käyttäytyy (millainen vaste).

Tiedonlouhinta on prosessi, jossa dataa puhdistamalla, analysoimalla ja visualisoimalla saa- daan uutta tietoa. Tämä voi auttaa muun muassa päätöksenteossa, ja rakentaa uusia liiketoi- mintamalleja. Uudet mallit voivat liittyä vaikkapa palveluihin, joita asiakas (esim. työkoneen kuljettaja) tarvitsee. Päätöksenteko voi vaikuttaa esimerkiksi tuotesuunnitteluun, jossa jokin toiminnallisuus korvataan toisella, koska se havaitaan enemmän käytetyksi. Yksi tärkeim- mistä päätöksenteon välineistä on klassifiointi, koska se tukee tai kumoaa olemassa olevia hypoteesejä datan avulla.

(19)

3 Klassifiointi

Tässä luvussa käsitellään klassifiointia tutkimustyökaluna sekä erilaisia klassifiointialgorit- mejä. Muutama eri algoritmi esitellään sopivalla tarkkuudella. Menetelmää tai algoritmia käsitellään yleisesti, täsmällisen määritelmän kautta ja esimerkein.

Esimerkit pohjautuvat aineistoon. Aineistosta ja sen eri muuttujista saa yleiskuvan luvussa 4.

Esimerkkejä ja niiden tulkintaa varten saattaa olla tarpeen tutustua ensin aineiston kuvauk- seen.

3.1 Klassifiointi ongelmana ja menetelmänä

Klassifiointi on isommassa viitekehyksessä ohjattua oppimista. Yksinkertaisia menetelmiä voidaan käyttää kynän ja paperin avulla, kuten potilaan diagnosointia jonkin yksinkertaisen mallin avulla. Monimutkaisemmat tai laajemmat ongelmat ovat tarpeen tehdä tietokoneen avulla. Koneoppiminen sinänsä on ”luonnollisten oppimisprosessien jäljittelemistä keinote- koisten laitteiden ja ohjelmistojen avulla” (Nieminen, 2016, 136). Oppimisprosessia voidaan ohjata kohti tavoitetta tunnetun luokittelun perusteella.

Sen sijaan ohjaamatonta oppimista voidaan käyttää uusien ryhmittelyiden luomisessa, ja aineiston parempaan ymmärrykseen valmiin luokittelun ulkopuolella. Näiden uusien mal- lien avulla taas voidaan tarkentaa ohjattua oppimisprosessia, esimerkiksi sillä, että joidenkin luokkien havaitaan olevan keskenään samankaltaisia ja siten niiden yhdistäminen tarkentaa mallia6. Vastaavasti yhden luokan sisällä voidaan havaita olevan merkittävää keskinäisiä ja kenties myös ristiriitaisia eroavaisuuksia, jolloin luokka on tarpeen pilkkoa.

Hermoverkot pyrkivät mallintamaan luonnollista oppimisprosessia mahdollisimman tarkasti.

Rosenblatt (1958) on luonut erään tunnetun mallin hermoverkoista ja sen sisältämistä neuro- neista. Tämä malli abstraktista neuronista on myös tukivektorikoneiden peruskivi, kuten lu- vussa 3.5 kuvataan. Hermoverkkoja on kehitetty lukuisia erilaisia, jotka soveltuvat erilaisiin

6Jos aineistossa on kaksi keskenään samanlaista ja samankokoista luokkaa, luokittelija valitsee näytteen luokan 50% todennäköisyydellä väärin.

(20)

tehtäviin (monipuolisen ja kattavan yleiskatsauksen on tehnyt van Veen ja Leijnen, 2016).

Nieminen (2016) käsittelee erityisesti monikerroksisia hermoverkkoja. Osa hermoverkoista sisältää painotusten lisäksi sisäisen tilan, joka parantaa neuronin muistamiskykyä mallin- nettaessa. Monimutkaisemmat neuronit ovat raskaampia mallintaa, eli ne vaativat enemmän muistia ja suorituskykyä, mutta niillä voidaan saada tehokkaampi malli ja vähemmillä neu- roneilla.

3.1.1 Klassifioinnin määritelmä

Klassifioinnissa on tarkoituksena ”määrittää tyyppi tai luokka jollekin luokittelemattomalle pisteelle” (Zaki ja Meira Jr., 2014, 466). Termipisteon merkityksellinen silloin, kun havain- non muuttujat voidaan ilmaista lukuina, jolloin yksittäinen havainto on piste moniuloittei- sessa avaruudessa. Yleisemmin kyseessä on näyte, havainto tai tapaus, johon liittyy yksi tai useampi muuttuja. Havainto voidaan ajatella olevan vektori moniulotteisessa avaruudessa, jonka dimensio on muuttujien lukumäärä (Breiman, 1984).

Mallin rakennusta varten datasta on varattava koulutusjoukko. Koulutusjoukko koostaa men- neitä havaintoja ja siten toimii esimerkkinä mallin rakennukselle (Breiman, 1984). Koulu- tusjoukkona voi olla koko soveltuva aineisto, tai vain osa siitä. Hyödyllistä on myös jakaa aineisto koulutus- ja testausjoukkoihin. Testausjoukolla varmistetaan syntyneen mallin toi- mivuus. Jos malli ylioppii, se voi oppia koko koulutusaineiston ulkoa, yleistymättä uusille vastaavanlaisille näytteille yhtä tarkasti. Kuvio 2 havainnollistaa tämänlaista tilannetta. Siinä katkoviivat rajaavat sekä sinisten neliöiden että punaisten kolmioiden ryppäät hyvin läheltä, jättäen paljon tyhjää tilaa välimaastoon. Jos luokittelun raja neliöiden ja kolmioiden välillä menee kummankaan katkoviivan kohdalta, luokitellaan koulutusaineiston ulkopuolella raja- vyöhykkeeseen osuvat pisteet todennäköisesti väärin (joko neliöiden tai kolmioiden kustan- nuksella). Yksinkertaisin ja todennäköisesti oikein malli menisi luultavasti rajavyöhykkeen keskeltä. Mitoittumiseen liittyy myös se, miten paljon virheitä siedetään ja mihin suuntaan.

Klassifiointimenetelmän tehtävä on löytää kunkin pisteen ja sitä vastaavan luokan yhteys.

Malli voi lisäksi olla kuvaava tai ennustava: ennustava mallin tehtävä on luokitella uusia datapisteitä, kun taas kuvaava malli kertoo, mitkä ominaisuudet määrittävät kunkin luokan

(21)

Kuvio 2. Esimerkki ylioppimisesta.

(Tan, Steinback ja Kumar, 2006). Toisaalta klassifioinnin voi nähdä ennen kaikkea ihmisiä ja organisaatioita hyödyttävänä työkaluna, toisaalta koneen harjoituksena kasvattaa omaa ym- märrystään. Koneelle oppimisprosessi on numeerinen ja ohjelmoitu, joten oppimista joutuu arvioimaan ihminen lopulta. Nämä näkökulmat eivät tietenkään ole toisiaan pois sulkevia.

Koneoppimisen näkökulma keskittyy itse artefaktiin, kun taas isommassa viitekehyksessä se on vain osa tiedonlouhintaprosessia.

Breiman ym. (1984) esittää kaksi määritelmää klassifioinnille: toinen on klassifiointisäännön näkökulmasta, ja toinen on osioinnin näkökulmasta. Olkoon n∈N mitattavien muuttujien lukumäärä, Xn-ulotteinen mittausavaruus, ja 1,2, ...,j=C eri luokittelut, joita on yhteensä j erilaista. Ensimmäinen määritelmä määrittelee funktion d:X →C, joka kuvaa jokaiselle mahdolliselle mittauksellexjonkin luokan joukosta C.

Toinen määritelmä jakaa joukon X J:ksi irralliseksi osajoukoksi, yksi kullekin luokittelulle.

OlkoonA1,A2, ...,Aj,X =SiAi siten, että∀i∈C,x∈Aimittauksenxennustettu luokka on i. Tämä on yhtäpitävä edellisen määritelmän kanssa, jos ja vain jos kuvaus d ja osiointi A tekevät saman jaon, eli∀i∈C,x∈X :x∈Ai↔d(x) =i.

(22)

3.1.2 Erilaiset aineistot ja menetelmät

Klassifiointimenetelmiä on useita erityyppisiä: päätöspuihin, sääntöihin, lähimpään naapuri- pisteeseen, Bayesin teoreemaan, hermoverkkoihin ja tukivektoreihin perustuvia. Tässä me- netelmä on jokin teoria tai viitekehys, joka mahdollistaa tietynlaisen klassifioinnin. Algo- ritmi puolestaan on jokin klassifioinnin konkreettinen toteutus tai toteutustapa. Oma mene- telmänsä on yhdistellä muita menetelmiä sopivasti. Bagnall ym. (2017) ryhmittelevät aika- sarjaklassifioijia koko sarjaan, intervalleihin, aallonpätkiin (engl. shapelets), sanakirjoihin perustuviin algoritmeihin.

Aikasarjaklassifiointimenetelmistä esimerkkinä olkoon DTW (Dynamic Time Warping), joka on koko sarjaan perustuva algoritmi, eli se vertailee ”kahden kokonaisen aikasarjan etäisyyt- tä paikalliset häiriöt suodatettuna” (Bagnall ym. 2017). Klassifioivat piirteet voivat siis olla missä tahansa aikasarjaa, kunhan ne löytyvät molemmista vertailtavista. DTW pyrkii sovit- tamaan klassifioitavaa aikasarjaa mallisarjaan litistämällä ja venyttämällä. Siten se soveltuu hyvin aikasarjoihin, jotka etenevät vaihtelevalla nopeudella. DTW:tä on käytetty onnistu- neesti muun muassa aggressiivisen ajotavan tunnistamiseen (Johnson ja Trivedi, 2011).

Osa algoritmeistä toimii eräajossa, osa taas pystyy rakentamaan mallia samaa tahtia, kun uutta tietoa on saatavilla (engl. batch ja online). Eräajoalgoritmit tuottavat kerralla yhden mallin, kun taas iteratiivisesti rakentuvat algoritmit tuottavat useita välivaiheen malleja. Ite- ratiivisen prosessin välivaiheita voi tutkia, ovatko ne yhteneviä ja tasaisesti paranevia (tätä sivuaa mm. Cristianini ja Shawe-Taylor, 2000, 3). Tämän tutkimuksen aineisto on kiinteä, joten siten sitä analysoidaan lähtökohtaisesti eräajotyyppisesti (myös iteratiivisilla menetel- millä). Toisaalta tutkimuskysymyksenä on, voiko mallia käyttää reaaliaikaisesti ajoneuvossa.

Iteratiivista mallia voidaan testata aineistolla siten, että syntyneelle mallille syötetään pieni määrä dataa kerrallaan, ja katsotaan sen tehokkuutta. Toisaalta malli voidaan rakentaa val- miista aineistosta eräajona – riittää, että sitä voidaan käyttää tasaisen datavirran analysointiin.

Toisaalta, jos eräajomalli ei toimi halutun tiedon luokittelussa, niin tuskin iteratiivinenkaan toimii sen paremmin.

(23)

3.2 Lähimmät naapurit

Eräs klassifioija onk:n lähimmän naapurinalgoritmi7. Siinä tuntematonta pistettä lähimmät naapurit äänestävät sen luokasta (Bramer, 2016, 29). Algoritmin tärkeimpiä muuttujia ovat pisteiden välinen etäisyys ja äänestävien pisteiden lukumäärä, jotka on säädettävä sopivak- si. Jatkuvien muuttujien kohdalla etäisyys voi tarkoittaa standardisoitujen muuttujien välistä euklidista etäisyyttä. Jos etäisyyttä ei standardisoi, muuttujien eriasteinen vaihtelu vaikuttaa etäisyyteen epäreilusti. Äänestävien pisteiden lukumäärä vaikuttaa algoritmin käyttäytymi- seen reunatapauksissa, jossa erityyppisiä pisteitä on sekaisin.

Algoritmin toimintaperiaatetta havainnollistaa kuvio 3. Siinä vihreä ympyrä edustaa luoki- teltavaa pistettä, kun taas punaiset kolmiot ja siniset neliöt edustavat äänestäviä pisteitä. Jos valitaan k=3, niin luokaksi tulee punainen kolmio, koska enemmistö kolmesta (sisemmän ympyrän sisällä olevat) on punaisia kolmioita. Jos k=5, niin tällöin äänestys valitsee luokak- si sinisen neliön.

Kuvio 3. K:nlähimmän naapurin algoritmin havainnekuva (Ajanki, 2007).

Edellisessä esimerkissä pisteet ovat tasossa, ja niiden etäisyys lasketaan euklidisesti. Al- goritmi toimii vastaavasti muissakin avaruuksissa. Diskreeteille muuttujille täytyy määrittää etäisyysfunktio muuttujan eri arvojen välille. Yksinkertaisin tapa on määrittää jokaista muut- tujan arvoa vastaava luku, ja mitata näiden välisiä etäisyyksiä.

K-lähimmän naapurin variaatiot jätetään tutkimuksen ulkopuolelle, kuten myös erilaisten painotuksien käyttö. Painotuksia voidaan lisätä eri luokille, jos niitä esiintyy eri tiheyksi-

7Englanninkielinen termi onk-nearest neighbours algorithmja lyhennettynä k-NN.

(24)

nä. Tällöin huomattavasti tiheämmin esiintyvät muuttujat dominoivat äänestysprosessissa.

Euklidisen etäisyyden lisäksi hyödyllinen etäisyyden laskutapa onkorttelietäisyys, jossa las- ketaan yhteen kahden pisteen välinen vertikaali ja horisontaali etäisyys (tai yleisemmin kom- ponenttien erotuksien itseisarvojen summa) (Bramer, 2016).

3.3 Naiivi Bayes-luokittelija

Bayes-klassifiointi perustuu Bayesin teoreemaan, joka kuvaa ehdollista todennäköisyyttä.

Teoreeman avulla voidaan päätellä lähtötietojen avulla todennäköisin luokka uudelle näyt- teelle. Naiivi Bayes-menetelmä olettaa muuttujien olevan toisistaan riippumattomia. Siitä huolimatta menetelmää pidetään tehokkaana useisiin kohteisiin (Bramer, 2016, 26; Zaki ja Meira Jr., 2014, 472).

3.3.1 Määritelmä

Merkitään tapahtuman A todennäköisyyttä P(A). Merkitään ehdollista todennäköisyyttä P(A

| B) joillekin tapahtumille A ja B – lukien ”todennäköisyys A:lle, kun B on voimassa”. B toimii siis ehtona A:lle, rajaten yleistä todennäköisyyttä. Bayesin teoreema esitetään yleisesti seuraavasti:

P(A|B) = P(B|A)P(A) P(B) .

Bramer (2016) esittää täsmällisen määritelmän Bayes-klassifiointimenetelmälle seuraavasti:

Olkoonkeri luokkaa c1, c2, . . . , ck, joilla on prioritodennäköisyydet P(c1), P(c2), . . . , P(ck), janmuuttujaa a1, a2, . . . , an, joille on annettu arvot v1, v2, . . . , vn. Tällöin posterioritoden- näköisyys pisteelle ollakseen luokkaa cion verrannollinen tulolle

P(ci)·P(a1=v1∧a2=v2∧...∧an=vn|ci).

Oletuksella, että muuttujat ovat riippumattomia, tulo on muotoa

P(ci)·P(a1=v1|ci)·P(a2=v2|ci)·...·P(an=vn|ci).

Tulo lasketaan kaikille arvoille i, jossa i saa arvot 1:stä k:hon, valiten isoimman todennä- köisyyden saanut luokka. Zaki ja Meira Jr. (2014, 513) tekevät vastaavanlaisen määritelmän

(25)

Koska Bayesin teoreemassa oleva jakaja on aineiston suhteen vakio, voidaan se jättää al- goritmin laskuoperaatioissa pois, kuten näissä määritelmissä on tehty. Tällöin tulo ei vastaa täsmällistä todennäköisyyttä pisteen esiintymiselle, vaan kyseessä on sen moninkerta. Myös aineiston koko n on invariantti, mikä otetaan pois prioritodennäköisyydestä myöhemmin.

Tässä luokkien prioritodennäköisyydet P(ci) jollekinitarkoittavat kunkin klassifioinnin esiin- tymistodennäköisyyttä. Se voidaan muodostaa laskemalla kunkin luokan suhteellinen osuus aineistosta, josta malli rakennetaan. Aineistosta on nähtävissä suoraan muuttujan eri arvojen todennäköisyys. Tutkittavasta aineistosta voidaan esimerkiksi tehdä jakauma siitä, mikä pi- kavaihde on milläkin todennäköisyydellä päällä. Tämä ei vaadi päättelyä, ainoastaan kunkin luokan esiintymien yhteen laskemista, kuten kuviossa 4 on tehty. Huomaa, että kuvion 4 fre- kvenssit vastaavat kuvion 5 oikeanpuoleisen taulukon kunkin rivin lukumääriä summattuna yhteen.

Suhteelliset frekvenssit kertovat eri pikavaihteiden käyttöasteen, mutta ne vastaavat myös ky- symykseen, millä todennäköisyydellä satunnaisen näytteen pikavaihde on jokin näistä. To- dennäköisyys on myös kunkin luokan prioritodennäköisyys, jota käytetään naiivissa Bayes- menetelmässä. Esimerkiksi vaihde 1 on noin 20% todennäköisyydellä päällä millä tahansa satunnaisella ajanhetkellä.

3.3.2 Esimerkki tutkimusaineiston pohjalta

Esimerkkiin tarvitaan vähintään kaksi muuttujaa ja luokat luodaan jostakin kolmannesta muuttujasta8. Valitaan moottorin kierrosluku ja pikavaihde muuttujiksi, ja luokat maanopeu- desta. Hypoteesi on, että kierrokset ja vaihde yhdessä korreloivat ajoneuvon vauhdin kanssa.

Toki työtä tehdessä kuormitus on suurempi, jolloin samoilla kierroksilla vaihde ja vauhti on pienempi. Hypoteesin olettama on, että naiivi Bayes-malli kattaa tämän. Naiivi Bayes- menetelmä olettaa muuttujat toisistaan riippumattomaksi.

Olkoon tarkasteltavien näytteiden lukumäärä n. Esimerkin yksinkertaistamiseksi tarkastel- laan vain niitä näytteitä, joissa pikavaihde on välillä 1–5. Näitä näytteitä on 10249, joka siis

8Yhdellä muuttujalla Bayes-klassifiointi on triviaali, koska algoritmi valitsee luokaksi aina sen, missä ky- seisellä muuttujan arvolla on eniten pisteitä.

(26)

Kuvio 4. Pikavaihteiden suhteelliset frekvenssit aineistossa.

on esimerkkiaineistonn. Maanopeus diskretisoidaan 10 km/h väleihin, paitsi ensimmäinen väli, joka on 0–5 km/h. Näin saadaan helposti käsiteltäviä kategorioita, mikä on tässä esi- merkissä tarkkuutta tärkeämpää. Moottorin pyörintänopeus diskretisoidaan 500 kierroksen välein, poikkeuksena ensimmäinen väli, joka on 0–250 RPM. Näin aineistosta muodostetut frekvenssitaulukot ovat kuviossa 5. Tämän taulukon avulla voidaan laskea naiivin Bayes- menetelmän mukaiset suhteelliset todennäköisyydet kullekin luokalle ja siten klassifioida uusia näytteitä.

Kuvio 5. Eri pikavaihteiden ja kierroslukujen suhde maanopeuksiin.

Olkoon c0, c10, c20, c30, c40, c50 ja c60 eri nopeusluokat (jonka indeksit j ∈ J), ar kierros-

(27)

lukumuuttuja sekä avvaihdemuuttuja. Muuttuja ar saa arvoja joukosta Av = {1,2,3,4,5}9 ja muuttuja avsaa arvoja joukosta Ar = {0, 500, 1000, 1500, 2000, 2500}, jotka vastaavat kun- kin välin keskiarvoa. Vauhti- ja kierroslukuvälit ovat eriteltynä kuviossa 5.

Näillä kahdella muuttujalla vertailuarvo näytteellev= (vr, vv) ja luokallejsaadaan kaavasta P(v|cj) =P(cj)·P(ar=vr|cj)·P(av=vv|cj) = nj

n ·r pm(vr,j)

nj ·vaihde(vv,j) nj , joka voidaan edelleen kertoa invariantilla n. Kaavassa funktiot r pm:Ar,J→Nja vaihde: Av,J →N 10 ovat kuvion 5 taulukoiden kuvauksia. Funktion arvo on siis kullakin muuttu- jan arvon ja nopeuden yhdistelmällä aineistossa olevien pisteiden lukumäärä, missä on tämä yhdistelmä. Esimerkiksi rpm(1000, 30) = 308, sanallisesti aineistossa on 308 näytettä, jossa ajetaan noin 1000 rpm kierroksilla ja vauhdilla 25–35 km/h – ja toisena esimerkkinä vaih- de(4, 40) = 50, joka tarkoittaa, että aineistossa on 50 näytettä, joissa ajetaan pikavaihteella 4 ja vauhtia 35–45 km/h.

3.3.3 Kolmen eri näytteen luokittelu

Valitaan aineistosta kolme satunnaista (diskretisoitua) näytettä:

Näyte Moottorin RPM Pikavaihde Vauhti (km/h)

1 2000 2 30

2 1000 2 10

3 1500 3 10

Näytteelle 1 lasketaan eri nopeuksille seuraavat vertailuarvot:

P(v1|c0) =n0·r pm(2000,0)

n0 ·vaihde(2,0)

n0 =1997· 189 1997· 291

1997 = 189·291 1997

=27,54081121...

≈27,5.

9Arvot -1,-2,-3,-4,-5 ja 130 on otettu pois tässä esimerkissä. Arvo 130 merkitsee ei-validia arvoa tai vaih- detiedon puuttumista.

10Tässä nolla sisältyy luonnollisten lukujen joukkoon.

(28)

P(v1|c10) =n1·r pm(2000,1)

n0 ·vaihde(2,1)

n0 =4066·1355 4066· 963

4066 = 1355·963 4066

=320,921052...

≈321.

P(v1|c20) = 282·281

1187 =66,758213...≈66,8.

P(v1|c30) = 89·170

1346 =11,240713...≈11,2.

Koskavaihde(2,j) =0, kun j>40, niinP(v1|cj) =0 vastaavasti.

Näiden suhdelukujen maksimi on P(v1 | c10) ≈321, joten algoritmi klassifioi näytteen vir- heellisesti nopeusluokkaan 10 km/h.

Vastaavasti näytteille 2 ja 3 (maksimit korostettuna):

P(v2|c0) =85,7;

P(v2|c10) =211;

P(v2|c20) =53,2;

P(v2|c30) =20,4;

P(v2|cj) =0,j>3.

P(v3|c0) =132;

P(v3|c10) =436;

P(v3|c20) =147;

P(v3|c30) =229;

P(v3|c40) =44;

(29)

3.3.4 Yhteenveto Bayes-menetelmästä

Scikit-learnin moduuliCategoricalNBklassifioi tämän esimerkkiaineiston 58% tarkkuu- della. Tämä tarkkuus tuskin aiheutuu itse luokittelumenetelmästä: kuviossa 5 voi havaita hajonnan olevan melko suurta molempien muuttujien suhteen. Toisaalta, koska menetelmä olettaa muuttujien olevan toisistaan riippumattomia, tarkkuus voi heikentyä jos tämä oletus ei pädekään.

Nopeuden voisi olettaa olevan suoraan verrannollinen välityssuhteen ja kierrosluvun kanssa.

Siten nopeuden ennustaminen näiden muuttujien avulla voi olettaa olevan tarkkaa. Edellä olevassa esimerkissä luokittelutarkkuutta laskee se, että pikavaihteen lisäksi tarvitaan lisää tietoa välityssuhteesta.

3.4 Päätöspuut

Päätöspuu on päätöksentekoväline, joka jakaa päätöstä rajaavat ehdot hierarkkisesti. Puun sisäsolmut sisältävät rajauksia, jotka tarkentavat päätöstä aina lehtisolmuihin, joista kukin vastaa jotakin yksittäistä päätöstä. Tiedonlouhinnan kontekstissa päätös on joko luokka tai jonkin muuttujan ennuste. Päätöspuut ovat hyödyllisiä niiden läpinäkyvyyden vuoksi: pää- töspuu itsessään on ”merkityksellinen ja helposti tulkittavissa” (Bramer, 2016, 39).

3.4.1 Rakennetun puun käyttäminen

Lehtisolmut sisältävät puun päättävän valinnan. Puu on tavallisimmin binääripuu, ja ehdot binäärisiä. Binääripuu on helppo rakentaa, koska jakava ehto on yksinkertainen. Jatkuvilla muuttujilla ehto on tavallisesti suuruusvertailu jonkin jakopisteen eri puolista. Puulla voi periaatteessa olla useita oksia, mutta tällöin jakava ehto on oltava sellainen, että siitä pystyy päättelemään useita eri jakoluokkia kerralla. Vastaavanlainen jako pystytään aina tekemään myös binääripuulla, tosin tällöin jakoon tarvitaan enemmän solmuja.

Esimerkkinä puu kuviossa 6. Kyseinen puu on tuotettu luvussa 3.3 käytetyllä esimerkkiai- neistolla. Kuvion mukainen puu luokittelee diskretisoidun nopeuden noin 54% tarkkuudella.

Kuviossa keltaiset solmut suorittavat jaon pikavaihteen perusteella, ja vaaleansiniset solmut

(30)

Kuvio 6. Päätöspuu edellisen luvun esimerkkiaineistosta.

moottorin kierrosluvun perusteella. Ehto on kuvattu kunkin lapsisolmun oksalla. Vihreät ne- liöt ovat lehtisolmuja, jotka valitsevat luokan, eli tässä tapauksessa nopeuden. Kuvion mu- kaisella päätöspuulla saadaan aineistossa sama tarkkuus kuin naiivilla Bayes-menetelmällä.

Huomautuksena mallista se, että kuvio on tehty valmiiksi diskretisoidusta aineistosta. No- peutta voitaisiin yrittää ennustaa myös jatkuvana muuttujana. Tällöin kyseessä onregressio- puueikä klassifioiva puu. Vertailun vuoksi tässä käytetään samanmuotoista aineistoa Bayes- esimerkin kanssa. Toinen huomautus koskee puun rakentanutta algoritmiä, joka on scikit- learnin DecisionTreeClassifier. Dokumentaation mukaan luokittelijan toteutus ei tue kategorisia muuttujia (scikit-learn-kirjaston kehittäjät, 2019). Esimerkkiaineiston pika- vaihde voidaan ajatella kategorisena muuttujana, mutta vaihteilla voidaan ajatella myös ole- van suuruusjärjestys. Siten tämä seikka ei tuota ongelmaa. Algoritmin tuottamassa puussa kuviossa 6 on pikavaihteet pyöristetty kokonaisluvuiksi, mikä on tuotetun puun kannalta olennainen tieto.

Päätöspuu toimii yleisesti sekä jatkuvilla että kategorisilla muuttujilla. Erityyppisiä muuttu-

(31)

jia voidaan käyttää sekaisin, jos algoritmin toteutus sen sallii. Jatkuvia muuttujia käytettäes- sä pitää löytää sopiva ehto, joka rajaa tapaukset mahdollisimman hyvin tasan. Kategorisia muuttujia käytettäessä riittää valita kategoriat tasan sopivia tarkennuksia varten. Normali- sointi ei ole tarpeen; muuttujien arvot soveltuvat ehtolausekkeisiin sellaisenaan. Algoritmin tärkein ominaisuus on löytää sopivat ja merkitykselliset rajaukset puulle (Bramer, 2016, 41).

Toisaalta päätöspuun voidaan ajatella tiivistävän tietoa, jos sopivan kokoisella puulla saadaan kattava malli.

3.4.2 TDIDT-algoritmi

Bramer (2016, 45) esittelee algoritmin TDIDT esimerkkinä päätöspuun rakentamisesta. Al- goritmi pyrkii etsimään parhaimman jaon, kun tiedetään, miten jaettava muuttuja löydetään.

Perusalgoritmi ei ota kantaa siihen, miten jaettava muuttuja valitaan. Yksinkertaisin ratkaisu tähän on valita muuttuja satunnaisesti. Satunnainen valinta ei vaadi tietämystä datasta.

TDIDT-algoritmin määritelmä on seuraavanlainen (Bramer, 2016): Jos joukon kaikki näyt- teet kuuluvat samaan luokkaan, muodosta lehtisolmu, joka valitsee kyseisen luokan. Muussa tapauksessa valitse muuttuja A (joka ei saa olla sama kuin mikään ylempänä puussa valit- tu), jonka perusteella tehdään seuraava jako. Ryhmittele joukko kunkin muuttujan A arvon mukaan. Muodosta lapsisolmuja kustakin ryhmästä suorittaen algoritmi näille rekursiivises- ti. Bramer huomauttaa, että puussa saa valita kunkin muuttujan A vain kerran, koska tällöin voidaan taata, että algoritmi pysähtyy. Pysähtyminen johtuu siitä, että puun syvyys on tällöin korkeintaan muuttujien lukumäärä, joka on rajattu.

TDIDT olettaa, että aineisto on johdonmukainen(Bramer, 2016) – eli että yksi muuttujien arvojen yhdistelmä on vain yhdessä luokassa. Epäjohdonmukaisuuksia voi ratkoa karsimalla puuta muun muassa enemmistöäänestyksellä, eli valitaan vaihtoehtoisista osapuista yleisin.

Tämänlainen algoritmi on hyvä peruskivi päätöspuun rakentamiselle, mutta se ei vielä ota kantaa siihen, miten jako tulisi tehdä, ja mikä muuttuja tulisi valita seuraavaksi. Satunnais- ta valintaa parempi on tarkastella sitä, miten hyvin kunkin muuttujan avulla voidaan jakaa aineistoa tarkemmin kohti yksittäisiä luokkia.

(32)

3.4.3 Epäpuhtaus

Jakojen onnistumista varten tarvitaanepäpuhtaudenkäsite. Se määritellä seuraavasti (Brei- man ym. 1984, 24): Epäpuhtaus on nolla silloin, kun valitussa osassa aineistoa on vain yhtä luokkaa. Suurimmillaan epäpuhtaus on silloin, kun aineistossa on tasainen suhde eri luok- kia. Näin ollen paras jako on sellainen, joka puolittaa joukon mahdollisimman tasan. Tällöin puoliskojen epäpuhtaus pienenee eniten.

Mittareita epäpuhtaudelle on muun muassa entropia sekä Gini-epäpuhtaus. Scikit-learnissa nämä molemmat ovat käytettävissä luokittelijassa DecitionTreeClassifier. Epä- puhtauden määrittämisen voi määrittää myös jollakin muulla vastaavanlaisella funktiolla näiden kahden lisäksi. Breiman ym. (1984, 25) käyttivät tutkimuksensa alkuvaiheessa itse määrittämäänsä epäpuhtausfunktiota, kunnes muut funktiot osoittautuivat sitä hyödyllisem- miksi.

3.4.4 Yhteenveto päätöspuista

Päätöspuut ovat hyödyllinen luokittelijamenetelmä. Niille yhteistä on hierarkkinen päätök- sen tarkentaminen. Tässä luvussa käsiteltiin lyhyesti päätöspuun keskeistä teoriaa: puun ra- kennusta epäpuhtautta minimoiden. Muita keskeisiä ongelmia ovat muun muassa sopivan korkeuden määrittäminen puulle, sopiva solmujen rakentaminen ja ylimääräisten solmujen karsiminen.

Päätöspuut voivat olla merkityksellisiä ja sisältää hyödyllistä tietoa sellaisenaan. Niiden on- gelmana toisaalta on, että puu voi kasvaa liian isoksi. Tällöin tuotettu puu ei yleisty, eivät- kä puun jakoehdot ole merkityksellisiä (Bramer, 2016, 163). Monimutkainen ongelma siten tuottaa väistämättä monimutkaisen päätöspuun.

3.5 Tukivektorikoneet

Tukivektorikoneet ovat lineaarisia luokittelijoita. Niiden luokittelukyky perustuu hyperta- soihin, jotka asetetaan aineistontukivektoreiden avulla. Hypertaso on n-ulotteisen tason n- 1-ulotteinen aliavaruus. Tämä tarkoittaa 2-ulotteisessa tasossa suoraa, 3-ulotteisessa avaruu-

(33)

dessa 2-ulotteista tasoa, ja niin edelleen. Hypertaso jakaa näin muuttuja-avaruuden kahteen osaan. Näin saadaan suoritettua binäärinen valinta sen suhteen, kummalla puolella hyperta- soa näyte on. Useiden luokkien erotteluun tarvitaan useita tällaisia hypertasoja. Tukivektori- koneon sellainen algoritmi, joka etsii hyvien hypertasojen joukkoa koulutusjoukon luokkien välille.

Kuvio 7. Esimerkki hypertasosta, joka erottaa kahta joukkoa.

Tukivektorikoneet toimivat parhaiten, kun aineisto on lineaarisesti eroteltavissa tällaisilla hy- pertasoilla. Näiden väliin jäävämarginaalimittaa sitä, miten hyvin eri luokat voidaan erottaa toisistaan (Cristianini ja Shawe-Taylor, 2000, 12). Tukivektorit ovat aineiston pistevektoreis- ta kohti hypertasoa kohtisuoria vektoreita, jotka yhdessä kuvaavat tason etäisyyttä eri luo- kista, ja siten koko hypertason asettelun optimaalisuutta. Jos eri luokat lomittuvat keskenään muuttuja-avaruudessa, on löydetyt tasot aina kompromissejä. Lomittuvien aineistojen luo- kittelu tosin on kompromissi millä tahansa luokittelumenetelmällä – tällöin tarvitaan lisää tietoa, jotta selkeä lineaarinen ero löytyy. Tarvittaessa aineistolle tehdään kernelimuunnos, jolloin luokat ovat paremmin eroteltavissa lineaarisesti (mm. Cristianini ja Shawe-Taylor, 2000, 26). Sopiva muunnos muuntaa ei-lineaarisen suhteen lineaariseksi, kuten esimerkiksi painovoiman laskeminen etäisyyden ja massan avulla.

(34)

Kuviossa 2 voidaan löytää sinisten neliöiden ja punaisten kolmioiden välille taso, koska ryh- mien välissä on paljon tyhjää tilaa. Tärkeää on myös se, että ryhmät ovatlineaarisesti erotet- tavissa, jolloin yhdellä suoralla pystytään erottamaan nämä ryhmät toisistaan. Jos isommas- sa mittakaavassa on tilanne, jossa siniset neliöt täyttäisivät ympyrän muotoisen alueen siten, että punaiset kolmiot ympäröisivät sitä aluetta tasaisesti, ei sopivaa suoraa löytyisi. Tällöin tarvitaan muunnos, joka avaa tämän ympyrärakenteen.

3.5.1 Reaaliavaruus

Jotta voidaan puhua täsmällisesti luokittelijasta, täytyy ensin määritellä muuttuja-avaruus11, jossa luokittelija toimii. Aineisto on lähtökohtaisesti mitä tahansa dataa. Nämä voivat olla muun muassa ”instansseja, esimerkkejä, tietueita, objekteja, muuttujia ominaisuuksia, attri- buutteja” ja niin edelleen (Zaki ja Meira Jr., 2014, 1). Niistä pitää lisäksi valita vain relevantit muuttujat analyysiä varten (Cristianini ja Shawe-Taylor, 2000, 29), ettei malli yliopi irrele- vantteja ominaisuuksia. Valituille muuttujille pitää löytää tätä luokittelijaa varten jonkinlai- nen numeerinen esitys.

Esityksen löytäminen on triviaali, jos muuttujalla on jokin luontainen, mielekäs numeerinen esitys. Muutoin, kuten kategorisilla muuttujilla, pitää pohtia: Onko kategorioilla mitään si- säistä järjestystä tai etäisyyttä? Vai onko eri kategoriat keskenään samanarvoisia? Järjestyk- sessä oleville kategorioille voi toimia järjestysnumeroiden valitseminen siinä järjestyksessä, mikä on niille luontainen. Voi olla myös tarpeen pilkkoa kukin kategoria omaksi muuttujak- seen, s.e. näytteen kategorialuokka on 1 muiden ollessa nolla12.

Lopputuloksena kaikilla luokitteluun mukaan otetuilla muuttujilla on jonkinlainen reaali- nen esitys. Siten kaikki näytteet voidaan esittää joukonX ⊂Rj alkioina, jossa j∈Non eri luokkien lukumäärä. Tällöin muuttujat on esitetty samalla tavalla lineaarisen luokittelijan

11Tässä on tarpeen tehdä mittausavaruuden ja muuttuja-avaruuden välille ero: mittausavaruus on datajoukko sellaisenaan mitattuna ja taltioituna, kun taas muuttuja-avaruus on se, jossa tehdään lineaarista erottelua. Jot- ta mittausavaruuden joukosta saadaan muuttuja-avaruuden joukko, tehdään sille normalisointi ja tarvittaessa muitakin sopivia muunnoksia.

12Tämän voi tehdä scikit-learnin kirjastollasklearn.preprocessing.OneHotEncoder.

(35)

näkökulmasta. Algoritmin keskiössä on kahden vektorinxjaypistetulo, joka on hx·yi=

n

i=1

xiyi.

(notaatio Cristianini ja Shawe-Taylor, 2000, 168). Pistetulo on tarpeellinen hypertason yhtä- lössä, kun määritetään, kummalla puolella tasoa piste on.

3.5.2 Binäärinen luokittelija

Olkoon n∈N tutkittavien muuttujien lukumäärä, ja yksi näyte muuttuja-avaruudesta x∈ X, siten, että muuttuja-avaruus X on aito osajoukko joukosta Rn. Tässä osiossa muuttujien oletetaan olevan mielekkäässä numeerisessa esityksessä.

Binäärisen luokittelijan voi määritellä seuraavasti (Cristianini ja Shawe-Taylor, 2000, 9):

olkoon funktio f :X→R, jonka etumerkistä saadaan luokka. Lineaarikuvauksen tapauksessa funktio voidaan kirjoittaa seuraavasti:

f(x) =hw·xi+b=

n

i=1

wixi+b.

Tällöin binäärinen luokittelija valitsee luokanf:n etumerkin perusteella. Tasolla olevat pis- teet voidaan valita kuuluvan jompaan kumpaan luokkaan, jolloin luokittelu kattaa koko X:n.

Binääristä luokittelijaa ei aina määritellä täsmällisesti tähän tapaan, mutta sen tunnetaan kuitenkin perustuvan Rosenblattin (1958) ideaan neuronista13 (Cristianini ja Shawe-Taylor, 2000, 11; Boser, Guyon ja Vapnik, 1992, 145). Rosenblatt tutki ennen kaikkea hermoverkon mallintamista, mutta sen peruskivi, neuroni, voidaan nähdä yhtenä tällaisena binäärisenä luo- kittelijana. Neuroni vastaa hermoverkon tapauksessa n:ään ärsykkeeseen, joka tietyillä pai- notuksilla tuottaa vasteen. Tämä kuvaus vastaa funktiota f ja sen mallinnusta hypertasojen avulla. Tästä näkökulmasta hypertaso kuvaa siis sitä jakoa, millä ärsykkeillä neuroni tuottaa vasteen ja millä ei. Rosenblattinperceptron-malli on havainnollistettu kuviossa 8.

13Lähdekirjallisuudessa termi onperceptron.

(36)

Kuvio 8. Rosenblattin (1958, 389) perceptron-malli.

3.5.3 Moniluokkainen luokittelija

Binäärinen luokittelija riittää kahden luokan erotteluun. Usean luokan erotteluun tarvitaan useita hypertasoja, yksi kullekin luokalle. Pisteen luokan määrittää se taso, jota se on eniten yläpuolella. Tämä voidaan määrittää sijoittamalla pisteen paikkavektori kunkin hypertason f-funktioon ja etsimällä niiden maksimi.

Moniluokkaisen luokittelijan määritelmä on seuraavanlainen (Cristianini ja Shawe-Taylor, 2000, 20): Olkoon j ∈N eri luokkaa aineistossa X, ja x ∈ X jokin sen näyte, pisteenä muuttuja-avaruudessa. Olkoon lisäksi parit(w1,b1),(w2,b2), ...,(wj,bj)kunkin luokan hy- pertasoja14. Tällöin luokan valitseva funktioc:X →Jon

c(x) =arg max

0≤i≤j(hwi·xi+bi).

Tällaisten tasojen löytäminen on helppoa silloin, kun joukot ovat lineaarisesti eroteltavissa.

Tällöin on tavoitteena etsiä sellaiset hypertasot, joilla marginaali on suurin näytejoukkoi-

(37)

hin (Zaki ja Meira Jr., 2014, 519). Marginaali on etäisyys hypertasoa lähimpiin pisteisiin.

Voidaankin sanoa, että nämä pisteet ovattukivektoreitahypertasolle (s. 517).

3.5.4 Kerneli

Lineaarinen luokittelija toimii sellaisenaan vain silloin, kun aineistot ovat hyvin erotettavissa toisistaan lineaarisesti. Tosielämässä tämä ei kuitenkaan aina päde. Luokittelukykyä on mah- dollista laajentaa ei-lineaarisille joukoillekernelimuunnoksen avulla, jonka avulla on mah- dollista tehdä ei-lineaarisesta joukosta lineaarisesti erottuva (Cristianini ja Shawe-Taylor, 2000, 26).

Tässä mittausavaruuden datajoukko X, jossa on j muuttujaa, muutetaan relevantimpaan muo- toon. Tarvitaan kuvausφ :X →F johonkin uuteen muuttuja-avaruuteen F ⊂Rm. Tässä m voi olla pienempi kuin X:n dimensio n, jolloin kuvaus yksinkertaistuu. Toisaalta m voi olla myös suurempi, ja F voi olla jopa ääretönulotteinen (Zaki ja Meira Jr., 2014, 135). Kerne- limuunnoksen idea onkin se, että ei-lineaarinen kuvaus saadaan tehtyä tehokkaammin kuin datan muunnos eksplisiittisesti F:ään, ja algoritmien käyttämistä siellä. Jos F:n dimensio on suuri, vaatii sen käsittely paljon resursseja sekä suoritinajan että muistin osalta.

Olkoonx,y∈X. Kerneli K:X×X →Ron siten määriteltävissä edeltävän φ:n avulla seu- raavasti (Cristianini ja Shawe-Taylor, 2000, 30):

K(x,y) =hφ(x)·φ(y)i.

Zakilla ja Meira Jr.:lla (2014) on vastaavanlainen määritelmä ja havainnollistavia esimerk- kejä kustakin käsitteestä lisäksi. Kerneli on siis kahden X:n vektorinφ-kuvauksen sisätulo, ja sen teho tulee siitä, että se on mahdollista laskea ”käsittelemättä kuvaustaφ(x)suoraan”

(Zaki ja Meira Jr., 2014, 135). Tällöin tuotetaan n × n kernelimatriisi K, jossa on kunkin näytteen sisätuloparit. Olkoon siis

K= (K(xi,xj))ni,j=1

(Cristianini ja Shawe-Taylor, 2000, 33). Analysointiin riittää nyt tarkastella vain tätä kerneli- matriisia, eikä alkuperäinen X:ssä oleva datajoukko ole enää tarpeellinen (Zaki ja Meira Jr., 2014, 135).

(38)

Todettakoon, että Zaki ja Meira Jr. (2014, 136) käyttävät merkinnöissään sisätulon sijaan vektorin ja sen transpoosin tuloa xTy. He kuitenkin huomauttavat sen tarkoittavan samaa kuin sisätulo sisätuloavaruudessa. Cristianini ja Shawe-Taylor (2000) sen sijaan käyttävät vain kulmasulkeilla merkittyä sisätuloa.

3.5.5 Yhteenveto

Tukivektorikoneet ovat luokka algoritmeja, jotka pohjautuvat lineaariseen erotteluun. Tässä kernelit ovat olennainen komponentti, koska se laajentaa luokittelukykyä myös ei-lineaarisille joukoille. Algoritmi nojaa myös muutamaan muuhun keskeiseen teoriaan, joita tässä ei käsi- tellä. Näitä ovat yleistettävyyden, optimoinnin ja implementoinnin ongelmat. Näitä käsittelee tarkemmin Cristianini ja Shawe-Taylor (2000, luvut 4–7).

3.6 Scikit-learn-kirjasto

Tutkimuksessa käytetään Python-kirjastoascikit-learndatan analyysissä. Myös muita vaihtoehtoja kokeiltiin. Näitä olivatsktimejaTensorFlow. Scikit-learnia käytettiin eni- ten, koska se oli kokeilluista hyödyllisin. Merkittävä osa tutkielman kuvituksesta on tuotettu scikit-learnin avulla (ja piirretty matplotlib-kirjaston avulla). Python on sopiva ohjel- mointikieli tutkimuksen viitekehyksessä sen yleisyyden takia ja koska sitä käyttää useampi tiedonlouhintaan soveltuva kirjasto. Lisäksi Pythonilla on mahdollista tehdä helposti käytet- tävä ja laajennettava rajapinta data-analyysille (Pedregosa ym., 2011). Vastaavanlaisia työ- kaluja, joita oltaisiin voitu käyttääscikit-learninsijaan, on muun muassaRjaWeka.

Nämä ovat kaikki vapaasti käytettäviä, avoimen lähdekoodin työkaluja. Wekaa on käyttänyt mm. Blake ja Mangiameli (2011, 13). Myös Pedregosa ym. (2011, 2828) tuntevat joitakin Python-pohjaisia tiedonlouhintakirjastoja, joita vertaillaanscikit-learn:iin.

Tutkielmassa viitataan joihinkin Python-moduuleihin tai -luokkiin, jotka implementoivat tiettyjä ominaisuuksia. Esimerkkinä luokka

sklearn.preprocessing.StandardScaler, jonka avulla voidaan normalisoida jo- kin datajoukko. Tässäscikit-learn-kirjaston omassa moduulihierarkiassa kirjaston it- sensä nimi on lyhennetty sanaksisklearn, tarkoittaen kuitenkin samaa.

Viittaukset

LIITTYVÄT TIEDOSTOT

(Jensenin epäyhtälö) Oletetaan, että derivoituvan funktion g deriv aatta.

Tämä voidaan nyt selittää siten, että molekyy- lien törmätessä kimmoisesti liikkuvaan seinämään niiden ki- neettinen energia muuttuu ja siten myös kaasun lämpötila

Joidenkin työtehtävien määrää koettiin tarpeelliseksi lisätä: muun muassa yhteistyötä sairaalan henkilökunnan ja seurakunnan kanssa.. Sen sijaan minkään työtehtävän

Jos verkko on separoitumaton, voidaan siitä poistaa mikä tahansa solmu siten, että verkko pysyy yhtenäisenä. Tämä on hyödyllistä esimerkiksi silloin kun havaitaan, että joku

Mielestäni taloustieteen tehtävänä pitäisi olla perustutkimuksen lisäksi myös sellaisten mal- lien kehittely, joiden pohjalta voidaan tehdä ennusteita, jotka

Molemmat ovat yleisten lineaaristen mal- lien (regressiomallien ja varianssianalyysimalli-.. Sekamallit ovat perinteisempi tapa tarkastella erilaisia ympäristön vaikutuksia, kun

Partik- kelin ugu avulla juontaja tukee keskustelua ja antaa tilaa haastateltavalle, aha taas voidaan määritellä siten, että haastattelija ymmärtää haastateltavan

Joidenkin toisten kaarnakuoriaisten, esimerkiksi kuusentähtikirjaajien, tuhoriskin voidaan olettaa olevan hiukan suurempi eri-ikäisissä kuin tasaikäisissä kuusikoissa, koska