Koneoppimisen työkaluja kutsutaan algoritmeiksi. Niiden avulla kone oppii ratkaisemaan ennalta määrätyt ongelmat. Jotkin algoritmit oppivat monimutkaisia jos-niin-ehtorakenteita, toiset taas esimerkiksi ajan vaikutuksia ennustettaviin arvoihin. Mitä koneoppimisen algoritmia missäkin tilanteessa sitten pitäisi käyttää? Avaamme asiaa yksinkertaisilla esimerkeillä.
Koneoppimisen algoritmien opettaminen ja käyttö jaotellaan kahteen luokkaan. Nämä ovat online- ja offline-koulutus. Sanat viittaavat siihen, millä tavoin opettaminen tapahtuu.
Offline-koulutuksessa malli koulutetaan valmiiksi kerätyllä koulutusdatalla omana prosessinaan. Koulutuksen valmistuttua malli liitetään osaksi palvelujärjestelmiä, joissa malli tuottaa tuloksia sille viimeisimmäksi koulutetun suorituskyvyn mukaisesti. Käytännössä kyse on mallin esikoulutuksesta. Se edellyttää riittävästi dataa sovelluskohteesta.
Online-koulutuksessa malli kytketään osaksi palveluja jatkuvasti oppivana. Tämä tarkoittaa sitä, että aluksi mallin suorituskyky on heikko. Uusien datahavaintojen myötä mallin tarkkuus kuitenkin paranee. Sen käyttöön tulee koko ajan lisää havaintoja, joiden avulla se oppii löytämään mallintamisessa parhaiten auttavat piirteet.
Offline- ja online-koulutuksilla on myös erilainen suorituskyky. Jako kahteen ei kuitenkaan ole mustavalkoinen, vaan kertoo enemmänkin painotuksesta. Offline-koulutettua mallia voidaan käyttää myös online-kouluttavassa ympäristössä.
Koneoppimisen algoritmien käyttö: Ennustus
Ensimmäisenä esimerkkinä on asiakkaiden osto- ja käyttäytymisdata verkkokaupasta. Dataan on kerätty tietoa niistä tavaroista ja kategorioista, joita asiakkaat katselivat. Dataa on kertynyt riittävästi, jolloin voidaan aloittaa offline-koulutuksella. Dataan on myös kerätty tietoa siitä, kuinka pitkän ajan asiakkaat viettivät eri sivuston osa-alueilla. Tehtävänä on nyt ennustaa kullekin tavaralle todennäköisyys, jolla asiakas sen ostaa. Suurimman todennäköisyyden tuotteet näytetään suosittelulistana sivuston laidassa.
Tällainen rivimuotoinen data on usein monimuotoista: Siitä löytyy määriä, aikaa ja kategorioita. Sen käsittelyyn soveltuu hyvin monenlaisissa käyttöyhteyksissä menestynyt Random Forest -algoritmi perinteisten koneoppimismenetelmien piiristä. Kyseessä on menetelmä, joka rakentaa datan perusteella päätöspuun pala palalta.
Menetelmä toimii parhaiten tilanteissa, joissa yhden rivimäisen havainnon pohjalta on tuotettava joko ennuste- tai luokittelutulos.
Koneoppimisen algoritmien käyttö: Aikasarjaennustus
Jos edellisen esimerkin asiakkaiden käyntidataa tallennetaan, muodostuu asiakaskohtaista aikasarjadataa. Siitä käy ilmi eri vierailujen kestoja, kulloinkin katsottuja tuotteita jne. Kuten ensimmäisessäkin esimerkissä, halutaan ennustaa kunkin tavaran ostotodennäköisyys kyseiselle asiakkaalle.
Koska dataan on tullut uusi piirre, aika, eivät perinteiset koneoppimismenetelmät suoriudu ennustamisesta hyvin. Piirre tarkoittaa käytännössä samaa kuin sarake Excelissä, eli yhtä yhden tyypistä dataa. On otettava käyttöön järeämpi koneoppimismallia syväoppivien neuroverkkojen puolelta. LSTM-neuroverkko on suorituskykyinen aikasarjamallinnuksessa menetelmä.
LSTM-neuroverkko ottaa vastaan useita rivejä dataa ja oppii yksittäisten piirteiden keskinäisten vuorovaikutussuhteiden lisäksi näiden ajallisia riippuvuuksia.
Koneoppimisen algoritmien käyttö: Luokittelu
Esimerkkimme on asiakaspalvelujärjestelmän kehityshanke, jonka tavoitteena on ottaa koneoppiminen osaksi asiakaspalveluprosessia. Menetelmän pitää tunnistaa tilanne lyhyestä tekstikuvauksesta ja oppia tarjoamaan tasalaatuisia palvelusuosituksia määritetystä toimenpidelistasta palvelutilanne huomioiden. Dataa ei kuitenkaan ole valmiiksi kerättynä.
Malli on järkevintä opettaa online-koulutuksella. Koska kyseessä on tekstin kanssa tapahtuva luokittelutehtävä, malli on etsittävä suoraan tekstiin keskittyvien neuroverkkomallien maailmasta. Suomalaiseen palvelukontekstiin sopii hyvin TurkuNLP-tutkimusryhmän kehittämä FinBERT, joka hoitaa tekstin muuntamisen jatkokäytettävään muotoon. Koulutettavaksi osaksi jääkin tekstimallin tuotosten avulla tapahtuva toimenpiteiden suosittelu.
Malli oppii kunkin asiakaspalvelijan tekemien päätösten kautta aina paremmaksi.
Algoritmeja ja niiden hyödyntämistapoja on miltei lukemattomia. Yksinkertaiset esimerkkimme nostivat esiin sekä perinteisten että nykyaikaisempien neuroverkkoihin pohjautuvien mallien käyttötilanteita.
Kiinnostuitko? Lue lisää koneoppimisen palveluista ja eri osa-alueista:
• Koneoppiminen rakentuu koodista, datasta ja näiden ympärille rakennetuista alipalveluista
• Koneoppimisen hyödyntämisen liiketoimintakeskeisyys
• Tehtävät, joissa koneoppimisen käyttö on erityisen suositeltavaa