Vodič za strojno učenje za početnike: Što je, osnove ML-a
⚡ Pametni sažetak
Strojno učenje je obitelj računalnih algoritama koji se poboljšavaju iz primjera umjesto da budu eksplicitno kodirani, kombinirajući podatke sa statističkim alatima kako bi predvidjeli rezultate koje ljudi mogu pretvoriti u praktične odluke.
Što je strojno učenje?
Strojno učenje je sustav računalnih algoritama koji mogu učiti iz primjera kroz samousavršavanje, bez da ih programer eksplicitno kodira. Strojno učenje dio je umjetna inteligencija koji kombinira podatke sa statističkim alatima kako bi predvidio rezultat koji se može koristiti za dobivanje praktičnih uvida.
Proboj dolazi s idejom da stroj može samostalno učiti iz podataka (tj. primjera) kako bi proizveo točne rezultate. Strojno učenje usko je povezano s data mining i Bayesovo prediktivno modeliranje. Stroj prima podatke kao ulaz i koristi algoritam za formuliranje odgovora.
Tipičan zadatak strojnog učenja je davanje preporuke. Za one koji imaju Netflix račun, sve preporuke filmova ili serija temelje se na povijesnim podacima korisnika. Tehnološke tvrtke koriste učenje bez nadzora poboljšati korisničko iskustvo personalizacijom preporuka.
Strojno učenje se također koristi za razne zadatke kao što su otkrivanje prijevara, prediktivno održavanje, optimizacija portfelja i automatizacija zadataka.
Strojno učenje nasuprot tradicionalnom programiranju
Tradicionalno programiranje značajno se razlikuje od strojnog učenja. U tradicionalnom programiranju, programer kodira sva pravila u konzultaciji sa stručnjakom u industriji za koju se softver razvija. Svako pravilo temelji se na logičkoj osnovi; stroj proizvodi izlaz slijedeći logičku izjavu. Kada sustav postane složeniji, potrebno je napisati više pravila i njegovo održavanje može brzo postati neodrživo. Dijagram u nastavku prikazuje taj tok, gdje podaci i rukom pisana pravila ulaze, a odgovori izlaze.

