Oppia ikä kaikki, myös koneoppiminen

Pomoni laittoi linkin Helsingin yliopiston MOOC kurssille Elements of AI. Koneoppiminen kiehtoi. Jäin koukkuun heti. Suoritin kurssin ja aikaa se otti sellaiset 25 tuntia. Siitä innostuneena tilasin nipun kirjoja aiheina lähinnä tekoäly tai siihen liittyvät sovellukset teollisuudessa. Lukaisin kirjat läpi ja eihän se riittänyt. Ajattelin hieman syventää vielä tietämystä ja löysin verkosta Datacampin sivut ja katselin, että tuollapa mielenkiintoisia kursseja ja ilmaiseksi. Eipä muuta kuin rekisteröitymään. No pari ekaa kurssia oli ilmaisia ja sitten tiedonhalu kasvoi ja ei kun maksamaan 160 €, jolla sai vuodeksi käyttöoikeuden kaikkeen materiaaliin.

Koneelle Python koodia ja koneoppiminen voi alkaa

Nyt sitten puolisen vuotta myöhemmin on plakkarissa “Data Scientist Track” suoritettuna. Tuntien laskun lopetin 200 tuntiin. Itse kurssin suorittaminen oli määritelty 90 tuntiin, mutta se olisi edellyttänyt, että tekee kurssit Datacampin Python-ympäristössä. Halusin kuitenkin oppia enemmän ja ajoin kaikki Python skriptit omalla koneella. Sinänsä siinä ei ollut mitään ihmeellistä, mutta osa koneoppimisen datasta oli putsaamatonta ja sitä piti käsitellä melko paljon, että sai sen virheettömästi ajettua omalla koneella. Lisäksi esimerkeissä, joita piti täydentää oli käytetty vanhoja Python-kirjastoja, joten melko paljon aikaa meni myös asentaessa uusia kirjastoja ja paketteja. Nyt on omalla koneella kaikkiaan tuhansia rivejä Python koodia ja hyvä käsitys mitä koneoppimisella voi tehdä ja mitä ei. Pythonille on tehty todella huikeita kirjastoja, joilla muutamalla kymmenellä rivillä koodia voi esimerkiksi tehdä kuvantunnistusta tai vaikka luokitella tuotantokappaleita hyväksyttyihin ja hylkyihin. Yleensäkin melkein mitä vain voi ajaa koneoppimisalgoritmien läpi ja saada jonkinlainen malli, jolla ennustaa datasta fiksuja arvauksia.

Täytyy vain osata valita oikea malli ja viritellä siitä parametrit kuntoon. Toki parempiin tuloksiin pääsee kun suodattaa turhia asioita pois, kuten muuttujien keskinäiset riippuvuudet ja muutamia muita kikkoja. Ne on melko havainnollisesti kerrottu kurssilla ja materiaalia löytyy verkosta paljon lisää.

Kyky mallintaa dataa on tärkeää

Voin suositella em. kursseja jos aihealue kiinnostaa syvemmin. Suurin osa esimerkkidatasta on yleisesti ymmärrettävää dataa. Kuten vaikka perhoslajien luokittelua siipien ja vartalon mittojen perusteella. Ne ovat kyllä heti sovellettavissa esim. mihin tahansa luokitteluun. Lisäksi löytyy esimerkiksi sydänäänien luokittelua normaaliin ja ei normaalin. Tämä on aikaperusteisen datan analyysiä ja se soveltuu monelta osin esim. teollisuuden koneiden ennakoivaan kunnossapitoon.

 

Kuva 1 Pythonilla visualisoitu data sydänäänien luokittelusta

No onhan se ihmeellistä, että ajamalla malliin joitain kymmeniä käyriä normaalia ja epänormaalia sydänkäyrää saadaan malli, jolla voi tehdä luokittelun uudesta datasta. Tosin ei minulla ole oikeasti hajuakaan kuinka luotettava malli on ja en pysty itse luokittelemaan mallin tarvitsemaa dataa. Tähän tarvitaan asiaan perehtynyt lääkäri, joka merkkaa opetusdataan mikä on normaali sydänkäyrä ja mikä epänormaali. Kun malliin ajetaan tarpeeksi näitä käyriä voidaankin sitten ennustaa käyrästä kumpaan ryhmään se kuuluu ja millä todennäköisyydellä. Vastaavasti teollisuuden prosesseissa tai koneen toiminnasta tarvitaan asiantuntemusta datasta jos sitä halutaan luokitella mallia varten ja sen jälkeen ennustaa.

Nyt jatkan taas kursseja ja perehdyn aikariippuvaisen datan analysointiin ja luokitteluun koneoppimisen keinoin lisää. Koneoppiminen on se jolla kehitettään ja kehitytään. Kannustan muitakin perehtymään tähän paljon puhuttuun tekoälyyn. Näkee sen mahdollisuudet ja toisaalta osaa erottaa hölynpölyn sekä suhtautua skeptisesti kaiken maailman konsultteihin/dosentteihin.

Schneider Electricillä hyödynnämme koneoppimista esimerkiksi Machine Advisorissa, joka on koneenrakentajille suunniteltu IoT-alusta.

 


ei vastauksia

Kommentoi

  • (will not be published)