Gauss-keverékmodell és tanítása az Expectation Maximization algoritmussal
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 a derivált segítségével számoltuk ki
A Gauss-keverékmodell A gyakorlatban általában nyilván nem Gauss-eloszlásból származnak az adatok Új modell: Gauss-eloszlások súlyozott összege Sokkal rugalmasabb, a komponensek számának növelésével tetszőleges alakot fölvehet
Szemléltetés 2D-ben
A modell és a célfüggvény Az általános keverékmodell (λ paraméterekkel): Konkrétan a Gauss-os esetben (N a normális eloszlás): ahol a cj pozitív súlyok összege 1 A λ paramétereket (cj, μj és Σj minden j-re) ismét a Maximum Likelihood célfüggvénnyel szeretnénk optimalizálni!
A Log-likelihood célfüggvény és az Expectation segédfüggvény A ML-célfüggvény (helyett a logaritmusa): egyetlen Gauss esetén zárt képlettel tudtuk maximalizálni (a derivált zérushelyét nézve) Több Gauss esetén ez nem megy, ezért az alábbi segédfüggvényt fogjuk maximalizálni: Miért? Mert általában ezt könnyebb kezelni (pl. deriválni)
Az Expectation Maximization általános tulajdonságai Iteratív: egy iterációban az aktuális λ’ paraméterek mellett olyan új λ paramétereket keres, amelyekre az expectation célfüggvény nagyobb (nem kisebb) Lokális optimum megtalálását garantálja Bármely olyan modell esetén alkalmazható, amely a keverékmodell-sémára épül: A következőkben azt az általános elvet bizonyítjuk, hogy az expectation érték növelése a log-likelihood értéket is növeli; hogy az expectation hogyan növelhető, azt minden modellre külön le kell vezetni!
Az EM működési elve Azt akarjuk garantálni, hogy az aktuális iteráció előtti λ’ és utáni λ paraméterekre teljesüljön, hogy Megmutatjuk, hogy Azaz ha λ maximizálja az expectation függvényt az aktuális λ’ paraméterek esetén, akkor a ML likelihood célfüggvényre értéke is nő
Az EM-elv bizonyítása =1 ≤0 (Jensen-egyenlőtlenség)
A Jensen-egyenlőtlenség Felhasználtuk: Ez általában, tetszőleges p és q eloszlásra is igaz:
Miért hívják „expectation” maximization”-nek? Az expectation célfüggvény feltételes várható értéke (expectation!) az adott xn példák és λ’ modell mellett The EM-algoritmus egy iterációja két lépésből fog állni: „Expectation” (vagy estimation): kiszámoljuk az expectation számításához szükséges értékeket „Maximization”: az adott értékek mellett maximalizáljuk a célfüggvényt λ -ra
Alkalmazás a Gauss-keverékmodell esetén Az expectation függvény a derivált vizsgálatával zárt képlet formájában maximalizálható Az egész iteratív folyamat inicializálása, azaz a kezdőértékek beállítása: k-közepű klaszterezéssel