Strojno učenje namijenjeno je prevladavanju ovog problema. Stroj uči kako su ulazni i izlazni podaci povezani i sam piše pravilo. Programeri ne moraju pisati nova pravila svaki put kada postoje novi podaci. Algoritmi se prilagođavaju novim podacima i iskustvu kako bi s vremenom poboljšali učinkovitost. Drugi dijagram invertira prvi: podaci i poznati odgovori ulaze, a pravilo izlazi.
Kako funkcionira strojno učenje?
S tim kontrastom, sljedeće pitanje je što se zapravo događa unutar koraka učenja.
Strojno učenje je mozak u kojem se odvija svo učenje. Način na koji stroj uči sličan je načinu na koji uči ljudsko biće. Ljudi uče iz iskustva: što više znamo, lakše možemo predvidjeti. Po analogiji, kada se suočimo s nepoznatom situacijom, vjerojatnost uspjeha je manja nego u poznatoj situaciji. Strojevi se obučavaju na isti način. Da bi dao točno predviđanje, stroj vidi primjer. Kada stroju damo sličan primjer, on može shvatiti ishod. Međutim, kao i čovjek, ako mu se da prethodno neviđeni primjer, stroj ima poteškoća s predviđanjem.
Osnovni ciljevi strojnog učenja su učenje i zaključivanje. Prije svega, stroj uči otkrivanjem obrazaca, a to otkriće omogućuju podaci. Jedan ključni dio posla znanstvenika podataka je pažljivo odabrati koje će podatke pružiti stroju. Popis atributa koji se koriste za rješavanje problema naziva se vektor značajkiVektor značajki možete zamisliti kao podskup podataka koji se koristi za rješavanje problema.
Stroj koristi algoritme za pojednostavljenje stvarnosti i pretvaranje ovog otkrića u model. Faza učenja se stoga koristi za opisivanje podataka i njihovo sažimanje u model, kao što je prikazano u nastavku.
Na primjer, stroj pokušava razumjeti odnos između plaće pojedinca i vjerojatnosti odlaska u otmjeni restoran. Ispada da stroj pronalazi pozitivnu vezu između plaće i odlaska u luksuzni restoran: to je model.
Zaključujući
Kada je model izgrađen, moguće je testirati njegovu moć na dosad neviđenim podacima. Novi podaci se transformiraju u vektor značajki, prolaze kroz model i daju predviđanje. Ovo je vrijedan dio strojnog učenja. Nema potrebe za ažuriranjem pravila ili ponovnim treniranjem modela - možete koristiti prethodno trenirani model za donošenje zaključaka na temelju novih podataka, točno kao što je prikazano na dijagramu ispod.
Život programa strojnog učenja je jednostavan i može se sažeti u sljedećim točkama:
- Definirajte pitanje
- Prikupiti podatke
- Vizualizirajte podatke
- Algoritam vlaka
- Testirajte algoritam
- Prikupi povratne informacije
- Usavršite algoritam
- Ponavljajte korake od 4 do 7 dok rezultati ne budu zadovoljavajući
- Koristite model za predviđanje
Jednom kada algoritam postane dobar u izvlačenju pravih zaključaka, primjenjuje to znanje na nove skupove podataka.
Strojno učenje Algorithms i gdje se koriste?
Donja tablica grupira najčešće algoritme prema vrsti zadatka koji rješavaju.
Strojno učenje može se grupirati u dva široka zadatka učenja: pod nadzorom i bez nadzoraDvije daljnje obitelji nalaze se između i iza njih - polunadzirano učenje, koje miješa mali označeni skup s velikim neoznačenim, i učenje učvršćivanja, gdje agent uči iz nagrada, a ne iz označenih odgovora.
Nadzirano učenje
Algoritam koristi podatke za obuku i povratne informacije od ljudi kako bi naučio odnos između zadanih ulaza i zadanog izlaza. Na primjer, praktičar može koristiti marketinške troškove i vremensku prognozu kao ulazne podatke za predviđanje prodaje limenki.
Možete koristiti nadzirano učenje kada su izlazni podaci poznati. Algoritam će tada predviđati na temelju novih podataka.
Postoje dvije kategorije nadziranog učenja:
- Klasifikacijski zadatak
- Regresijski zadatak
Klasifikacija
Zamislite da želite predvidjeti spol kupca za reklamu. Započet ćete prikupljanjem podataka o visini, težini, poslu, plaći, košarici i tako dalje iz svoje baze podataka kupaca. Znate spol svakog od svojih kupaca i to može biti samo muškarac ili žena. Cilj klasifikatora je dodijeliti vjerojatnost da je kupac muškarac ili žena (tj. oznaku) na temelju prikupljenih informacija (tj. značajki). Kada model nauči prepoznavati muško ili žensko, možete koristiti nove podatke za predviđanje. Na primjer, upravo ste primili nove informacije od nepoznatog kupca i želite znati je li kupac muškarac ili žena. Ako klasifikator predviđa muško = 70%, to znači da je algoritam 70% siguran da je taj kupac muškarac i 30% siguran da je kupac žena.
Oznaka može imati dvije ili više klasa. Gornji primjer strojnog učenja ima samo dvije klase, ali ako klasifikator treba predvidjeti objekte, može imati desetke klasa (npr. čaša, stol, cipele - svaki objekt predstavlja klasu).
Regresija
Kada je izlaz kontinuirana vrijednost, zadatak je regresija. Na primjer, financijski analitičar možda treba predvidjeti vrijednost dionice na temelju niza značajki kao što su kapital, prethodni rezultati dionica i makroekonomski indeksi. Sustav će biti obučen za procjenu cijene dionice s najmanjom mogućom pogreškom.
U donjoj tablici navedeni su nadzirani algoritmi s kojima ćete se najčešće susresti i zadatak za koji je svaki od njih prikladan.
| Algoritam | Description | Tip |
|---|---|---|
| Linearna regresija | Pronalazi način povezivanja svake značajke s izlazom kako bi se pomoglo u predviđanju budućih vrijednosti. | Regresija |
| Logistička regresija | Proširenje linearne regresije koje se koristi za zadatke klasifikacije. Izlazna varijabla je binarna (npr. samo crna ili bijela), a ne kontinuirana (npr. beskonačan popis potencijalnih boja) | Klasifikacija |
| Stablo odlučivanja | Visoko interpretabilna klasifikacija ili regresijski model koji dijeli vrijednosti značajki podataka u grane na čvorovima odlučivanja (npr. ako je značajka boja, svaka moguća boja postaje nova grana) dok se ne donese konačna odluka | Regresija Klasifikacija |
| Naivni Bayes | Bayesova metoda je metoda klasifikacije koja koristi Bayesov teorem. Teorem ažurira prethodno znanje o događaju s neovisnom vjerojatnošću svake značajke koja može utjecati na događaj. | Regresija Klasifikacija |
| Podrška vektorski stroj | Za zadatak klasifikacije obično se koristi Support Vector Machine ili SVM. SVM algoritam pronalazi hiperravninu koja optimalno dijeli klase. Najbolje ga je koristiti s nelinearnim rješavačem. | Regresija (nije baš česta) Klasifikacija |
| Slučajna šuma | Algoritam je izgrađen na stablu odlučivanja kako bi se drastično poboljšala točnost. Slučajna šuma generira mnoga jednostavna stabla odlučivanja i koristi metodu 'većinskog glasova' kako bi odlučila koju oznaku vratiti. Za zadatak klasifikacije, konačno predviđanje bit će ono s najviše glasova; za zadatak regresije, prosječno predviđanje svih stabala je konačno predviđanje. | Regresija Klasifikacija |
| AdaBoost | Tehnika klasifikacije ili regresije koja koristi mnoštvo modela za donošenje odluke, ali ih odvaguje na temelju njihove točnosti u predviđanju ishoda | Regresija Klasifikacija |
| Stabla koja povećavaju gradijent | Stabla s pojačavanjem gradijenta su najsuvremenija tehnika klasifikacije/regresije. Fokusira se na pogrešku koju su počinila prethodna stabla i pokušava je ispraviti. | Regresija Klasifikacija |
Učenje bez nadzora
U nenadziranom učenju, algoritam istražuje ulazne podatke bez da mu je zadana eksplicitna izlazna varijabla (npr. istražuje demografske podatke kupaca kako bi identificirao uzorke).
Možete ga koristiti kada ne znate kako klasificirati podatke i želite da algoritam pronađe uzorke i grupira podatke umjesto vas. Glavni nenadzirani algoritmi sažeti su u nastavku.
| Naziv algoritma | Description | Tip |
|---|---|---|
| K-znači grupiranje | Stavlja podatke u neke grupe (k) od kojih svaka sadrži podatke sličnih karakteristika (kao što je određeno modelom, a ne unaprijed od strane ljudi) | Clustering. |
| Gaussov model mješavine | Generalizacija k-znači klasteriranja koja pruža veću fleksibilnost u veličini i obliku grupa (klastera) | Clustering. |
| Hijerarhijsko grupiranje | Dijeli klastere duž hijerarhijskog stabla kako bi se formirao klasifikacijski sustav. Može se koristiti za grupiranje kupaca kartica vjernosti. | Clustering. |
| Sustav preporuka | Pomaže u definiranju relevantnih podataka za davanje preporuke. | Clustering. |
| PCA/t-SNE | Uglavnom se koristi za smanjenje dimenzionalnosti podataka. Algoritmi smanjuju broj značajki na 3 ili 4 vektora s najvećim odstupanjima. | Smanjenje dimenzija |
Kako odabrati algoritam strojnog učenja
Postoji mnogo algoritama strojnog učenja, a izbor algoritma ovisi o cilju, a ne o modi.
U primjeru strojnog učenja u nastavku, zadatak je predvidjeti vrstu cvijeta među tri sorte. Predviđanja se temelje na duljini i širini latice. Slika prikazuje rezultate deset različitih algoritama. Slika gore lijevo je sam skup podataka, s podacima klasificiranim u tri kategorije: crvena, svijetloplava i tamnoplava. Neke grupepings su vidljivi. Na primjer, na drugoj slici sve u gornjem lijevom kutu pripada crvenoj kategoriji, srednji dio sadrži mješavinu nesigurnosti i svijetloplave boje, dok donji dio odgovara tamnoj kategoriji. Ostale slike prikazuju kako različiti algoritmi pokušavaju klasificirati iste podatke.
Nakon što je kandidat odabran, njegova kvaliteta se ocjenjuje na temelju podataka koje nikada nije vidio, obično s matrica zabune i iz toga izvedene brojke točnosti, preciznosti i prisjećanja.
Izazovi i ograničenja strojnog učenja
Primarni izazov strojnog učenja je nedostatak podataka ili nedostatak raznolikosti unutar skupa podataka. Stroj ne može učiti ako nema dostupnih podataka. Skup podataka kojem nedostaje raznolikosti također otežava stroju, jer stroju treba heterogenost da bi naučio smislen uvid. Rijetko je da algoritam može...tracinformacije kada nema ili ima malo varijacija. Uobičajeno pravilo je imati najmanje 20 opažanja po skupini kako bi se stroju pomoglo u učenju; ispod toga, i evaluacija i predviđanje pate.
Količina podataka nije jedino ograničenje. Modeli obučeni na pristranim povijesnim zapisima reproduciraju tu pristranost, složene modele je teško objasniti regulatoru ili kupcu, a svaki model degradira kako se mijenja svijet na kojem je obučen.
Primjena strojnog učenja
Gore navedene tehnike već se koriste u većini industrija. Primjeri u nastavku odnose se na opću pomoć i odnose se na specifične sektore.
Povećanje: Strojno učenje pomaže ljudima u njihovim svakodnevnim zadacima, osobnim ili komercijalnim, bez potpune kontrole nad rezultatima. Takvo strojno učenje koristi se na različite načine, kao što su virtualni asistenti, analiza podataka i softverska rješenja. Primarna svrha je smanjenje pogrešaka uzrokovanih ljudskom pristranošću.
Automatizacija: Strojno učenje radi potpuno autonomno u bilo kojem području bez potrebe za ljudskom intervencijom. Na primjer, roboti obavljaju bitne procesne korake u proizvodnim pogonima.
Financijska industrija: Strojno učenje sve je popularnije u financijskoj industriji. Banke uglavnom koriste strojno učenje za pronalaženje obrazaca unutar podataka, ali i za sprječavanje prijevara.
Vladine organizacije: Vlade koriste strojno učenje za upravljanje javnom sigurnošću i komunalnim uslugama. Uzmimo za primjer Kinu i njen veliki program prepoznavanja lica, gdje aplikacije umjetne inteligencije koriste se za identifikaciju osoba koje prelaze ulicu bez prelaza.
Zdravstvena industrija: Zdravstvo je bilo jedna od prvih industrija koja je koristila strojno učenje, počevši s detekcijom slika.
Marketing: Široka upotreba umjetne inteligencije u marketingu ostvaruje se zahvaljujući obilnom pristupu podacima. Prije doba masovnih podataka, istraživači su razvili napredne matematičke alate poput Bayesove analize za procjenu vrijednosti kupca. S procvatom podataka, marketinški odjeli oslanjaju se na umjetnu inteligenciju za optimizaciju odnosa s kupcima i marketinških kampanja.
Primjer strojnog učenja u lancu opskrbe
Strojno učenje daje snažne rezultate za vizualno prepoznavanje uzoraka, otvarajući mnoge potencijalne primjene u fizičkom pregledu i održavanju u cijeloj mreži opskrbnog lanca.
Nenadzirano učenje može brzo pretraživati usporedive obrasce u raznolikom skupu podataka. Zauzvrat, stroj može provoditi inspekciju kvalitete u cijelom logističkom središtu i označavati pošiljke s oštećenjima i istrošenošću.
Na primjer, IBMWatsonova platforma može odrediti brodping oštećenje kontejnera. Watson kombinira vizualne i sistemske podatke kako bi track, izvještavati i davati preporuke u stvarnom vremenu.
U prošlosti su se upravitelji zaliha uvelike oslanjali na ručne metode za procjenu i predviđanje zaliha. Kada se kombiniraju veliki podaci i strojno učenje, moguće su bolje tehnike predviđanja, s prijavljenim poboljšanjima od 20 do 30 posto u odnosu na tradicionalne alate za predviđanje. Što se tiče prodaje, to se prevodi u povećanje od 2 do 3 posto zahvaljujući potencijalnom smanjenju troškova zaliha.
Primjer strojnog učenja u Google Automobil
Svi znaju Google automobil. Automobil je prekriven laserima na krovu koji mu govore gdje se nalazi u odnosu na okolno područje. Sprijeda ima radar koji automobil obavještava o brzini i kretanju svih automobila oko njega. Koristi sve te podatke ne samo kako bi shvatio kako voziti automobil, već i kako bi predvidio što će vozači oko njega učiniti. Impresivno je to što automobil obrađuje gotovo gigabajt podataka u sekundi.
Zašto je strojno učenje važno?
Strojno učenje je do sada najbolji alat za analizu, razumijevanje i identificiranje uzoraka u podacima. Jedna od glavnih ideja iza strojnog učenja jest da se računalo može naučiti automatizirati zadatke koji bi za ljudsko biće bili iscrpljujući ili nemogući. Jasna razlika od tradicionalne analize je u tome što strojno učenje može donositi odluke uz minimalnu ljudsku intervenciju.
Uzmimo sljedeći primjer: agent za maloprodaju može procijeniti cijenu kuće na temelju osobnog iskustva i poznavanja tržišta.
Stroj se može obučiti da znanje tog stručnjaka prevede u značajke. Značajke su sve karakteristike kuće, susjedstva, ekonomskog okruženja i tako dalje koje utječu na razliku u cijeni. Stručnjaku je vjerojatno trebalo godinama da svlada umijeće procjene cijene kuće, a stručnost se poboljšava nakon svake prodaje.
Stroju su potrebni milijuni podatkovnih točaka (tj. primjera) da bi savladao ovu umjetnost. Na samom početku učenja, stroj griješi, slično kao mlađi prodavač. Nakon što stroj vidi dovoljno primjera, ima dovoljno znanja da napravi procjenu, i to s visokom točnošću. Stroj je također u stanju ispraviti svoje pogreške kako pristižu novi kupci.
Većina velikih tvrtki shvatila je vrijednost strojnog učenja i čuvanja podataka. McKinsey Global Institute procijenio je godišnju vrijednost svih analitičkih tehnika na 9.5 bilijuna do 15.4 bilijuna dolara, a otprilike 40 posto toga - oko 3.5 bilijuna do 5.8 bilijuna dolara godišnje - pripisao je naprednim tehnikama umjetne inteligencije temeljenim na dubokim neuronskim mrežama, kako je navedeno u njegovom Bilješke s granice umjetne inteligencije istraživanje.
Tamo gdje su pravila poznata, ali neprecizna, a ne odsutna, pristup temeljen na pravilima, kao što je nejasna logika može biti bolje prikladan od naučenog modela, pa se dvije tehnike često uspoređuju prije početka projekta.




