Koneoppimisen opetusohjelma aloittelijoille: Mikä on, ML:n perusteet
⚡ Älykäs yhteenveto
Koneoppiminen on tietokonealgoritmien perhe, joka kehittyy esimerkeistä sen sijaan, että sitä koodattaisiin eksplisiittisesti. Se yhdistää dataa tilastollisiin työkaluihin ennustaakseen tuloksia, jotka ihmiset voivat muuttaa toimiviksi päätöksiksi.
Mikä on koneoppiminen?
Koneen oppiminen on tietokonealgoritmien järjestelmä, joka voi oppia esimerkeistä itsekehityksen kautta ilman, että ohjelmoija koodaa sitä erikseen. Koneoppiminen on osa tekoäly joka yhdistää dataa tilastollisiin työkaluihin ennustaakseen tuotoksen, jota voidaan käyttää toimien pohjalta tehtävien oivallusten tekemiseen.
Läpimurto tulee ajatuksesta, että kone voi oppia datasta (eli esimerkeistä) itsenäisesti tuottaakseen tarkkoja tuloksia. Koneoppiminen liittyy läheisesti data mining ja Bayesilainen ennustava mallinnus. Kone vastaanottaa syötteenä dataa ja käyttää algoritmia vastausten muodostamiseen.
Tyypillinen koneoppimistehtävä on antaa suositus. Niille, joilla on Netflix tilillä kaikki elokuva- tai sarjasuositukset perustuvat käyttäjän historiallisiin tietoihin. Teknologiayritykset käyttävät ohjaamaton oppiminen parantaakseen käyttökokemusta personoimalla suosituksia.
Koneoppimista käytetään myös moniin tehtäviin, kuten petosten havaitsemiseen, ennakoivaan ylläpitoon, portfolion optimointiin ja tehtävien automatisointiin.
Koneoppiminen vs. perinteinen ohjelmointi
Perinteinen ohjelmointi eroaa merkittävästi koneoppimisesta. Perinteisessä ohjelmoinnissa ohjelmoija koodaa kaikki säännöt yhteistyössä alan asiantuntijan kanssa, jolle ohjelmistoa kehitetään. Jokainen sääntö perustuu loogiseen perustaan; kone tuottaa tulosteen noudattamalla loogista lausetta. Kun järjestelmästä tulee monimutkainen, on kirjoitettava lisää sääntöjä, ja sen ylläpito voi nopeasti muuttua kestämättömäksi. Alla oleva kaavio näyttää tämän virtauksen, jossa data ja käsin kirjoitetut säännöt tulevat sisään ja vastaukset tulevat ulos.

