Uvod u mašinsko učenje, linearna regresija
Uvod u mašinsko učenje
Mašinsko učenje (eng. Machine Learning - ML) predstavlja oblast veštačke inteligencije koja se bavi sposobnošću računara da uče iz podataka, odnosno da automatski uvide obrasce u njima.
Inteligencija - logika i učenje iz iskustva
Postoje dva ključna aspekta inteligencije:
Logika (sposobnost dedukcije) – Ovo je sposobnost izvođenja zaključaka na osnovu postojećih informacija. Matematika i matematička logika precizno i formalno definišu ovu oblast. Mašinsko učenje nije usmereno ka logičkom rezonovanju, već ka sledećem aspektu:
Učenje iz iskustva (sposobnost indukcije) – Fokus je na otkrivanje obrazaca na osnovu podataka, što je srž mašinskog učenja. Podaci se smatraju oblikom iskustva koje veštačka inteligencija koristi za formiranje zaključaka.
Zašto mašinsko učenje?
Jedan od glavnih razloga za primenu mašinskog učenja je obrada velike količine podataka koju čovek ne može efikasno obraditi u realnom vremenu. Takođe, postoje problemi koji su intuitivno jasni ljudima (npr. prepoznavanje objekata na slikama), ali ih je gotovo nemoguće opisati matematički ili algoritamski. Na primer, klasifikacija slika prema tome da li se na njima nalazi autobus (koje se redovno daju korisnicima kad Gugl hoće da proveri da korisnik nije robot) je jako jednostavan zadatak za čoveka, ali precizno formalizovanje tog procesa kroz pravila je veoma kompleksno.
Zašto mašinsko učenje na statističkom softveru?
Postoji bliska veza između mašinskog učenja i statistike, jer obe discipline imaju za cilj da izvuku zaključke iz podataka. U statistici koristimo podatke da bismo izvukli zaključke o populaciji, dok u mašinskom učenju koristimo podatke kako bismo napravili predviđanja ili otkrili obrasce.
Mnogi modeli mašinskog učenja su zapravo statistički modeli koji se
optimizuju standardnim statističkim metodama, kao što je metoda
maksimalne verodostojnosti (MMV).
Mnogi jednostavni modeli (linearna regresija, logistička regresija,
mešavina normalnih raspodela, klasifikator naivnog bajesa …) su čisti
statistički modeli. Postoji i veliki broj kompleksinijih statističkih
modela, koji se koriste u razne svrhe (skriveni Markovljevi modeli,
latentna alokacija Dirihlea, …).
Čak i najsloženiji modeli, poput dubokih neuronskih mreža, nastaju tako
što se nadograđuju na jednostavnije statističke modele i koriste osnovne
statističke i verovatnosne principe pri optimizaciji.
Mi ćemo se na kursu fokusirati na jednostavnijim modelima, sa fokusom na razumevanju modela i savladavanju svih koraka u opštem procesu pravljenja modela mašinskog učenja.
Podela modela mašinskog učenja
Postoji nekoliko osnovnih pristupa u mašinskom učenju:
- Nadgledano učenje – Cilj je modelovanje veze između ciljne promenljive \(Y\) i prediktora \(X\). Ovaj pristup obuhvata regresiju i klasifikaciju, i predstavlja većinsku primenu mašinskog učenja. Mi ćemo se najviše baviti ovim tipom učenja.
Regresija - ciljna promenljiva je numeričkog tipa, najčešće
neprekidna.
Klasifikacija - ciljna promenljiva je kategoričkog tipa.
Primer nadgledanog učenja: Vršimo klasifikaciju rukom pisanih cifara. Prediktore predstavljaju svi pikseli na slici, dok je ciljna promenljiva kategorička sa 10 kategorija.
- Nenadgledano učenje – Ovde imamo samo podatke (X) bez ciljne promenljive. Cilj je otkriti strukturu ili pravilnosti u podacima. Najčešći oblici su klasterizacija (automatsko grupisanje podataka) i redukcija dimenzionalnosti (preslikavanje podataka u prostor manje dimenzije sa minimalnim gubitkom informacije).
Primer: Vršimo klasterizaciju slika bez eksplicitnih podataka o tome šta koja grupa treba da bude. Gugl slike (eng. Google Photos) automatski implementira ovo za organizaciju slika u albume. Ovde su podaci pikseli sa slike i cilj je da se izdvoji više grupa slika sa različitim pravilnostima u pikselima.
- Učenje potkrepljivanjem – Ovaj pristup se koristi kada model „uči“ kroz interakciju sa okruženjem, pokušavajući da maksimizuje neki rezultat, kao što je igranje igre (npr. tetris) ili automatska vožnja automobila. Ovaj oblik učenja je kompleksniji od prethodna dva, i ima manje primena, te se nećemo baviti njim.
Teorijske postavke nadgledanog učenja
Cilj je da za poznate vrednosti prediktora \(X\) odredimo kako se ponaša ciljna promenljiva \(Y\). Matematički, to se svodi na određivanje uslovne raspodele \(Y|X\). U jednostavnijem slučaju, umesto određivanja cele raspodele, želimo da nađemo funkciju \(f\) koja najbolje opisuje vezu izmedju ciljne promenljive i prediktora, odnosno najbolje predviđa \(Y\) ako je \(X\) poznato, tj. želimo \(f(X) \approx Y\).
Uvodimo funkciju gubitka \(L(f(x),y)\), koja nam opisuje koliko je funkcija \(f\) promašila pri predviđanju. Želimo da gubitak bude što manji, ali uglavnom ne možemo da osiguramo da se istovremeno minimizuje gubitak na celom prostoru ishoda, pa zapravo hoćemo da minimizujemo prosečni gubitak - rizik \(R(f) = E[L(f(X),Y)]\). Problem nadgledanog učenja se tada svodi na nalaženje funkcije koja minimizuje rizik.
U praksi naravno ne znamo tačne raspodele ovih promenljivih, već imamo uzorak - skup uređenih parova \(\{(x_1,y_1),...,(x_n,y_n)\}\), te nalazimo \(f\) minimizovanjem empirijskog rizika \(\frac{1}{n}\sum\limits^n_{i=1}L(f(x_i),y_i)\).
Modelom obično definišemo familiju mogućih funkcija \(f\). Za veliki broj modela, ova familija je parametrizovana \(f_{\theta}\), gde \(\theta\) = \((\theta_1,...,\theta_p)\) predstavlja skup parametara modela. Proces ocenjivanja parametara modela, tako da minimizuju empirijski rizik, nazivamo obukom ili treningom modela. Matemtički, on se može opisati ovako: \[ \hat{\theta} = \arg\min_{\theta}\sum\limits^n_{i=1}L(f(x_i),y_i)\] Često se funkcija gubitka bira tako da ova ocena bude ekvivalentna oceni metodom maksimalne verodostojnosti.
Vrednosti predviđene modelom su tada \(\hat{y_i} = f_{\hat{\theta}}(x_i)\), a razlike između stvarnih i predviđenih vrednosti nazivamo rezidualima - \(e_i = y_i - \hat{y_i}\). Naziv rezidual može da se shvati kao ostatak - ono što model nije uspeo da objasni.
Regresija
Jedna od dva tipa metoda nadgledanog učenja je regresija. U regresiji je pretpostavka da je ciljna promenljiva numeričkog tipa, odnosno realan broj. U ovom slučaju, za funkciju gubitka možemo prirodno da biramo neku meru razlike dva broja. Najčešće se koristi kvadratno odstupanje.
Za kvadratno odstupanje, empirijska funkcija rizika je zapravo srednjekvadratna greška (eng. mean squared error) \[MSE = \frac{1}{n}\sum\limits^n_{i=1}(f(x_i) - y_i)^2\].
Intuitivno možda i više smisla koristiti jednostavnu apsolutnu razliku dva broja za funkciju gubitka. Tada za empirijsku funkciju rizika dobijamo srednjeapsolutnu grešku (eng. mean absolute error)\[ MAE = \frac{1}{n}\sum\limits^n_{i=1}|f(x_i) - y_i|\].
Poređenje srednjekvadratne i srednjeapsolutne greške
Srednjekvadatna greška je najčešće korišćena, uglavnom zbog činjenica da je diferencijabilna, pa se lakše optimizuje. Takođe, poznato je iz matematičke statistike da srednja vrednost raspodele minimizuje očekivanu kvadratnu grešku. Zbog ovoga, minimizovanjem srednjekvadratne greške težimo da funkcija \(f\) predstavlja uslovno očekivanje ciljne promenljive pri poznatim prediktorima.
Sa druge strane, optimizacija po srednjapsolutnoj grešci ima prednost da je otpornija na odudarajuće vrednosti, tj. autlajere. Ovo možemo da zaključimo iz sledećeg: Očekivanu apsolutnu grešku za datu raspodelu minimizuje medijana, pa ocenjivanjem parametara minimizovanjem srednjeapsolutne greške zapravo težimo da funkcija \(f\) predstavlja uslovnu medijanu. Znamo da je medijana otporna na velike autlajere, dok srednja vrednost nije. Medijanu je ipak često jako teško, ili nemoguće, izračunati analitički, što znatno otežava ispitivanje njenih matematičkih osobina.
Linearna regresija
Jedan od najjednostavnijih i najčešće korišćenih modela u nadgledanom učenju je linearna regresija. Forma modela je:
\[ f(X) = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \dots + \beta_p x_p \]
U ovom izrazu, \(x_1, x_2, ..., x_p\) predstavljaju prediktore, dok su \(\beta_0, \beta_1, ..., \beta_p\) parametri modela koje treba oceniti. Važno je napomenuti da regresija ostaje linearna čak i kada između prediktora postoji veza, na primer ako je jedan prediktor kvadrat drugog (\(x_2 = x_1^2\)). Ovo je zato što je model linearan u odnosu na parametre (\(\beta_0, \beta_1,\dots,\beta_p\)), a ne nužno u odnosu na prediktore.
Kao i kod drugih regresionih modela, parametri modela linearne regresije se podrazumevano optimizuje minimizovanjem srednjekvadratne greške.
Prosta linearna regresija
Kada imamo samo jedan prediktor, model se naziva prostom linearnom regresijom. U ovom slučaju, regresiona funkcija je oblika:
\[ f(X) = \beta_0 + \beta_1 x_1 \]
Prosta linearna regresija se u praksi mnogo manje koristi. Njena glavna prednostu u odnosu na višestruku jeste lako grafičko predstavljanje modela.