• Nem Talált Eredményt

Logisztikus regresszió

In document Kinek szól ez a jegyzet? (Pldal 123-128)

Osztályozás és regresszió

4.3. Lineárisan szeparálható osztályok

4.3.5. Logisztikus regresszió

Ha a lineáris regressziót osztályozásra akarjuk használni (de a magyarázó vál-tozók továbbra is valós számok), akkor az egyes osztályoknak egy-egy valós számot kell megfeleltetnünk. Bináris osztályozásnál a 0-t és az 1-t szokás hasz-nálni. Ezzel azonban nem oldottuk meg a problémát. A lineáris regresszió egy tanítópont osztályozásnál egy számot fog el®állítani és a hibát a tanítópont ett®l a számtól vett különbségével deniálja. Tehát egyes típusú tanítópont esetén ugyanakkora lesz a hiba 0 és 2 kimenetek esetén, ami nem túl jó.

Egy ⃗x oszlopvektorral leírt pont osztályának felismerésénél meg kell hatá-roznunk az ⃗xTw értéket. Amennyiben ez nagyobb, mint 0.5, akkor az 1-eshez tartozó osztály a felismerés eredménye, ellenkez® esetben pedig a 0-hoz

tar-tozó osztály. Az egyszer¶ség kedvéért jelöljük az ⃗xTw⃗ 0.5 értéket yb-nal. A jelölés további egyszer¶sítése érdekében, a korábbiakhoz hasonlóan most is ve-zessünk be egyX0 extra attribútumot, amelynek értéke az összes adatbázisbeli objektumrax0 = 1, ígyw0 =0.5 mellett az⃗xTw⃗ szorzatot jelöljük yb-nal.

Az a függvény, amely nullánál kisebb értékekre 0-át ad, nagyobbakra pedig 1-et, eléggé hasonlít az el®jel (szignum) függvényre. Ha megengedjük, hogy értelmetlen eredményt kapjunk by= 0 esetében amelyet értelmezhetünk úgy, hogy az osztályozó nem képes d®nteni , akkor az osztályozó által el®rejelzett osztályt megkaphatjuk az

1 + sgn(by)

2 (4.6)

kiszámításával.

Ha így deniáljuk a kimenetet, akkor a hiba deníciója is megváltozott és az el®z® fejezetben látott lineáris regresszió nem használható a w vektor meghatározásához. Kérdés, hogy tudunk-e árnyaltabb kimenetet adni, mint pusztán egy osztályindikátor (nulla vagy egy)?

Minél közelebb vagyunk az osztályok határához, annál bizonytalanabbak vagyunk a döntést illet®en. Tehát természetes, hogy az osztályok el®rejelzése helyett az osztály el®fordulásának esélyét7 becsüljük. Ehhez csak annyit kell tennünk, hogy a 4.6 függvényt lesimítjuk, azaz egy olyan f(y)b függvénnyel helyettesítjük, amely

1. értéke 1-hez közelít, ha by tart végtelenhez,

2. értéke 0-hoz közelít, ha by tart mínusz végtelenhez, 3. f(0) = 0.5,

4. szimmetrikus nullára nézve, tehát f(y) +b f(−by) = 1 = 2f(0), 5. dierenciálható minden pontban és

6. monoton növekv®.

Az ilyen függvényeket nevezzük szigmoid függvényeknek.

Sok függvény teljesíti a fenti elvárásokat. Könny¶ belátni, hogy az fa(y) = 1/(1 +b a−by)

függvények minden a >1 esetében megfelelnek az elvárásoknak. Amennyiben a =e, akkor az ún. logisztikus függvényt kapjuk

fe(by) =Pb(Y = 1|X) =⃗ 1

1 +e−by, (4.7)

7Szándékosan nem használjuk a valószín¶ség szót, mert nem matematikai értelemben vett valószín¶ségr®l van szó.

-0.5 0 0.5 1 1.5

-10 -5 0 5 10

x (1+sgn(x))/2

1/(1+exp(-x)) 1/(1+20**(-x)) 1/(1+1.5**(-x)) normalis eloszlas

4.8. ábra. Az eltolt el®jelfüggvény és néhány simítása

A logisztikus függvény inverzét, ln(1xx), logit függvénynek hívjuk. A logiszti-kus függvény szépsége, hogy a deriváltjaf(by)(1−f(y))b , amely a mi esetünkben P(Y = 1|X)⃗ P(Y = 0|X)⃗ -el egyezik meg.

A fenti feltételeket további függvények is teljesítik. Valószín¶ségi válto-zók eloszlásfüggvénye is nullából indul mínusz végtelenben és egyhez tart a végtelenben. A harmadik és negyedik feltétel (f(0) = 0.5,f(y) +b f(−by)) meg-kívánja, hogy a s¶r¶ségfüggvény szimmetrikus legyen, azaz az f(x) =f(−x) teljesüljön minden x valós számra. A nulla várható érték¶ normális eloszlás eloszlásfüggvénye megfelel a feltételeknek.

A (4.6) szerinti "szögletes" el®jelfüggvény "simított" változatát, a 1/(1 + a−by) típusú függvényeket különböz® a-kra és a normális eloszlás eloszlásfügg-vényét a 4.8 ábra mutatja.

Ezzel el is jutottunk a logisztikus regresszió feladatához. Szemben a lineáris regresszióval, lineáris kapcsolat nem azX⃗ és a magyarázadóY változók között van, hanem ln( P(Y=1|X)

1−P(Y=1|X)) és⃗xTw⃗ között, tehát P(Y = 1|X⃗ =⃗x) = 1

1 +exTw, (4.8)

