SZDT-12 p. 1/24 Programozási módszertan A gépi tanulás alapmódszerei Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu
SZDT-12 p. 2/24 Ágensek Az új szemléletű, viselkedésalapú megközelítés szerint: a mesterséges intelligencia célja az, hogy a feladatmegoldást olyan ágensekkel végeztesse el, amelyek az intelligens viselkedés bizonyos vonásaival rendelkeznek. Egy ágens lehet bármely dolog, amely érzékelői segítségével észleli környezetét, majd megfelelő döntéseket hozva tevékenységével visszahat rá. Egy ágens realizálásához szükség van a következő képességek bizonyos mértékére: érzékelés, észlelés, tudásszerzés, döntéshozatal, következtetés, tanulás és tevékenységvégzés.
SZDT-12 p. 3/24 Erős definíció (MI) Az ágens egy olyan rendszer, amely a következő tulajdonságokkal rendelkezik: Beágyazottság: a környezetbe ágyazottak, abból kiemelve nem tudnak funkcionálni (pl. egy ágens papírra nyomtatott programja nem ágens, mint ahogy egy vízbe dobott autóhegesztő robot sem az). Reaktivitás: az ágensek érzékelik környezetüket, valamint valós időben reagálnak, az abban bekövetkezett változásokra. Autonómia: az ágensek önállóan, emberek vagy mások direkt beavatkozása nélkül működnek és meghatározott mértékű kontrolljuk van a saját akcióik és belső állapotuk felett. Helyzetfüggőség: az ágensek helyzethez és szerephez kötötten ágensek csupán.
SZDT-12 p. 4/24 Erős definíció (MI) Az ágens egy olyan rendszer, amely a következő további tulajdonságokkal rendelkezik: Racionalitás: az ágens a rendelkezésre álló számítási kapacitás és egyéb erőforrások mellett a lehető legjobb alternatívát választja. Tanulás: az ágens képes új ismereteket gyűjteni környezetéből és azt tárolni, felhasználni. A tanultak alapján viselkedését megváltoztathatja. Alkalmazkodás: képes tanulni a cselekedetei hatásából és a tanultakat felhasználva változtatni tud tervein, annak érdekében, hogy tevékenysége optimálisabb legyen. Személyiség: Számos alkalmazási területen szükség lehet mesterséges személyiség létrehozására. A személyiséggel bíró ágens identitással, speciális jegyekkel rendelkezik, melyek megkülönböztetik őt más ágensektől.
SZDT-12 p. 5/24 A tanuló ágensek általános modellje Egy algoritmus tanul, ha egy feladat megoldása során olyan változások következnek be a működésében, hogy később ugyanazt a feladatot vagy ahhoz hasonló más feladatotokat jobb eredménnyel, ill. hatékonysággal képes megoldani, mint korábban.
SZDT-12 p. 6/24 Induktív tanulás Azt mondjuk, hogy egy példa egy (x, f(x)) adatpár, ahol x a bemenete, f(x) a kimenete az x-re alkalmazott leképezésnek. Az induktív következtetés feladata a következő: az f-re vonatkozó minták (példák) egy halmaza alapján, adjon meg egy olyan h leképezést, amelyik közelíti f-et. A h leképezést hipotézisnek nevezzük. Tekintsünk egy geometriai példát: Az igazi f függvény nem ismert, így számos elképzelhető választás van h-ra, további tudás nélkül nem tudhatjuk, hogy melyiket részesítsük előnyben.
SZDT-12 p. 7/24 Döntési fák tanulása A döntési fa bemenete egy tulajdonsághalmaz segítségével leírt objektum vagy szituáció, kimenete pedig egy döntés. A döntési fák így logikai függvény eket reprezentálnak. A fa mindegyik belső csomópontja megfelel valamelyik tulajdonság tesztjének, és mindegyik él a teszt lehetséges értékeivel címkézett. A fa mindegyik levélcsomópontja megad egy logikai értéket.
SZDT-12 p. 8/24 Döntési fák kialakítása példák alapján A példát az attribútumok értékeivel és a célpredikátum értékeivel jellemezzük. A célpredikátum értékét a példa besorolásának hívjuk. Ha a célpredikátum értéke egy példára igaz, akkor azt pozitív példának, egyébként negatív példának tekintjük. A teljes példahalmazt tanítóhalmaznak nevezzük.
SZDT-12 p. 9/24 Feladat Tegyük fel, hogy egy használtautó kereskedő eladási tapasztalatai alapján szeretné megfogalmazni a jól eladható autók kritériumait. Lehetséges tulajdonságok és értékeik:
SZDT-12 p. 10/24 Megoldás keresése Válasszuk a legegyszerűbb alakot, az attribútum-példányok konjunkcióját lehetséges hipotézisnek. Pl. h = (gyartas helye = nemet & kor = 3 6 kozott & motor = diesel & szin = fekete & cm 3 = 1300 1800 kozott) Egyszerűbb vektoros alak: h = (nemet,3 6 kozott,diesel,fekete,1300 1800 kozott) A fogalmi tanulást tekinthetjük egy keresési feladatnak, mivel az a cél, hogy a hipotézisek terében megkeressük azt a hipotézist, amelyik a legjobban illeszkedik a tanulási példákra. A vektor komponensei között lehet: 0 : az attribútum egyetlen értékre sem elfogadható; : az attribútum bármely értéke elfogadott a hipotézisben.
SZDT-12 p. 11/24 Megoldás keresése Például: 4 4 2 5 4 = 640 különböző egyed lesz Mivel megengedett a 0 és a jel ezért: 6 6 4 7 6 = 6048 hipotézis lehet Mindazon hipotézisek, amelyek legalább egy 0 szimbólumot tartalmaznak, az üres példányt reprezentálja, így ezeket nem célszerű megkülönböztetni. A valóban különböző hipotézisek száma: 1 + (5 5 3 6 5) = 2251 Megállapítás: Mivel a hipotézistér általában nagyméretű, ezért fontos, hogy hatékony keresési módszerrel tudjuk kiválasztani a legjobban illeszkedő hipotézist.
SZDT-12 p. 12/24 Kiindulás Az induktív tanulás során olyan h : X {0,1} hipotézist keresünk, amelyre teljesül, hogy h(x) = f(x) minden x X példányra. Tekintsük a következő példákat:
SZDT-12 p. 13/24 Algoritmus lépései (döntési fa felépítése) Kezdetben a fa egy címkézetlen (gyökér) csúcsból áll, amelyhez az összes tanító példát (P) és attribútumot (A) hozzárendeljük. Adott egy címkézetlen n csúcs: 1. Ha P = 0, akkor levélcsúcsot kaptunk, amelynek értékét a szülőcsúcs példáinak többségi szavazása alapján döntjük el. 2. Ha P csak pozitív (vagy csak negatív) példából áll, akkor egy igen (illetve nem) levélcsúcsnál vagyunk. 3. Ha A = 0, akkor is levélcsúcsot kaptunk, és a csúcs pozitív és negatív példáinak többségi szavazása alapján döntjük el annak értékét. 4. Egyébként a legnagyobb információs előnnyel járó, még teszteletlen a A attribútumot rendeljük az n csúcshoz, majd generáljuk az összes (címkézetlen) gyerekét: Ezekhez az a lehetséges értékeivel címkézett élek vezetnek. Ha az a címkéjű n csúcsból az m csúcsba a v címkéjű él vezet, akkor az m csúcshoz rendelt Példák: Pa=v = {p P p.a = v} Attribútumok: A = A {a} Végül minden gyerekre ismételjük meg rekurzív módon az 1 4. lépéseket.
SZDT-12 p. 14/24 ID3 algoritmus A döntési fa konstruálásának legfontosabb kérdése, hogy a fa adott pontjában melyik attribútum értéke szerint végezzük el a tesztet. Azt az attribútumot célszerű választani, amelyik a leghasznosabb a példák osztályozására. Ezen hasznosság mérésére bevezethető egy mérőszám, az ún. információs előny, ami megmutatja, hogy egy adott attribútum szerinti teszt egyedül milyen jól osztályozná az adott tanulási példákat.
SZDT-12 p. 15/24 Entrópia definíció Legyen P pozitív és negatív példák gyűjteménye egy adott fogalomra vonatkozóan. A P entrópiája: E(P) = E(P +,P ) = P + log 2 P + P log 2 P ahol P + a pozitív, P a negatív példák arányát jelöli P -ben. Az ID3 algoritmusban használt információs előny mérőszám azt mutatja meg, hogy egy adott attribútum szerinti osztályozás mennyivel csökkenti a P entrópiáját. C(P,a) = E(P) P a=v v ertek(a) P E(P a=v )
SZDT-12 p. 16/24 Teljesítmény becslés Lehetőségünk van a tanulási algoritmus teljesítményét megbecsülni. A tanulási algoritmus akkor megfelelő, ha jó hipotéziseket szolgáltat azokban az esetekben is, amelyeket nem látott előre. A vizsgálatot a példák egy teszthalmazán végezhetjük el, amelyhez a következő lépéseket kell végig követnünk. 1. Gyűjtsük össze a példák egy nagy halmazát. 2. A példahalmazt bontsuk szét két diszjunkt halmazra: egy tanítóhalmazra és egy teszthalmazra. 3. A tanuló algoritmust a tanítóhalmaz példáira alkalmazva állítsuk elő a H hipotézist. 4. Vizsgáljuk meg, hogy H a teszthalmaz példáinak hány százalékát sorolja be helyesen. 5. Ismételjük meg az 1-4 lépéseket különböző tanítóhalmaz méretekre, és mindegyik mérethez különböző teszthalmazra. Eredményként kapunk egy adathalmazt, amellyel az átlagos jóslási képesség a tanítóhalmaz méretének a függvényében vizsgálható. Egy ilyen jellegű vizsgálat kapcsán megfigyelhető, hogy a tanítóhalmaz méretének a növekedésével a jóslás minősége javulni fog.
SZDT-12 p. 17/24 Ágens-környezet Egyszerűen fogalmazva: A megerősítéses tanulást és feladatát úgy fogalmazhatjuk meg, mint egy olyan módszert, amely kapcsolatok alapján, bizonyos célokra összpontosítva tanul. Ágens-környezet modell: Minden t időpillanatban az ágens megkapja a környezetet s t S állapotleírását, ahol S a lehetséges állapotok (state) halmaza. Ennek alapján választ egy a t A(s t ) akciót, ahol A(s t ) az s t állapotban megengedett akciók halmaza. A következő lépésben a választott akció függvényeként kap egy r t+1 R R jutalmat, és egy új s t+1 állapotba kerül.
SZDT-12 p. 18/24 Ágens-környezet Minden egyes időpillanatban az ágens egy leképezést valósít meg az állapotleírások és az egyes akciók választási valószínűségei között. A leképezést az ágens politikájának (policy) nevezzük, és Π t -vel jelöljük, ahol Π t (s,a) s t = s esetén a t = a választásának valószínűségét adja meg. A megerősítéses tanulás különböző módszerei azt írják le, hogy az ágens hogyan változtatja a politikáját az idő előrehaladtával a tapasztalatai függvényében. A cél az, hogy az ágens hosszú távon maximalizálja az
SZDT-12 p. 19/24 Várható hozam Az ágens feladata a várható hozam (return), R t maximalizálása, ahol R t a közvetlen jutalmak sorozatának valamilyen függvénye. Legegyszerűbb esetben: R t = r t+1 + r t+2 +... + r T, ahol T az utolsó időpillanat Az ágens-környezet interakció részsorozatokra, epizódokra bomlik: pl. kártyajáték, labirintus feladat; itt minden epizód egy terminális állapotban ér végett) Folytatható folyamatok: pl. folyamatszabályozás, robotvezérlés T = Itt a végtelen sor összegét maximalizálni akarjuk. Előfordulhat, hogy a sor divergens, ilyenkor a maximalizálás értelmét veszti.
SZDT-12 p. 20/24 Diszkontált hozam Diszkontált hozam: R t = r t+1 + γr t+2 + γ 2 r t+3 +... = i=0 γi r t+i+1 0 γ 1 a diszkontálási paraméter; Ha γ < 1 a sor konvergens, feltéve, hogy a jutalmak r i sorozata korlátos. Ha γ = 0, akkor az ágens "rövidlátó", azaz csak a közvetlenül következő jutalom maximalizálására törekszik. Ha γ 1(γ < 1), a későbbi jutalmak egyre nagyobb súllyal jelennek meg, az ágens egyre "előrelátóbb" lesz. Egységes hozamfüggvény: R t = T i=0 γi r t+i+1 Ha T véges és γ = 0, akkor az epizódikus, ha T = és 0 γ 1, akkor a folytatható folyamatra megadott definíciót kapjuk.
SZDT-12 p. 21/24 Értékelő függvény Az értékelő függvény leírja, hogy mennyire jó egy adott állapot vagy mennyire jó egy adott állapotban egy adott akciót végrehajtani. Egy s állapot π politika melletti jósága (V π (s)) az állapotból a politika követése mellett gyűjthető hozam várható értéke. Állapot értékelő függvény: V π (s) = E π (R t s t = s) = E π ( k=0 γk r t+k+1 s t = s) (E π jelöli a π politika követése melletti várható értéket, t tetszőleges időpillanat) Az s állapotban a akció választásának értéke a π politika mellett: Q π (s,a) = E π (R t s t = s,a t = a) = = E π ( k=0 γk r t+k+1 s t = s,a t = a)
SZDT-12 p. 22/24 Bellman-egyenlet A V π -re vonatkozó Bellman-egyenlet leírja a jelenlegi állapot és a lehetséges rákövetkező állapotok értéke közötti összefüggést. Optimális politika (π ) Ugyanaz az optimális állapotot értékelő függvény tartozik hozzá: V (s) = max π (V π (s)), s S Közös az optimális akciót értékelő függvényük is: Q (s,a) = max π (Q π (s,a)), (s,a) S A(s) A V -ra vonatkozó Bellman-féle optimalitási egyenlet: V (s) = max a A(s) s P a ss [R a ss + γv (s )] A Q -ra vonatkozó Bellman-féle optimalitási egyenlet: Q (s,a) = s P a ss [R a ss + γmax a Q (s,a )]
SZDT-12 p. 23/24 Időbeli differenciák módszere (Temporal Difference, TD) A π politika követése során szerzett tapasztalatait felhasználja a π politikához tartozó V π értékelő függvény V becslésének felülírására. Ha a t időpillanatban a rendszer az s t állapotban van, akkor a módszer rögtön a következő lépésben módosítja a V -t a megfigyelt r t+1 jutalom és V (s t+1 ) korábbi becslésének felhasználásával. A legegyszerűbb TD módszer: V (s t ) V (s t ) + α[r t+1 + γv (s t+1 ) V (s t )] Ez a módszer egy becslés: mintát vesz a várható értékből + felhasználja a V π értékelő függvény V t becslését.
SZDT-12 p. 24/24 TD(0) algoritmus V π becslésére Input: π policy to be evaluated Initialize: V (s) arbitrarily Repeat for each episode initialise s Repeat for each step of episode take a,r,s V (s t ) V (s t ) + α[r t+1 + γv (s t+1 ) V (s t )] s s until s is terminal