Koneoppimismallien käyttö luokittelutehtävässä
Huikuri, Harri (2022)
Huikuri, Harri
2022
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2022101321166
https://urn.fi/URN:NBN:fi:amk-2022101321166
Tiivistelmä
Tekoäly on osa ihmisten jokapäiväistä arkea ilman, että siihen kiinnitetään mitään huomiota. Se toimii taustalla erilaisissa sovelluksissa ja laitteissa tarjoten parempia käyttökokemuksia kuluttajille, mutta mahdollistaa tuottavuuden kasvun liiketoiminnassa sekä synnyttää kokonaan uudenlaista liiketoimintaa.
Digitalisaation myötä lähes kaikesta mitä teemme, on tullut tallennettavaa ja mitattavaa dataa. Valtavien datamassojen louhinta ja tiedon tuottaminen niistä sopii mitä parhaiten tekoälyalgoritmien tehtäväksi lukemattomissa käyttötarkoituksissa, joissa vain mielikuvitus on rajana.
Tässä opinnäytetyössä perehdytään koneoppimiseen, joka on yksi tekoälyn osa-alueista. Siinä käytetään strukturoitua tai puolistrukturoitua dataa etukäteen määritellyn tehtävän toteuttamiseen. Työssä esimerkkinä käytetään luokittelutehtävää, jossa avoimesti verkosta saatavilla olevasta sensoridatasta pyritään päättelemään tarve laukaista palohälytys. Tehtävä toteutetaan Python ohjelmointikielellä.
Työn teoreettisessa osuudessa perehdytään koneoppimisen yleisiin periaatteisiin ja osa-alueisiin. Ohjatun-, ohjaamattoman- ja vahvistusoppimisen lisäksi käydään läpi neuroverkkoja ja syväoppimista. Työssä käsitellään koneoppimismallien suorituskykyyn vaikuttavia tekijöitä ja sen arvioinnissa käytettäviä mittareita.
Useimmat algoritmit sopivan nimenomaisesti tiettyä tehtävää varten, esimerkiksi luokitteluun, regressio-ongelmien ratkaisemiseen tai ryhmittelyyn. Tehtävään parhaiten soveltuvan algoritmin löytäminen perustuu usein kokemukseen ja kokeiluun. Tässä työssä esitellään lyhyesti joitakin yleisemmistä luokittelutehtävään soveltuvista algoritmeista, kokeillaan niiden käyttöä käytännössä ja arvioidaan niiden soveltuvuutta esimerkkinä käytettyyn luokittelutehtävään.
Käytännön esimerkki etenee tavanomaista koneoppimisprosessin kulkua noudattaen. Ensimmäiseksi määritellään ratkaistava ongelma ja tavoitteet. Käytettävä data analysoidaan ja valmistellaan algoritmeille sopivaan muotoon, jonka jälkeen rakennetaan koneoppimismallit ja lopuksi arvioidaan niiden suoriutumista.
Digitalisaation myötä lähes kaikesta mitä teemme, on tullut tallennettavaa ja mitattavaa dataa. Valtavien datamassojen louhinta ja tiedon tuottaminen niistä sopii mitä parhaiten tekoälyalgoritmien tehtäväksi lukemattomissa käyttötarkoituksissa, joissa vain mielikuvitus on rajana.
Tässä opinnäytetyössä perehdytään koneoppimiseen, joka on yksi tekoälyn osa-alueista. Siinä käytetään strukturoitua tai puolistrukturoitua dataa etukäteen määritellyn tehtävän toteuttamiseen. Työssä esimerkkinä käytetään luokittelutehtävää, jossa avoimesti verkosta saatavilla olevasta sensoridatasta pyritään päättelemään tarve laukaista palohälytys. Tehtävä toteutetaan Python ohjelmointikielellä.
Työn teoreettisessa osuudessa perehdytään koneoppimisen yleisiin periaatteisiin ja osa-alueisiin. Ohjatun-, ohjaamattoman- ja vahvistusoppimisen lisäksi käydään läpi neuroverkkoja ja syväoppimista. Työssä käsitellään koneoppimismallien suorituskykyyn vaikuttavia tekijöitä ja sen arvioinnissa käytettäviä mittareita.
Useimmat algoritmit sopivan nimenomaisesti tiettyä tehtävää varten, esimerkiksi luokitteluun, regressio-ongelmien ratkaisemiseen tai ryhmittelyyn. Tehtävään parhaiten soveltuvan algoritmin löytäminen perustuu usein kokemukseen ja kokeiluun. Tässä työssä esitellään lyhyesti joitakin yleisemmistä luokittelutehtävään soveltuvista algoritmeista, kokeillaan niiden käyttöä käytännössä ja arvioidaan niiden soveltuvuutta esimerkkinä käytettyyn luokittelutehtävään.
Käytännön esimerkki etenee tavanomaista koneoppimisprosessin kulkua noudattaen. Ensimmäiseksi määritellään ratkaistava ongelma ja tavoitteet. Käytettävä data analysoidaan ja valmistellaan algoritmeille sopivaan muotoon, jonka jälkeen rakennetaan koneoppimismallit ja lopuksi arvioidaan niiden suoriutumista.