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(1−xx), 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 +e−⃗xTw⃗, (4.8)
x0
4.9. ábra. Logisztikus regresszió sémája
P(Y = 0|X⃗ =⃗x) = 1−P(Y = 1|X⃗ =⃗x) = e−⃗xTw⃗
1 +e−⃗xTw⃗. (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⃗(k−1) 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, . . . , k−1-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.