Mitä on koneoppiminen?

Mitä on koneoppiminen

Koneoppiminen ja tekoäly puhututtavat paljon sekä sosiaalisessa mediassa että erilaisilla asiantuntijafoorumeilla. Siirtyminen keskusteluasteelta konkreettisiin sovelluskohteisiin vaatii kuitenkin lisää ymmärrystä ja työtä. Yrityksillä on oltava perustason infra-, järjestelmä- ja ohjelmistokehityksen tekeminen kunnossa, sillä huonon perustan päälle ei voida rakentaa aidosti lisäarvoa tuottavia ratkaisuja. On myös hyvä muistaa, että koneoppimista ei kannata väkisin soveltaa. Joskus ongelmanratkaisuun riittää vaikkapa normaali sääntöihin perustuva logiikka.

Mistä koneoppimisessa oikeastaan on kyse? 
 

Koneoppimisen ja tekoälyn buumissa on ajoittain havaittavissa samanlaista mystifiointia kuin esimerkiksi hakukoneoptimoinnissa tai muissa trendikkäissä aiheissa aikanaan. Etenkin johtotehtävissä työskentelevien on tärkeää päästä käsitetason taakse ja luoda selkeä kuva siitä, miten teknologioita voidaan hyödyntää digitaalisen liiketoiminnan kehityksessä. 

Koneoppimisessa on sananmukaisesti kaksi tärkeää asiaa: kone ja oppiminen. Lähestytään asiaa esimerkin kautta. Normaalitilanteessa kone osaa suorittaa jotakin ennalta määritettyä tehtävää hyvinkin nopeasti ja ihmistä tarkemmin. Kyseessä voisi olla vaikkapa autolainan myöntäminen. Jos asiakas kuuluu tiettyyn tuloluokkaan ja täyttää staattiset parametrit, kone antaa myöntävän lainapäätöksen. Näin asiakaspalvelijan ei tarvitse käyttää aikaa lomakkeen manuaaliseen läpikäymiseen.

Samaan tapaan ennalta määritettyjä sääntöjä voidaan hyödyntää verkkokaupan kehittämisessä. Kone voi esimerkiksi näyttää asiakkaalle automaattisesti kuhunkin tuotteeseen tai kategoriaan liittyviä lisämyyntituotteita. Esimerkiksi kengän ostajalle näytetään puhdistusaineita tai pölynimurin ostajalle kyseiseen malliin sopivia pölypusseja. 
 

Feedback loop
 

Koneoppimisessa käänteentekevä asia on kuitenkin niin sanottu takaisinkytkentä (feedback loop). Käytännössä tämä tarkoittaa sitä, että koneelle kerrotaan sen suorittaman toimenpiteen lopputulos. Maksoiko asiakas lainansa takaisin tai ostettiinko verkkokaupassa todella puhdistusaineita kenkien ja pölypusseja pölynimurien kanssa? 

Perustilanteessahan kone on suorittanut tehtävän aina samalla tavalla, mutta koneoppimisen myötä se voi ohjata päätöksen määrittämistä toteutuneiden lopputulosten avulla eli oppia paremmaksi autonomisesti. Koneen päätöksenteko kehittyy tehokkaasti ilman ihmisen ennalta määrittämiä staattisia parametreja, joiden luominen olisikin monessa tapauksessa mahdotonta. Kun koneoppimiseen yhdistetään suuri laskentateho ja prosessointinopeus, tätä ns. opetusdataa voidaan prosessoida sellaista vauhtia, että esimerkiksi koneiden tunnistusalgoritmit kehittyvät hämmästyttävän tarkoiksi jo lyhyessä ajassa. 

Neljä vaihetta

Koneoppimisen prosessi


Mitä koneoppimisen toteuttamiseksi siis käytännössä tehdään? Prosessi on jaettavissa ylätasolla neljään vaiheeseen, edellyttäen että ongelman tarkka määrittely ja tapauksen rakennus on tehty tätä ennen.

  1. Datan kerääminen

    Datan lähteitä on montaa eri tyyppiä: tietokantoja, Excel-taulukoita, kuvia, raakaa dataa ja niin edelleen. Mitä enemmän taustadataa on saatavilla, sitä parempi koneoppimisen mallista saadaan tehtyä. Myös datan vaihtelevuus vaikuttaa asiaan. Kaiken kaikkiaan datan laatu on perusta seuraaville vaiheille ja itse oppimiselle. 
     
  2. Datan valmistelu 

    Kun dataa on kerätty tapaukseen nähden riittävästi, se analysoidaan tarkasti. Datan laatua arvioidaan ja parannetaan, jotta sitä voidaan käyttää luotettavasti tulevan mallin pohjana.
     
  3. Koneoppimisen mallin luonti

    Kolmanteen vaiheeseen sisältyy muun muassa soveltuvan algoritmin valinta ja mahdollinen kehitys sekä datan esittäminen tähän malliin sopivana. Algoritmeja täytyy harvemmin luoda täysin tyhjästä ja nykyään on saatavilla pitkällekin vietyjä koneoppimisen alustoja. 

    Data jaetaan opetusdataan (viitaten aiemmin mainittuun takaisinkytkentään), jolla mallin toimivuutta lisätään. Yksinkertaistettuna jos mallin pitäisi tunnistaa kuvasta omena, sille näytetään tarpeeksi monta kertaa erilaisia omenoita ja kerrotaan, että tässä on omena. Kun prosessia toistetaan riittävästi, tunnistustarkkuus paranee ja lopulta kone tunnistaa omenoita myös kuvista, joita se ei ole aiemmin nähnyt. 
     
  4. Mallin arviointi ja kehitys 

    Viimeiseksi vuorossa on mallin arviointi ja kehittäminen. Edellisessä vaiheessa jaettua dataa käytetään testidatana ja luotua mallia verrataan alkuperäisiin tavoitteisiin. Jotta tuloksista saadaan mahdollisimman luotettavia, on tärkeää käyttää testi- ja arviointidatana eri lähdettä kuin mitä hyödynnettiin opetusvaiheessa. 
Yhteistyöt, kysymykset
Lamia yhteystiedot
Yhteistyöt, kysymykset

Ota yhteyttä niin jutellaan, miten yrityksesi liiketoimintaa voitaisiin kehittää uusilla teknologioilla. 

Leo Mikkonen +358 40 539 9867