Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaHunor Péter Megváltozta több, mint 6 éve
1
Gauss-keverékmodell (Gaussian Mixture Model) és tanítása az EM-algoritmussal
2
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
3
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:
4
Példák #1
5
Példák #2
6
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
7
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)
8
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
9
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: 3:00-tól
10
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
11
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!
12
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!)
13
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)
14
A paramétereket újrabecslő formulák
Vegyük észre, hogy nagyon hasonlóak ahhoz, amit 1 Gauss esetén kaptunk!
15
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 )
16
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:
17
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ó!
18
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
19
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ő
20
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
21
Bizonyítás (részletesen)
=1 ≤0 (Jensen-inequality)
22
A kulcs a Jensen-egyenlőtlenség
Általánosan, tetszőleges p(x) és q(x) eloszlásokra: Speciálisan, ebben az esetben:
23
Ö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
24
Példák 1. példa (véletlen inicializálással):
25
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
26
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
27
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
28
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
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.