Markov Chain Monte Carlo. Jan Kracík.

Podobné dokumenty
Bayesovské metody. Mnohorozměrná analýza dat

Kombinatorická minimalizace

Apriorní rozdělení. Jan Kracík.

OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího:

Numerická stabilita algoritmů

Základní spádové metody

Pravděpodobnost a statistika, Biostatistika pro kombinované studium. Jan Kracík

UČENÍ BEZ UČITELE. Václav Hlaváč

oddělení Inteligentní Datové Analýzy (IDA)

Dynamické programování

Lineární klasifikátory

NMAF063 Matematika pro fyziky III Zápočtová písemná práce B Termín pro odevzdání 4. ledna 2019

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

STANOVENÍ SPOLEHLIVOSTI GEOTECHNICKÝCH KONSTRUKCÍ. J. Pruška, T. Parák

Odhad stavu matematického modelu křižovatek

4. Na obrázku je rozdělovací funkce (hustota pravděpodobnosti) náhodné veličiny X. Jakou hodnotu musí mít parametr k?

Matematika pro informatiky

- funkce, které integrujete aproximujte jejich Taylorovými řadami a ty následně zintegrujte. V obou případech vyzkoušejte Taylorovy řady

Numerické metody a programování. Lekce 8

Úlohy nejmenších čtverců

Derivace a monotónnost funkce

[1] samoopravné kódy: terminologie, princip

Matematika III. Miroslava Dubcová, Daniel Turzík, Drahoslava Janovská. Ústav matematiky

3. přednáška 15. října 2007

OPTIMALIZACE. (přehled metod)

Posloupnosti a řady. 28. listopadu 2015

Náhodná veličina a její charakteristiky. Před provedením pokusu jeho výsledek a tedy ani sledovanou hodnotu neznáte. Proto je proměnná, která

Primitivní funkce a Riemann uv integrál Lineární algebra Taylor uv polynom Extrémy funkcí více prom ˇenných Matematika III Matematika III Program

Úvod do teorie her

X = x, y = h(x) Y = y. hodnotám x a jedné hodnotě y. Dostaneme tabulku hodnot pravděpodobnostní

Struktury a vazebné energie iontových klastrů helia

Problém lineární komplementarity a kvadratické programování

22 Základní vlastnosti distribucí

10 Funkce více proměnných

Kapitola 11: Lineární diferenciální rovnice 1/15

n = 2 Sdružená distribuční funkce (joint d.f.) n. vektoru F (x, y) = P (X x, Y y)

Matematika 5 FSV UK, ZS Miroslav Zelený

To je samozřejmě základní pojem konvergence, ale v mnoha případech je příliš obecný a nestačí na dokazování některých užitečných tvrzení.

Interpolace, ortogonální polynomy, Gaussova kvadratura

Přednáška č. 5: Jednorozměrné ustálené vedení tepla

