Klasifikacija predstavlja drugi osnovni tip nadgledanog učenja, gde je ciljna promenljiva (y) kategorijska. To znači da model predviđa kojoj od unapred definisanih kategorija dati primer pripada.
Najčešći slučaj u klasifikaciji je binarna klasifikacija, gde imamo dve klase: pozitivnu i negativnu, redom kodirane sa 1 i 0. Fokusiraćemo se na ovaj tip klasifikacije, jer je jednostavniji i prelazak na višeklasnu klasifikaciju u većini situaciji predstavlja prirodnu generalizaciju modela.
Velika većina klasifikacionih modela zapravo ne predviđa direktno kojoj klasi primer pripada, već predviđa verovatnoću pripadanja određenoj klasi.
Za binarnu klasifikaciju, predviđena verovatnoća za pozitivnu klasu se označava sa:
\[ \pi(x) = P(Y = 1 | X = x) \]
Najčešći način optimizacije klasifikacionih modela je preko Maksimalne Verodostojnosti (MMV), koja ima za cilj da pronađe parametre modela koji maksimizuju verovatnoću posmatranih podataka. Da bismo to postigli, prvo definišemo funkciju verodostojnosti.
Pretpostavimo da imamo skup podataka \((X_1, y_1), (X_2, y_2), \dots, (X_n, y_n)\), gde su \(X_i\) ulazi (prediktori), a \(y_i\) ciljne vrednosti koje pripadaju jednoj od dve klase (\(y_i \in \{0, 1\}\)).
Verovatnoća za primer \(i\) da pripada pozitivnoj klasi (\(y_i = 1\)) je:
\[ P(Y = 1 | X_i) = \pi(X_i) \]
i za negativnu klasu (\(y_i = 0\)):
\[ P(Y = 0 | X_i) = 1 - \pi(X_i) \]
Funkcija verodostojnosti za sve podatke može se napisati kao:
\[ L(\beta) = \prod_{i=1}^{n} P(y_i | X_i) \]
Zamenjujemo \(P(y_i | X_i)\) sa verovatnoćom koja odgovara konkretnoj vrednosti \(y_i\):
\[ L(\beta) = \prod_{i=1}^{n} \pi(X_i)^{y_i} (1 - \pi(X_i))^{1 - y_i} \]
Logaritam verodostojnosti je tada:
\[ \ell(\beta) = \log L(\beta) = \sum_{i=1}^{n} \left( y_i \log \pi(X_i) + (1 - y_i) \log (1 - \pi(X_i)) \right) \]
Ovo je osnovna funkcija verodostojnosti za binarnu klasifikaciju, koje se dalje, u zavisnosti od modela, minimizuje po parametrima modela. Ovaj proces (treniranje modela) daje optimalne parametre.
Ako želimo proces optimizacije da definišemo preko funkcije gubitka (loss function), koja se češće javlja u dokumentaciji, koristimo:
\[ \text{Cross-entropy loss} = - \frac{1}{n}\ell(\beta) = - \frac{1}{n}\sum_{i=1}^{n} \left( y_i \log \pi(X_i) + (1 - y_i) \log (1 - \pi(X_i)) \right) \]
Ovo je categorical cross-entropy funkcija gubitka koja se koristi kod binarne klasifikacije. Ova funkcija meri razliku između stvarnih vrednosti (\(y_i\)) i predviđenih verovatnoća (\(\pi(X_i)\)).
Logistička regresija je jedan od najjednostavnijih i najčešće korišćenih klasifikacionih modela. Njen naziv može biti zbunjujuć jer se ne radi o regresionom modelu. Logistička regresija je dobila ime po tome što primenjuje logističku funkciju na izlaz linearnog modela, kako bi preslikala realnu liniju (-∞,+∞) u prostor verovatnoća (0,1).
Logistička funkcija je definisana kao:
\[ \sigma(z) = \frac{1}{1 + e^{-z}} \]
Za logističku regresiju, imamo sledeći izraz za verovatnoću pripadanja pozitivnoj klasi:
\[ P(Y = 1 | X) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 x_1 + \dots + \beta_p x_p)}} \]
Na grafiku tačke predstavljaju primere iz baze podataka, a kriva na grafiku predstavlja verovatnoću koju model logističke regresije predviđa, optimizovanu nad istim podacima.
Prvo prikazujemo podatke:
Prikazujemo predviđenu verovatnoću logističkog modela - Crvena boja označava malu verovatnoću, bela verovatnoću blisku 0.5, a plava visoku verovatnoću:
Optimizacija logističke regresije se vrši preko maksimalne verodostojnosti, odnosno kroz minimizaciju cross-entropy funkcije gubitka. Ova funkcija gubitka ima jedinstveni minimum, što znači da postoji jedno rešenje koje najbolje opisuje podatke.
Iako nema analitičkog rešenja za optimizaciju logističke regresije, parametri modela se procenjuju korišćenjem numeričkih metoda, kao što su gradijentni spust. Ovaj pristup se koristi i za složenije modele, kao što su neuronske mreže, gde se koristi ista funkcija gubitka, ali sa mnogo više parametara.