Regresione metode Regresionе metode se u praksi veoma uspešno koriste za rešavanje problema procene i klasifikacije. Linearna regresija služi za rešavanje zadatka procene, tj. predviđanja kontinualnih zavisnih promenljivih. Logistička regresija služi za rešavanje zadatka klasifikacije, tj. predviđanja kategoričkih ili binarnih zavisnih promenljivih. Linearna regresija Linearna regresija je algoritam koji rešava zadatak procene tj. uspostavlja vezu između: jedne ili više ulaznih varijabli (prediktora) koje mogu biti kontinualnog ili kategoričkog tipa i izlazne varijable koja je kontinualnog tipa. Jedan od primera ovakvog zadatka je određivanje cene stana na osnovu njegove kvadrature. Na Slici 1 dat je primer podataka, koji mogu da posluže za rešavanje ovakvog zadatka. Slučajevi ovog problema predstavljaju stanovi koji se nalaze u okviru jednog naselja (na sličnoj su lokaciji) i imaju sličan nivo opremljenosti. Ovi stanovi se razlikuju po kvadraturi (x-osa) i prodajnoj ceni (y-osa). Potrebno je kreirati model koji će određivati (predviđati) cene na osnovu kvadrature stanova. Slika 1. Zavisnost cene od kvadrature stanova
Linearna regresija pretpostavlja linearnu zavisnost između ulaznih i izlazne promenljive. To znači da linearna regresija zapravo pokušava da pronađe liniju koja opisuje (pretpostavlja) vezu između ulaznih i izlaznog podatka (ravan u slučaju dve promenljive i hiper-ravan u slučaju više promenljivih). Dakle, pretpostavljeni model ili hipoteza, linearne regresije za slučaj jedne promenljive je: Jasno je da ova hipoteza predstavlja jednačinu prave (pretpostavlja se da su ulazne i izlazne promenljive linearno zavisne). Dakle osnovni problem linearne regresije je pronaći takve paramere i (pravu) koja najbolje opisuje vezu između ulaznih promenljivih i izlazne promenljive. Na Slici 2 je predstavljeno nekoliko mogućih hipoteza. Slika 2. Hipoteze linearne regresije Intuitivno je jasno da središnja hipoteza najbolje opisuje vezu između ulaza (x-osa) i izlaza (y-osa) podataka sa slike. Međutim za analitičko pronalaženje najbolje hipoteze (linije) neophodno je definisati funkciju cilja, tj. meru kvaliteta hipoteze (linije). U slučaju linerne regresije kvalitet hipoteze se meri kao prosečna vrednost odstojanja svih slučajeva od hipoteze. Slika 3. Ostojanja slučajeva od hipoteze
Na Slici 3 su prikazane dve hipoteze, gde je odstojanje od nekih slučajeva predstavljeno strelicama. Jasno da vidi da hipoteza koja se nalazi na desnoj strani ima manje ukupno ostojanje slučajeva od hipoteze. Takođe se može primetiti da rastojanja mogu da budu pozitivna ili negativna (nalaze se sa gornje ili donje strane hipoteze). Da se pozitivna i negativna odstojanja ne bi anulirala pri računanju aritmetičke sredine, konačna funkcija cilja se računa kao kvadratno odstojanje: ( ) Gde predstavlja broj slučajeva u skupu podataka, prave izlazne vrednosti, a predviđene vrednosti slučajeva. Dakle, funkcija cilja (eng. cost ) se može izraziti kao: ( ) Kada su hipoteza i funkcija cilja definisane, problem pronalaženja najbolje hipoteze može da se postavi kao optimizacioni problem. Poznato je da kvadratne funkcije imaju osobinu konveksnosti i glatkosti, što znači da one imaju globalni minimum i da u svakoj tački imaju izvod. Primeri konveksne i nekonveksne funkcije su dati na slici ispod. Slika 4. Primer nekonveksne i konveksne funkcije
Zbog navedenih osobina (glatkosti i konveksnosti) funkcije cilja, moguće je koristiti metodu najbržeg (gradijentnog) spusta, kako bismo pronašli optimalnu hipotezu. Poznato je da se ekstremna vrednost kvadratne funkcije nalazi u tački gde je njen prvi izvod jednak nuli. Takođe je poznato da prvi izvod funkcije određuje pravac najbržeg rasta (ili opadanja ukoliko se pomnoži sa -1). Na osnovu ove činjenice definisana je metoda najbržeg spusta. Ova metoda iterativno pomera parametre i u pravcu prvog izvoda funkcije. Ova metoda garantuje konvergenciju, ukoliko je pomeraj parametara i dovoljno mali, odnosno, pomeraj se množi sa proizvoljno malom vrednošću. Prvi izvod funkcije cilja po parametrima i se može izraziti sledećim formulama: 1. 2. ( ) ( ) Metoda najbržeg spusta se može opisati sledećim algoritmom: 1. Inicijalizovati vrednosti parametara i 2. Izračunati funkciju cilja ( ) 3. Ponavljati korake 4., 5. i 6. do optimalnosti 4. ( ) 5. ( ) 6. Izračunati funkciju cilja ( ) 7. Ukoliko je optimalna, zaustvlja se izvršavanje, ukoliko nije, vratiti se na korak 3. Kao što je već rečeno linearna regresija rešava problem procene (predviđanja kontinualnog izlaza), međutim ideja linearne regresije se uz male izmene može veoma uspešno koristiti i za rešavanje problema klasifikacije. Algoritam koji implementira ovu intuiciju, naziva se Logistička regresija i biće opisan u daljem tekstu. Logistička regresija: Kao što je već rečeno, logistička regresija služi za rešavanje problema klasifikacije. Problem klasifikacije se definiše kao problem uspostavljanja veze između jedne ili
više ulaznih varijabli (prediktora) koje mogu biti kontinualnog ili kategoričkog tipa i izlazne varijable koja mora biti kategoričkog ili binarnog tipa. U ovom tekstu ćemo razmatrati samo probleme sa binarnim izlazom koji se jako često sreću u praksi. Ukoliko se binarna izlazna promenljiva predstavi sa numeričkim vredmostima: 1 i 0, moguće je iskoristiti ideju linearne regresije za rešavanje problema klasifikacije. Primer rešavanja problema binarne klasifikacije uz pomoć ideje linearne regresije ilustrovan je na Slici 5. Na Slici 5 su opisani klijenti koji su uzeli kredit od banke. Na X-osi se nalaze iznosi njihovih plata, a na Y-osi indikator vraćanja kredita. Dakle, svi slučajevi mogu uzeti samo vrednosti 0 (klijent neće vratiti kredit) ili 1 (klijent će vratiti kredit). Slika 5. Primer problema klasifikacije Korišćenjem algoritma linearne regresije, moguće je pronaći optimalnu hipotezu koja minimizuje prosečno kvadratno odstajanje. Međutim, pošto sada ne određujemo kontinualnu vrednost izlaza, već pripadnost klasi (0 ili 1), neophodno je odrediti granicu odluke (za koje vrednosti hipoteze se odlučujemo da dodelimo klasu 1). Na Slici 5, ta granica je 0.5 (horizontalna linija) Dakle, za vrednosti hipoteze koje se nalaze sa leve strane tačke preseka hipoteze (isprekidane linije) i granice odluke (horizontalne linije)biće doneta jedna odluka, a za ostale druga. Ova podela je ilustrovana vertikalnom linijom (deli skup na klijente koji imaju platu manju ili jednaku 30000 RSD i klijente koji imaju platu veću od 30000RSD). Dodela klase (predikcija) se vrši na sledeći način: slučajevima koji imaju predviđenu vrednost veću ili jednaku 0.5, dodeljuje se klasa 1, dok se ostalim slučajevima dodeljuje klasa 0. Odnosno, za sve slučajeve koji imaju primanja iznad određene granice (u ovom slučaju 30000 RSD), očekuje se da će vratiti kredit. Na Slici 5 ovakva
granica odluke bi rezultirala savršenom klasifikacijom (svi slučajevi bi bili svrstani u odgovarajuće klase). Međutim, ovakav način klasifikacije je veoma osetljiv na promenu ulaznih podataka. Ovo je ilustrovano na Slici 6. Možemo videti da dva slučaja odstupaju od ostalih po iznosu plate (90000 i 110000 RSD). 1 0.75 0.5 0.25 Nije vratio kredit Vratio kredit 0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000 110000 Plata (RSD) Slika 6. Primer nekonveksne i konveksne funkcije U ovom slučaju optimalna hipoteza linearne regresije je nešto drugačija. Ukoliko koristimo granicu odluke 0.5, predvidećemo da će kredit vratiti samo klijenti koji imaju platu veću od 40000 RSD (što nije ispravno jer su i svi klijenti koji imaju platu između 30000 I 40000 RSD vratili kredit). Jasno je da u opštem slučaju linearna regresija ne može kvalitetno da rešava probleme klasifikacije. Jedan od razloga leži u tome što funkcija cilja ne odgovara problemu klasifikacije. Ona smanjuje ukupno odstojanje slučajeva od hipoteze, a potrebno je razvrstati slučajeve u grupe bez preklapanja. Takođe hipoteza nije odgovarajuća, jer za problem klasifikacije nam je potrebno da znamo stepen pripadnosti određenoj klasi, kako bismo za sve probleme mogli da odredimo jedinstvenu granicu odluke.
Hipoteza Logističke regresije Dakle za rešavanje problema klasifikacije je potrebna hipoteza koja će na najbolji mogući način da razdvoji dve klase u zavisnosti od vrednosti ulazne promenljive. Na Slici 7, se može videti jedna takva hipoteza. U ovom slučaju, kada je granica odluke 0.5 svi slučajevi su dobro klasifikovani iako neki slučajevi značajno odstupaju na ulazu. Na postavljena hipoteza na 1 0.75 0.5 0.25 Nije vratio kredit Vratio kredit 0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000 110000 Plata (RSD) Slika 7. Linearna hipoteza koja dobro razdvaja slučajeve Ipak, čak i sa ovako optimizovanom funkcijom cilja, linearna hipoteza, nije ograničena na interval [0,1] (na Slici 7, klijenti koji imaju platu veú od 40000 imaće vrednost hipoteze veću od 1) i nije pogodna za interpretaciju. To zapravo znači da u slučaju binarne klasifikacije, mi želimo da odredimo stepen pripadnosti (verovatnoću ili šansu) klasi 1 ili klasi 0. Baš ove osobine daje logistička kriva.
Slika 8. Logistička funkcija Logistička hipoteza zapravo preslikava linearnu hipotezu na S krivu koja je ograničena na interval [0,1]. Dakle, kod logističke regresije, ostaje linearna hipoteza (pronaći liniju koja najbolje razdvaja pozitivne od negativnih slučajeva), ali je ta hipoteza integrisana u tzv. Logit funkciju, koja se može interpretirati kao Logaritam šanse da novi slučaj pripada pozitivnoj klasi. Primer logističke hipoteze je prikazan na Slici 9. 1 0.75 0.5 0.25 Nije vratio kredit Vratio kredit 0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000 110000 Plata (RSD) Slika 9. Primer logističke funkcije
Dakle, formula hipoteze logističke regresije je: Funkcija cilja Logističke regresije Obzirom da hipoteza logističke regresije zapravo predviđa samo verovatnoću pripadosti klasi 1 (pozitivnoj klasi), neophodno je definisati funkciju cilja na sledeći način. Za slučajeve koji pripadaju klasi 1, a predviđena verovatnoća pripadnosti klasi 1 niska, funkcija cilja se penalizuje visokim vrednostima. Obrnuto, kada je predviđena verovatnoća pripadnosti klasi 1 visoka, fukcija cilja se penalizuje niskim vrednostima. Ova situacija je opisana na Slici 9 (levo). Na X-osi se nalazi hipoteza (predviđena verovatnoća pripadnosti klasi 1), a na Y-osi cena ( Cost ) greške. Slika 9. Na Slici 9 (desno) opisana je situacija za slučajeve koji pripadaju klasi 0: sa porastom verovatnoće da slučaj pripada klasi 1, funkcija cilja plaća veći penal. Dakle, funkcija cilja ( Cost ) logističke regresije je opisana sledećom formulom. ( ) { ( ) ( )
Pošto kod binarne klasifikacije imamo dva moguća ishoda modela, funkciju cilja možemo napisati u sledećem obliku: [ ( ) ( ) ( ( )) ] Kao i u slučaju linearne regresije, i ova funkcija je konveksna i glatka, tako da se može egzaktno rešiti metodom najbržeg spusta. Dodatno, izvodi funkcija cilja logističke i linearne regresije su identični, što znači da je i postupak optimizacije identičan.
Zadaci 1) Logistička regresija sa jednom promenljivom U tabeli nalazi se cena kvadrata u stoninama evra i to da li je stan bio prodat ili ne, izračunati: a) cost funciju za inicijane vrednosti parametra θ 0 = 0; θ 1 = 0; b) na osnovu algoritma najbržeg spusta optimizovati parametre θ 0 i θ 1 ukoliko je veličina koraka α = 0,01 (uraditi jednu iteraciju) c) na osnovu dobijenih vrednosti parametara (pod b) ponovo izračunati cost funkciju Tabela slučajeva: Cena kvadrata (*100) Prodat stan 5 1 8 0 6 1 7 0 10 1 Rešenje: A) Računanje funkcije cilja (cost funkcije) Prvo računamo hipotezu logističke regresije za svaki slučaj u tabeli slučajeva. θ 0 + θ 1 x Prodat 0+0*5 = 0 0,5 1 0+0*8 = 0 0,5 0 0+0*6 = 0 0,5 1 0+0*7 = 0 0,5 0 0+0*10 = 0 0,5 1 Kada smo izračunali hipoteze za svaki slučaj, možemo izračunati ukupnu vrednost funkcije cilja (greške hipoteze), na osnovu sledeće formule: [ ( ) ( ) ( ( )) ] J(θ) = -1/5*(1*log(0,5) + (1-1)*log(1-0,5) + 0*log(0,5) + (1-0)*log(1-0,5)
+ 1*log(0,5) + (1-1)*log(1-0,5)+ 0*log(0,5) + (1-0)*log(1-0,5) + 1*log(0,5) + (1-1)*log(1-0,5) ) J(θ) = 0,693 B) Optimizacija funkcije cilja (metoda najbržeg spusta) Nakon izračunavanja inicijalne greške, pokušaćemo tu grešku da smanjimo, korišćenjem metode najbržeg spusta. Za svaki parameter, računamo izvod i pomeramo parameter u obrnutom pravcu od izvoda (da bi se kretali ka minimumu), koji je skaliran parametrom. Ovo pomeranje se radi po formuli: j = ( ( ) ) Kada uvrstimo vrednosti u formula, dobijamo: θ 0 = 0 0,001*((0,5-1)*1 + (0,5 0)*1 + (0,5 1)*1 + (0,5 0)*1 + (0,5 1)*1) θ 0 = 0.005; θ 1 = 0 0,001*((0,5-1)*5 + (0,5 0)*8 + (0,5 1)*6 + (0,5 0)*7+(0,5 1)*10) θ 1 =0.03; C) Računanje funkcije cilja na osnovu novih parametara Ovaj postupak je identičan kao i pod A), samo što koritimo nove parametre hipoteze (θ 0 = 0.005 i θ 1 =0.03) θ 0 + θ 1 x Prodat 0.005 +0.03*5 = 0.155 0.5387 1 0.005+0.03*8 = 0.245 0.5609 0 0.005+0.03*6 = 0.185 0.5461 1 0.005+0.03*7 = 0.215 0.5535 0 0.005+0.03*10 = 0.305 0.5756 1 J(θ) = -1/5*(1*log(0.5387) + (1-1)*log(1-0,5387) + 0*log(0,5609) + (1-0)*log(1-0,5609) + 1*log(0,5461) + (1-1)*log(1-0,5461) + 0*log(0,5535) + (1-0)*log(1-0,5535) + 1*log(0,5756) + (1-1)*log(1-0,5756) ) J(θ) =0.681 2) Logistička regresija sa dve promenljive
U tabeli nalazi se podaci o klijentima. Pravi se model koji predviđa da li će klijent vratiti kredit. Svako klijent opisan je starošću (u desetinama godina) i visinom primanja (pomoženo sa 10.000 dinara). Izračunati: a) cost funciju za inicijane vrednosti parametra θ 0 = 0.01; θ 1 = 0.02; θ 2 =0.05 b) na osnovu algoritma najbržeg spusta optimizovati parametre θ 0 i θ 1 ukoliko je veličina koraka α = 0,05 (uraditi jednu iteraciju) c) na osnovu dobijenih vrednosti parametara (pod b) ponovo izračunati cost funkciju Tabela slučajeva: Starost (*10) Visina primanja (*10.000) Vratio kredit 2.5 4 0 5 3 1 4 3 0 A) Računanje funkcije cilja: θ 0 + θ 1 x 1 + θ 2 x 2 Vratio kredit 0.01+0.03*2.5 + 0.05*4 = 0.285 0.01+0.03*5 + 0.05*3 =0.310 0.01+0.03*4 + 0.05*3 =0.280 = 0.571 0 = 0.577 1 = 0.570 0 [ ( ) ( ) ( ( )) ] J(θ) = -1/3*(0*log(0,571) + (1-0)*log(1-0,571) + 1*log(0,577) + (1-1)*log(1-0,577)+ 0*log(0,570) + (1-0)*log(1-0,570)) J(θ) = 0,746 B) Optimizacija funkcije cilja (metoda najbržeg spusta)
j = ( ( ) ) θ 0 = 0.01 0.05*((0.571-0)*1 + (0.577 1)*1 + (0.570 0)*1); θ 0 = -0.026; θ 1 = 0.03 0.05*((0.571-0)*2.5 + (0,577 1)*5 + (0.570 0)*4); θ 1 = - 0.049; θ 2 = 0.05 0.05*((0.571-0)*4 + (0.577 1)*3 + (0.570 0)*3); θ 2 =- 0.086; C) Računanje funkcije cilja na osnovu novih parametara θ 0 + θ 1 x 1 + θ 2 x 2 Vratio kredit -0.026-0.049*2.5 0.086*4 = -0.494-0.026-0.049*5 0.086*3 = -0.532-0.026-0.049*4 0.086*3 = -0.482 = 0.379 0 = 0.370 1 = 0.382 0 J(θ) = -1/3*(0*log(0.379) + (1-0)*log(1-0.379) + 1*log(0.370) + (1-1)*log(1-0.370)+ 0*log(0.382) + (1-0)*log(1-0.382)) J(θ) =0.650
3) Logistička regresija sa dve promenljive i pet tačaka U tabeli nalazi se podaci o klijentima. Pravi se model koji predviđa da li će klijent vratiti kredit. Svako klijent opisan je starošću (u desetinama godina) i visinom primanja (pomoženo sa 10.000 dinara). Izračunati: a) cost funciju za inicijane vrednosti parametra θ 0 = 0.01; θ 1 = 0.03; θ 2 =0.05 b) na osnovu algoritma najbržeg spusta optimizovati parametre θ 0 i θ 1 ukoliko je veličina koraka α = 0,03 (uraditi jednu iteraciju) c) na osnovu dobijenih vrednosti parametara (pod b) ponovo izračunati cost funkciju Starost (*10 god) Prihod (*10000 din) Vratio kredit? 2.5 4 Ne 5 3 Da 6.5 2.5 Da 3.5 7 Da 4 3 Ne A) Računanje funkcije cilja: [ ( ) ( ) ( ( )) ] J(θ) =0.654 B) Optimizacija funkcije cilja (metoda najbržeg spusta) ( ( ) ) θ 0 = 0.013; θ 1 = 0.104; θ 2 =0.081; C) Računanje funkcije cilja na osnovu novih parametara J(θ) =0.634