Uvod u Mašinsko učenje

Mašinsko učenje (ML, eng. Machine Learning) 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:

  1. 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:

  2. Učenje iz iskustva (Sposobnost indukcije) – Ovde se fokusiramo na otkrivanje obrazaca na osnovu podataka, što je srž mašinskog učenja. Podaci se smatraju oblikom iskustva koje mašinska 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 mačka može delovati jednostavno, 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, …) 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:

  1. Nadgledano učenje – Cilj je modelovanje odnosa između ciljne promenljive (y) i prediktora (X). Ovaj pristup obuhvata regresiju i klasifikaciju, i predstavlja većinu primena 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.

  1. 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 i redukcija dimenzionalnosti.

Primer: Vršimo klasterizaciju (odvajanje podataka u grupe) slika mačaka i pasa, bez podataka o tome koja se životinja nalazi na kojoj slici. Ovde su podaci pikseli sa slike i cilj je da se izdvoje dve grupe slika sa različitim pravilnostima u pikselima.

  1. 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.

Proces kreiranja modela Mašinskog učenja

Standardni proces u mašinskom učenju obuhvata nekoliko koraka:

  1. Pretprocesiranje i priprema podataka – Transformacije, čišćenje podataka, obrada nedostajućih vrednosti, podela podataka na trening, test i validacioni skup, unakrsna validacija, …
  2. Pravljenje modela – Treniranje i optimizacija jednog ili više modela. U statističkim terminima, treniranje modela predstavlja ocenjivanje njegovih parametara.
  3. Upoređivanje i odabir modela – U slučaju da posmatramo više modela, biramo najbolji po određenom kriterijumu.
  4. Predikcija – Korišćenje odabranog modela za predviđanje rezultata.
  5. Evaluacija modela – Procena kvaliteta modela pomoću različitih mera kvaliteta.

Regresija

Jedna od osnovnih metoda u nadgledanom učenju je regresija. Cilj regresije je predviđanje numeričkog tipa.

Evaluacija regresionog modela

Mere kvaliteta regresionih modela se koriste pri evaluaciji modela. Kako je osnovni cilj precizna predikcija, prirodno ove meru koriste razliku predviđanja i stvarnih vrednosti. Predviđanje modela nadalje označavamo sa f(X), što ćemo zvati i regresionom funkcijom. Standardne mere kvaliteta regresionog modela uključuju:

  • MSE (Srednjekvadratna greška, eng. Mean Squared Error): \(\frac{1}{n}\sum_{i=1}^n (f(X_i) - y_i)^2\). Ovo je najčešće korišćena mera i definiše se kao srednja vrednost kvadrata razlika između predikcija i stvarnih vrednosti.
  • MAE (Srednjeapsolutna greška, eng. Mean Absolute Error): \(\frac{1}{n}\sum_{i=1}^n |f(X_i) - y_i|\). Predviđanja koja su jako neprecizna se manje kazne u odnosu na MSE, jer ne dolazi do kvadriranja greške. Zbog toga je ova mera je robusnija (manje osetljiva na autlajere).

Pored MSE, u literaturi se koriste i ekvivalentne mere:

  • RMSE (eng. Root Mean Squared Error): \(\sqrt{\frac{1}{n}\sum_{i=1}^n (f(X_i) - y_i)^2}\). Koren MSE, što omogućava da zadržimo istu mernu jedinicu kao originalne podatke.
  • SSE (eng. Sum of Squared Errors): \(\sum_{i=1}^n (f(X_i) - y_i)^2\). U odnosu na MSE, koristi sumu kvadrata grešaka umesto proseka.
  • R² (Koeficijent determinacije, eng. Coefficient of Determination): \(1 - \frac{SSE}{SSTO}\). Predstavlja udeo varijacije u podacima koji model može da objasni, što ga čini lakšim za interpretaciju. Koeficijent od 1 označava savršeno predviđanje, dok koeficijent od 0 označava da model nije pronašao nikakvu vezu prediktora i ciljne promenljive. Ekvivalentan je MSE, jer je SSTO fiksan za date podatke (ne zavisi od modela).

Optimizacija regresionog modela

Standardni proces optimizacije regresionog modela, a i generalno modela nadgledanog učenja, jeste minimizacija funkcije gubitka (eng. loss function). Za funkciju gubutika se najčešće koristi MSE. Optimizacija modela preko MAE je otežana zbog činjenice da mera nije diferencijabilna i ne daje jedinstvene minimume.

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.

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 najbitnija osobina jeste lako grafičko predstavljanje modela.

Optimizacija Linearne regresije

Kao i kod drugih regresionih modela, linearna regresija se optimizuje minimizovanjem srednje kvadratne greške (MSE). Cilj je da se pronađu vrednosti parametara β koje minimizuju zbir kvadrata razlika između predviđenih i stvarnih vrednosti ciljne promenljive.