Bevezetés Láttuk, hogyan lehet Gauss-görbét illeszteni adatpontokra

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

Lineáris regressziós MODELLEK
Események formális leírása, műveletek
Koordináták, függvények
Készítette: Kosztyán Zsolt Tibor
I. előadás.
Másodfokú egyenlőtlenségek
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
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:
A többszörös összehasonlítás gondolatmenete. Több mint két statisztikai döntés egy vizsgálatban? Mi történik az elsõ fajú hibával, ha két teljesen független.
Vektormező szinguláris pontjainak indexe
Illeszkedési mátrix Villamosságtani szempontból legfontosabb mátrixreprezentáció. Legyen G egy irányított gráf, n ponton e éllel. Az n x e –es B(G) mátrixot.
Operációkutatás szeptember 18 –október 2.
DIFFERENCIÁLSZÁMÍTÁS ALKALMAZÁSA
Mozgó Objektumok Detektálása és Követése Robotkamera Segítségével
Lineáris és nemlineáris regressziók, logisztikus regresszió
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.
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.
Papp Róbert, Blaskovics Viktor, Hantos Norbert
Előadó: Prof. Dr. Besenyei Lajos
Differenciál számítás
Lineáris algebra Mátrixok, determinánsok, lineáris egyenletrendszerek
Integrálszámítás Mire fogjuk használni az integrálszámítást a matematikában, hova szeretnénk eljutni? Hol használható és mire az integrálszámítás? (már.
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
Készítette: Kosztyán Zsolt Tibor
Az Alakfelismerés és gépi tanulás ELEMEI
Idősor elemzés Idősor : időben ekvidisztáns elemekből álló sorozat
Gazdaságstatisztika 11. előadás.
A differenciálszámtás alapjai Készítette : Scharle Miklósné
Alapsokaság (populáció)
Alapfogalmak.
Lineáris regresszió.
Folytonos eloszlások.
Két kvantitatív változó kapcsolatának vizsgálata
Belső állapotú bolyongások által meglátogatott pontok száma Nándori Péter (V.) Témavezető: Dr. Szász Domokos (BME MI)
I. előadás.
1. MATEMATIKA ELŐADÁS Halmazok, Függvények.
Algoritmizálás, adatmodellezés tanítása 8. előadás.
Bevezetés a méréskiértékelésbe (BMETE80ME19) Intervallumbecslések 2014/
Bevezetés a méréskiértékelésbe (BMETE80ME19) 2014/
A HATÁROZOTT INTEGRÁL FOGALMA
Valószínűségszámítás II.
Többdimenziós valószínűségi eloszlások
Bevezetés a méréskiértékelésbe (BMETE80ME19) 2014/
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.
Struktúra predikció Struktúra lehet Felügyelt tanulási probléma
Bevezetés a méréskiértékelésbe (BMETE80ME19) 2014/
HÁLÓZAT Maximális folyam, minimális vágás
Kontinuum modellek 1.  Bevezetés a kontinuum modellekbe  Numerikus számolás alapjai.
Integrálszámítás.
Haladó Pénzügyek Vezetés szervezés MSC I. évfolyam I
Technológiai folyamatok optimalizálása
IV. konzultáció Analízis Differenciálszámítás II.
I. Előadás bgk. uni-obuda
Gépi tanulási módszerek febr. 18.
Haladó Pénzügyek Vezetés szervezés MSC I. évfolyam I
Munkagazdaságtani feladatok
Informatikai gyakorlatok 11. évfolyam
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.
Munkagazdaságtani feladatok
Gazdaságinformatikus MSc
A mesterséges neuronhálók alapjai
Dijkstra algoritmusa: legrövidebb utak
Dijkstra algoritmusa: legrövidebb utak
Dijkstra algoritmusa: legrövidebb utak
A perceptron neurális modell és tanítása
Algoritmusok és Adatszerkezetek I.
Előadás másolata:

Gauss-keverékmodell (Gaussian Mixture Model) és tanítása az EM-algoritmussal

Bevezetés Láttuk, hogyan lehet Gauss-görbét illeszteni adatpontokra De a Gauss-görbe mint modell, nem igazán flexibilis Valós adatok eloszlása ritkán lesz tökéletesen Gauss-os Azaz a „modellezési hiba” nagy lesz Ezért bevezetünk egy új modellt, a Gauss-keverékmodellt Az egyszerű Gauss-görbénél jóval rugalmasabb az alakja Azonban a tanítása sajnos jóval nehezebb lesz Továbbra is a Maximum Likelihood célfüggvényt fogjuk használni Azonban a zárt képletes megoldás nem fog működni, ezért bevezetünk egy iteratív tanítóalgoritmust. Ez lesz az EM-algoritmus Az egyes osztályokhoz tartozó modelleket ismét külön-külön tanítjuk Az előadás arról szól, hogy hogyan lehet a modellt egyetlen osztály példáira illeszteni, ezért ci nem szerepel a jelölésben De ne feledjük , hogy az eljárást minden osztályra meg kell ismételni

Gaussian Mixture Model (GMM) A p(x) eloszlást Gauss-görbék súlyozott összegével közelítjük Képlettel: Ahol N jelöli a normális (avagy Gauss) eloszást A πk nem negatívok és összegük 1 A Gauss-komponensek K száma rögzített (bár lehetne ezt is optimalizálni) A komponensek számának növelésével a fenti görbe lényegében bármilyen eloszlást képes közelíteni, azaz jóval rugalmasabb eloszlást ad, mint egyetlen Gauss-görbe Példák:

Példák #1

Példák #2

A GMM paramétereinek becslése A modell paraméterei: πk , μk és Σk minden komponensre (k=1,..,K). A paramétereket gyakran röviden θ-val fogjuk jelölni: θ=(π1, μ1 , 1,…, πK, μK , K) A tanítás során ismét a log-likelihood függényt maximalizáljuk: Amikor p(x) egyetlen Gauss-görbe volt, egyszerűen vettük a deriváltját és annak zérushelyét kerestük Sajnos a GMM esetén a deriválás nem fog menni Más megoldásra lesz szükség – ez lesz az EM-algoritmus

A GMM paramétereinek becslése Tekintsük a log-likelihood függvényt És próbáljuk a deriváltat nullává tenni (mondjuk μk-ra nézve): Szóval ez nem megy  Egyetlen Gaussian a logaritmus kiütötte az exponenciális függvényt De most egy szumma van a logaritmus és az exp között Ez itt a gond (tartalmazza μk-t) 1 Gauss deriváltja (ugyanaz mint korábban)

Egy másik ötlet – osszuk a pontokat diszjunkt részekre Példa: a zöld pontokra 2 Gauss-ból álló keverékmondellt akarunk illeszteni Osszuk a pontokat 2 diszjunkt csoportra (klaszterre) – ld. lila görbék Ezt megtehetjük pl. a K-means klaszterező algoritmussal Ezután könnyen illeszthetünk 1-1 Gausst a klaszterekre külön-külön! Az előző órán látott módszerrel

A K-means algoritmus A legközismertebb klaszterező algoritmus A klasztereket 1-1 pont fogja reprezentálni – a centroid Input: a klaszterezendő pontok, a klaszterek Kszáma, és egy távolságfüggvény a pontok között 1.lépés: válasszunk K pontot véletlenszerűen centroidnak 2. lépés: minden pontnak találjuk meg a klaszterét (a legközelebbi centroid formájában) 3. lépés: frissítsük a centroidokat az adott klaszterbe tartozó pontok átlagaként 4. step: ha egyetlen pontnak sem változott a klasztere: STOP Else GOTO 2 Example: https://www.youtube.com/watch?v=RD0nNK51Fp8 3:00-tól

A Gauss-ok illesztésének finomítása A K-means minden pontot pontosan egy klaszterbe sorol De a valóságban a Gauss-ok átfednek, azaz minden pont mindegyik Gauss-komponensbe beletartozik valamennyire A Gauss-görbék illesztését úgy finomítjuk, hogy mindegyik pontot figyelembe vesszük, de eltérő súllyal A súly [0,1] közé fog esni, azt kifejezendő, hogy az adott pont milyen valószínűséggel tartozik az adott Gauss-görbéhez Ezt a súlyt znk fogja jelölni, és a k-adik Gauss xn mintára vonatkozó felelőssége („responsibility”) lesz a neve Az illesztéshez a k-adik Gauss likelihood fügvényét -ról módosítjuk -ra módosítjuk Ezzel a log-likelihood helyett lesz A derivált is hasonlóan egy összeg helyett egy súlyozott összeg lesz

A responsibility értékek kiszámítása A znk ”responsibility” azt fejezi ki, hogy az adott xn pont mennyire tartozik a k-adik Gauss-görbéhez Hogyan tudjuk ezt formalizálni? Ez szimplán a k-adik Gauss-komponens likelihood értéke [0,1] közé normalizálva Viszont az értéke függ a μk és Σk paraméterektől!

Az iteratív EM tanítóeljárás Összegezzük, hol is tartunk? A Gaussian-görbéket könnyedén tudjuk illeszteni a pontokra (azaz megbecsülni μk és Σk értékét), ha a responsibility értékek adottak A responsibility értékeket könnyen ki tudjuk számolni, ha a Gauss-görbék (azaz μk és Σk ) adottak Ezekből egy iteratív eljárás rakható össze – az EM-algoritmus 0. lépés: μk és Σk inicializálása (random, vagy K-means-szel) 1. lépés: (E avagy Estimation lépés): a responsibility-k becslése 2. lépés: (M avagy Maximization lépés): maximalizáljuk a Gaussian log-likelihood értékét μk és Σk újraszámolásával GOTO 1.lépés (μk és Σk megváltozott, ezért újra kell számolnunk a responsibility értékeket!)

Egy másik lehetséges értelmezés Emlékezzünk, hogy megpróbáltuk a log-likelihood függvény deriválni, de elakadtunk: Vegyük észre, hogy a problémás kifejezés megegyezik a “responsibility” értékével! Csaljunk: tegyünk úgy, mintha ez μk-tól független konstans lenne Ekkor könnyen ki tudjuk számolni a deriváltat, és így for μk –t (és ez Σk esetén is igaz ) Viszont amit kapunk, nem lesz optimális, mert csaltunk Ezért újraszámoljuk a responsibility értékeket, és megismételjük a számítást (újra és újra) Itt a gond (tartalmazza μk-t)

A paramétereket újrabecslő formulák Vegyük észre, hogy nagyon hasonlóak ahhoz, amit 1 Gauss esetén kaptunk!

Az EM-algoritmus igazolása A leírt megoldás kétségkívül végrehajtható, de honnan tudjuk, hogy konvergál a helyes megoldáshoz? A következőkben bebizonyítjuk, hogy a log-likelihood érték minden egyes iterációs lépésben csak nőhet Ezáltal a teljes eljárás lokális optimum megtalálását garantálja A bizonyítás általános, azaz nem csak GMM-ekre működik, hanem bármely modellre, ami ilyen alakba írható: (Megjegyzés: a GMM πk súlyai nemnegatívak és összegük 1, ezért P(k) diszkrét eloszlásként értelmezhetők )

A maximalizálási lépés formalizálása Eddig azt mondtuk, hogy a Gauss-görbéket paramétereit külön-külön optimalizáljuk, a likelihood maximalizálásával Ezt egyetlen formulával úgy tudjuk felírni, mint az eloszlások szorzatának maximalizálása Véve a logaritmust, a log-likelihood függvényre ezt kapjuk: Ahol znk annak a valószínűsége, hogy az xn minta a k. komponenshez tartozik. A továbbiakban ezt P θ(k| xn) jelöli:

További jelölésbeli módosítások Eddig a paramétereket θ jelölte. Az alábbiakban részletesebben elemezzük,hogy mi történik az M optimizálási lépésben. Hogy megkülönböztessük az optimalizálás előtti és utáni értékeket, az aktuális paramétereket λ’, a maximalizálással kapott új paramétereket pedig λ fogja jelölni A Gauss-komponenseket j fogja jelölni (k helyett) Összegezve tehát, célünk a log-likelihood maximalizálása Ehelyett az alábbit maximalizáljuk minden iterációs lépésben: Fontos, hogy λ’ rögzített és λ az optimalizálandó változó!

Expectation maximization A függvényt, amelyet maximalizálunk „expectation” fügvénynek is hívják, mivel ez a függvény feltételes várható értéke adott xn and λ’ esetén Ezzel a jelöléssel az EM-algoritmus két lépése: 1. Expectation (avagy estimation) lépés: kiszámoljuk a értékeket rögzített λ’ mellett, mivel szükségesek a fenti függvény számításához 2. Maximalizálási lépés: maximalizáljuk a fenti függvényt λ-ra nézve

Az EM-algoritmus igazolása Tehát, maximalizálnánk a log-likelihood értékét: De ehelyett ezt maximalizáljuk: Megmutatjuk, hogy ha a maximalizálási lépés növeli az expectation függvény értékét, azaz a régi és az új λ’ és λ-ra Akkor Azaz ha a maximalizálási lépés növeli az expectation értékét, akkor a log-likelihood értéke is nő

Bizonyítás (összegezve) Egyenlő azzal, hogy A bizonyítás megmutatja, hogy Ezért ha az utóbbi különbség nagyobb nullánál, akkor az előbbi is az, amiből átrendezéssel adódik, hogy

Bizonyítás (részletesen) =1 ≤0 (Jensen-inequality)

A kulcs a Jensen-egyenlőtlenség Általánosan, tetszőleges p(x) és q(x) eloszlásokra: Speciálisan, ebben az esetben:

Összegzés – az EM-algoritmus Bármilyen modell optimalizálására jó, amely ilyen alakú: A log-likelihood függvény helyett az expectation függvényt maximalizálja Iteratív eljárás Minden iterációs lépésben az aktuális λ’ paraméterek mellett olyan új λ paramétereket talál, amelyekre az expectation értéke nagyobb (nem kisebb) Két lépése: expectation (vagy estimation) és maximization Garantált, hogy a log-likelihood minden lépésben nő (nem csökken), ezáltal lokális optimumba vezet Az optimalizálási formulákat minden modellre külön-külön le kell vezetni

Példák 1. példa (véletlen inicializálással):

Technikai megjegyzések A paramétereket gyakran K-means klaszterezéssel inicializáljuk Ez nagyon eltérő eredményeket adhat a centroidok inicializálásától függően Ezért érdemes a klaszterezést többször lefuttatni eltérő (pl. random) inicializálással Ezután az EM-algoritmust abból a klaszterezésből indítjuk, amelyik a legnagyobb kezdeti log-likelihood értéket adja A véletlen incializálásnál persze léteznek kifinomultabb inicializálási megoldások is a M-means klaszterezéshez

Technikai megjegyzések 2 Feltételeztük, hogy a Gauss-ok száma (a k paraméter) előre adott Persze automatikusan is meg lehet próbálni megtalálni Legegyszerűbb megoldás: próbáljunk 1, 2, 3,… Gauss-t illeszteni A legnagyobb log-likelihood-ot adó modellt válassszuk Milyen hibát eredményez, ha k-t túl kicsinek választjuk? Az algoritmus lefut, de szuboptimális eredménnyel

Technikai megjegyzések 3 Mi történik, ha k-t túl nagyra választjuk? Klaszter vagy klaszterek üresen maradhatnak De már az is baj, ha egy klaszterbe túl kevés pont esik  a kovarianciamátrix nem invertálható  szingularitási probléma pl.: egyetlen példának mennyi a szórása? Emiatt az algoritmus nagyon érzékeny az „outlier” példákra

Technikai megjegyzések 4 A gyakorlatban sokszor diagonális kovarianciamátrixúra korlátozzuk a Gauss-komponenseket A szinguláris kov.mátrix esete kisebb eséllyel következik be A tanítás gyorsabbá válik Minden iterciós lépésben újra kell becsülnünk a kovarianciamátrixot, aztán pedig invertálni  ez diagonális mátrixszal jóval gyorsabb A modellezési hibát több komponens megengedésével csökkenthetjük