07.10.2020

Mihin koneoppimista käytetään?

Koneoppimisblogien kolmannessa osassa käymme läpi, mihin koneoppimista voidaan käyttää ja käytetään. Painopiste on siis työkalujen hyödyntämisessä, ei niinkään työkalujen kirjossa. Lue aiemmista blogeista mitä koneoppiminen on ja miten liiketoiminta otetaan koneoppimisprojektien lähtökohdaksi.

Tehtäviä, joissa joko datan tai tehtävän kompleksisuus ohjaa kohti koneoppimismenetelmien käyttöä, ovat muun muassa seuraavat:

Luokittelu

Kyse on havaintojen kategorisoinnista, jossa päätös on tehtävä useamman vaihtoehdon välillä. Asiakkaita voidaan luokitella käytöksestä kertovan datan mukaan, asiakaspalvelijoita opastaa yhteyttä ottaneen henkilön yksityiskohtaisempaan tukemiseen tai ennustaa seuraavaa toimenpidettä vuokaaviossa jo tehtyjen toimenpiteiden perusteella.

Ennustus

Tarkoitus on ennustaa tuntematon arvo luotettavasti joko tulevaisuuteen tai jo tehdylle havainnolle. Data voi olla monen muotoista aina yksittäisistä havainnoista havaintojen sarjoihin. Kannattavuuden ennustaminen ostohistorian perusteella, puuttuvien arvojen kontekstin huomioiva täydentäminen ja kokonaan uuden tiedon tuottaminen ovat perinteisiä ennustamisen tehtäviä.

Ryhmittely

Yksinkertaistaen ryhmittely on datan pengontaa ymmärryksen lisäämiseksi. Data ryhmitellään vain dataan itseensä perustuen unohtaen kokemukseen perustuva ajatukset – selvitetään mitkä havainnot ovat oikeasti samankaltaisia ja mitkä eivät. Tyyppiesimerkkejä ryhmittelystä ovat asiakkaiden ja tuotteiden datapohjainen segmentointi. Segmenttien löydyttyä ne on analysoitava erikseen oleellisten erojen löytämiseksi.

Kuvantunnistus

Vaikka pohjimmiltaan kuvia hyödyntävä koneoppiminen on joko ennustusta, luokittelua tai jotain muuta koneoppimistehtävää, kuvien kanssa tehtävä koneoppiminen eroaa käytetyn datan takia muista menetelmistä ja on siksi syytä käsitellä omana tehtävänään. Perinteisten kuvien lisäksi menetelmiä voidaan käyttää kuvan tapaan ilmaistavan datan kanssa, kuten vaikkapa useammasta rivistä muodostuvien aikasarjojen käsittelyssä. Tällöin rivit ja sarakkeet kootaan kuvaksi, jossa ajassa tapahtuvat muutokset muodostavat muotoja ja värimuutoksia.

Selittävien tekijöiden selvitys

Koneoppimismenetelmiä voidaan myös hyödyntää syy-seuraussuhteiden selvitykseen. Yksinkertaiset lineaarimallit ovat käteviä ihmiselle, sillä muuttujien kertoimet kertovat suoraan niiden vaikutuksen suunnan ja kokoluokan. Todellisen elämän data on kuitenkin harvoin lineaarista, jolloin käyttöön soveltuvat paremmin rikkonaisen ja epälineaarisen koneoppimisen menetelmät.

Epälineaarisuus tarkoittaa sitä, että datan muuttujat ja muuttujien keskinäiset vaikutukset eivät ole suoraviivaisia ja portaattomasti muuttuvia. Esimerkiksi auringon valon ja lämpötilan muutokset asteittain kylmästä lämpimään saavat ihmiset syömään lämpimien keittojen sijaan jäätelöä, eikä siirtymä ruoasta toiseen ole lineaarinen, vaan tilanne- ja henkilökohtainen.

Tosielämän data onkin usein otollinen maaperä koneoppimisen käytölle.

Soveltuvan koneoppimistehtävän löytäminen vaatii monialaista osaamista, parhaimmillaan dataa tuntevien domain-asiantuntijoiden, liiketoiminnan osaajien sekä sovelluskehitystä ja -arkkitehtuureja ymmärtävien koneoppimisasiantuntijoiden yhteistyötä.

Koneoppimismenetelmien käyttö on päätöksenteon automatisointia. Malli koulutetaan tekemään päätöksiä samoin kuin ihminen on tehnyt ne aiemmin. Malli perustaa päätöksenteon aiempiin päätöksiin liittyvään dataan.

Koneoppimismenetelmät eivät sovellu tilanteisiin, joissa ihminen ei pysty keksimään yksiselitteisiä jos-niin-ehtorakenteita tai tilastollisia raja-arvoja, joilla räikeät poikkeamat datassa havaitaan. Toisaalta koneoppimismenetelmiä ei kannata käyttää silloin, kun yksinkertaisemmat ehtorakenteet tai raja-arvoihin perustuvat ohjelmoidut toimenpiteet riittäisivät tehtävän hoitamiseen.

Koneoppimismenetelmien koulutukseen, käyttöön ja ylläpitoon liittyy aina paljon enemmän työtä kuin ohjelmoinnin yksinkertaisten ehtorakenteiden ylläpitämiseen. Kyse on vähintään jonkin ohjelmiston tueksi kehitettävästä alipalvelusta. Jos dataan liittyvä liiketoiminnan haaste on ratkaistavissa raja-arvoilla, ehtorakenteilla tai tilastollisilla tunnusluvuilla, kannattaa pitäytyä tavanomaisessa ohjelmoinnissa. Jos data taas koostuu useammasta muuttujasta (eli Excelin sarakkeesta), on kattavien ehtorakenteiden ohjelmointi käsin käytännössä mahdotonta.

Mitä tiheämmäksi datan lukuviidakko kasvaa, sitä perustellumpaa on aloittaa koneoppimismenetelmien hyödyntämisen kokeilut.

Jotta koneoppimista kannattaa käyttää, on mallinnuksessa käytettävässä syötedatassa oltava riittävän hankalia haasteita. Jotkut tehtävät ovat jo lähtökohdiltaan ratkaistavissa vain koneoppimisen työkaluilla. Lue lisää koneoppimisesta!