AI:n perusteet
Mikä on Machine Learning?
Koneoppiminen on yksi nopeimmin kasvavista teknologian aloista, mutta vaikka termejä “koneoppiminen” heitetään usein ilmaan, voi olla haasteellista ymmärtää, mitä koneoppiminen tarkalleen ottaen on.
Koneoppiminen ei viittaa vain yhteen asiaan, se on yleisnimi, jota voidaan soveltaa moniin eri käsitteisiin ja tekniikoihin. Koneoppimisen ymmärtäminen tarkoittaa tutustumista erilaisiin mallianalyysiin, muuttujiin ja algoritmeihin. Otetaan lähempi katsaus koneoppimiseen, jotta voimme ymmärtää, mitä se kattaa.
Mikä on Koneoppiminen?
Vaikka termejä “koneoppiminen” voidaan soveltaa moniin eri asioihin, yleisesti ottaen termi viittaa tietokoneen kykyyn suorittaa tehtäviä ilman, että sille annetaan eksplisiittisiä, riviriviltä ohjeita. Koneoppimisen asiantuntija ei tarvitse kirjoittaa kaikkia tarvittavia ohjeita ongelman ratkaisemiseksi, koska tietokone pystyy “oppimaan” analysoimalla dataan sisältyviä malleja ja yleistämällä nämä mallit uuteen dataan.
Koneoppimisjärjestelmillä on kolme perusosaa:
- Syötöt
- Algoritmit
- Tulokset
Syötöt ovat dataa, jota syötetään koneoppimisjärjestelmään, ja syötedata voidaan jakaa luokkiin ja ominaisuuksiin. Ominaisuudet ovat asiaankuuluvat muuttujat, jotka analyysoidaan mallien ja johtopäätösten löytämiseksi. Luokat ovat puolestaan luokitukset, jotka annetaan yksittäisille datakohteille.
Ominaisuudet ja luokat voidaan käyttää kahdenlaisiin koneoppimistehtäviin: valvottuun ja valvomattomaan oppimiseen.
Valvottu vs. Valvomaton Oppiminen
Valvotussa oppimisessa syötedata on varustettu perustodellisuudella. Valvottujen oppimistehtävien tulokset ovat osa tietojoukkoa, joten odotetut luokat ovat tiedossa etukäteen. Tämä mahdollistaa data-analyytikon tarkastaa algoritmin suorituskyvyn testaamalla dataa testijoukossa ja näkemällä, miten suuri osa kohteista on luokiteltu oikein.
Toisaalta valvomaton oppiminen ei sisällä perustodellisuutta. Koneoppimisalgoritmi, joka on koulutettu suorittamaan valvomattomia tehtäviä, on kykenevä itse johtamaan asiaankuuluvat mallit datasta.
Valvotut oppimisalgoritmit ovat tyypillisesti käytössä luokittelutehtävissä, joissa on suuri tietojoukko, joka on jaettu useisiin eri luokkiin. Toinen valvottu oppimisen tyyppi on regressio, jossa algoritmin antama tulos on jatkuva eikä kategorinen.
Valvomattomat oppimisalgoritmit ovat puolestaan käytössä tehtävissä, kuten tiheysarvio, klusterointi ja esitysoppiminen. Nämä kolme tehtävää vaativat, että koneoppimismalli itse johtaa datasta sen rakenteen.
Otetaan lyhyt katsaus yleisimpiin algoritmeihin, joita käytetään sekä valvotussa että valvomattomassa oppimisessa.
Valvotun Oppimisen Tyypit
Yleisiä valvottuja oppimisalgoritmeja ovat:
- Naivi Bayes
- Tukivektorikoneet
- Logistinen Regressio
- Satunnaiset Metsät
- Tekoälyverkot
Tukivektorikoneet ovat algoritmeja, jotka jakavat tietojoukon eri luokkiin. Datakohteet ryhmitellään klustereihin piirtämällä viivat, jotka erottavat luokat toisistaan. Pisteet, jotka ovat viivan toisella puolella, kuuluvat toiseen luokkaan, kun taas pisteet toisella puolella kuuluvat toiseen luokkaan. Tukivektorikoneet pyrkivät maksimoimaan etäisyyden viivan ja pisteiden välillä, ja mitä suurempi etäisyys on, sitä varmemmin luokittelija on siitä, että piste kuuluu tiettyyn luokkaan eikä toiseen.
Logistinen Regressio on algoritmi, jota käytetään binäärisissä luokittelutehtävissä, joissa datakohteet on jaettava kahteen eri luokkaan. Logistinen Regressio toimii merkitsemällä datakohteet joko 1:ksi tai 0:ksi. Jos datakohteen arvo on 0,49 tai alle, se luokitellaan 0:ksi, kun taas jos se on 0,5 tai ylempänä, se luokitellaan 1:ksi.
Päätöspuu-algoritmit toimivat jakamalla tietojoukon yhä pienemmiksi osiksi. Tarkan kriteerin, jota käytetään datan jakamiseen, määrittää koneoppimisen insinööri, mutta tavoitteena on lopulta jakaa data yksittäisiksi datakohteiksi, jotka voidaan luokitella avaimen avulla.
Satunnainen Metsä-algoritmi on käytännössä useita yksittäisiä Päätöspuu-luokittelijoita, jotka on kytketty yhteen voimakkaammaksi luokittelijaksi.
Naivi Bayes -luokittelija laskee todennäköisyyden, että tietty datakohta on todellinen, perustuen aiemman tapahtuman todennäköisyyteen. Se perustuu Bayesin teoreemaan ja luokittelee datakohteet luokkiin perustuen laskettuihin todennäköisyyksiin. Kun Naivi Bayes -luokittelijaa toteutetaan, oletetaan, että kaikki ennustajat vaikuttavat luokan tulokseen samalla tavalla.
Tehtäväverkko eli monikerroksinen perkussio on koneoppimisalgoritmi, joka on inspiroitu ihmisaivojen rakenteesta ja toiminnasta. Tehtäväverkot koostuvat monista solmuista/neurooneista, jotka ovat toisiinsa kytkettyjä. Jokainen neurooni muokkaa dataa matemaattisella funktiolla. Tehtäväverkoissa on syötekerrokset, piilotetut kerrokset ja tulostekerrokset.
Piilotettu kerros tehtäväverkossa on se, missä data todella tulkitaan ja analyysoidaan malleja varten. Toisin sanoen, se on se paikka, missä algoritmi oppii. Mitä enemmän neurooneja on kytketty yhteen, sitä monimutkaisempia verkkoja voidaan luoda, ja sitä monimutkaisempia malleja voidaan oppia.
Valvomattoman Oppimisen Tyypit
Valvomattomat oppimisalgoritmit ovat:
- K-keskiarvo-klusterointi
- Autoenkooderit
- Pääkomponenttianalyysi
K-keskiarvo-klusterointi on valvomaton luokittelutekniikka, joka toimii jakamalla datakohteet klustereihin perustuen niiden ominaisuuksiin. K-keskiarvo-klusterointi analysoi datakohteiden ominaisuuksia ja erottaa niistä mallit, jotka tekevät datakohteista saman luokan klusterissa toistensa kaltaisempia kuin muiden luokkien klustereiden datakohteista. Tämä saavutetaan asettamalla mahdollisia keskipisteitä klustereihin ja uudelleenmäärittämällä keskipisteen sijaintia, kunnes löydetään sijainti, joka minimoi etäisyyden keskipisteen ja siihen kuuluvien datakohteiden välillä. Tutkija voi määrittää halutun määrän klustereita.
Pääkomponenttianalyysi on tekniikka, joka vähentää suuren määrän ominaisuuksia/muuttujia pienemmäksi ominaisuusavaruudeksi. Datakohtien “pääkomponentit” valitaan säilytettäväksi, kun taas muut ominaisuudet tiivistetään pienemmäksi edustukseksi. Alkuperäisten dataosuuksien välinen suhde säilyy, mutta koska datakohtien monimutkaisuus on yksinkertaisempaa, data on helpompi määritellä ja kuvailla.
Autoenkooderit ovat tekoälyverkkoja, joita voidaan soveltaa valvomattomiin oppimistehtäviin. Autoenkooderit pystyvät ottamaan merkityksettömän, vapaamuotoisen datan ja muuttamaan sen dataksi, jota tekoälyverkko pystyy käyttämään, perustavasti luomalla omat koulutusdatansa. Autoenkooderin tavoitteena on muuttaa syötedata ja rakentaa se uudelleen mahdollisimman tarkasti, jotta verkko pystyy itse määrittämään, mitkä ominaisuudet ovat tärkeimmät ja mitkä niistä voidaan poistaa.












