Model strojnog učenja definiran je kao matematički prikaz rezultata procesa obuke. Strojno učenje je proučavanje različitih algoritama koji se mogu automatski poboljšati kroz iskustvo i stare podatke i izgraditi model. Model strojnog učenja sličan je računalnom softveru dizajniranom za prepoznavanje obrazaca ili ponašanja na temelju prethodnog iskustva ili podataka. Algoritam za učenje otkriva uzorke unutar podataka za obuku i daje ML model koji bilježi te uzorke i predviđa nove podatke.
Razmotrimo primjer ML modela gdje stvaramo aplikaciju za prepoznavanje korisnikovih emocija na temelju izraza lica. Dakle, stvaranje takve aplikacije moguće je pomoću modela strojnog učenja gdje ćemo trenirati model unoseći slike lica s različitim emocijama označenim na njima. Kad god se ova aplikacija koristi za određivanje raspoloženja korisnika, ona čita sve unesene podatke i zatim utvrđuje raspoloženje bilo kojeg korisnika.
Stoga, jednostavnim riječima, možemo reći da a model strojnog učenja je pojednostavljeni prikaz nečega ili procesa. U ovoj temi raspravljat ćemo o različitim modelima strojnog učenja te njihovim tehnikama i algoritmima .
Što je model strojnog učenja?
Modeli strojnog učenja mogu se shvatiti kao program koji je obučen za pronalaženje uzoraka unutar novih podataka i stvaranje predviđanja. Ti su modeli predstavljeni kao matematička funkcija koja prima zahtjeve u obliku ulaznih podataka, predviđa ulazne podatke, a zatim daje izlaz kao odgovor. Prvo, ti se modeli treniraju na skupu podataka, a zatim im se daje algoritam za razmišljanje o podacima, izdvajanje uzorka iz podataka feeda i učenje iz tih podataka. Nakon što se ovi modeli obuče, mogu se koristiti za predviđanje nevidljivog skupa podataka.
Dostupne su različite vrste modela strojnog učenja na temelju različitih poslovnih ciljeva i skupova podataka.
Klasifikacija modela strojnog učenja:
Na temelju različitih poslovnih ciljeva i skupova podataka, postoje tri modela učenja za algoritme. Svaki algoritam strojnog učenja smješta se u jedan od tri modela:
- Nadzirano učenje
- Učenje bez nadzora
- Učenje s pojačanjem
Nadzirano učenje dalje se dijeli u dvije kategorije:
- Klasifikacija
- Regresija
Učenje bez nadzora također je podijeljeno u sljedeće kategorije:
- Grupiranje
- Pravilo udruživanja
- Smanjenje dimenzionalnosti
1. Nadzirani modeli strojnog učenja
Učenje pod nadzorom je najjednostavniji model strojnog učenja za razumijevanje u kojem se ulazni podaci nazivaju podacima o obuci i imaju poznatu oznaku ili rezultat kao izlaz. Dakle, radi na principu ulazno-izlaznih parova. Zahtijeva stvaranje funkcije koja se može uvježbati korištenjem skupa podataka za uvježbavanje, a zatim se primjenjuje na nepoznate podatke i ostvaruje neke prediktivne performanse. Učenje pod nadzorom temelji se na zadacima i testira na označenim skupovima podataka.
Možemo implementirati model učenja pod nadzorom na jednostavnim problemima iz stvarnog života. Na primjer, imamo skup podataka koji se sastoji od dobi i visine; tada možemo izgraditi model učenja pod nadzorom kako bismo predvidjeli visinu osobe na temelju njezine dobi.
Modeli nadziranog učenja dalje se klasificiraju u dvije kategorije:
Regresija
U problemima regresije, izlaz je kontinuirana varijabla. Neki često korišteni regresijski modeli su sljedeći:
a) Linearna regresija
Linearna regresija je najjednostavniji model strojnog učenja u kojem pokušavamo predvidjeti jednu izlaznu varijablu pomoću jedne ili više ulaznih varijabli. Prikaz linearne regresije je linearna jednadžba koja kombinira skup ulaznih vrijednosti(x) i predviđeni izlaz(y) za skup tih ulaznih vrijednosti. Predstavljen je u obliku linije:
Y = bx + c.
Glavni cilj modela linearne regresije je pronaći liniju koja najbolje odgovara točkama podataka.
Linearna regresija je proširena na višestruku linearnu regresiju (pronalaženje ravnine koja najbolje pristaje) i polinomsku regresiju (pronalaženje krivulje najboljeg pristajanja).
b) Stablo odlučivanja
java scan.nextstring
Stabla odlučivanja popularni su modeli strojnog učenja koji se mogu koristiti i za probleme regresije i klasifikacije.
Stablo odluka koristi strukturu odluka poput stabla zajedno s njihovim mogućim posljedicama i ishodima. U ovome se svaki unutarnji čvor koristi za predstavljanje testa na atributu; svaka se grana koristi za predstavljanje ishoda testa. Što više čvorova ima stablo odlučivanja, rezultat će biti točniji.
Prednost stabala odlučivanja je u tome što su intuitivna i laka za implementaciju, ali im nedostaje točnosti.
Stabla odlučivanja naširoko se koriste u operacijsko istraživanje, posebno u analizi odluka, strateško planiranje , i to uglavnom u strojnom učenju.
c) Slučajna šuma
Random Forest je metoda učenja u ansamblu koja se sastoji od velikog broja stabala odlučivanja. Svako stablo odlučivanja u slučajnoj šumi predviđa ishod, a predviđanje s većinom glasova smatra se ishodom.
Slučajni šumski model može se koristiti i za probleme regresije i klasifikacije.
Za zadatak klasifikacije, ishod slučajne šume uzima se iz većine glasova. Dok se u zadatku regresije ishod uzima iz srednje vrijednosti ili prosjeka predviđanja koje generira svako stablo.
d) Neuronske mreže
Neuronske mreže su podskup strojnog učenja i poznate su i kao umjetne neuronske mreže. Neuronske mreže sastoje se od umjetnih neurona i dizajnirane su na način da sliče strukturi i radu ljudskog mozga. Svaki umjetni neuron povezuje se s mnogim drugim neuronima u neuronskoj mreži, a takvi milijuni povezanih neurona stvaraju sofisticiranu kognitivnu strukturu.
Neuronske mreže sastoje se od višeslojne strukture koja sadrži jedan ulazni sloj, jedan ili više skrivenih slojeva i jedan izlazni sloj. Kako je svaki neuron povezan s drugim neuronom, on prenosi podatke s jednog sloja na drugi neuron sljedećih slojeva. Konačno, podaci dopiru do posljednjeg sloja ili izlaznog sloja neuronske mreže i generiraju izlaz.
Neuronske mreže ovise o podacima za obuku kako bi naučile i poboljšale svoju točnost. Međutim, savršeno uvježbana i precizna neuronska mreža može brzo grupirati podatke i postati moćan alat za strojno učenje i umjetnu inteligenciju. Jedna od najpoznatijih neuronskih mreža je Googleov algoritam pretraživanja.
Klasifikacija
Klasifikacijski modeli su druga vrsta tehnika nadziranog učenja, koje se koriste za generiranje zaključaka iz promatranih vrijednosti u kategoričkom obliku. Na primjer, model klasifikacije može identificirati je li e-pošta spam ili ne; hoće li kupac kupiti proizvod ili ne, itd. Klasifikacijski algoritmi koriste se za predviđanje dviju klasa i kategorizaciju izlaza u različite skupine.
U klasifikaciji je dizajniran model klasifikatora koji klasificira skup podataka u različite kategorije, a svakoj kategoriji se dodjeljuje oznaka.
Postoje dvije vrste klasifikacija u strojnom učenju:
Neki popularni algoritmi klasifikacije su sljedeći:
a) Logistička regresija
Logistička regresija koristi se za rješavanje problema klasifikacije u strojnom učenju. Slični su linearnoj regresiji, ali se koriste za predviđanje kategoričkih varijabli. Može predvidjeti izlaz u bilo Da ili Ne, 0 ili 1, True ili False, itd. Međutim, umjesto da daje točne vrijednosti, daje vjerojatnosne vrijednosti između 0 i 1.
b) Stroj potpornih vektora
Support Vector Machine ili SVM popularan je algoritam strojnog učenja koji se široko koristi za zadatke klasifikacije i regresije. Međutim, konkretno, koristi se za rješavanje problema klasifikacije. Glavni cilj SVM-a je pronaći granice najbolje odluke u N-dimenzionalnom prostoru, koji može razdvojiti točke podataka u klase, a granica najbolje odluke poznata je kao hiperravnina. SVM odabire ekstremni vektor za pronalaženje hiperravnine, a ti su vektori poznati kao potporni vektori.
c) Naivni Bayes
Naivni Bayes još je jedan popularan algoritam klasifikacije koji se koristi u strojnom učenju. Naziva se tako jer se temelji na Bayesovom teoremu i slijedi naivnu (neovisnu) pretpostavku između značajki koja je dana kao:
Svaki naivni Bayesov klasifikator pretpostavlja da je vrijednost određene varijable neovisna o bilo kojoj drugoj varijabli/značajki. Na primjer, ako voće treba klasificirati na temelju boje, oblika i okusa. Tako će se žuti, ovalni i slatki prepoznati kao mango. Ovdje je svaka značajka neovisna o drugim značajkama.
2. Modeli strojnog učenja bez nadzora
Modeli strojnog učenja bez nadzora implementiraju proces učenja suprotan nadziranom učenju, što znači da omogućuje modelu učenje iz neoznačenog skupa podataka za obuku. Na temelju neoznačenog skupa podataka, model predviđa izlaz. Koristeći učenje bez nadzora, model sam uči skrivene obrasce iz skupa podataka bez ikakvog nadzora.
Modeli učenja bez nadzora uglavnom se koriste za izvođenje tri zadatka, a to su:
Grupiranje je tehnika učenja bez nadzora koja uključuje grupiranje ili grupiranje podatkovnih točaka u različite klastere na temelju sličnosti i razlika. Objekti s najviše sličnosti ostaju u istoj skupini, a nemaju ili imaju vrlo malo sličnosti s drugim skupinama.
Algoritmi klasteriranja mogu se široko koristiti u različitim zadacima kao što su Segmentacija slike, Statistička analiza podataka, Segmentacija tržišta itd.
Neki često korišteni algoritmi klasteriranja su K-znači klasteriranje, hijerarhijsko klasteriranje, DBSCAN itd.
Učenje pravila asocijacije tehnika je učenja bez nadzora, koja pronalazi zanimljive odnose među varijablama unutar velikog skupa podataka. Glavni cilj ovog algoritma učenja je pronaći ovisnost jedne podatkovne stavke o drugoj podatkovnoj stavci i mapirati te varijable u skladu s tim tako da može generirati maksimalnu dobit. Ovaj algoritam se uglavnom primjenjuje u Analiza tržišne košarice, rudarenje korištenja weba, kontinuirana proizvodnja itd.
Neki popularni algoritmi učenja pravila pridruživanja su Apriori algoritam, Eclat, FP-algoritam rasta.
Broj značajki/varijabli prisutnih u skupu podataka poznat je kao dimenzionalnost skupa podataka, a tehnika koja se koristi za smanjenje dimenzionalnosti poznata je kao tehnika redukcije dimenzionalnosti.
Iako više podataka daje točnije rezultate, to također može utjecati na performanse modela/algoritma, kao što su problemi s prekomjernim opremanjem. U takvim slučajevima koriste se tehnike smanjenja dimenzionalnosti.
' To je proces pretvaranja skupa podataka viših dimenzija u skup podataka nižih dimenzija čime se osigurava da pruža slične informacije .'
Različite metode smanjenja dimenzionalnosti kao što su kao PCA (analiza glavnih komponenti), dekompozicija singularne vrijednosti itd.
Učenje s pojačanjem
U učenju s potkrepljenjem, algoritam uči akcije za zadani skup stanja koja vode do ciljnog stanja. To je model učenja temeljen na povratnim informacijama koji uzima povratne signale nakon svakog stanja ili radnje interakcijom s okolinom. Ova povratna informacija djeluje kao nagrada (pozitivna za svaku dobru radnju i negativna za svaku lošu radnju), a cilj agenta je maksimizirati pozitivne nagrade kako bi poboljšao svoju izvedbu.
Ponašanje modela u učenju s potkrepljenjem slično je ljudskom učenju, budući da ljudi uče stvari kroz iskustva kao povratne informacije i u interakciji s okolinom.
Ispod su neki popularni algoritmi koji spadaju u učenje s pojačanjem:
Cilj mu je naučiti politiku koja može pomoći AI agentu da poduzme najbolje korake za maksimiziranje nagrade u određenim okolnostima. Uključuje Q vrijednosti za svaki par stanje-radnja koji ukazuje na nagradu za praćenje zadanog puta stanja i pokušava maksimizirati Q-vrijednost.
Obuka modela strojnog učenja
Nakon što je model strojnog učenja izgrađen, on se obučava kako bi se dobili odgovarajući rezultati. Za treniranje modela strojnog učenja potrebna je ogromna količina prethodno obrađenih podataka. Ovdje unaprijed obrađeni podaci znače podatke u strukturiranom obliku sa smanjenim nultim vrijednostima, itd. Ako ne pružimo prethodno obrađene podatke, tada postoje velike šanse da će naš model raditi užasno.
Kako odabrati najbolji model?
U gornjem odjeljku raspravljali smo o različitim modelima i algoritmima strojnog učenja. Ali jedno vrlo zbunjujuće pitanje koje se može pojaviti svakom početniku je 'koji model trebam odabrati?'. Dakle, odgovor je da to uglavnom ovisi o poslovnom zahtjevu ili zahtjevu projekta. Osim toga, također ovisi o pridruženim atributima, obujmu dostupnog skupa podataka, broju značajki, složenosti itd. Međutim, u praksi se preporučuje da uvijek počnemo s najjednostavnijim modelom koji se može primijeniti na određeni problem, a zatim postupno povećavajte složenost i testirajte točnost uz pomoć podešavanja parametara i unakrsne provjere.
Razlika između modela strojnog učenja i algoritama
Jedno od najzbunjujućih pitanja među početnicima je jesu li modeli strojnog učenja i algoritmi isti? Zato što se u različitim slučajevima u strojnom učenju i znanosti o podacima ova dva pojma koriste naizmjenično.
Odgovor na ovo pitanje je Ne, a model strojnog učenja nije isto što i algoritam. Na jednostavan način, an ML algoritam je poput procedure ili metode koja radi na podacima kako bi otkrila uzorke iz njih i generirati model. U isto vrijeme, a model strojnog učenja je poput računalnog programa koji generira izlaz ili daje predviđanja . Točnije, kada treniramo algoritam s podacima, on postaje model.
Machine Learning Model = Model Data + Prediction Algorithm