Etusivu > Kaikki artikkelit > Menetelmien maailma | Ohjattu koneoppiminen ja luokittelija

Menetelmien maailma | Ohjattu koneoppiminen ja luokittelija

Otimme ensikurkistuksen menetelmien maailmaan tämän vuoden keväällä, jolloin Medaffconin Data Analysis Lead Iiro Toppila avasi vieraskynäsarjan. Syksyn myötä Iiro palasi kirjoittamaan menetelmistä ja nyt saamme lukea lisää koneoppimisesta. Tämän kertaisen kirjoituksen keskiössä ovat koneoppimisen luokittelijat. Ne ovat menetelmäperhe täynnä erilaisia lähestymistapoja, josta kustakin riittäisi kerrottavaa useammaksi luennoksikin. Luokittelijoiden konsepti on kuitenkin suhteellisen yksinkertainen, niinpä ne ovat yksi ensimmäisiä menetelmiä, joihin tietotieteilijä törmää urallaan. Näinpä myös me käsittelemme niitä heti kirjoitussarjamme alkupäässä.

Menetelmien maailma | Ohjattu koneoppiminen ja luokittelija - World of methodologies | Supervised machine learning and classifiers

Koneoppimisen kenttä on suuri ja laaja kokonaisuus, joka kehittyy jatkuvasti. Niinpä sen saloihin pureutuminen pitää aloittaa pala kerrallaan. Myöskään yksinkertaistuksilta ei vältytä. Näin karkeasti, koneoppimismenetelmät voidaan jakaa kahteen kategoriaan:

Luokittelijat kuuluvat edellä listatuista ensimmäiseen, eli ohjatun koneoppimisen kategoriaan (kts. ”luokittelija” RWE-sanastosta). Luokittelijoita on menetelminä useita, mutta yleisesti niiden kaikkien tavoitteena on opettaa tietokone tunnistamaan asioita tunnettujen esimerkkien kautta. Menetelmän valinta riippuu datan tyypistä – palataan tähän myöhemmissä kirjoituksissa. Luokittelijan tavoitteena on antaa jokaiselle esimerkille yksi tai useampi kategoria muiden datan ”piirteiden” perusteella (kts. ”piirre” RWE-sanastosta).

”Antaa koneen oppia mikä on tärkeää ja hoitaa luokittelu opitun perusteella.”

Yleisenä reseptinä mallin opetuksessa toimii seuraava:

  1. Esitellään koneelle (valitulle menetelmälle) dataa, sekä sitä vastaavat oikeat vastaukset (luokat). Jatkossa koneen pitäisi arvata oikeat vastaukset datan piirteiden perusteella. Annetaan koneen tehdä arvausmalli.
  2. Testataan koneen tekemää arvausmallia toisella datasetillä. Tässä vaiheessa käytetään dataa, joka ei ollut osallisena kohdassa 1. Katsotaan kuinka lähelle totuutta koneen tekemä arvaus meni ja tarvittaessa tehdään muutoksia arvausmalliin. Ensin isoja, myöhemmin pieniä korjauksia.
  3. Kohtia 1 ja 2 toistetaan, kunnes ollaan tyytyväisiä koneen tekemään arvaukseen. Tyytyväisiä voidaan olla, kun riittävän iso osa arvauksista meni oikein.
  4. Lopullinen arvausmalli voidaan vielä validoida kolmannella aineistolla, joka on pidetty piilossa koneelta tähän asti.
  5. Todetaan koneen tekemä malli ja mallin tekemät “valistuneet arvaukset” hyviksi ja luotetaan mallin toimivan jatkossakin.
  6. Kun dataa kertyy lisää, jatkokoulutetaan mallia ja valvotaan sen suoriutumista sekä ennusteiden paranemista.
Menetelmien maailma | Ohjattu koneoppiminen ja luokittelija

