Nemparmaterikus módszerek Parzen-ablak és legközelebbi szomszéd

Slides:



Advertisements
Hasonló előadás
Lineáris regressziós MODELLEK
Advertisements

Események formális leírása, műveletek
Készítette: Kosztyán Zsolt Tibor
I. előadás.
Az elemzés és tervezés módszertana
MI 2003/9 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
MI 2003/ A következőkben más megközelítés: nem közvetlenül az eloszlásokból indulunk ki, hanem a diszkriminancia függvényeket keressük. Legegyszerűbb:
Vektormező szinguláris pontjainak indexe
Csoportosítás megadása: Δx – csoport szélesség
Bevezetés a gépi tanulásba február 16.. Mesterséges Intelligencia „A számítógépes tudományok egy ága, amely az intelligens viselkedés automatizálásával.
Gépi tanulási módszerek
Osztályozás -- KNN Példa alapú tanulás: 1 legközelebbi szomszéd, illetve K-legközelebbi szomszéd alapú osztályozó eljárások.
Gépi tanulási módszerek febr. 20.
Becsléselméleti ismétlés
Dr. Szalka Éva, Ph.D.1 Statisztika II. VII.. Dr. Szalka Éva, Ph.D.2 Mintavétel Mintavétel célja: következtetést levonni a –sokaságra vonatkozóan Mintavétel.
Előadó: Prof. Dr. Besenyei Lajos
A digitális számítás elmélete
III. előadás.
Dijkstra algoritmusa Egy csúcsból a többibe vezető legkisebb költségű út megkeresése Az algoritmus működésének leírása és bemutatása LL.
KÖZMŰ INFORMATIKA NUMERIKUS MÓDSZEREK I.
PTE PMMK Matematika Tanszék dr. Klincsik Mihály Matematika III. előadások MINB083, MILB083 Gépész és Villamosmérnök szak BSc képzés 2007/2008. őszi félév.
Matematika III. előadások MINB083, MILB083
Regresszióanalízis 10. gyakorlat.
Nem-paraméteres eljárások, több csoport összehasonlítása
Készítette: Kosztyán Zsolt Tibor
Az Alakfelismerés és gépi tanulás ELEMEI
Véletlenszám generátorok
Készítette: Gergó Márton Konzulens: Engedy István 2009/2010 tavasz.
Idősor elemzés Idősor : időben ekvidisztáns elemekből álló sorozat
Gazdaságstatisztika 11. előadás.
Gazdaságstatisztika 13. előadás.
Alapsokaság (populáció)
Alapfogalmak.
Lineáris regresszió.
avagy Négy halálos lórugás egy év alatt! Mit tesz a kormány?
Folytonos eloszlások.
Belami beszámoló – Doménadaptációs alkalmazások. Problémafelvetés Felügyelt tanulás elvégzéséhez gyakran kevés jelölt adat áll rendelkezésre  doménadaptáció.
I. előadás.
Valószínűségszámítás III.
Bevezetés a méréskiértékelésbe (BMETE80ME19) Intervallumbecslések 2014/
Bevezetés a méréskiértékelésbe (BMETE80ME19) 2014/
Valószínűségszámítás II.
Többdimenziós valószínűségi eloszlások
Megerősítéses tanulás 8. előadás
MI 2003/8 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
Gépi tanulási módszerek
HÁLÓZAT Maximális folyam, minimális vágás
A Dijkstra algoritmus.
Korreláció, regresszió
Numerikus differenciálás és integrálás
II. előadás.
Készült a HEFOP P /1.0 projekt keretében
Becsléselmélet - Konzultáció
I. Előadás bgk. uni-obuda
Mesterséges intelligencia
JELENÉRTÉKSZÁMÍTÁS-TECHNIKA
Gépi tanulási módszerek febr. 18.
Bevezetés Láttuk, hogyan lehet Gauss-görbét illeszteni adatpontokra
Emlékeztető Az előző órán az adatok eloszlását Gauss-eloszlással közelítettük Célfüggvénynek a Maximum Likelihood kritériumot használtuk A paramétereket.
Bunkóczi László, Dr.Pitlik László, Pető István, Szűcs Imre
Gazdaságinformatikus MSc
A mesterséges neuronhálók alapjai
Mérések adatfeldolgozási gyakorlata vegyész technikusok számára
Dijkstra algoritmusa: legrövidebb utak
Dijkstra algoritmusa: legrövidebb utak
Készletek – Állandó felhasználási mennyiség (folyamatos)
Dijkstra algoritmusa: legrövidebb utak
A Bayes-döntéselmélet alapjai
Visszacsatolt (rekurrens) neuronhálók
Cache példák 2019 (IMSC).
Előadás másolata:

Nemparmaterikus módszerek Parzen-ablak és legközelebbi szomszéd

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

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

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

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

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

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

Ö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

É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

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: 1. - ez egyre pontosabb lesz, ha n∞ 2. - ez egyre pontosabb lesz, ha V0 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

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

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

Szemléltetés

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

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

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:

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,

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:

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

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!

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

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:

Á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!

Á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

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

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

1. példa: normális eloszlás

2. példa: Keverékeloszlás

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

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

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

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

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

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

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

Példa

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!

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

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

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ő!

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)

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

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

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