Egyszerű döntési szabályok

A gépi tanulás során a tapasztalat halmaz, amiből a gép javítja teljesítményét, adatrekordok formájában áll rendelkezésre. Ahhoz, hogy a mérnök igazán jó gépi tanuló rendszert tudjon építeni, szükségünk van ezen adathalmazok megértésére, főbb statisztikai tulajdonságainak ismeretére. A gépi tanulási fejlesztési ciklusban az alábbi helyeken van erre szükség:

  • Megérteni a problémát, és ez alapján az adatforrásokat, jellemzőket, kiértékelő függvényt definiálni.
  • Az adathalmazok statisztikáiből létrehozhatunk egyszerű döntési szabályokat, amik általában jó - igaz első, de működő - verziók.
  • Az aktuális modell kiértékelése után az adatelemzés segít a mérnöknek megérteni a rendszer gyenge pontjait, ahol javítani kell azon.
Ebben a leckében megismerkedünk néhány alap adatelemzési technikával, ami mindhárom pontban segítséget nyújt a mérnöknek, de elsősorban az egyszerű döntési szabályokon keresztül mutatjuk be ezeket.

Leíró statisztikák

Nézzünk egy újabb gyakorlati feladatot! A student performance adatbázisban diákok adatai találhatóak meg. Azt akarjuk megjósolni, hogy melyik diák fogja sikeresen elvégezni a kurzust ( azaz \(G_3 \ge 10\) ).
Vizsgáljuk meg mondjuk az életkor (age) és az apa foglalkozása (Fjob) változókat! Az age folytonos, míg az Fjob diszkrét jellemző.
Egy kép többet mond ezer szónál! A hisztogram x tengelyén a vizsgált változó értékei találhatóak, az y tengelyen pedig az értékek adatbázisbeli gyakoriságait látjuk. Numerikus változók esetén kisebb, egyenlő méretű intervallumokra (bin) bontjuk az értékkészletet, az intervallumba eső adatok gyakorisága olvasható le az y tengelyről.

Diszkrét és folytonos jellemzők hisztogramjai.
Diszkrét változók esetén a különböző értékek és azok gyakorisága már sokat elárul a jellemzőről. Folytonos változók esetében érdemes még egyszerű leíró statisztikákat megvizsgálni:
  1. Legkisebb (min) és legnagyobb értékek (max).
  2. Átlag: a megfigyelt értékeket összeadjuk, majd osztjuk az elemszámmal.
  3. Medián: a megfigyelt adatokat nagyság szerint rendezzük, és kiválasztjuk a középső elemet.
  4. Kvartilisek: hasonlóan a mediánhoz, a megfigyelt adatok nagyság szerint rendezzük. A sorozat 1/4-édénél lévő értéket alsó-, míg 3/4-édénél lévő értéket felső kvartilisnek nevezzük.
  5. Szórás: a megfigyelt értékek átlagosan mennyivel térnek el az átlaguktól.
Folytonos változók leíró statisztikáinak vizualizációjára szolgál az ún. boxplot:
A boxplot téglalapja az alsó és felső kvartiliseket jelöli, míg a középső vonal a mediánt. A szárak a minimum és maximum értékeket jelölik. Bizonyos implementációkban (most is) lehetőség van a kilogó (outlier) értékek megjelenítésére és ekkor a szárak a kilogó értékek figyelmen kívül hagyásával számított min/max lesz. A 22-es értéket outliernek tekinti az implementációnk, amit egy körrel jelöl. A 21 lesz a maximum érték.

Egyszerű statisztikai döntési szabályok

Ahogyan az a gépi tanulási ciklusnál tárgyaltuk, érdemes először egy egyszerű döntési rendszert építeni, megérteni annak hibáit, mert ez fog segíteni a komolyabb rendszer fejlesztésében. Ezek az alap (baseline) megoldások abban is támpontot nyújtanak, hogy tanult-e valami hasznosat a rendszerünk. Ha ugyanis nem sikerül jobb - vagy csak kicsivel jobb - eredményeket elérnünk egy bonyolult, erőforrásigényes gépi tanuló rendszerrel, mint az egyszerű alap döntési szabály, akkor nem tudott tanulni a rendszer. Ennek számos oka lehet, a tanító adatbázisunk nem elég nagy vagy a jellemzőkészletünk nem informatív vagy rossz modellt választottunk. Mindenesetre a baseline megoldáshoz érdemes hasonlítani a szofisztikáltabb gépi tanuló rendszerek teljesítményét.

Konstans döntések

A legegyszerűbb döntési szabály (baseline) úgy számolható a tanító adatbázisból ha az egyedek jellemzőit nem is vesszük figyelembe, csak a célváltozót figyeljük meg, és minden predikciónál konstans értéket jóslunk. Ha a célváltozónk diszkrét érték (osztályozási feladat), akkor mindig jósolhatjuk a tanító adatbázis leggyakoribb osztályát (most frequent class baseline). Ha a célváltozónk folytonos érték (regressziós feladat), akkor jósolhatjuk mindig a tanító adatbázisból leszámolt átlagot vagy mediánt.
Jelen példánál, ha a kurzus teljesítésének sikerét (osztályozási feladat {megfelelt, nem felelt meg} két osztállyal) akarjuk megjósolni, akkor ez a baseline mindig megfeleltet fog dönteni:

