Koneoppimismalli määritellään matemaattiseksi esitykseksi koulutusprosessin tuloksesta. Koneoppiminen on tutkimusta erilaisista algoritmeista, jotka voivat kehittyä automaattisesti kokemuksen ja vanhan tiedon avulla ja rakentaa mallin. Koneoppimismalli on samanlainen kuin tietokoneohjelmisto, joka on suunniteltu tunnistamaan malleja tai käyttäytymistä aikaisemman kokemuksen tai tietojen perusteella. Oppimisalgoritmi löytää kuvioita harjoitustiedoista ja tulostaa ML-mallin, joka kaappaa nämä mallit ja tekee ennusteita uudesta tiedosta.
Ymmärretään esimerkki ML-mallista, jossa luomme sovelluksen, joka tunnistaa käyttäjän tunteet kasvojen ilmeiden perusteella. Joten tällaisen sovelluksen luominen on mahdollista koneoppimismalleilla, joissa koulutetaan mallia syöttämällä kuvia kasvoista, joihin on merkitty erilaisia tunteita. Aina kun tätä sovellusta käytetään määrittämään käyttäjän mieliala, se lukee kaikki syötetyt tiedot ja määrittää sitten minkä tahansa käyttäjän mielialan.
Siksi yksinkertaisin sanoin voimme sanoa, että a koneoppimismalli on yksinkertaistettu esitys jostakin tai prosessista. Tässä aiheessa käsitellään erilaisia koneoppimismalleja ja niiden tekniikoita ja algoritmeja .
Mikä on koneoppimismalli?
Koneoppimismallit voidaan ymmärtää ohjelmana, joka on koulutettu etsimään malleja uudesta tiedosta ja tekemään ennusteita. Nämä mallit esitetään matemaattisena funktiona, joka ottaa vastaan pyyntöjä syöttötietojen muodossa, tekee ennusteita tulotiedoista ja antaa sitten tulosteen vastauksena. Ensin näitä malleja opetetaan tietojoukon perusteella, ja sitten niille tarjotaan algoritmi, joka päättelee tietoja, poimi kuvion syötetiedoista ja oppii tiedoista. Kun nämä mallit on koulutettu, niitä voidaan käyttää ennustamaan näkymätön tietojoukko.
Saatavilla on erilaisia koneoppimismalleja, jotka perustuvat erilaisiin liiketoimintatavoitteisiin ja tietokokonaisuuksiin.
Koneoppimismallien luokitus:
Algoritmeille on kolme oppimismallia, jotka perustuvat erilaisiin liiketoimintatavoitteisiin ja tietokokonaisuuksiin. Jokainen koneoppimisalgoritmi asettuu johonkin kolmesta mallista:
- Ohjattu oppiminen
- Ohjaamaton oppiminen
- Vahvistusoppiminen
Ohjattu oppiminen jaetaan edelleen kahteen luokkaan:
- Luokittelu
- Regressio
Ohjaamaton oppiminen on myös jaettu alla oleviin luokkiin:
- Klusterointi
- Yhdistyksen sääntö
- Mittasuhteiden vähentäminen
1. Valvotut koneoppimismallit
Valvottu oppiminen on yksinkertaisin koneoppimismalli, jonka avulla voidaan ymmärtää, mitä syöttödataa kutsutaan harjoitusdataksi ja jolla on tunnettu nimike tai tulos tulosteena. Joten se toimii tulo-lähtö-parien periaatteella. Se edellyttää funktion luomista, jota voidaan harjoitella harjoitustietojoukon avulla, ja sitten sitä sovelletaan tuntemattomaan dataan ja se tekee ennakoivaa suorituskykyä. Ohjattu oppiminen on tehtäväpohjaista ja sitä testataan merkittyillä tietosarjoilla.
Pystymme toteuttamaan ohjatun oppimismallin yksinkertaisiin tosielämän ongelmiin. Meillä on esimerkiksi tietojoukko, joka koostuu iästä ja pituudesta; sitten voimme rakentaa ohjatun oppimismallin ennustamaan henkilön pituuden iän perusteella.
Ohjatut oppimismallit luokitellaan edelleen kahteen luokkaan:
Regressio
Regressio-ongelmissa tulos on jatkuva muuttuja. Jotkut yleisesti käytetyt regressiomallit ovat seuraavat:
a) Lineaarinen regressio
Lineaarinen regressio on yksinkertaisin koneoppimismalli, jossa yritämme ennustaa yhden lähtömuuttujan käyttämällä yhtä tai useampaa syöttömuuttujaa. Lineaarisen regression esitys on lineaarinen yhtälö, joka yhdistää joukon syötearvoja (x) ja ennustettuja lähtöarvoja (y) näiden tuloarvojen joukolle. Se esitetään viivan muodossa:
Y = bx + c.
Lineaarisen regressiomallin päätavoitteena on löytää parhaiten sopiva viiva, joka sopii parhaiten datapisteisiin.
Lineaarista regressiota laajennetaan moninkertaiseen lineaariseen regressioon (etsi parhaiten sopiva taso) ja polynomiregressioon (etsi parhaiten sopiva käyrä).
b) Päätöspuu
merkkijono ti int
Päätöspuut ovat suosittuja koneoppimismalleja, joita voidaan käyttää sekä regressio- että luokitteluongelmiin.
Päätöspuussa käytetään puumaista päätösrakennetta niiden mahdollisten seurausten ja tulosten kanssa. Tässä jokaista sisäistä solmua käytetään edustamaan attribuutin testiä; jokaista haaraa käytetään edustamaan testin tulosta. Mitä enemmän solmuja päätöspuussa on, sitä tarkempi tulos on.
Päätöspuiden etuna on, että ne ovat intuitiivisia ja helppoja toteuttaa, mutta niistä puuttuu tarkkuus.
Päätöspuita käytetään laajasti toimintatutkimus, erityisesti päätösanalyysi, strateginen suunnittelu ja lähinnä koneoppimisessa.
c) Random Forest
Random Forest on ensemble-oppimismenetelmä, joka koostuu suuresta määrästä päätöspuita. Jokainen satunnaisen metsän päätöspuu ennustaa tuloksen, ja enemmistön ääniä saanut ennuste katsotaan tulokseksi.
Satunnaista metsämallia voidaan käyttää sekä regressio- että luokitteluongelmiin.
Luokittelutehtävää varten satunnaisen metsän tulos otetaan enemmistöstä. Kun taas regressiotehtävässä tulos otetaan kunkin puun luomien ennusteiden keskiarvosta tai keskiarvosta.
d) Neuraaliverkot
Neuroverkot ovat koneoppimisen osajoukko, ja ne tunnetaan myös keinotekoisina hermoverkoina. Hermoverkot koostuvat keinotekoisista neuroneista ja ne on suunniteltu tavalla, joka muistuttaa ihmisen aivojen rakennetta ja toimintaa. Jokainen keinotekoinen neuroni muodostaa yhteyden moniin muihin hermosoluihin hermoverkostossa, ja tällaiset miljoonat toisiinsa yhteydessä olevat neuronit luovat hienostuneen kognitiivisen rakenteen.
Neuroverkot koostuvat monikerroksisesta rakenteesta, joka sisältää yhden tulokerroksen, yhden tai useamman piilokerroksen ja yhden lähtökerroksen. Kun jokainen neuroni on yhteydessä toiseen neuroniin, se siirtää tietoja yhdestä kerroksesta seuraavien kerrosten toiseen neuroniin. Lopuksi data saavuttaa hermoverkon viimeisen kerroksen tai lähtökerroksen ja tuottaa tulosteen.
Neuroverkot ovat riippuvaisia harjoitustiedoista oppiakseen ja parantaakseen tarkkuuttaan. Täydellisesti koulutettu ja tarkka hermoverkko voi kuitenkin klusteroida tiedot nopeasti ja tulla tehokkaaksi koneoppimis- ja tekoälytyökaluksi. Yksi tunnetuimmista neuroverkoista on Googlen hakualgoritmi.
Luokittelu
Luokittelumallit ovat toisen tyyppisiä ohjatun oppimisen tekniikoita, joita käytetään luomaan johtopäätöksiä havaituista arvoista kategorisessa muodossa. Luokittelumalli voi esimerkiksi tunnistaa, onko sähköposti roskapostia vai ei; ostaja ostaa tuotteen vai ei jne. Luokittelualgoritmeja käytetään ennustamaan kaksi luokkaa ja luokittelemaan tuotos eri ryhmiin.
Luokittelussa suunnitellaan luokitinmalli, joka luokittelee tietojoukon eri luokkiin ja jokaiselle luokalle on annettu tunniste.
Koneoppimisessa on kahdenlaisia luokituksia:
Joitakin suosittuja luokitusalgoritmeja ovat seuraavat:
a) Logistinen regressio
Logistista regressiota käytetään koneoppimisen luokitteluongelmien ratkaisemiseen. Ne ovat samanlaisia kuin lineaarinen regressio, mutta niitä käytetään kategoristen muuttujien ennustamiseen. Se voi ennustaa tuloksen joko Kyllä tai Ei, 0 tai 1, tosi tai epätosi jne. Tarkkojen arvojen sijaan se tarjoaa todennäköisyysarvot välillä 0 ja 1.
b) Tuki vektorikonetta
Tukivektorikone tai SVM on suosittu koneoppimisalgoritmi, jota käytetään laajasti luokittelu- ja regressiotehtävissä. Sitä käytetään kuitenkin erityisesti luokitteluongelmien ratkaisemiseen. SVM:n päätavoitteena on löytää parhaat päätösrajat N-ulotteisesta avaruudesta, joka voi jakaa datapisteet luokkiin, ja paras päätösraja tunnetaan nimellä Hyperplane. SVM valitsee äärimmäisen vektorin löytääkseen hypertason, ja nämä vektorit tunnetaan tukivektoreina.
c) Naiivi Bayes
Naive Bayes on toinen suosittu luokittelualgoritmi, jota käytetään koneoppimisessa. Sitä kutsutaan nimellä, koska se perustuu Bayesin lauseeseen ja seuraa naiivia (riippumatonta) oletusta ominaisuuksien välillä, joka annetaan seuraavasti:
Jokainen naiivi Bayes-luokittaja olettaa, että tietyn muuttujan arvo on riippumaton muista muuttujista/ominaisuuksista. Esimerkiksi, jos hedelmä on luokiteltava värin, muodon ja maun perusteella. Joten keltainen, soikea ja makea tunnistetaan mangoksi. Tässä jokainen ominaisuus on riippumaton muista ominaisuuksista.
2. Valvomattomat koneoppimismallit
Valvomattomat koneoppimismallit toteuttavat oppimisprosessin, joka on päinvastainen kuin ohjattu oppiminen, mikä tarkoittaa, että malli voi oppia merkitsemättömästä harjoitustietojoukosta. Merkitsemättömän tietojoukon perusteella malli ennustaa lähdön. Ohjaamattoman oppimisen avulla malli oppii piilotetut kuviot tietojoukosta itsestään ilman valvontaa.
Ohjaamattomia oppimismalleja käytetään pääasiassa kolmen tehtävän suorittamiseen, jotka ovat seuraavat:
Klusterointi on valvomaton oppimistekniikka, joka sisältää datapisteiden klusteroinnin tai haparoinnin eri klustereiksi samankaltaisuuksien ja erojen perusteella. Eniten yhtäläisyyksiä omaavat esineet jäävät samaan ryhmään, ja niillä ei ole lainkaan tai on hyvin vähän yhtäläisyyksiä muista ryhmistä.
Klusterointialgoritmeja voidaan käyttää laajasti erilaisissa tehtävissä, kuten Kuvan segmentointi, tilastotietojen analyysi, markkinoiden segmentointi , jne.
Jotkut yleisesti käytetyt klusterointialgoritmit ovat K-means Clustering, hierarchal Clustering, DBSCAN , jne.
Assosiaatiosäännön oppiminen on valvomaton oppimistekniikka, joka löytää mielenkiintoisia suhteita suuren tietojoukon muuttujien välillä. Tämän oppimisalgoritmin päätavoitteena on löytää yhden tietokohteen riippuvuus toisesta tietokohdasta ja kartoittaa nämä muuttujat vastaavasti, jotta se voi tuottaa suurimman voiton. Tätä algoritmia käytetään pääasiassa Markkinakori-analyysi, web-käytön louhinta, jatkuva tuotanto , jne.
Jotkut suosittuja assosiaatiosäännön oppimisalgoritmeja ovat Apriori-algoritmi, Eclat, FP-kasvualgoritmi.
Tietojoukossa olevien ominaisuuksien/muuttujien lukumäärä tunnetaan tietojoukon ulottuvuutena, ja ulottuvuuden vähentämiseen käytetty tekniikka tunnetaan ulottuvuuden vähentämistekniikkana.
Vaikka enemmän dataa saadaan tarkempia tuloksia, se voi myös vaikuttaa mallin/algoritmin suorituskykyyn, kuten ylisovitusongelmiin. Tällaisissa tapauksissa käytetään mittasuhteen vähentämistekniikoita.
' Se on prosessi, jossa suuremman ulottuvuuden tietojoukko muunnetaan pienempien ulottuvuuksien tietojoukoksi varmistaakseen, että se tarjoaa samanlaisia tietoja .'
Erilaiset ulottuvuuden vähentämismenetelmät, kuten kuten PCA (Principal Component Analysis), Singular Value Decomposition jne.
Vahvistusoppiminen
Vahvistusoppimisessa algoritmi oppii toimintoja tietylle tilajoukolle, jotka johtavat tavoitetilaan. Se on palautepohjainen oppimismalli, joka ottaa palautesignaaleja jokaisen tilan tai toiminnon jälkeen vuorovaikutuksessa ympäristön kanssa. Tämä palaute toimii palkkiona (positiivinen jokaisesta hyvästä toiminnasta ja negatiivinen jokaisesta huonosta toiminnasta), ja agentin tavoitteena on maksimoida positiiviset palkinnot parantaakseen suorituskykyään.
Vahvistusoppimisen mallin käyttäytyminen on samanlaista kuin ihmisen oppiminen, kun ihminen oppii asioita kokemusten kautta palautteena ja vuorovaikutuksessa ympäristön kanssa.
Alla on joitain suosittuja algoritmeja, jotka kuuluvat vahvistusoppimisen piiriin:
Sen tavoitteena on oppia käytäntö, joka voi auttaa tekoälyagenttia tekemään parhaat toimet palkkion maksimoimiseksi tietyissä olosuhteissa. Se sisältää Q-arvot kullekin tila-toiminto-parille, jotka osoittavat palkkion tietyn tilapolun seuraamisesta, ja se yrittää maksimoida Q-arvon.
Koneoppimismallien koulutus
Kun koneoppimismalli on rakennettu, sitä koulutetaan, jotta saadaan oikeat tulokset. Koneoppimismallin kouluttamiseen tarvitaan valtava määrä esikäsiteltyä dataa. Tässä esikäsitellyllä datalla tarkoitetaan strukturoidussa muodossa olevaa dataa, jossa on pienempiä nolla-arvoja jne. Jos emme tarjoa esikäsiteltyä dataa, on olemassa valtava mahdollisuus, että mallimme toimii kauheasti.
Kuinka valita paras malli?
Yllä olevassa osiossa olemme keskustelleet erilaisista koneoppimismalleista ja -algoritmeista. Mutta yksi hämmentävä kysymys, joka voi herätä jokaiselle aloittelijalle, että 'mikä malli minun pitäisi valita?'. Joten vastaus on, että se riippuu pääasiassa liiketoiminnan tarpeesta tai projektin vaatimuksesta. Tämän lisäksi se riippuu myös liittyvistä attribuuteista, käytettävissä olevan tietojoukon määrästä, ominaisuuksien määrästä, monimutkaisuudesta jne. Käytännössä on kuitenkin suositeltavaa aloittaa aina yksinkertaisimmasta mallista, jota voidaan soveltaa tiettyyn kohteeseen. ongelma ja lisää sitten asteittain monimutkaisuutta ja testaa tarkkuus parametrien virityksen ja ristiinvalidoinnin avulla.
Ero koneoppimismallin ja algoritmien välillä
Yksi hämmentävämmistä aloittelijoiden kysymyksistä on, ovatko koneoppimismalleja ja algoritmit samoja? Koska eri tapauksissa koneoppimisessa ja datatieteessä näitä kahta termiä käytetään vaihtokelpoisesti.
Vastaus tähän kysymykseen on ei, ja koneoppimismalli ei ole sama kuin algoritmi. Yksinkertaisella tavalla an ML-algoritmi on kuin prosessi tai menetelmä, joka käyttää dataa löytääkseen siitä malleja ja luo malli. Samaan aikaan a koneoppimismalli on kuin tietokoneohjelma, joka tuottaa tulosta tai tekee ennusteita . Tarkemmin sanottuna, kun harjoittelemme algoritmia datalla, siitä tulee malli.
Machine Learning Model = Model Data + Prediction Algorithm