Dnešní program odvozování v Bayesovských sítích exaktní metody (enumerace, eliminace proměnných) aproximační metody y( (vzorkovací techniky)

Definice 7.1 Nechť je dán pravděpodobnostní prostor (Ω, A, P). Zobrazení. nebo ekvivalentně

Nelineární optimalizace a numerické metody (MI NON)

stránkách přednášejícího.

Úvod do optimalizace, metody hladké optimalizace

Numerická matematika 1

Monte Carlo. Simulační metoda založená na užití stochastických procesů a generace náhodných čísel.

Matematika V. Dynamická optimalizace

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

Dnešní látka: Literatura: Kapitoly 3 a 4 ze skript Karel Rektorys: Matematika 43, ČVUT, Praha, Text přednášky na webové stránce přednášejícího.

Vztah jazyků Chomskeho hierarchie a jazyků TS

Numerické metody optimalizace - úvod

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

Aplikovaná numerická matematika

Technická univerzita v Liberci ROBUST

9. přednáška 26. listopadu f(a)h < 0 a pro h (0, δ) máme f(a 1 + h, a 2,..., a m ) f(a) > 1 2 x 1

Určujeme neznámé hodnoty parametru základního souboru. Pomocí výběrové charakteristiky vypočtené z náhodného výběru.

Dijkstrův algoritmus

Statistika a spolehlivost v lékařství Charakteristiky spolehlivosti prvků I

Výpočet nejistot metodou Monte carlo

Drsná matematika III 3. přednáška Funkce více proměnných: Inverzní a implicitně definovaná zobrazení, vázané extrémy

Pravděpodobnost a statistika, Biostatistika pro kombinované studium. Tutoriál č. 5: Bodové a intervalové odhady, testování hypotéz.

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Integrace. Numerické metody 7. května FJFI ČVUT v Praze

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Arnoldiho a Lanczosova metoda

Numerické řešení nelineárních rovnic

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Statistická teorie učení

Přijímací zkouška - matematika

Zada ní 1. Semina rní pra ce z pr edme tu Matematický software (KI/MSW)

Základy matematické analýzy

Neparametrické odhady podmíněné rizikové funkce

Intervalová data a výpočet některých statistik

3. Přednáška: Line search

Báze konečněrozměrných vektorových prostorů, lineární zobrazení vektorových prostorů

ALGEBRA. Téma 5: Vektorové prostory

PRIMITIVNÍ FUNKCE. Primitivní funkce primitivní funkce. geometrický popis integrály 1 integrály 2 spojité funkce konstrukce prim.

Matematické přístupy k pojištění automobilů. Silvie Kafková září 2013, Podlesí

Aproximace funkcí. Numerické metody 6. května FJFI ČVUT v Praze

Komerční výrobky pro kvantovou kryptografii

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Pravděpodobnost, náhoda, kostky

Agent pracující v částečně pozorovatelném prostředí udržuje na základě senzorického modelu odhaduje, jak se svět může vyvíjet.

Charakterizace rozdělení

Datové struktury 2: Rozptylovací tabulky

Jiří Neubauer. Katedra ekonometrie, FVL, UO Brno kancelář 69a, tel

PRAVDĚPODOBNOST A STATISTIKA

Kreditní rating a jeho modelování pomocí markovských procesů. Dana Němcová

Subexponenciální algoritmus pro diskrétní logaritmus

Pravděpodobnostní algoritmy

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Náhodné vektory a matice

PRIMITIVNÍ FUNKCE DEFINICE A MOTIVACE

AVDAT Nelineární regresní model

Markovské metody pro modelování pravděpodobnosti

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014

1.1 Existence a jednoznačnost řešení. Příklad 1.1: [M2-P1] diferenciální rovnice (DR) řádu n: speciálně nás budou zajímat rovnice typu

Generování pseudonáhodných. Ing. Michal Dorda, Ph.D.

Transkript:

Markov Chain Monte Carlo Jan Kracík jan.kracik@vsb.cz

Princip Monte Carlo integrace Cílem je (přibližný) výpočet integrálu I(g) = E f [g(x)] = g(x)f (x)dx. (1) Umíme-li generovat nezávislé vzorky x (1), x (2),... z rozdělení s hustotou pravděpodobnosti f (x), lze (1) aproximovat I N (g) = 1 N N i=1 ( g x (i)). Podle silného zákona velkých čísel platí I N (g) a.s. I(g).

Zamítací metoda Předpokládejme, že hustotu f (x) lze shora omezit integrovatelnou funkcí m(x) = Mg(x), kde M 1 a g(x) je hustota pravděpodobnosti. Algoritmus (generování 1 vzorku) Vstup: f (x), g(x), M 1 Generuj Y g. 2 Generuj U U( 0, 1 ). 3 Jestliže U f (Y ) Mg(Y ), polož X = Y. Jinak jdi na. 1 Výstup: X

Nevýhody zamítací metody Je obtížné najít g(x) splňující požadavky: snadné vzorkování z g(x), vysoká pravděpodobnost příjetí vzorku, tj. malé M, pro něž f (x) Mg(x). S rostoucí dimenzí veličiny x, klesá efektivita (pravděpodobnost přijetí vzorku). Př: vícerozměrné normální rozdělení s omezeným nosičem Pro větší dimenze je zamítací metoda prakticky nepoužitelná. Řešením jsou metody MCMC.

Markov Chain Monte Carlo Markov Chain Monte Carlo (MCMC) metody jsou simulační metody generující vzorky z ergodického Markovovského řetězce s daným stacionárním rozdělením (cílové rozdělení). Markovovský řetězec lze generovat mnohem efektivněji než nezávislé vzorky. Standardní nástroj pro bayesovské metody (nelze-li řešit analyticky). Lze modifikovat na optimalizační algoritmy.

Metropolisův Hastingsův algoritmus Metropolisův Hastingsův algoritmus je obecný MCMC algoritmus. Mnoho v praxi využívaných MCMC algoritmů lze chápat jako jeho speciální případy. Vstupy: Cílová hustota f (x) Návrhová hustota (proposal density) q(x x) Algoritmus je iterační, postupně generuje hodnoty Markovovského řetězce x (1), x (2),.... Tento řetězec označujeme jako Metropolisův.

Metropolisův Hastingsův algoritmus Algorithm 1 Metropolisův Hastingsův algoritmus 1: zvol x (0) tak, aby f (x (0) ) > 0 2: for i = 1 to N do 3: vygeneruj u U( 0, 1 ) 4: vygeneruj x q(x { x (i 1) ) } 5: A(x (i 1), x ) := min f (x )q(x (i 1) x ) f (x (i 1) )q(x x (i 1) ), 1 6: if u < A(x (i 1), x ) then 7: x (i) := x 8: else 9: x (i) := x (i 1) 10: end if 11: end for

Metropolisův Hastingsův algoritmus Poznámky: z f (x (0) ) > 0 plyne f (x (i) ) > 0 pro všechna i vzorky x s jsou vždy přijaty f (x ) q(x x (i 1) ) f (x (i 1) ) q(x (i 1) x ) pro symetrickou q(x x (i 1) ), tj. q(x x (i) ) = q(x (i) x ), je pravděpodobnost přijetí určena poměrem f (x ) f (x (i) )

Metropolisův Hastingsův algoritmus Podmínky praktického použití: f (x) určená až na konstantu lze snadno vzorkovat z q(x x (i) ) q(x x (i) ) určená až na konstantu nezávislou na x (i) nebo symetrická pro efektivitu algoritmu je zásadní volba vhodné návrhové hustoty q(x x (i) )

Metropolisův Hastingsův algoritmus Aby f (x) mohlo být limitním rozdělením Metropolisova řetězce, musí q(x x (i) ) splňovat nutnou podmínku supp f x supp f supp q( x) Je-li tato podmínka splněna, platí, že f (x) je stacionárním rozdělením Metropolisova řetězce

Metropolisův Hastingsův algoritmus Tvrzení Necht ( X (i)) je Metropolisův řetězec a pro návrhovou hustotu q(x x (i) ) a cílovou hustotu f (x) z Metropolisova Hastingsova algoritmu 4 platí supp f supp q( x). x supp f Pak f (x) je stacionárním rozdělením ( X (i)).

Metropolisův Hastingsův algoritmus Důkaz Označme r(x (i 1) ) = A(x (i 1), x)q(x x (i 1) )dx. Pro přechodovou hustotu pravděpodobnosti Metropolisova řetězce pak platí K MH (x (i) x (i 1) ) = A(x (i 1), x (i) )q(x (i) x (i 1) ) + (1 r(x (i 1) ))δ(x (i) x (i 1) ).

Metropolisův Hastingsův algoritmus Pro f (x) platí A(x (i 1), x (i) )q(x (i) x (i 1) )f (x (i 1) ) { } f (x (i) )q(x (i 1) x (i) ) = min f (x (i 1) )q(x (i) x (i 1) ), 1 q(x (i) x (i 1) )f (x (i 1) ) { } = min f (x (i) )q(x (i 1) x (i) ), f (x (i 1) )q(x (i) x (i 1) ). Podobně A(x (i), x (i 1) )q(x (i 1) x (i) )f (x (i) ) { } = min f (x (i 1) )q(x (i) x (i 1) ), f (x (i) )q(x (i 1) x (i) ) = A(x (i 1), x (i) )q(x (i) x (i 1) )f (x (i 1) ) (2)

Metropolisův Hastingsův algoritmus Dále z vlastností Diracovy δ-funkce plyne (1 r(x (i 1) ))δ(x (i) x (i 1) )f (x (i 1) ) Z (2) a (3) plyne = (1 r(x (i) ))δ(x (i 1) x (i) )f (x (i) ). (3) K (x (i) x (i 1) )f (x (i 1) ) = K (x (i 1) x (i) )f (x (i) ). Odtud dostáváme K (x (i) x (i 1) )f (x (i 1) )dx (i 1) = f (x (i) ), z čehož plyne, že f (x) je hustotou stacionárního rozdělení Metropolisova řetězce.

Metropolisův Hastingsův algoritmus K tomu, aby podobně jako u klasických MC metod platilo I N (g) = 1 N N i=1 ( g x (i)) a.s. g(x)f (x)dx (4) nezávisle navolbě x (0), musí být splněny další podmínky. Postačující podmínkou je 1 aperiodicita a 2 tzv. Harrisovská rekurence Metropolisova řetězce.

Metropolisův Hastingsův algoritmus Aperiodicita bude zaručena, pokud ( ) P f (x )q(x (i 1) x ) f (x (i 1) )q(x x (i 1) ) < 1, tj. pokud v MH algoritmu může dojít k zamítnutí navrženého vzorku x. Harrisovská rekurence zjednodušeně znamená, že každá trajektorie Markovovského řetězce projde libovolnou množinou nekonečněkrát s pravděpodobností 1. Toto bude splněno, např. tehdy, pokud x, x supp : q(x x) > 0.

Metropolisův Hastingsův algoritmus Další postačující podmínkou pro platnost (4) je, aby f (x) byla omezená a kladná na každé kompaktní podmnožině supp f a aby existovaly ε, δ > 0 takové, že x, x supp f : x x < δ q(x x) > ε. Poznámka: Podle obou kritérií konvergenci zaručí např. návrhové rozdělení x x N (x, σ 2 ).

Metropolisův Hastingsův algoritmus V praxi se často využívají speciální případy Metropolisova Hastingsova algoritmu a odvozené varianty. Metropolisův algoritmus independent sampler Gibbsův sampler Langevinův algoritmus (Langevinova difúze) adaptivní MCMC směsi a cykly MH jader reversible jump (pro úlohy s volbou modelu) simulované žíhání (optimalizační metoda)...

Independent sampler Speciální případ Metropolisova Hastingsova algoritmu, návrhová hustota nezávisí na předchozích vzorcích. q(x x (i 1) ) = q(x ) Pak A(x (i 1), x ) := min { } f (x )q(x (i 1) ) f (x (i 1) )q(x ), 1. Independent sampler bude efektivní jen když návrhová hustota q(x) alespoň přibližně kopíruje cílovou hustotu f (x). Independent sampler se hodí např. tehdy, chceme-li v Metropolisově řetězci zajistit dlouhé skoky a usnadnit tak procházení celé množiny hodnot (při mnoha lokálních extrémech apod.).

Independent sampler Algorithm 2 Independent sampler 1: zvol x (0) tak, aby f (x (0) ) > 0 2: for i = 1 to N do 3: vygeneruj u U( 0, 1 ) 4: vygeneruj x q(x { x (i 1) ) } 5: A(x (i 1), x ) := min f (x )q(x (i 1) ) f (x (i 1) )q(x ), 1 6: if u < A(x (i 1), x ) then 7: x (i) := x 8: else 9: x (i) := x (i 1) 10: end if 11: end for

Metropolisův algoritmus Speciální případ Metropolisova Hastingsova algoritmu, návrhová hustota je symetrická. Pak q(x x (i 1) ) = q(x (i 1) x ) { f (x A(x (i 1), x } ) ) := min f (x (i 1) ), 1. V praxi často používaný algoritmus, jednoduchá implementace. Častá volba q(x x (i 1) ) normální se středem v x (i 1).

Metropolisův algoritmus Algorithm 3 Metropolisův algoritmus 1: zvol x (0) tak, aby f (x (0) ) > 0 2: for i = 1 to N do 3: vygeneruj u U( 0, 1 ) 4: vygeneruj x q(x { x (i 1) ) } 5: A(x (i 1), x ) := min f (x ) f (x (i 1) ), 1 6: if u < A(x (i 1), x ) then 7: x (i) := x 8: else 9: x (i) := x (i 1) 10: end if 11: end for

Simulované žíhání Simulované žíhání (simulated annealing) je metoda pro globální optimalizaci založená na MCMC algoritmech. Hledáme ˆx = argmax f (x). Časté využití: MLE, MAP není omezeno na hustoty (f (x) nemusí být normalizovaná) Idea: ˆx =. argmax f (x (i) ) i=1,...,n Vzorků z okolí glob. extrému bude většinou velmi málo. Proto vzorkujeme z nehomogenního Markovovského řetězce se stacionárním rozdělením f i (x) f 1 T i (x).

Simulované žíhání T i je klesající posloupnost s lim i T i = 0. f 1 T i (x) se s rostoucím i koncentruje v okolí globálního maxima. Úspěch závisí na volbě posloupnosti T i. Častá volba T i = (C ln(i + T 0 )) 1, kde C, T 0 jsou vhodně zvolené konstanty (závisí na konkrétním problému).

Simulované žíhání Algorithm 4 Simulované žíhání 1: zvol x (0) tak, aby f (x (0) ) > 0 2: for i = 1 to N do 3: vygeneruj u U( 0, 1 ) 4: vygeneruj x q(x x (i 1) ) 5: nastav T i podle zvoleného { schématu 6: A(x (i 1), x ) := min 7: if u < A(x (i 1), x ) then 8: x (i) := x 9: else 10: x (i) := x (i 1) 11: end if 12: end for 1 T f i (x )q(x (i 1) x ) 1 T f i (x (i 1) )q(x x (i 1) ), 1 }

Směsi a cykly MCMC jader Důležitou vlastností MCMC metod je možnost kombinovat více MCMC generátorů. Mají-li přechodová jádra K 1, K 2 stacionární rozdělení f (x), pak stejné stacionární rozdělení má i směsové jádro αk 1 + (1 α)k 2, pro α (0, 1). Totéž platí pro cyklické jádro K 1 K 2.

Směsové jádro Směsová jádra mohou např. využívat αk 1 + (1 α)k 2 jádro K 1 pro hrubé procházení celého prostoru (Independent sampler), jádro K 2 generující malé kroky pro důkladné lokální procházení (Metropolisův algoritmus). Tento postup je vhodný např. pro hustoty s mnoha vzdálenými lokálními extrémy.

MCMC se směsovým jádrem Algorithm 5 MCMC se směsovým jádrem 1: zvol x (0) tak, aby f (x (0) ) > 0 2: for i = 1 to N do 3: vygeneruj z U( 0, 1 ) 4: if z < α then 5: proved krok MH algoritmu s jádrem K 1 6: else 7: proved krok MH algoritmu s jádrem K 2 8: end if 9: end for

MCMC s cyklickým jádrem Cyklická jádra K = K 1 K 2... K r lze využít pro generování vzorků náhodných vektorů x (i) po částech. Každé jádro generuje jen některé složky vektoru x (i) (blok). Využívá se např. tehdy, lze-li vektor x rozdělit na bloky, uvnitř kterých jsou složky silně korelované. Speciálním případem MCMC algoritmu s cyklickým jádrem je Gibbsův sampler

Gibbsův sampler Předpokládejme, že x = (x 1, ldots, x n ) je náhodný vektor a pro cílovou hustotu f (x) lze snadno najít podmíněné hustoty f (x j x 1,..., x j 1, x j+1,..., x n ). (5) Gibbsův sampler je MCMC algoritmus, který cyklicky generuje všechny složky vektoru x MH algoritmem s návrhovou hustotou (5).

Gibbsův sampler Algorithm 6 Gibbsův sampler 1: zvol x (0) tak, aby f (x (0) ) > 0 2: for i = 1 to N do 3: vygeneruj x (i) 1 f (x 1 x (i 1) 2, x (i 1) 3,..., x (i 1) n ) 4: vygeneruj x (i) 2 f (x 2 x (i) 1, x (i 1) 3,..., x (i 1) n ) 5:... 6: vygeneruj x (i) j f (x j x (i) 1,..., x (i) j 1, x (i 1) j+1,..., x (i 1) n ) 7:... 8: vygeneruj x (i) n f (x n x (i) 1,..., x (i) n 1 ) 9: end for

Gibbsův sampler Každý dílčí krok 1 iterace Gibbsova sampleru lze chápat jako krok MH algoritmu s návrhovou hustotou f (x q(x x (i 1) j x (i 1) j ) pro x j = x (i 1) j ) = 0 jinak, kde Pak platí, že x j = (x 1,..., x j 1, x j+1,..., x n ). A(x (i 1), x ) = 1, tj. k přijetí navrženého vzorku dochází vždy.

Gibbsův sampler Gibbsův sampler se často používá pro Markovovská náhodná pole, protože f (x j x 1,..., x j 1, x j+1,..., x n ) = f (x j x Nj ), jejíž výpočet bývá relativně snadný a jeho složitost nezávisí na velikosti pole.