Osztálycímkék eloszlása. A most frequent class baseline a True osztályt fogja minden esetben javasolni.
Ha a végső teszten elért pontszámot (\(G_3\)) akarjuk megjósolni (regressziós feladat) akkor mindig a tanító adatbázison számolt átlagot, \(11.91\)-t fogja jósolni a baseline megoldás:
Célváltozó hisztogramja regressziós feladatnál. A baseline az átlagot (függőleges vonal) fogja mindig jósolni.
Megjegyezzük, hogy a gépi tanulás definíciója alapján ezek a nagyon egyszerű baseline megoldások is gépi tanulási megoldásnak tekinthetőek, ugyanis a leggyakoribb osztály ill. átlag döntési szabályt a tanító adatbázis (tapasztalatok) alapján alakították ki és feltételezhető, hogy minél nagyobb a tanító adatbázis (több a tapasztalat) annál pontosabb jóslás lesz mondjuk a több tanító adatból számolt átlag. Természetesen a kurzuson, jóval szofisztikáltabb gépi tanulási megoldásokat fogunk fejleszteni, de érdemes minden esetben a legegyszerűbb megoldásból kiindulni!

Döntés egyetlen jellemző alapján

Valamivel szofisztikáltabb - de még mindig nagyon egyszerű - döntési szabályokat írhatunk ha az egyedeket leíró jellemzőket külön-külön megvizsgáljuk olyan szempontból, hogy az adott jellemzőre épített döntési szabály mennyire jól teljesít. Egy diszkrét jellemzőre épített döntési szabály lehet HA Fjob=teacher AKKOR predikálj 14.5-öt. Egy folytonos jellemzőre épített szabály lehet például HA age>17 AKKOR predikálj megfeleltet. Ezekhez a döntési szabályokhoz a kérdéses jellemző és a célváltozó kapcsolatát kell megértenünk.

Ha osztályozási feladatunk van és diszkrét jellemzőt vizsgálunk (két diszkrét jellemző összehasonlítása) akkor a színezett eloszlás segíthet:

Két diszkrét változó vizuális összehasonlítása. A megfelelt/nem felelt meg arány körülbelül ugyanaz minden Fjob értéknél, azaz az Fjob nem tűnik hasznosnak egy jellemzős döntési szabályhoz.

Ha osztályozási feladatunk van és folytonos jellemzőt vizsgálunk, akkor a különböző osztályokba eső elemek hisztogramjainak összehasonlítása segíthet:

Egy folytonos és egy diszkrét változó vizuális összehasonlítása. A tanító adatbázisban a megfelelt/nem felelt meg két osztályba eső egyedek age jellemzőjének hisztogramjai. 18. életévtől kezdődően a nem felelt meg arány jóval magasabb, mint a teljes adatbázisban, ezért erre építhető döntési szabály.

Ha regressziós feladatunk van (a célváltozó folytonos), akkor az előző módszer használható diszkrét jellemzők hatásának vizsgálatára. Két folytonos változó összehasonlítására (például egy jellemző és a célváltozó) a scatter plot a legalkalmasabb:

Két folytonos változó vizuális összehasonlítása. Minden pont egy adatpont aminek x értéke az egyik, y értéke a másik változó értéke. Jelen feladatban az életkor és a elért végső pontszám közti kapcsolatot látjuk. A fiatalabbak valamivel magasabb pontszámokat érnek el.
Két változó kapcsolatát nem csak vizuálisan tudjuk értelmezni. Például két folytonos változó kapcsolatának erősségét a korrelációval tudjuk számszerűsíteni. A korreláció egy \(-1 ... +1\) érték, ami két folytonos változó közötti lineáris kapcsolat nagyságát és irányát mutatja. Ha értéke 0, az azt jelenti, hogy a két változó közt nincsen lineáris kapcsolat. Ha abszolút értékben 1 a korreláció az azt jelenti, hogy egyértelmű lineáris kapcsolat van közöttük (azaz kifejezhető az egyik a másik lineráis műveletekkel). Abszolút értékben a 0-tól az 1-ig haladva a lineáris kapcsolat erőssége nő. A pozitív korreláció azt jelenti, hogy megegyező irányba (ha egyik nő, a másik is nő), míg a negatív korreláció esetén ellenkező irányba mozog (ha az egyik nő a másik csökken) a két változó értéke.
A bal oldalon nincs kapcsolat a két változó között (korreláciü 0.009). A jobb oldalon erős, negatív irányú lineáris kapcsolat van (korreláció -0.987). Itt a \(y\) nagyon közel van az \(-2x+10\)-hez.
Ha egy regressziós feladatnál kiszámoljuk a korrelációt páronként a célváltozó és az egyes jellemzők közt, akkor a legpontosabb egy-jellemzős döntési szabály arra a jellemzőre építhető, aminek a korrelációjának abszolút értéke a legnagyobb, azaz a legerősebb az összefüggés a célváltozóval.

Ebben a leckében, a tanító adatbázis statisztikái alapján, kézzel fogalmaztunk meg döntési szabályokat. Természetesen lehetne bonyolultabb döntési szabályokat is megfogalmazni, ami több jellemző értékét is felhasználják. A következő leckétől kezdve "igazi" gépi tanulási algoritmusokkal fogunk megismerkedni, amelyek a tanító adatbázis alapján maguk építik fel a modellt/döntési szabályokat, a gépi tanulási mérnöknek "csak" a tanulási környezetet kell felépítenie, kiértékelni, megérteni és finomhangolni...

Ellenörző kérdések

  1. Miért érdemes baseline szabályokat implementálnunk?
  2. Mikor fordulhat elő, hogy a medián és az átlag nem egyezik meg?
  3. Hogyan érhetjük meg a leggyorsabban a célváltozó és valamely jellemző közti kapcsolatot?

További ajánlott irodalom