Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaZoltán Kis Megváltozta több, mint 5 éve
1
Nemparmaterikus módszerek Parzen-ablak és legközelebbi szomszéd
2
Bevezetés Az előző órákon feltettük, hogy De a valós életben
Az adatok pontos eloszlása ismert Vagy ha az eloszlás nem is, de legalább a jellege, alakja ismert De a valós életben A pontos eloszlás sosem ismert És még az eloszlás típusára (pl. Gauss) vonatkozó feltevés is többniyre irreális – aminek következtében a valódi eloszlás és a felttelezett eloszlás el fog térni, ennek eredménye az ún. “modellezési hiba” Ma olyan módszereket fogunk látni, amelyek az adatok eloszlását nem egy parametrikus görbe (pl. Gauss-görbe) segítségével írják le Ezért hívják ezeket “nemparametrikus” módszereknek
3
Nemparametrikus módszerek
Nem hasznának parametrikus görbét az eloszlás leírásához Az elnevezés félrevezető, mert megválsztandó metaparamétereik azért vannak! Közvetlenül a tanítópéldákat használják fel az eloszlás modellezésére Ezért hívják őket példány-alapú tanulásnak is (instance-based learning) Az eloszlás alakjára nem tesznek fel semmilyen előzetes feltevést A tanító fázis pusztán a tanítópéldák eltárolásából áll Ezt hívják lusta tanulásnak is (“lazy learning”) A műveletvégzés a tesztelési fázisban történik – egyben ez a fő hátrányuk is Módszerek egyik típusa: p(x | ci)-et közelíti Másik típus: közvetlenül P(ci | x)-et közelíti
4
Alapötlet Egy adott x pontban p(x)-et az x körülötti kis R régióba eső példapontok sűrűségével fogjuk közelíteni Több példa nagyobb valószínűség
5
Példa Hogyan közelíthetjük p(x)-et x∈R1 vagy x∈R2 pontokban ?
P[x∈R1] vagy P[x∈R2] becsléséhez elosztjuk az R régióba eső pontok számát (k) az összes példa számával (n) P[x∈R1]=6/20 P[x∈R2]=6/20 Mind a két regióban ugyanazt p(x) értéket kaptuk, helyes ez így? Nem, hiszen R2 nagyobb mint R1 Azaz még a régió V szélességével (több dimenzióban térfogatával) is osztanunk kell Azaz összeségében ez lesz a becslésünk: p(x)≈k/nV
6
Formálisan levezetve Annak a ρ valószínűsége, hogy az x pont az R régióba esik: Tegyük fel, hogy n példát (x1,..,xn ) húzunk p(x)-ből. Ekkor annak a valószínűsége, hogy pontosan k pont esik az R régióba binomiális eloszlású lesz: Tehát k értékéből becsülni tudjuk ρ-t az alábbi módon: A fenti eloszlás várható értéke E[k]=nρ . Továbbmenve, az eloszlás eléggé „hegyes” k körül, főleg nagy n esetén. Ezért használhatjuk az alábbi közelítést: k ≈ nρ ρ ≈ k/n Még precízebben azt is meg lehet mutatni, hogy k/n ρ-nak maximum likelihood becslése
7
Formális levezetés 2 Tegyük fel, hogy p(x) folytonos, és hogy az R régió olyan kicsi, hogy p(x) közelítőleg konstans R-en. Ekkor Ahol x R-be esik és V az R régió mérete (ld. vörös vonal) Emlékezzük továbbá az előző diáról, hogy és Ezeket összerakva megkapjuk a becslést, miszerint
8
Öszegzés Formálisan ugyanazt kaptuk, mint előtte intuitív megfontolásokkal: Vegyük észre, hogy a becslésünk lényegében a pontos eloszlás átlaga R fölött: A becsült p(x) értékünk ugyanaz az érték lesz R minden pontján, mivel a becslési módszerünk feltételezi, hogy p(x) konstans R-en
9
Értelmezés hisztogramgént
A becslési módszerünk nagyon hasonlít egy hisztogram készítéséhez: Valójában ha a régiók nem fednek át és lefedik a teljes értéktartományt, akkor egy (normalizált) hisztogramot kapunk
10
A becslésünk pontossága
Mennyire pontos a közelítő formulánk, ? A közelítés két feltevésre épült: ez egyre pontosabb lesz, ha n∞ ez egyre pontosabb lesz, ha V0 Ha egyre több példánk van, akkor V-t fokozatosan tudjuk zsugorítani, de vigyáznunk kell, hogy tartalmazzon példákat, különben p(x)=0 becslést kapunk Elméletileg, ha a példaszám végtelenhez tart, akkor a becsült eloszlás is tartani fog a valódi eloszláshoz, ha az n növekedésével szinkronban csökkentjük V-t, de óvatosan, úgy hogy k is végtelenhez tartson Ezt pontosítjuk a következő dián If the regions do not overlap and cover the whole range of the values then our estimate is basically a (normalized) histogram
11
A becslésünk pontossága 2
Készítsünk a közelítésekből egy sorozatot ahol n A példák száma, Vn a régió mérete az n-edik közelítésben, és kn a régióba eső példák száma Megmutatható, hogy Ha az alábbi 3 feltétel teljesül: If the regions do not overlap and cover the whole range of the values then our estimate is basically a (normalized) histogram
12
A becslés pontossága 3 Két példa, amely kielégíti a feltételeket:
Ez első lehetőség, hogy Vn –et tesszük n-től függővé, például kn –et pedig az adatok alapján számoljuk Ez lesz az ún. Parzen-ablak módszer alapja A másik lehetőség, ha kn –t definiáljuk n függvényeként, például és Vn –t fogjuk az aktuális adatokból számolni Ez lesz az ún. legközelebbi szomszéd módszer alapja Mindkét fenti esetben bebizonyítható, hogy p(x) a valódi eloszláshoz tart, ha n tart végtelenhez, Azonban nehéz bármit mondani a közelítés pontosságáról véges n esetén
13
Szemléltetés
14
Eloszlás becslése a gyakorlatban
Egy gyakorlati feladatban az n példaszám mindig véges és rögzített Ezért n-et nem tudjuk növelni, csak V-t csökkenteni De ezzel óvatosnak kell lenni, mert ha V túl kicsi, akkor a p(x) becslése sok x pontban 0-t ad, mivel a régióban nem lesz példa Ezért a gyakorlatban V-re nézve kompromisszumot kell kötnünk Nem lehet túl kicsi, hogy elég példát tartalmazzon (azaz k ne legyen 0) De V túl nagy se lehet, mert akkor a becslés válik pontatlanná (túl sima lesz, mivel adott R régión belül konstans értéket ad) A megfelelő V vagy k értéket az aktuális példahalmazhoz érdemes belőni
15
A két gyakorlati megközelítés
Parzen-ablak módszer: rögzítjük V –t, k-t pedig az adatokból számoljuk ki Legközelebbi szomszéd módszer (nearest neighbors): rögzítjük k –t V-t pedig az adatokból számoljuk ki Kezdjük a Parzen-ablak módszerrel: rögzítjük az R régió alakját és méretét Egy d-dimenziós h-élhosszú hiper- kockaként, ennek térfogata hd
16
Parzen-ablak Mivel n adott, V is rögzített, ezért csak annyi dolgunk van, hogy a Régiót az adott x pontra illesztjük, és megszámoljuk a bele eső pontok k számát. Ebből Példa: A formalizáláshoz definiálunk egy ablakfügvényt:
17
Parzen-ablak 2 Illesszük az ablakfüggvényt az adott x pontra ahol becsülni szeretnénk p(x)-et, és nézzük meg, mit ad vissza az x1,…,xn példákon: Vagyis,
18
Parzen-ablak 3 Azaz formálisan az x-re pozícionált h méretű Parzen-ablakba eső pontok k száma így kapható meg: Mivel A becslésünk így írható fel: Ellenőrizzük, hogy szabályos eloszlást kaptunk-e:
19
Parzen ablak – másik értelmezés
Eddig az x pontot rögzítettük, és az i indexet futtattuk végig a hiperkockába eső xi példákon: De azt is megvizsgálhatjuk, hogy egy adott xi hogyan járul hozzá a p(x) közelítéshez Láthatjuk, hogy egyszerűen 1-et ad minden x pontban amely elég közel van xf -hez, egyébként pedig 0-t
20
A Parzen-ablak mint függvények öszege
Újra nézzük meg a közelítésünket ilyen szemmel Láthatjuk, hogy olyan mintha hiperkockákat illesztenénk az összes x1,…,xn tanítópéldára, és ezeket összeadnánk Vagyis p(x) n „dobozszerű” függvény összege, ahol a dobozok magassága Lássunk egy példát!
21
Parzen-ablak - példa Legyen hét tanítópéldánk: D={2,3,4,8,10,11,12}
n = 7, h = 3, d = 1 A közelítésünk megkapásához csak össze kell adnunk a 7 pontra illesztett 7 dobozkát Ahol a dobozok magassága
22
A Parzen-ablak hátrányai
Ha xi az x körüli hiperkockába esik,akkor p(x)-hez mindig ugyazzal az értékkel fog hozzájárulni, mindegy milyen messze van x-től És ugyanez igaz a kockán kívül eső pontokra is – mindig 0 értéket adnak, akármilyen messze vagy közel vannak x-hez A p(x) közelítés lépcsős lesz, nem sima:
23
Általánosított ablakfüggvények
A p(x) közelítésünk így néz ki: A hiperkoka helyett próbáljunk olyan ablakfüggvényt használni, amelyik fokozatosan csökken ahogy távolodunk a középponttól Az ilyen alakú függvényeket gyakran „ kernel függvénynek” hívják Vajon továbbra is szabályos eloszlásfüggvényt kapunk? teljesül, ha Azaz ha ϕ(u) szabályos eloszlásfüggvény, akkor p(x) is szabályos!
24
Általánosított ablakfüggvények 2
Vegyük észre, hogy ezek az ablakfügvények már nem az R régióba eső tanítópontokat számolják meg Ehelyett inkább az összes pont súlyozott összegéét számolják ki, ahol a súly az x-től vett távolsággal arányos Ennek ellenére továbbra is megmutatható, hogy megfelelő feltételek esetén ϕ(u)-ra egy tipikus választás a Gauss-eloszlás Ez megoldja a „doboz alakú” ablakfüggvény két problémáját Minden x példát figyelembe vesz, és a távolsággal arányos súllyal A kapott p(x) közelítés sima lesz
25
Gauss-ablakfüggvény - példa
Tekintsük újra a korábbi példát D={2,3,4,8,10,11,12}, n = 7, h = 1, d = 1 A p(x)-re kapott becslés 7 Gauss-görbe összegeként áll elő, mindegyik 1-1 tanítópéldára van ültetve, majd 1/7-es súllyal összegezve
26
Kísérleti kiértékelés
Ismert eloszlásokból fogunk véletlen példákat húzni Változtatjuk n-et és h-t, majd megnézzük a kapott közelítést Kétféle eloszlással fogunk tesztelni: Normális eloszlás egy háromszög alakú és egy egyenletes eloszlás összege
27
1. példa: normális eloszlás
28
2. példa: Keverékeloszlás
29
A h ablakméret hatása Ha h-t túl kicsire választjuk, hegyes „tüskéket” illesztünk a példákra, a kapott becslés nem lesz sima Ha túl nagy h-t választunk, a kapott becslés túl sima lesz h optimális értéke feladatfüggő és nehéz előre megmondani De belőhetjük egy független validációs példahalmaz használatával
30
Döntési felületek - példa
Kicsi h esetén a tanítópéldákon tökéletes lesz az osztályozás, de a kapott döntési felület nagyon komplex lesz, nem fog jól általánosítani a tesztadatokra Nagyobb h esetén a tanítóadatok osztályozása nem lesz tökéletes, azonban a döntési felület simább lesz, jobb eséllyel fog jól működni a tesztadatokon e
31
Parzen-ablak - összegzés
Előnyök Nem feltételez semmit az eloszlás alakjáról A kapott becslés a valódi eloszláshoz konvergál, ha a példák száma tart a végtelenhez Hátrányok h optimális értékének megtalálása nem egyszerű (csalóka a ”nemparametrikus” elnevezés, igenis van paramétere! Egyébként a ϕ(u) megválasztását is paraméternek tekinthetjük) Sok tanítópéldát igényelhet a pontos becslés A példák eltárolása memóriaigényes, p(x) kiszámolása pedig műveletigényes (emlékezzünk, hogy miért „lusta tanuló”!) Mi lenne, ha a Gauss-ablakokat minden egyes adatpont helyett pontok klasztereire illesztenénk? így is eljuthatunk a GMM-hez
32
K Nearest Neighbors (k-NN)
Emlékezzünk, hogy p(x)-et így becsültük: És a Parzen-ablakos megközelítésben V-t rögzítettük Most k-t rögzítjük és V-t választjuk meg úgy, hogy k pont essen bele Ez lesz a k nearest neighbors, röviden k-NN módszer A k-NN módszerrel ügyesen megoldottuk az “optimális ablakméret” problémáját Illesszük a régiót x-re és addig növeljük, amíg k példa esik bele Ez a k példa lesz x k legközelebbi szomszédja Az ablakméret a tér egyes pontjaiban más-más lesz Ha a pontok lokálisan sűrűk, akkor V kicsi lesz, és pontosabb közelítést kapunk Ahol a példák ritkák, ott V nagyobb és a közelítés pontatlanabb
33
K Nearest Neighbors (k-NN)
Rendben van, V behangolja magát, de hogyan válasszuk k-t? Korábban láttuk, hogy elméletileg jó választás (A becsült eloszlás tart a valódihoz) Gyakorlatban azonban nagy n esetén ez túl nagy műveletigényhez vezet Probléma: véges n estén nem kapunk szabályos eloszlást Nagyon nem… Példa: d=1, n=1
34
K Nearest Neighbors (k-NN)
Kicsi k esetén a közelítés “tüskés” Nagyobb k mellett a közelítés simább, de továbbra sem szabályos eloszlás
35
Kísérleti kiértékelés
Ismert eloszlásokból fogunk véletlen példákat húzni Változtatjuk n-et és k-t, majd megnézzük a kapott közelítést Kétféle eloszlással fogunk tesztelni: Normális eloszlás egy háromszög alakú és egy egyenletes eloszlás összege
36
Példa
37
Eloszlások közelítése k-NN módszerrel
Végtelen n esetén elkészíthetnénk közelítések egy sorozatát, amely a valódi eloszláshoz tart De a gyakorlatban n mindig véges, így a kapott közelítés sosem szabályos eloszlás Az integrálja nem 1 Tüskés kinézetű (kicsi k esetén) Nullánál nagyobb értéket ad olyan régiókban is, ahol nincs példa Viszont emlékezzünk vissza, hogy a Bayes-döntéshez nincs szükség p(x|ci)-re, ha közvetlen módon P(ci|x)-et is meg tudjuk becsülni!
38
P(ci|x) közelítése k-NN módszerrel
Tekintsük a V térfogatú régiót x körül, melybe k példa esik Ekkor P(x) így becsülhetjük: Az osztályonként külön-külön becsléshez csak a ci-hez tartozó példákat tekintjük Ezzel azt kapjuk, hogy Ahol ki a ci osztályba eső példák száma Ez alapján hogy kapjuk meg P(ci|x)-et? Azaz a közelítésünk simán a k példa közül a ci címkéjű példák aránya lesz Így a Bayes döntési szabály szerint arra az osztályra kell tippelnünk, amelyikből a legtöbb példa esik a V térfogatba
39
Mennyire jó a k-NN módszer?
Jelölje a legkisebb elérhető hibát– a Bayes-hibát – E Vizsgáljuk a k=1 esetet Megmutatható, hogy még k=1 esetén is, ha akkor a k-NN módszer hibája tart 2E-hez Ami egészen jónak mondható Azonban véges n esetére nem nagyon vannak elméleti eredmények… Az 1-NN módszer döntési felületei Voronoi-cellákkal vizualizálhatók: Egészen komplex döntési felületeket kaphatunk
40
k megválasztása a gyakorlatban
Elméletileg nagyobb k pontosabb becslést eredményez, ha n tart a végtelenbe Azonban a k szomszédnak x-hez közel kell esnie Végtelen n mellett ez lehetséges De lehetetlen a gyakorlatban, amikor n véges Tehát k-ra nézve kompromiszumos megoldást kell keresnünk Túl kicsi k: a döntési felület komplikált és zajos lesz (értsd: túl érzékeny az aktuális példapontokra) Túl nagy k: a döntési felületet túlzottan elsimítjuk k-t kísérleti úton érdemes belőni Ezért ismét hangsúlyozzuk, hogy a „nemparametrikus” elnevezés félrevezető!
41
K-NN - összegzés Előnyök Hátrányok
Nem feltételez semmit az eloszlás alakjáról Nagyon egyszerűen implementálható, és a gyakorlatban meglepően jól működik Hátrányok Az optimális k értéket kísérletezéssel kell belőni A pontos működéshez sok tanítópéldára lehet szükség Magas memória- és számításigény Két példa távolságának liszámítása: O(d) 1 legközelebbi szomszéd megkeresése: O(nd) K legközelebbi szomszéd megkeresése : O(knd) És ez ugye nem tanítási időben, hanem tesztelési időben történik (lazy learning)
42
Felgyorsítási ötletek
Kitörölhetjük azokat a pontokat, amelyek nem befolyásolják a döntési felületet, ezzel memóriát és számítást spórolunk
43
Felgyorsítási ötletek 2
A legközelebbi szomszéd keresését felgyorsíthatjuk, ha a példákat valamilyen fejlettebb adatstruktúrában, pl. keresőfában tároljuk Ezzel csökkenthető a számításigény Viszont eléggé komplikált keresőfás implementációt igényel Ezek a módszerek általában csak közelítőleg adják vissza a szomszédokat (i.e. vagyis a legközelebbi szomszéd helyett csak egy “elég közeli” szomszédot adnak), ezért a döntési felületek pontossága romolhat
44
A távolságfüggvény megválasztása
Mindezidáig feltettük, hogy a két pont távolságát megadó távolságfüggvény adott De valójában ezzel is lehet játszani, így tkp. paraméternek tekinthetjük A szokványos távolságfüggvény az euklideszi távolság: Ez a összes dimenziót (azaz jellemzőt) egyforma fontosságúnak tekinti De előfordulhat, hogy egyes jellemzők fontosabbak, mint mások Zaj-jellegű (irreleváns) jellemzők pedig az egész osztályozást hazavághatják! Ilyenkor alkalmazhatunk súlyozott összegzést: Ahol a súlyokat tanulással határozzuk meg: És persze lehet, hogy az adott feladathoz teljesen más távolságfüggvény kell Például diszkrét jellemzők esetén
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.