x0

4.9. ábra. Logisztikus regresszió sémája

P(Y = 0|X⃗ =⃗x) = 1−P(Y = 1|X⃗ =⃗x) = exTw

1 +exTw. (4.9) A következ®kben azzal foglalkozunk, hogyan határozzuk meg aw⃗ azon értéket, amelyik a legkisebb hibát adja,w⃗ ilyen értékét jelöljük w⃗-gal.

Sajnos a w⃗ meghatározására nincs olyan szép zárt képlet, mint ahogy a lineáris regresszió esetében volt. Iteratív, közelít® módszert használhatunk, amely gradiensképzésen alapul. A hiba minimalizálása helyett a feltételes va-lószín¶ségeket maximalizáljuk: maximális (lásd még a 4.8. és 4.9. egyenl®ségeket).

Felhasználva, hogy azycsak nulla vagy egy értéket vehet fel, a maximálandó függvényt átírhatjuk:

Az iteratív algoritmus során kiindulunk valamilyen szabadon megválasztott

w(0) vektorból, majd a k-adik lépésben a w⃗(k1) vektorhoz hozzáadjuk a δl(δ ⃗ww) vektor λ-szorosát, így megkapjuk a w⃗(k) vektort. A λ egy el®re megadott konstans, amelynek értékét tipikusan kicsire, például 0.01-re, szokták állítani.

A δl(δ ⃗ww) vektor a δl(⃗δww)j parciális deriváltakból áll: szorozva egy nagyság jelleg¶ tényez®vel: az xij érték adja meg a becslésben a wj szerepének nagyságát.

Az l(w) konkáv ezért a gradiens módszer a globális maximumhoz fog kon-vergálni. A gyakorlat azt mutatja, hogy a konvergencia igen gyors, awj értékek néhány iteráció után már alig-alig változnak.

A lineáris regresszióról szóló korábbi fejezetben említettük, hogy a lineáris regresszióhoz tartozó w⃗ súlyvektort a Perceptron algoritmus módosított vál-tozatával is kiszámolhatjuk. Vegyük észre, hogy ha a most emített gradiens módszert alkalmazzuk az optimálisw⃗ súlyvektor megtalálására, minimális kü-lönbségt®l eltekintve ugyanarra az algoritmusra jutunk, mint lineáris regresszió esetén. Ez a minimális különbség abban áll, hogy míg a Perceptron algorit-mus módosított változata egyesével tekinti a tanítóadatbázis pontjait (illetve a magyarázott változó aktuálisw⃗ vektor melletti becslésekor elkövetett hibát), addig a fenti eljárásban a gradiens számításakor az összes tanítópontot tekint-jük (összesített hibával dolgozunk).

Logisztikus regresszió általános osztályozásnál, one-versus-all tech-nika

Az eddigiekben bináris osztályozással foglalkoztunk. Mi a teend®, ha a magya-rázandó attribútum diszkrét ésk >2 féle különböz® értéket vehet fel?

A többválaszú logisztikus regresszió (multiresponse/multinomial logistic reg-ression)kdarab osztály eseténk-szor alkalmazza a logisztikus regressziót. Veszi az els® osztályt és a többit egy kalap alá vonva végrehajt egy logisztikus reg-ressziót, mely ad egy valószín¶séget.8 Ezután a második osztályt emeli ki és az összes többi osztályt vonja egy kalap alá. Így az összes osztáyhoz meg tud ha-tározni egy valószín¶séget (bizonyosságot), mintha csak egy tagsági függvényt próbálna meghatározni.

Új objektum osztályozásánál az osztályzó arra az osztályra teszi le a voksát, amelyik a legnagyobb valószín¶séget kapta. Ha csak a felismert (el®rejelzett)

8Egy adott osztály valószín¶sége alatt ebben a fejezetben egy folytonos számot értünk, amely annál nagyobb, minél nagyobb a bizonyosságunk afel®l, hogy egy adott objektum az adott osztályba tartozik.

osztály érdekel minket és a kapott valószín¶ségre nem vagyunk kíváncsiak, ak-kor az új objektum osztályozása során nem szükséges a logisztikus függvény al-kalmazása, mivel a logisztikus függvény monoton növekv®. Ezt az eljárást one-versus-all technikának hívják az angol irodalomban [Rifkin és Klautau, 2004].

A one-versus-all eljárás nem csak logisztikus regresszió esetén alkalmazható: se-gítségével többosztályos osztályozási feladatokat oldhatunk meg bármely olyan bináris osztályozó algoritmussal, amely képes arra, hogy az egyik illetve má-sik osztályba tartozás bizonyosságát jellemz® folytonos kimenetet adjon. A 4.13.1. fejezetben további lehet®ségeket is fogunk látni arra, hogyan vezet-hetünk vissza a többosztályos osztályozási feladatokat kétosztályos (bináris) osztályozási feladatokra.

A one-versus-all technika logisztikus regresszióra történ® alkalmazásakor a kapott "valószín¶ségek" összege nem feltétlenül egy, mivel az osztályozók függetlenek. Ezen a következ®képpen segíthetünk: a fenti módszer helyett csakk−1darab w⃗ vektort állítsunk el® úgy, hogy minden = 1, . . . , k1-re

A gradiens módszernél alkalmazott vektor amely λ-szorosát hozzá kell adni az aktuálisw⃗(ℓ),1≤ℓ ≤k−1 vektorhoz a következ® komponensekb®l áll:

A logisztikus regresszió és a Bayes osztályozó kapcsolatáról a 4.7 részben szólunk.

In document Kinek szól ez a jegyzet? (Pldal 123-128)