Mallin oppimista voi verrata vaikkapa pieneen leipuriin, joka kehittelee täydellisen kakun reseptiä. Leipuri aloittaa työnsä tekemällä reseptistä hyvän arvauksen. Hän lisää erilaisia ainesosia näppituntumalla, minkä jälkeen leipuri maistaa – ja maistattaa – teostaan. Mikäli reseptin lopputulos ei tyydytä, leipuri muuttaa reseptiä leipoen uuden kakun. Kerta toisensa jälkeen. Tätä jatketaan, kunnes reseptin mukainen kakku on täydellinen, tai vähintään riittävän hyvä. Lopuksi, mikäli jauhoja vielä riittää, joku muukin pääsee maistamaan viimeisteltyä reseptiä. Mikäli se on ulkoisen raadinkin mukaan hyvää, saattaa se päätyä konditorian – tai suuren kauppaketjun – valikoimaan. Tuotannossa kakkua voidaan edelleen parantaa laajemman asiakaspalautteen perusteella.

Eli koneen näkökulmasta, aloita työ, toista tehtävää uupumatta, korjaa toimintaa yrityksen ja erehdyksen kautta, niin kauan kunnes tehtävä onnistuu.

Teoriasta terveyteen

Edellä kuvattuja luokittelijoita voidaan hyödyntää terveysdatassa esimerkiksi muodostamaan ennustemalleja, minkä avulla voidaan tunnistaa riskipotilaita. Tosielämän tiedon avulla olisi mahdollista kerätä suuret aineistot korkean- ja matalan riskin potilaita sisältäviä laajoja potilasaineistoja. Eli siis potilaita, jotka saavat epäsuotuisan terveystapahtuman ja niitä, jotka säästyvät tältä ikävältä harmilta. Hyödyntämällä näistä potilaista kerättyä dataa koneoppimismallissa, olisi mahdollista tunnistaa ne tekijät, jotka erottavat nämä potilasryhmät toisistaan. Koneoppimismenetelmät voivat löytää perinteisten riskitekijöiden lisäksi useiden muuttujien monimutkaisia yhdistelmiä, perinteisten suorien yhteyksien sijaan (diagnoosi X ei olekaan riskiä lisäävä, mikäli potilas on nuori, ja ostaa säännöllisesti myös määrätyt lääkkeensä Y).

Luokittelija on toimiva menetelmä, kun tavoitteena on löytää uusia tekijöitä riskipotilaiden tunnistamiseen, tai saada mahdollisimman tarkka ennustelaskuri kliiniseen käyttöön. Sekä riskitekijöiden entistä parempi tunnistaminen, että niistä tehdyt laskurit helpottaisivat ja parantaisivat lääkäreiden päivittäistä potilastyötä – ja todellakin tuottaisivat terveyttä datasta.

Ohjatulla koneoppimisella voidaan tuottaa kategoristen luokkien sijaan myös jatkuvia muuttujia. Tämä tapahtuu luokittelijan yksinkertaisella laajennuksella. Jatkuva muuttuja voi olla esimerkiksi todennäköisyysarvo potilaan sairastumisen riskille. Myös tällainen tieto voi olla todella arvokasta yksittäisen potilaan riskin arvioinnissa.

Ennustelaskureita on muodostettu ennen kaikkea perinteisen tilastotieteen menetelmin. Tunnetuimpia esimerkkejä tällaisista ovat FINRISKI– ja Kardiokompassi -laskurit. Jos dataa on riittävästi, niin koneoppimismenetelmien avulla on mahdollista luoda entistä parempia ennustelaskureita, jotka ottavat paremmin huomioon eri tekijöitä potilaan historiasta ja täten luovat tarkempia ennusteita potilastasolla.

Lopuksi

Ohjatusta ja ohjaamattomasta koneoppimisesta löytyy paljon kerrottavaa, joten palaamme niihin myöhemmissä menetelmien maailma -blogeissa. Tulevissa kirjoituksissa paneudumme muun muassa muihin kuin tässä esiteltyihin ohjatun koneoppimisen menetelmiin, luokittelijoiden erityistapauksiin, sekä ylipäätään ohjatun- ja ohjaamattoman koneoppimisen eroihin.

Luen mielellään tähän bloggaukseen liittyvän LinkedIn-julkaisun alta, mistä haluaisitte tietä lisää terveysdataan, koneoppimiseen ja tilastotieteen menetelmiin liittyen. Kommentoimaan pääset klikkaamalla tästä.