A “valószínűleg nagyjából helyes” (probably approximately correct, PAC) tanulási modell
PAC tanulhatóság A tanulhatóság egy formális matematikai modellje Az alapjait Valiant 1984-es cikke rakta le (“A theory of the learnable”) Erősen elméleti jellegű A gyakorlatban sajnos kevés eredménye használható A fogalomtanulási feladatot formalizálja a következőképp: X: a tanulandó objektumok (példák) tere. Ha például az objektumokat két folytonos jellemzővel írjuk le, akkor X=R2 c fogalom: cX. De úgy is felfoghatjuk, hogy c egy X{0, 1} leképezés (a tér egyes pontjai vagy beletartoznak, vagy nem) C fogalomosztály: fogalmak egy halmaza. A továbbiakban feltételezzük, hogy a tanulandó c fogalom mindig C-ből kerül ki!
PAC tanulhatóság L tanulóalgoritmus: Célja egy adott c megtanulása. Outputként kiválaszt egy h hipotézist a fogalomosztályból. Segítségként rendelkezésére áll egy Ex(c,D) függvény, amely <x,c(x)> alakú példákat képes adni c-ből. Feltételezzük, hogy a példák egy rögzített (de tetszőleges!) D eloszlást követnek (és függetlenek). Példa: X=R2 C=a sík tengelyekkel párhuzamos téglalapjainak összessége c: egy konkrét téglalap h: szintén egy konkrét téglalap D: egy valószínűségi eloszlás a sík pontjai fölött Ex(c,D): pozitív és negatív példákat ad c-ből
A hiba definiálása Hogyan mérjük a tanulás végén kapott h hipotézis hibáját? Lehetne például error(h)=c∆h=(c\h)(h\c) (c és h szimmetrikus különbsége – az ábrán a kék terület nagysága) Ez miért nem jó? D annak a valószínűsége, hogy a sík egy adott pontját kihúzzuk Azt szeretnénk, ha a módszer tetszőleges D eloszlásra működne Ha D egy adott térrészen 0, onnan sosem kapunk példákat nem tudjuk megtanulni Ezért error(h)=c∆h nem garantálható tetszőleges D esetén Viszont D a tesztelés során ugyanaz ekkor sem kapunk az adott térrészből példákat nem baj, ha azon a térrészen nem tanultunk!
A hiba definiálása Megoldás: a hiba mértéke legyen c∆h, de súlyozva D-vel! Azaz c∆h helyett a D görbe alatti területet számoljuk ki c∆h-n „Ritkásabb” térrész: kevésbé tudjuk tanulni, de a hibába is kevésbé számít, mivel ott a súly, azaz D értéke kisebb Mivel D a pontok kihúzásának valószínűségi eloszlása, a D görbe alatti besatírozott terület nem más, mint annak a valószínűsége, hogy egy véletlenszerűen kihúzott pont c∆h-ba esik. Így a hiba definíciója:
PAC tanulhatóság - definíció Legyen C egy fogalom-osztály X felett. C PAC-tanulható, ha létezik olyan L algoritmus, amely az alábbit tudja: az Ex(c,D) által adogatott példák alapján tetszőleges c C fogalomra, D(x) eloszlásra és 0<ε<1/2, 0<δ<1/2 konstansokra P≥1-δ valószínűséggel talál egy olyan h C hipotézist, amelyre error(h)≤ε. Röviden: L nagy valószínűséggel talál egy kis hibájú hipotézist a tanulópéldák alapján ( azaz L „valószínűleg nagyjából helyes”). 1. megjegyzés: a tétel nem segít megkeresni L-et, csak azt mondja ki, hogy mit kell neki teljesíteni 2. megjegyzés: Vegyük észre, hogy ε és δ tetszőlegesen közel vihető nullához 2. megjegyzés: tetszőleges c C és D(x) eloszlás esetén működnie kell
Miért „valószínűleg nagyjából” ? Miért kell a két engedmény, ε és δ ? Az ε hibát azért kell megengedni, mert a példahalmaz véges, ezért nem garantálható, hogy belőle a fogalom tökéletes precizitással tanulható. A legnyilvánvalóbb példa, ha az X tér végtelen, hiszen ilyenkor véges számú példával sosem fogjuk tudni tökéletesen lefedni a teljes teret. A δ valószínűség azért kell, mert a kis hibát nem tudjuk minden futtatás esetére garantálni. Lehet ugyanis, hogy egy adott tanítás esetében nagyon szerencsétlenül sikerül példákat húznunk: előfordulhat, pl., hogy az összes tanítópélda ugyanaz a pont – ez pedig nem reprezentálja kellőképpen a tanulandó fogalmat. Ezért egy jó hipotézis megtalálását csak egy bizonyos valószínűséggel tudjuk garantálni.
Példa X=R2 (a tanítópéldák a sík pontjai) C=a sík tengelyekkel párhuzamos téglalapjainak összessége c: egy konkrét téglalap h: szintén egy adott téglalap error(h): h∆c területe D(x)-szel súlyozva. Ex(c,D): pozitív és negatív példákat ad c-ből Legyen L az az algoritmus, amely a legszűkebb olyan téglalapot adja vissza hipotézisként, amely az összes pozitív példát tartalmazza! Vegyük észre, hogy h c a példaszám növelésével a hiba csak csökkenhet
Példa Bebizonyítjuk, hogy a példaszám növelésével a hiba egyre nagyobb valószínűséggel egyre kisebb lesz, vagyis hogy az L algoritmus PAC-tanulja C-t Legyen 0<ε, δ≤1/2 rögzített. Tekintsük azt a h’ hipotézist, amelynek az alábbi módon kapjuk az oldalait: Vagyis ε/4 annak a valószínűsége, hogy egy véletlenszerűen kihúzott példa T-be esik Emiatt 1- ε/4 annak a valószínűsége, hogy a példa nem esik T-be Annak a valószínűsége, hogy m véletlenszerű példa nem esik T-be: A négy oldalon a 4 sáv „összterülete” <ε (az átfedések miatt) Ha minden oldalon húztunk példát a sávból, akkor error(h)< ε az aktuális h hipotézisre (hiszen a sávból csak pozitív példát húzhatunk, ez esetben pedig h adott oldalát „oda kell tolni”)
Példa error(h) ≥ ε csak úgy lehetséges, hogy valamelyik oldalon nem kaptunk még példát a sávból error(h) ≥ ε valamelyik oldalon nem húztunk a sávból P(error(h) ≥ ε) ≤ P(valamelyik oldalon nem húztunk a sávból) Azaz ezt kaptuk: P(error(h) ≥ ε) ≤ Az ε-nál nagyobb hiba valószínűségét δ alá akarjuk szorítani: Hogyan néz ki ez a görbe m függvényében, rögzített ε mellett? Exponenciális függvény 0 és 1 közti alappal 0-hoz tart, ha m tart végtelenhez Tetszőlegesen kicsi δ alá beszorít- hatjuk megfelelően nagy m választásával
Példa – m kifejezése A PAC-tanulhatóságot lényegében már bizonyítottuk, de azért adjunk meg egy konkrét m értéket ε és δ függvényében: Felhasználjuk, hogy 1-x≤e-x, és inkább ehhez keresünk küszöböt: Azaz adott ε és δ esetén ha m a fenti küszöbnél nagyobb, akkor P(error(h) ≥ ε) ≤ δ Vegyük észre, hogy m viszonylag lassan nő ε és δ függvényében, ami gyakorlati szempontból fontos lehet
Hatékony PAC tanulás Gyakorlati szempontból fontos lenne, ha a tanításhoz szükséges példák száma csak lassan növekedne ε és δ csökkentésével „lassan” = polinomiálisan A tanítópéldák számán kívül mi befolyásolhatja még egy tanuló-algoritmus műveletigényét? Az egyes tanítópéldák feldolgozásának műveletigénye jellemzően függeni szokott a dimenziószámtól, n-től Az algoritmus működése során minden egyes tanítópélda megkapása után módosítja a h hipotézisét. Ezért a műveletigényt nyilván jelentősen befolyásolja a hipotézis komplexitása, illetve a megtanulandó c fogalom komplexitása (hiszen c-t akarjuk reprezentálni h-val) A következőkben definiáljuk a c fogalom, pontosabban az ahhoz tartozó reprezentáció bonyolultságát
Fogalom vs. Reprezentáció Mi a különbség a fogalom és a reprezentáció között? Fogalom: egy absztrakt (pl. matematikai) koncepció Reprezentáció: egy konkrét számítógépes ábrázolás 1. példa: a fogalom egy logikai formula Ez reprezentálható diszjunktív normálformával De akár a változók NAND műveletettel való összekapcsolásával is 2. példa: a sík sokszögeit akarjuk tanulni Ezeket reprezentálhatjuk a csúcsaik sorozatával De akár az éleik egyeneseinek egyenletével is Tehát a reprezentáció egy konkrét algoritmikai megoldást takar Ezentúl feltesszük, hogy L egy konkrét H reprezentációs osztály fölött dolgozik (innen választ h-t) H elég bő, azaz bármely c C reprezentálására képes.
Hatékony PAC tanulás Egy H reprezentáció méretét így definiáljuk: valamilyen mérték komplexitására, pl. a kódolásához szükséges bitek száma. Egy cC fogalom méretét úgy definiáljuk, mint a reprezentálásához szükséges legkisebb reprezentáció mérete: ahol c azt jelöli, hogy a a c egy lehetséges reprezentációja. Hatékony PAC tanulhatóság: Legyen C egy fogalom-osztály, H pedig egy reprezentációs osztály, amely képes C minden elemének reprezentálására. C hatékonyan tanulható H felett, ha van olyan H-n dolgozó algoritmus, amellyel C PAC-tanulható, és L polinomiális idejű n-re, size(c)-re, 1/ és 1/-ra nézve minden cC esetén. Megjegyzés: A hatékony alkalmazhatósághoz nyilván az is kell, hogy a tanulás mellett h(x) kiértékelése is polinomiális idejű legyen n és size(h) függvényében tetszőleges x pontban, de általában ez sokkal könnyebben teljesíthető
Példa 3 tagú diszjunktív normálforma: T1vT2vT3, ahol Ti literálok (negálatlan vagy negált változók) konjunkciója A 3-tagú diszjunktív normálformák reprezentációs osztálya nem hatékonyan PAC-tanulható. Azaz ha a 3-tagú DNF-eket akarjuk tanulni, és saját magukkal reprezentáljuk őket, akkor a PAC-tanulás nem megoldható A 3-tagú DNF-ek fogalomosztálya hatékonyan PAC-tanulható! Azaz maga a fogalomosztály PAC-tanulható, de ehhez egy másik, bővebb, és hatékonyabban manipulálható reprezentációt kell választani. Ezzel az ügyesebb reprezentációval megoldható, hogy a műveletigény mégis polinomiális maradjon
Occam tanulás Korábban az Occam-borotva elvét általános tanulási heurisztikaként emlegettük: az egyszerűbb magyarázat többnyire jobban általánosít. Ezt most formálisan fogjuk megfogalmazni a PAC-modell keretében. A hipotézis „egyszerűségén” a hipotézis méretét fogjuk érteni. A kis méretű hipotézisre törekvés azt fogja jelenteni, hogy a tanulónak tömörítenie kell a tanítópéldákat. Definíció: Legyen 0 és 0≤β<1 konstans. L (H hipotézistér fölött dolgozó) algoritmus (,β) –Occam-algoritmus a C fogalom-osztályon, ha egy m-elemű mintát adva neki cC-ből olyan hH hipotézist talál, amelyre: h konzisztens a mintákkal size(h)≤(n*size(c))*m (azaz size(h) lassan nő n, size(c) és m függvényében) L hatékony (,β) –Occam-algoritmus, ha futásideje polinomiális n, m és size(c) függvényében
Occam tanulás Miért mondjuk, hogy egy Occam-algoritmus tömörít? N és size(c) adott feladat esetén rögzített, ráadásul a gyakorlatban m>>n Ezért mondhatjuk, hogy a fenti képlet lényegében size(h)<m -ra redukálódik, ahol <1 H hipotézis konzisztens az m példával, azaz pontosan tudja az m példa címkéjét. Ez m darab 0-1 címke, azaz m bitnyi információ Ha size(h) úgy tekintjük, mint a h reprezentálásához szükséges bitek száma, akkor size(h)<m azt jelenti, hogy a tanuló a h hipotézisbe m bitnyi információt m biten tárolt el (ahol <1), azaz a tanítópéldák címkéit h tömörítve reprezentálja Tétel: Egy hatékony Occam-tanulóalgoritmus egyúttal hatékony PAC-tanulóalgoritmus is. Azaz a (bizonyos definíció szerint értett) tömörítés garantálja a (bizonyos definíció szerint értett) tanulást!
Mintakomplexitás Mintakomplexitáson a PAC-tanuláshoz szükséges példák számát értjük. A gyakorlatban nagyon hasznos lenne, ha adott feladat esetén előre meg tudnánk mondani, hogy hány tanítópéldára lenne szükségünk előre adott ε és δ PAC-küszöbértékek eléréséhez Mintakomplexitás véges hipotézistér esetén: Tétel: ha a H hipotézistér véges, akkor a cH fogalom konzisztens tanulóval való PAC-tanulásához szükséges m példák száma: ahol |H| a hipotézistér elemszáma Bizonyítás: konzisztens tanuló=csak a példákkal konzisztens hipotézist választhat a hipotézistérből. Ezért a bizonyítás azon fog alapulni, hogy leszorítjuk az összes konzisztens hipotézis hibáját alá A bizonyítás így lesz a legegyszerűbb, de emiatt a megoldás miatt a korlát nem lesz szoros (azaz nem a lehető legkisebb m-et fogjuk megtalálni)
Bizonyítás Tegyük fel, hogy k db. olyan hipotézis van, amelynek a hibája >. Adott h’ hipotézisre error(h’)> mellett a konzisztencia valószínűsége P(h’ konzisztens az m példával)≤ (1-)m Mivel a kimenetként kiválasztott h hipotézis a k fenti hipotézis közül valamelyik kell legyen: P(error(h)>) ≤P(a k db hipotézis bármelyike konzisztens az m példával)≤k(1-)m≤|H|(1-)m≤|H|e-m Ahol felhasználtuk a k≤|H| és (1-x)≤e-x egyenlőtlenségeket. Rögzített mellett |H|e-m exponenciálisan csökkenő függvény Így P(error(h)>) tetszőlegesen kicsi δ küszöb alá leszorítható
Példa A gyakorlatban használható-e az előbb kapott küszöb? Legyen X véges tér n darab bináris jellemzővel. Ha olyan tanulót szeretnénk, amelynek hipotézistere az összes lehetséges X fölötti hipotézist tartalmazza, akkor (az össze lehetséges n-változós Boole-függvény száma) Helyettesítsük ezt be a képletbe: Ez n-re nézve exponenciális, azaz a gyakorlatban legtöbbször használ-hatatlan (túl nagy) minimálisan szükséges példaszámot ad meg Vannak ennél jóval hosszadalmasabb bizonyítások, amelyekkel ennél lejjebb lehet vinni m-et, de a gyakorlatban sajnos ezeknek sincs sok jelentősége
A végtelen hipotézistér esete Véges H tér esetére kaptunk egy elégséges küszöböt: Sajnos a fenti képlet nem ad véges értéket, ha |H| végtelen Ilyenkor kerül képbe a Vapnik-Chervonenkis dimenzió, de ehhez előbb kell egy segédfogalom: Legyen X egy objektum-tér, H pedig egy reprezentációs osztály X fölött (mindkettő lehet végtelen is!). Legyen S egy tetszőleges véges részhalmaza X-nek. Akkor mondjuk, hogy H szétválasztja S-et,ha S minden lehetséges {+,-} felcímkézéséhez hH, amely így osztályozza S pontjait. 1. Megjegyzés: „végtelen halmazra teljesül valami, ha tetszőleges véges részhalmazára teljesül” típusú tétel 2. Megjegyzés: Ez nyilván H reprezentációs képességét méri, hiszen ha H nem képes szétválasztani valamely véges S-et, akkor S kiterjesztésével lehet olyan fogalmat definiálni X-en, amelyet H nem képes megtanulni.
A Vapnik-Chervonenkis dimenzió H Vapnik-Chervonenkis dimenziója d, ha van olyan S, |S|=d, amelyet szétválaszt, de nincs olyan S, |S|=d+1, amelyet szétválaszt. (Ha esetleg bármely véges S-et szétválaszt, akkor VCD=.) Tétel: Legyen C egy fogalom-osztály, H pedig egy reprezentációs osztály, amelyre VCD(H)=d. Legyen L egy tanulóalgoritmus, amely egy cC fogalmat tanul oly módon, hogy kap belőle egy S példahalmazt, |S|=m, és kiad egy hH hipotézist, amely konzisztens S-sel. L PAC-tanulja C-t H fölött, ha (Ahol c0 egy megfelelő konstans) Megjegyzés: A véges esettel ellentétben az itt kapott korlát szoros (azaz m példa nem csak elegendő, de bizonyos esetekben szükséges is).
A Vapnik-Chervonenkis dimenzió Hasonlítsuk össze a véges és a végtelen H esetére kapott küszöböt: Véges eset: Végtelen eset: A két képlet láthatóan elég hasonló felépítésű, de |H| helyét végtelen esetben a Vapnik-Chervonenkis dimenzió veszi át És mindkettő elég lassan növekszik ε és δ függvényében, tehát ilyen értelemben nem is tűnnek rossz korlátnak…
Példák VC-dimenzióra Intervallumok a számegyenesen: VCD=2 VCD≥2, mivel ez a két pont szétválasztható: (=elszeparálható bármilyen címkézés esetén) VCD<3, mivel semmelyik 3 pont sem elválasztható: Osztályok egyenessel való elválasztása a síkon: VCD=3 (d-dimenziós térben: VCD=d+1) VCD ≥3: ez a konkrét 3 pont elválasztható: (minden lehetséges címkézésre megmutatni!) VCD<4, mivel semmelyik 4 pont nem elvá- lasztható (minden pont 4-esre megmutatni!)
Példák VC-dimenzióra Tengelyekkel párhuzamos téglalapok: VCD=4 VCD≥4: ez a konkrét 4 pont szétválasztható: VCD<5: semmelyik 5 point sem szétválasztható: Konvex sokszögek a síkon: VCD=2d+1 (d a csúcsok száma) (A könyv csak az egyik irányt bizonyítja) Literálok konjunkciója {0,1}n felett: VCD=n (Mitchell könyv, csak az egyik irányt bizonyítja)