Koneoppimisen tarkoituksena on ratkaista tämä ongelma. Kone oppii, miten syöte- ja tulosdata korreloivat, ja se kirjoittaa itse säännön. Ohjelmoijien ei tarvitse kirjoittaa uusia sääntöjä joka kerta, kun uutta dataa on. Algoritmit mukautuvat vastauksena uuteen dataan ja kokemukseen parantaakseen tehokkuutta ajan myötä. Toinen kaavio kääntää ensimmäisen kaavion ylösalaisin: data ja tunnetut vastaukset tulevat sisään ja sääntö tulee ulos.
Miten koneoppiminen toimii?
Kun tämä kontrasti on olemassa, seuraava kysymys on, mitä oppimisvaiheessa oikeastaan tapahtuu.
Koneoppiminen on aivojen alue, jossa kaikki oppiminen tapahtuu. Kone oppii samalla tavalla kuin ihminen. Ihmiset oppivat kokemuksesta: mitä enemmän tiedämme, sitä helpommin pystymme ennustamaan. Vastaavasti, kun kohtaamme tuntemattoman tilanteen, onnistumisen todennäköisyys on pienempi kuin tunnetussa tilanteessa. Koneet on koulutettu samalla tavalla. Tarkan ennusteen tekemiseksi kone näkee esimerkin. Kun annamme koneelle samanlaisen esimerkin, se voi selvittää lopputuloksen. Kuitenkin, kuten ihmisen kohdalla, jos sille syötetään aiemmin näkemätön esimerkki, koneella on vaikeuksia ennustaa.
Koneoppimisen ydintavoitteet ovat oppiminen ja päättely. Ensinnäkin kone oppii löytämällä malleja, ja tämän löytämisen mahdollistaa data. Yksi ratkaiseva osa datatieteilijän työtä on valita huolellisesti, mitä dataa koneelle annetaan. Ongelman ratkaisemiseen käytettyjen ominaisuuksien luetteloa kutsutaan piirrevektoriVoit ajatella ominaisuusvektoria datan osajoukkona, jota käytetään ongelman ratkaisemiseen.
Kone käyttää algoritmeja yksinkertaistaakseen todellisuutta ja muuntaakseen tämän löydön malliksi. Oppimisvaihetta käytetään siis datan kuvaamiseen ja sen yhteenvetoon malliksi, kuten alla on esitetty.
Esimerkiksi kone yrittää ymmärtää yksilön palkan ja hienossa ravintolassa käymisen todennäköisyyden välistä suhdetta. Kone löytää positiivisen suhteen palkan ja luksusravintolassa käymisen välillä: tämä on malli.
Päätellen
Kun malli on rakennettu, sen tehokkuutta voidaan testata ennennäkemättömällä datalla. Uusi data muunnetaan ominaisuusvektoriksi, käy läpi mallin ja antaa ennusteen. Tämä on koneoppimisen arvokas osa. Sääntöjä ei tarvitse päivittää tai mallia kouluttaa uudelleen – voit käyttää aiemmin koulutettua mallia päätelmien tekemiseen uuden datan perusteella, juuri kuten alla oleva kaavio osoittaa.
Koneoppimisohjelman elämä on suoraviivaista ja se voidaan tiivistää seuraaviin kohtiin:
- Määrittele kysymys
- Kerätä dataa
- Visualisoi tiedot
- Juna-algoritmi
- Testaa algoritmi
- Kerää palautetta
- Tarkenna algoritmia
- Toista vaiheet 4–7 läpi, kunnes tulokset ovat tyydyttäviä
- Käytä mallia ennusteen tekemiseen
Kun algoritmi osaa tehdä oikeat johtopäätökset, se soveltaa tätä tietoa uusiin tietokokonaisuuksiin.
Koneen oppiminen Algorithms ja missä niitä käytetään?
Alla oleva kaavio ryhmittelee yleisimmät algoritmit ratkaisemansa tehtävän tyypin mukaan.
Koneoppiminen voidaan ryhmitellä kahteen laajaan oppimistehtävään: valvottu ja valvomattaNiiden välissä ja takana on kaksi muuta ryhmää – puoliohjattu oppiminen, jossa yhdistyvät pieni nimetty joukko suuren nimeämättömän joukon kanssa, ja vahvistaminen oppiminen, jossa agentti oppii palkkioista eikä leimatuista vastauksista.
Valvottu oppiminen
Algoritmi käyttää koulutusdataa ja ihmisten palautetta oppiakseen annettujen syötteiden ja annetun tuotoksen välisen suhteen. Esimerkiksi ammattilainen voi käyttää markkinointikuluja ja sääennusteita syötteenä tölkkien myynnin ennustamiseen.
Voit käyttää valvottu oppiminen kun lähtödata on tiedossa. Algoritmi ennustaa sitten uuden datan perusteella.
Ohjattua oppimista on kahdenlaisia:
- Luokittelutehtävä
- Regressiotehtävä
Luokittelu
Kuvittele, että haluat ennustaa mainoksen asiakkaan sukupuolen. Aloitat keräämällä tietoja pituudesta, painosta, työstä, palkasta, ostoskorista ja niin edelleen asiakastietokannastasi. Tiedät jokaisen asiakkaasi sukupuolen, ja se voi olla vain mies tai nainen. Luokittelijan tavoitteena on määrittää todennäköisyys sille, onko asiakas mies vai nainen (eli tunniste) keräämiesi tietojen (eli ominaisuuksien) perusteella. Kun malli on oppinut tunnistamaan miehen tai naisen, voit käyttää uusia tietoja ennusteen tekemiseen. Olet esimerkiksi juuri saanut uutta tietoa tuntemattomalta asiakkaalta ja haluat tietää, onko asiakas mies vai nainen. Jos luokittelija ennustaa, että mies = 70 %, se tarkoittaa, että algoritmi on 70 % varma, että tämä asiakas on mies, ja 30 % varma, että asiakas on nainen.
Tunnisteella voi olla kaksi tai useampia luokkia. Yllä olevassa koneoppimisesimerkissä on vain kaksi luokkaa, mutta jos luokittelijan on ennustettava objekteja, sillä voi olla kymmeniä luokkia (esim. lasi, pöytä, kengät – jokainen objekti edustaa yhtä luokkaa).
Regressio
Kun tuloste on jatkuva arvo, tehtävä on regressio. Esimerkiksi rahoitusanalyytikon on ehkä ennustettava osakkeen arvo useiden ominaisuuksien, kuten osakekurssin, aiemman osakkeen kehityksen ja makrotaloudellisten indeksien, perusteella. Järjestelmä opetetaan arvioimaan osakkeen hinta mahdollisimman pienellä virheellä.
Alla olevassa taulukossa luetellaan useimmin kohtaamasi valvotut algoritmit ja tehtävä, johon kukin niistä sopii.
| algoritmi | Tuotetiedot | Tyyppi |
|---|---|---|
| Lineaarinen regressio | Löytää tavan korreloida jokainen ominaisuus tulosteen tulevien arvojen ennustamiseksi. | Regressio |
| Logistinen regressio | Lineaarisen regression laajennus, jota käytetään luokittelutehtävissä. Tulosmuuttuja on binäärinen (esim. vain musta tai valkoinen) eikä jatkuva (esim. ääretön luettelo mahdollisista väreistä). | Luokittelu |
| Päätöspuu | Hyvin tulkittavissa oleva luokitus- tai regressiomalli, joka jakaa tieto-ominaisuusarvot haaroihin päätössolmuissa (esim. jos ominaisuus on väri, jokaisesta mahdollisesta väristä tulee uusi haara), kunnes lopullinen päätöstulos on tehty | Regressio Luokittelu |
| Naiivi Bayes | Bayesin menetelmä on luokittelumenetelmä, joka hyödyntää Bayesin lausetta. Lause päivittää aikaisemman tiedon tapahtumasta kunkin tapahtumaan vaikuttavan ominaisuuden riippumattomalla todennäköisyydellä. | Regressio Luokittelu |
| Tuki vektorikoneelle | Luokittelutehtävään käytetään tyypillisesti tukivektorikonetta eli SVM:ää. SVM-algoritmi löytää hypertason, joka jakaa luokat optimaalisesti. Sitä käytetään parhaiten epälineaarisen ratkaisijan kanssa. | Regressio (ei kovin yleinen) Luokittelu |
| Satunnainen metsä | Algoritmi perustuu päätöspuuhun tarkkuuden huomattavaksi parantamiseksi. Satunnaismetsä luo useita yksinkertaisia päätöspuita ja käyttää 'enemmistöäänestys'-menetelmää päättääkseen, mikä tunniste palautetaan. Luokittelutehtävässä lopullinen ennuste on se, joka saa eniten ääniä; regressiotehtävässä kaikkien puiden keskiarvo on lopullinen ennuste. | Regressio Luokittelu |
| AdaBoost | Luokittelu- tai regressiotekniikka, joka käyttää lukuisia malleja päätöksen tekemiseen, mutta punnitsee niitä niiden tarkkuuden perusteella ennustaessaan lopputulosta | Regressio Luokittelu |
| Gradienttia lisäävät puut | Gradienttia tehostavat puut ovat huippuluokan luokittelu-/regressiotekniikka. Se keskittyy edellisten puiden tekemiin virheisiin ja pyrkii korjaamaan ne. | Regressio Luokittelu |
Valvomaton oppiminen
Ohjaamattomassa oppimisessa algoritmi tutkii syöttödataa ilman, että sille annetaan eksplisiittistä tulosmuuttujaa (esim. se tutkii asiakkaiden demografisia tietoja tunnistaakseen kaavoja).
Voit käyttää sitä, kun et tiedä, miten dataa luokitellaan, ja haluat algoritmin löytävän kuviot ja ryhmittelevän datan puolestasi. Tärkeimmät ohjaamattomat algoritmit on esitetty alla.
| Algoritmin nimi | Tuotetiedot | Tyyppi |
|---|---|---|
| K tarkoittaa ryhmittelyä | Sijoittaa tiedot joihinkin ryhmiin (k), joista jokainen sisältää tietoja, joilla on samanlaiset ominaisuudet (mallin määrittämänä, ei ihmisten etukäteen määrittämänä) | Clusterta |
| Gaussin sekoitusmalli | K-keskiarvoklusteroinnin yleistys, joka tarjoaa enemmän joustavuutta ryhmien (klustereiden) koossa ja muodossa | Clusterta |
| Hierarkkinen klusterointi | Jakaa klusterit hierarkkisen puun mukaisesti luokittelujärjestelmän muodostamiseksi. Voidaan käyttää kanta-asiakaskorttiasiakkaiden klusterointiin. | Clusterta |
| Recommender-järjestelmä | Auttaa määrittelemään suosituksen tekemiseen tarvittavat tiedot. | Clusterta |
| PCA/t-SNE | Käytetään enimmäkseen tietojen mittasuhteiden vähentämiseen. Algoritmit vähentävät piirteiden määrän 3 tai 4 vektoriin, joilla on suurimmat varianssit. | Ulottuvuuden pienennys |
Kuinka valita koneoppimisalgoritmi
Koneoppimisalgoritmeja on paljon, ja algoritmin valintaan vaikuttaa pikemminkin tavoite kuin muoti.
Alla olevassa koneoppimisesimerkissä tehtävänä on ennustaa kukan tyyppi kolmesta lajikkeesta. Ennusteet perustuvat terälehden pituuteen ja leveyteen. Kuvassa näkyy kymmenen eri algoritmin tulokset. Vasemmassa yläkulmassa oleva kuva on itse aineisto, jossa data on luokiteltu kolmeen luokkaan: punainen, vaaleansininen ja tummansininen. Jotkin ryhmittelytpings ovat näkyvissä. Esimerkiksi toisessa kuvassa kaikki vasemmassa yläkulmassa kuuluu punaiseen kategoriaan, keskiosa sisältää epävarmuuden ja vaaleansinisen sekoituksen, kun taas alaosa vastaa tummaa kategoriaa. Muut kuvat osoittavat, kuinka eri algoritmit yrittävät luokitella samaa dataa.
Kun ehdokas on valittu, sen laatua arvioidaan datan perusteella, jota se ei ole koskaan nähnyt, yleensä sekaannusmatriisi ja siitä johdetut tarkkuus-, täsmällisyys- ja muistamisluvut.
Koneoppimisen haasteet ja rajoitukset
Koneoppimisen ensisijainen haaste on datan puute eli datajoukon monimuotoisuuden puute. Kone ei voi oppia, jos dataa ei ole saatavilla. Monimuotoisuuden puute asettaa koneen myös vaikeaksi, koska kone tarvitsee heterogeenisyyttä oppiakseen merkityksellisen näkemyksen. On harvinaista, että algoritmi pystyy...tractietoa, kun variaatioita on vähän tai ei lainkaan. Yleinen nyrkkisääntö on, että ryhmää kohden on oltava vähintään 20 havaintoa koneoppimisen helpottamiseksi; tämän arvon alapuolella sekä arviointi että ennustaminen kärsivät.
Datamäärä ei ole ainoa rajoitus. Vinoutuneiden historiallisten tietojen pohjalta koulutetut mallit toistavat vinoumaa, monimutkaisia malleja on vaikea selittää sääntelyviranomaiselle tai asiakkaalle, ja mikä tahansa malli heikkenee koulutetun maailman muuttuessa.
Koneoppimisen soveltaminen
Yllä olevia tekniikoita käytetään jo tuotannossa useimmilla toimialoilla. Alla olevat esimerkit siirtyvät yleisestä avusta tiettyihin sektoreihin.
Lisäosa: Koneoppiminen auttaa ihmisiä heidän päivittäisissä tehtävissään, niin henkilökohtaisesti kuin kaupallisestikin, ilman että heillä on täydellistä kontrollia lopputuloksesta. Tällaista koneoppimista käytetään eri tavoin, kuten virtuaaliassistentteina, data-analytiikkana ja ohjelmistoratkaisuina. Ensisijaisena tarkoituksena on vähentää ihmisen ennakkoluulojen aiheuttamia virheitä.
Automaatio: Koneoppiminen toimii täysin itsenäisesti millä tahansa alalla ilman ihmisen puuttumista asiaan. Esimerkiksi robotit suorittavat olennaisia prosessivaiheita tuotantolaitoksissa.
Rahoitusala: Koneoppimisen suosio kasvaa rahoitusalalla. Pankit käyttävät koneoppimista pääasiassa löytääkseen datasta säännönmukaisuuksia, mutta myös estääkseen petoksia.
Valtion organisaatiot: Hallitukset hyödyntävät koneoppimista yleisen turvallisuuden ja yleishyödyllisten palvelujen hallinnassa. Esimerkkinä voidaan mainita Kiina ja sen laajamittainen kasvojentunnistusohjelma, jossa tekoälysovelluksia käytetään jalkakäytävällä kävelijöiden tunnistamiseen.
Terveydenhuoltoala: Terveydenhuoltoala oli yksi ensimmäisistä teollisuudenaloista, joka käytti koneoppimista, alkaen kuvantunnistuksesta.
Markkinointi: Tekoälyä hyödynnetään laajasti markkinoinnissa runsaan datan saatavuuden ansiosta. Ennen massadatan aikakautta tutkijat kehittivät edistyneitä matemaattisia työkaluja, kuten Bayes-analyysin, asiakkaan arvon arvioimiseksi. Databuumin myötä markkinointiosastot luottavat tekoälyyn asiakassuhteiden ja markkinointikampanjoiden optimoinnissa.
Esimerkki koneoppimisesta toimitusketjussa
Koneoppiminen antaa vahvoja tuloksia visuaalisen hahmontunnistuksen osalta, mikä avaa monia potentiaalisia sovelluksia fyysisessä tarkastuksessa ja kunnossapidossa koko toimitusketjun verkossa.
Ohjaamaton oppiminen voi nopeasti etsiä vertailukelpoisia malleja monimuotoisesta tietojoukosta. Kone voi puolestaan suorittaa laaduntarkastuksia koko logistiikkakeskuksessa ja merkitä vaurioituneet ja kuluneet lähetykset.
Esimerkiksi IBMWatson-alusta pystyy määrittämään aluksenping konttivaurioita. Watson yhdistää visuaalista ja järjestelmäpohjaista dataa track, raportoi ja tee suosituksia reaaliajassa.
Aiemmin varastopäälliköt käyttivät laajalti manuaalisia menetelmiä varaston arvioinnissa ja ennustamisessa. Kun big data ja koneoppiminen yhdistetään, paremmat ennustustekniikat ovat mahdollisia, ja niiden on raportoitu parantavan niitä 20–30 prosenttia perinteisiin ennustustyökaluihin verrattuna. Myynnin osalta tämä tarkoittaa 2–3 prosentin kasvua varastokustannusten mahdollisen alenemisen ansiosta.
Esimerkki koneoppimisesta Google Auto
Kaikki tietävät, Google auto. Auton katolla on lasereita, jotka kertovat sille, missä se on suhteessa ympäröivään alueeseen. Sen edessä on tutka, joka ilmoittaa autolle kaikkien ympärillä olevien autojen nopeuden ja liikkeen. Se käyttää kaikkia näitä tietoja paitsi selvittääkseen, miten autoa tulisi ajaa, myös ennustaakseen, mitä ympärillä olevat kuljettajat aikovat tehdä. Vaikuttavaa on, että auto käsittelee lähes gigatavun dataa sekunnissa.
Miksi koneoppiminen on tärkeää?
Koneoppiminen on tähän mennessä paras työkalu datan analysointiin, ymmärtämiseen ja siinä olevien kuvioiden tunnistamiseen. Yksi koneoppimisen pääajatuksista on, että tietokone voidaan kouluttaa automatisoimaan tehtäviä, jotka olisivat ihmiselle uuvuttavia tai mahdottomia. Selkeä ero perinteiseen analyysiin on se, että koneoppiminen voi tehdä päätöksiä minimaalisella ihmisen puuttumisella.
Otetaan seuraava esimerkki: vähittäiskaupan välittäjä voi arvioida talon hinnan henkilökohtaisen kokemuksen ja markkinatuntemuksen perusteella.
Kone voidaan kouluttaa muuntamaan asiantuntijan tietämys ominaisuuksiksi. Ominaisuudet ovat kaikki talon, naapuruston, taloudellisen ympäristön ja niin edelleen ominaisuudet, jotka vaikuttavat hintaan. Asiantuntijalta on luultavasti kestänyt vuosia hallita talon hinnan arvioimisen taito, ja asiantuntemus paranee jokaisen myynnin jälkeen.
Kone tarvitsee miljoonia datapisteitä (eli esimerkkejä) hallitakseen tämän taidon. Aivan oppimisen alussa kone tekee virheitä, aivan kuten nuorempi myyjä. Kun kone on nähnyt tarpeeksi esimerkkejä, sillä on tarpeeksi tietoa arvionsa tekemiseen ja vieläpä suurella tarkkuudella. Kone pystyy myös korjaamaan virheensä uusien myyntien saapuessa.
Useimmat suuryritykset ovat ymmärtäneet koneoppimisen ja datan säilyttämisen arvon. McKinsey Global Institute arvioi kaikkien analytiikkatekniikoiden vuosittaiseksi arvoksi 9.5–15.4 biljoonaa dollaria ja katsoi noin 40 prosenttia tästä – noin 3.5–5.8 biljoonaa dollaria vuodessa – syviin neuroverkkoihin perustuvien edistyneiden tekoälytekniikoiden ansioksi, kuten sen raportissa esitetään. Muistiinpanoja tekoälyn rajaseudulta tutkimus.
Kun säännöt ovat tiedossa, mutta epätarkkoja eivätkä poissa, sääntöihin perustuva lähestymistapa, kuten sumea logiikka voi sopia paremmin kuin opittu malli, joten näitä kahta tekniikkaa usein verrataan ennen projektin aloittamista.




