Model strojnega učenja je opredeljen kot matematična predstavitev rezultatov procesa usposabljanja. Strojno učenje je preučevanje različnih algoritmov, ki se lahko samodejno izboljšajo z izkušnjami in starimi podatki ter zgradijo model. Model strojnega učenja je podoben računalniški programski opremi, zasnovani za prepoznavanje vzorcev ali vedenj na podlagi prejšnjih izkušenj ali podatkov. Učni algoritem odkrije vzorce znotraj podatkov o usposabljanju in izda model ML, ki zajame te vzorce in naredi napovedi na podlagi novih podatkov.
Razumejmo primer modela ML, kjer ustvarjamo aplikacijo za prepoznavanje uporabnikovih čustev na podlagi obrazne mimike. Torej je izdelava takšne aplikacije možna z modeli strojnega učenja, kjer bomo usposobili model tako, da bomo podajali slike obrazov z različnimi čustvi, označenimi na njih. Kadarkoli se ta aplikacija uporablja za ugotavljanje razpoloženja uporabnika, prebere vse vnesene podatke in nato določi razpoloženje katerega koli uporabnika.
Zato lahko z enostavnimi besedami rečemo, da a model strojnega učenja je poenostavljena predstavitev nečesa ali procesa. V tej temi bomo razpravljali o različnih modelih strojnega učenja ter njihovih tehnikah in algoritmih .
Kaj je model strojnega učenja?
Modele strojnega učenja lahko razumemo kot program, ki je bil usposobljen za iskanje vzorcev v novih podatkih in napovedovanje. Ti modeli so predstavljeni kot matematična funkcija, ki sprejme zahteve v obliki vhodnih podatkov, naredi napovedi vhodnih podatkov in nato kot odgovor zagotovi izhod. Najprej se ti modeli učijo na podlagi niza podatkov, nato pa jim je na voljo algoritem za razmišljanje o podatkih, ekstrahiranje vzorca iz podatkov vira in učenje iz teh podatkov. Ko se ti modeli usposobijo, jih je mogoče uporabiti za predvidevanje nevidnega nabora podatkov.
Na voljo so različne vrste modelov strojnega učenja, ki temeljijo na različnih poslovnih ciljih in nizih podatkov.
Razvrstitev modelov strojnega učenja:
Na podlagi različnih poslovnih ciljev in nizov podatkov obstajajo trije učni modeli za algoritme. Vsak algoritem strojnega učenja se umesti v enega od treh modelov:
- Nadzorovano učenje
- Učenje brez nadzora
- Okrepljeno učenje
Nadzorovano učenje je nadalje razdeljeno v dve kategoriji:
- Razvrstitev
- Regresija
Tudi nenadzorovano učenje je razdeljeno v naslednje kategorije:
- Grozdenje
- Pravilo združenja
- Zmanjšanje dimenzionalnosti
1. Nadzorovani modeli strojnega učenja
Nadzorovano učenje je najpreprostejši model strojnega učenja za razumevanje, kateri vhodni podatki se imenujejo podatki za usposabljanje in imajo znano oznako ali rezultat kot izhod. Deluje torej po principu vhodno-izhodnih parov. Zahteva ustvarjanje funkcije, ki jo je mogoče učiti z uporabo nabora podatkov za usposabljanje, nato pa se uporabi za neznane podatke in naredi nekaj napovedne učinkovitosti. Nadzorovano učenje temelji na nalogah in se testira na označenih nizih podatkov.
Model nadzorovanega učenja lahko izvajamo na preprostih problemih iz resničnega življenja. Na primer, imamo nabor podatkov, sestavljen iz starosti in višine; potem lahko zgradimo model nadzorovanega učenja za napovedovanje višine osebe glede na njeno starost.
Modeli nadzorovanega učenja so nadalje razvrščeni v dve kategoriji:
Regresija
Pri regresijskih problemih je rezultat zvezna spremenljivka. Nekateri pogosto uporabljeni regresijski modeli so naslednji:
a) Linearna regresija
Linearna regresija je najpreprostejši model strojnega učenja, v katerem poskušamo napovedati eno izhodno spremenljivko z uporabo ene ali več vhodnih spremenljivk. Predstavitev linearne regresije je linearna enačba, ki združuje nabor vhodnih vrednosti (x) in predvideni izhod (y) za nabor teh vhodnih vrednosti. Predstavljen je v obliki črte:
Y = bx + c.
Glavni cilj modela linearne regresije je najti črto, ki se najbolje prilega podatkovnim točkam.
Linearna regresija je razširjena na večkratno linearno regresijo (iskanje ravnine, ki se najbolje prilega) in polinomsko regresijo (iskanje krivulje, ki se najbolje prilega).
b) Odločitveno drevo
kako pretvoriti niz v celo število
Odločitvena drevesa so priljubljeni modeli strojnega učenja, ki jih je mogoče uporabiti za regresijske in klasifikacijske probleme.
Odločitveno drevo uporablja drevesno strukturo odločitev skupaj z njihovimi možnimi posledicami in rezultati. Pri tem se vsako notranje vozlišče uporablja za predstavitev preizkusa atributa; vsaka veja se uporablja za predstavitev rezultata testa. Več vozlišč kot ima odločitveno drevo, natančnejši bo rezultat.
Prednost odločitvenih dreves je, da so intuitivna in enostavna za implementacijo, manjka pa jim natančnosti.
Odločitvena drevesa se pogosto uporabljajo v operacijske raziskave, posebej pri analizi odločitev, strateškem načrtovanju , in predvsem v strojnem učenju.
c) Naključni gozd
Random Forest je učna metoda ansambla, ki je sestavljena iz velikega števila odločitvenih dreves. Vsako odločitveno drevo v naključnem gozdu napove izid in napoved z večino glasov se šteje za izid.
Naključni gozdni model se lahko uporablja za regresijske in klasifikacijske probleme.
Za nalogo razvrščanja je izid naključnega gozda vzet iz večine glasov. Medtem ko je pri regresijski nalogi rezultat vzet iz srednje vrednosti ali povprečja napovedi, ki jih ustvari vsako drevo.
d) Nevronske mreže
Nevronske mreže so podmnožica strojnega učenja in so znane tudi kot umetne nevronske mreže. Nevronske mreže so sestavljene iz umetnih nevronov in zasnovane na način, ki spominja na strukturo in delovanje človeških možganov. Vsak umetni nevron se poveže s številnimi drugimi nevroni v nevronski mreži in tako na milijone povezanih nevronov ustvari sofisticirano kognitivno strukturo.
Nevronske mreže so sestavljene iz večplastne strukture, ki vsebuje eno vhodno plast, eno ali več skritih plasti in eno izhodno plast. Ker je vsak nevron povezan z drugim nevronom, prenaša podatke iz ene plasti v drugi nevron naslednjih plasti. Končno podatki dosežejo zadnjo plast ali izhodno plast nevronske mreže in ustvarijo izhod.
Nevronske mreže so odvisne od podatkov za usposabljanje za učenje in izboljšanje svoje natančnosti. Vendar pa lahko popolnoma usposobljena in natančna nevronska mreža hitro združi podatke v skupine in postane zmogljivo orodje za strojno učenje in umetno inteligenco. Ena najbolj znanih nevronskih mrež je Googlov iskalni algoritem.
Razvrstitev
Klasifikacijski modeli so druga vrsta tehnik nadzorovanega učenja, ki se uporabljajo za ustvarjanje zaključkov iz opazovanih vrednosti v kategorični obliki. Na primer, klasifikacijski model lahko ugotovi, ali je e-poštno sporočilo vsiljena pošta ali ne; bo kupec kupil izdelek ali ne, itd. Klasifikacijski algoritmi se uporabljajo za napovedovanje dveh razredov in kategorizacijo izhoda v različne skupine.
Pri klasifikaciji je zasnovan model klasifikatorja, ki nabor podatkov razvrsti v različne kategorije, vsaki kategoriji pa je dodeljena oznaka.
V strojnem učenju obstajata dve vrsti klasifikacij:
Nekateri priljubljeni algoritmi za razvrščanje so naslednji:
a) Logistična regresija
Logistična regresija se uporablja za reševanje težav s klasifikacijo v strojnem učenju. Podobni so linearni regresiji, vendar se uporabljajo za napovedovanje kategoričnih spremenljivk. Izhod lahko napove z Da ali Ne, 0 ali 1, True ali False itd. Vendar pa namesto natančnih vrednosti zagotovi verjetnostne vrednosti med 0 in 1.
b) Podporni vektorski stroj
Podporni vektorski stroj ali SVM je priljubljen algoritem strojnega učenja, ki se pogosto uporablja za naloge klasifikacije in regresije. Natančneje pa se uporablja za reševanje težav s klasifikacijo. Glavni cilj SVM je najti najboljše odločitvene meje v N-dimenzionalnem prostoru, ki lahko loči podatkovne točke v razrede, najboljša odločitvena meja pa je znana kot hiperravnina. SVM izbere skrajni vektor za iskanje hiperravnine in ti vektorji so znani kot podporni vektorji.
c) Naivni Bayes
Naivni Bayes je še en priljubljen klasifikacijski algoritem, ki se uporablja pri strojnem učenju. Imenuje se tako, ker temelji na Bayesovem izreku in sledi naivni (neodvisni) predpostavki med značilnostmi, ki je podana kot:
Vsak naivni Bayesov klasifikator predpostavlja, da je vrednost določene spremenljivke neodvisna od katere koli druge spremenljivke/značilnosti. Na primer, če je treba sadje razvrstiti glede na barvo, obliko in okus. Tako bo rumeno, ovalno in sladko prepoznano kot mango. Tukaj je vsaka funkcija neodvisna od drugih funkcij.
2. Modeli nenadzorovanega strojnega učenja
Modeli nenadzorovanega strojnega učenja izvajajo učni proces, ki je nasproten nadzorovanemu učenju, kar pomeni, da omogoča modelu učenje iz neoznačenega nabora podatkov o usposabljanju. Na podlagi neoznačenega nabora podatkov model napove rezultat. Z uporabo nenadzorovanega učenja se model sam brez nadzora nauči skritih vzorcev iz nabora podatkov.
Modeli nenadzorovanega učenja se v glavnem uporabljajo za izvajanje treh nalog, ki so naslednje:
Združevanje v gruče je nenadzorovana učna tehnika, ki vključuje združevanje v gruče ali tipanje podatkovnih točk v različne gruče na podlagi podobnosti in razlik. Objekti z največ podobnosti ostanejo v isti skupini in nimajo ali imajo zelo malo podobnosti iz drugih skupin.
Algoritmi združevanja v gruče se lahko široko uporabljajo pri različnih nalogah, kot npr Segmentacija slike, Statistična analiza podatkov, Segmentacija trga itd.
Nekateri pogosto uporabljeni algoritmi združevanja v gruče so K-pomeni združevanje v gruče, hierarhično združevanje v gruče, DBSCAN itd.
Učenje asociacijskih pravil je nenadzorovana tehnika učenja, ki najde zanimive odnose med spremenljivkami znotraj velikega nabora podatkov. Glavni cilj tega učnega algoritma je najti odvisnost ene podatkovne postavke od druge podatkovne postavke in ustrezno preslikati te spremenljivke, tako da lahko ustvari največji dobiček. Ta algoritem se uporablja predvsem v Analiza tržne košarice, rudarjenje spletne uporabe, kontinuirana proizvodnja itd.
Nekateri priljubljeni algoritmi učenja asociacijskih pravil so Apriorni algoritem, Eclat, algoritem rasti FP.
Število funkcij/spremenljivk, prisotnih v naboru podatkov, je znano kot dimenzionalnost nabora podatkov, tehnika, ki se uporablja za zmanjšanje dimenzionalnosti, pa je znana kot tehnika zmanjševanja dimenzionalnosti.
Čeprav več podatkov zagotavlja natančnejše rezultate, lahko vpliva tudi na delovanje modela/algoritma, kot so težave s prekomernim opremljanjem. V takih primerih se uporabljajo tehnike zmanjševanja dimenzij.
' To je postopek pretvorbe nabora podatkov višjih razsežnosti v nabor podatkov nižjih razsežnosti, ki zagotavlja, da zagotavlja podobne informacije .'
Različne metode zmanjševanja dimenzij, npr kot PCA (analiza glavnih komponent), razčlenitev singularne vrednosti itd.
Okrepitveno učenje
Pri učenju z okrepitvijo se algoritem nauči dejanj za dani niz stanj, ki vodijo do ciljnega stanja. To je učni model, ki temelji na povratnih informacijah in sprejema povratne signale po vsakem stanju ali dejanju z interakcijo z okoljem. Ta povratna informacija deluje kot nagrada (pozitivna za vsako dobro dejanje in negativna za vsako slabo dejanje), agentov cilj pa je povečati pozitivne nagrade za izboljšanje svoje uspešnosti.
Vedenje modela pri učenju s krepitvijo je podobno človeškemu učenju, saj se ljudje stvari učimo z izkušnjami kot povratno informacijo in sodelujemo z okoljem.
Spodaj je nekaj priljubljenih algoritmov, ki spadajo pod učenje z okrepitvijo:
Cilj je spoznati politiko, ki lahko pomaga agentu AI, da sprejme najboljše ukrepe za povečanje nagrade v določenih okoliščinah. Vključuje vrednosti Q za vsak par stanje-dejanje, ki nakazujejo nagrado za sledenje dani poti stanja, in poskuša povečati vrednost Q.
Usposabljanje modelov strojnega učenja
Ko je model strojnega učenja zgrajen, se usposobi, da dobi ustrezne rezultate. Za usposabljanje modela strojnega učenja je potrebna ogromna količina vnaprej obdelanih podatkov. V tem primeru vnaprej obdelani podatki pomenijo podatke v strukturirani obliki z zmanjšanimi ničelnimi vrednostmi itd. Če ne zagotovimo vnaprej obdelanih podatkov, obstaja velika verjetnost, da bo naš model deloval grozljivo.
Kako izbrati najboljši model?
V zgornjem razdelku smo razpravljali o različnih modelih in algoritmih strojnega učenja. Toda eno najbolj zmedeno vprašanje, ki se lahko pojavi vsakemu začetniku, je 'kateri model naj izberem?'. Odgovor je torej, da je odvisno predvsem od poslovnih zahtev ali projektnih zahtev. Poleg tega je odvisno tudi od povezanih atributov, obsega razpoložljivega nabora podatkov, števila funkcij, kompleksnosti itd. Vendar je v praksi priporočljivo, da vedno začnemo z najpreprostejšim modelom, ki ga lahko uporabimo za določeno problem in nato postopoma povečujte zapletenost in preizkusite natančnost s pomočjo nastavitve parametrov in navzkrižne validacije.
Razlika med modelom strojnega učenja in algoritmi
Eno najbolj zmedenih vprašanj med začetniki je, ali so modeli strojnega učenja in algoritmi enaki? Ker se v različnih primerih v strojnem učenju in podatkovni znanosti ta dva izraza uporabljata izmenično.
Odgovor na to vprašanje je Ne in model strojnega učenja ni enak algoritmu. Na preprost način, an Algoritem ML je kot postopek ali metoda, ki deluje na podatkih, da odkrije vzorce iz njih in ustvarite model. Hkrati je a model strojnega učenja je kot računalniški program, ki ustvarja rezultate ali daje napovedi . Natančneje, ko urimo algoritem s podatki, ta postane model.
Machine Learning Model = Model Data + Prediction Algorithm