MCMC-menetelmien ongelmakohtia ja ratkaisuja Aleksi Saari 72 Lähteet: Mackay: Introduction to Monte Carlo Methods Neal: Suppressing Random Walks in Markov Chain Monte Carlo Using Ordered Overrelaxation
2 Sisältö MCMC-menetelmien ongelmakohtia: hitaus konvergoinnin mittaus ja resurssien jako Tehostettuja MCMC-menetelmiä: hybridi Monte Carlo simuloitu karkaisu (Simulated annealing ylirelaksaatio (Overrelaxation ja järjestetty ylirelaksaatio
3 Mistä johtuu MCMC-menetelmien hitaus? Usein jakaumassa olevia korrelaatiota ei saada poistettua Tästä seuraa että otannassa on käytettävä hyvin pieniä askelia: T (σ max /σ min 2 Menetelmät ovat alttiita satunnaiskululle (random walk Menetelmien konvergoimiseen kuluvaa aikaa on vaikea arvioida Alaraja voidaan onnistua määrittämään mutta tarkan arvion tekeminen on hankalaa Laskennan mahdollista konvergointia on vaikea mitata Esim algoritmi voi juuttua "saarekkeeseen" pitkäksi aikaa jolloin saadaan väärä vaikutelma konvergoinnista
4 Suurten mallien käsittely Metropolis -menetelmää voidaan muuttaa siten että yhden uuden tilan etsintään käytettävän funktion Q(x ; x sijaan käytetään useita funktiota Q (b (x ; x Tällöin (ehdollinen päivitys kohdistetaan yhteen tai useampaan muuttujaan Gibbsin -menetelmän käyttö voi tehostua jos päivitetään kerralla yhden muuttujan sijasta suurempaa muuttujien osajoukkoa: x (t+ x (t+ a P (x x a x t a+x t K x (t+ a+ x(t+ b P (x a+ x b x t b+
5 Näytteiden määrä ja resurssien jako Tarvittavien näytteiden määrä ei ole riippuvainen ongelman dimensiosta vaan ainoastaan mitattavan suureen varianssista σ 2 = P (x(φ(x Φ 2 dx Tällöin jo pienellä määrällä näytteitä saadaan hyvä arvaus tutkittavalle ongelmalle Esim kahdellatoista näytteellä saadaan suureen estimaatille arvo jonka tarkkuus on σ/ 2 Edustavatkaan näytteet eivät tosin paljasta kaikkea jakaumasta ja ongelman luonteesta
h O K i L? E? E L D E K M TWO D? E O K Q K? E I O D G I K F Y D E E D @ G @ G MWH I F G J K L M K G I K N R h O K C D? E? E L D E K M T A D T O D J K E O K D P J D G E D M K E O D E E O K I F L L K C D E @ F G? Q K E V K K G E O K L K I F L P K P? D A c C K? D L K? A D C C K L R h O K A @ P P C KXc D E OXD c c K D L? E FXQ K c F c B C D L V @ E OXl7D L m F J I O D @ GWlWF G E K t D L C F K u c K L E? Q K I D B? K @ E D J F @ P? E O K @ G K v I @ K G I T7F Y P @? I D L P @ G M On olemassa erilaisia strategioita laskea halutut näytteet samalla resurssien määrällä: Lasketaan yksi pitkä Markovin ketju josta näytteet otetaan 2 Lasketaan monta kohtalaisen pitkää ketjua joista näytteet otetaan 3 Lasketaan jokaista näytettä varten oma Markovin ketju ( (2 (3! " # # $ " $ $ % & $ # # % $ '! ( # % * + ( # $ & - ( $ $ ( " ( $ $ ( # $ / # $ # 2 ( / ' $ - - 3 4 5 7 # % # - # $ # % & # # % 8 # # 9 & ' / ( # % 3 : 5 ; ( ( < # % $ # ' $ = # $ # $ - # $ # # ( ( < # % $ # # 3 > 5 '! $ # Pidempi Markovin ketju konvergoi todennäköisemmin oikeaan jakaumaan ja laskennan? @ A B C D E @ F G H I F G J Kparametrejä L M K? N E F E O K P K? @ L K P P @? E L @ Q B E @ F G R S @ G D C Ctarvitsee T U D? E O K? @ A B C D E @ F G säätää vain kerran I F G E @ G B K? U V K L K I F L PWE O K? E D E K J K I E F L F I I D? @ F G D C C T7? FWD? E FXI L K D E K D C @? E F Y? E D E K? Z [ \ ] ^ _ E O D E V K O F c K D L K L F B M O C T @ G P K c K G P K G E? D A c C K? Y L F Aed f [ g R `] mutta lyhyet Markovin a b h O K L K D L K? ketjut K J K L D C c F?? @ Q C K? E L D Eovat K M @ K? f i M B L KXj kparemmin g R rippumattomia toisistaan Kultaista keskitietä suositaan j R l7d m K F G K C F G MXL B G U F Q E D @ G @ G MWD C C no? D A c C K? Y L F Ap@ E R R l7d m K D Y K VA K P @ B AqC K G M E O7L B G? V @ E OWP @ r K L K G E @ G @ E @ D C I F G P @ E @ F G? U F Q s E D @ G @ G M? F A K? D A c C K? Y L F AeK D I O R k R l7d m K no? O F L E L B G? U K D I O? E D L E @ G M Y L F AD P @ r K L K G E L D G P F Ae@ G @ E @ D C I F G s P @ E @ F G U V @ E O E O K F G C T? E D E K E O D E @? L K I F L P K PXQ K @ G M E O K i G D C? E D E K F Y K D I O? @ A B C D E @ F G R
7 Hybridi Monte Carlo Soveltuu jakaumille jotka saadaan kirjoitettua muotoon P (x = e E(x Z E(x ja sen gradientti on lisäksi pystyttävä määrittämään Määritellään Hamiltonin funktio H(x p = E(x + K(p jossa K(p kuvaa kineettistä energiaa esim K(p = p T p/2 Saadaan uusi jakauma P H (x p = Z H exp[ H(x p] = Z H exp[ E(x]exp[ K(p] josta alkuperäinen jakauma saadaan yksinkertaisesti jättämällä potentiaalitermi pois Potentiaalimuuttujan p käytöstä seuraa että lopputilan etäisyys alkutilasta kasvaa lineaarisesti lasketa-ajan kasvaessa ja laskenta voi nopeutua jopa kertoimella tai
8 Tilamuuttujaa ja potentiaalimuuttujaa päivitetään kahdessa vaiheessa: p exp[ K(p]/Z K 2 x = p p = E(x x vaihe: otetaan uusi potentiaalimuuttuja normaalijakaumasta 2 vaihe: päivitetään tila -ja potentiaalimuuttujaa siten että Hamiltonin funktio pysyy (likimain vakiona Tilan x todennäköisyyden ollessa pieni sen muutos on suuri ja toisinpäin Lisäksi tilaa muutetaan gradientin suuntaan Mackay: 2 vaiheessa tehdään N-kappaletta (hihavakio "leap frog" -askelia ts paloittainen lineaarinen approksimaatio
9 5-5 5-5 - - - -5 5-5 -5 - -5 5 5 5-5 -5 - - -5 5 - - -5 5! " # $ % & ' ( # * &! % # + & $ & % & * - ( & * # / % & * 2 * $ 3 % 4 5 # & ( % # $ 798 : ; ; < = 5! > $! #? 3 ( @ " & % # - # ( * & % 4 #! # 5 # - * # $ = A % % $ + # B% 4 & * % % & $! 5 % &!9 % 4 & # 3 % 4 & 5 # $ % $ # * ( $ & & - & * & $ % * % 3 # * 5 5 & * * & % C & 5 % # & * + & $ & % &!9 % 4 & ( % # $ $D! $ 5 * = E 4 & * F & * * 4 # 3/% 4 & & $! - # $ % * # % 4 & * & % 3 # % C & 5 % # & * = G 5 4 % C & 5 % # 5 # $ * * % * # H I J 79K ; L ( & - # + M * % & - * 3 % 4 N O P Q R S T 798 : 8 U U = V % & & 5 4 % C & 5 % # % 4 & # & $ % W * $! # X &! = & & # % 4 % C & 5 % # & * & 5 5 & - % &! Y % 4 & & # * $ % 4 & ( % # $ $ 3 & & Z 8 : 8 K [ $! \ 8 : 8 [ & * - & 5 2 % & ( = E 4 & * & 5 # $! ] + & * 4 # 3 * 4 # 3D * & F & $ 5 & # # % C & 5 % # & * 5 # $ & + & * # $ $ % ( 5 # $! % # $ $! 5 % &! % 4 & # 3 % 4 % * $ # % 5 ( # * & % # % 4 & % - 5 ( * & % # % 4 & % + & %! * % % # $ = E 4 & % C & 5 % # - & % & * H I J $!9N O P Q R S T 3 & & $! # X &!9 # & 5 4 % C & 5 % # * $ + $ # B! * % % # $ * 3 % 4 & $ * K ; $! 8 = 8 U U & * - & 5 % & ( = E 4 & ] * % % C & 5 % # % @ & * * % # $ & 3D* % % & \ K : U ^ \ 8 : U * ( $ & $ & + % # % 4 & ] * % * % % & = E 4 & * & 5 # $! % C & 5 % # 4 - - & $ * % # & $! $ * % % & $ & & % 4 & # % % # W# % 4 & & $ & + ( $! 2 * 5 - & = & & * $ 5 & % 4 & - # % & $ % ( & $ & + 9_W * * ( ( & % 4 & @ $ & % 5 & $ & + 9à7Bb c d e * $ & 5 & * * ( ( + & % 4 $ % 3 * % % 4 & * % % = f 4 & $ % 4 & # & $ % W * $! # X &! # % 4 & % 4! % C & 5 % # % * + $ %! & & 5 # & * 5 4 * ( ( & = V % & % 4 & # % 4 % C & 5 % # 4 * & & $ * ( % &! % 4 & * % % & - - & * % # 4 & & 5 # & % - 5 ( # % 4 & % + & %! & $ * % = 5 V $! #? 3 ( @9" & % # - # ( * & % 4 #!9 * $ + * * $9- # - # * (! & $ * % 3 % 4! * * 5 4 Kuvat a ja b esittävät hybridin Monte Carlo -menetelmän kulkua kun lähtöarvaus on todennäköinen/epätodennäköinen Kuvat c ja d esittävät tavallisen Metropolis -menetelmän kulkua samoilla lähtöarvauksilla
Simuloitu karkaisu Soveltuu jakaumille jotka saadaan kirjoitettua muotoon E(x on pystyttävä määrittämään P (x = e E(x Z Menetelmässä otannan kohteena olevan funktion "lämpötilaa" T lasketaan vähitellen korkeasta lämpötilasta matalampaan jolloin voidaan välttää juuttuminen epäedustavaan saarekkeeseen Otanta on hieman biasoitunut mutta sen korjaamiseksi on olemassa menetelmiä Yksinkertaisin muoto: P T (x = Z(T e E(x T t + Jos E(x voidaan hajottaa siististi käyttäytyvään ja hankalaan osaan E(x = E (x + E (x voidaan käyttää muunnosta: P T (x = Z (T e E (x E (x/t t +
Ylirelaksaatio Ylirelaksaatio on hybridiä Monte Carlo -menetelmää vastaava menetelmä Gibbsin otannan tehostamiseen jolla pyritään vähentämään satunnaiskulkua Soveltuu menetelmille joiden ehdolliset todennäköisyysjakaumat ovat gaussisia Adlerin menetelmässä ehdollista gaussista jakaumaa biasoidaan korreloimaan negatiivisesti vanhan arvon kanssa (α on yleensä negatiivinen jos α > puhutaan alirelaksaatiosta x t+ i = µ + α(x (t i ν N( ja α [ ] µ + ( α 2 /2 σν Menetelmä ei ole tarkasti tasapainoinen (detailed balance mutta se konvergoi P (x:ään joten sitä voidaan käyttää otannassa
l 2 5-5 5-5 - - - -5 5 - -5 5-2 -4 - -8 - - -8--4-2 2 * *! + " # / $ %'& >? ( @ * AB * B + C - D E / F G 2 3 * 3 3 4 H = 5 / 2 7 < /8 * 8 I 3 @ 3 / 9 * : +/ / ; 3 < J * 2 8 /( / * * / / 7 / = ( 3 3 +( / / ; 5 / = : 4 < 8 ( * / 8 + 3 D G ( * * + - / 9 4 4 KL?'M @ AB C D E G /3-2 3 3 /( +N + * * ; 4 9P5 ( += +O /3 8 2 3 ( / L = * DF 9 G O 4 / 4 3 N +/ 3 3 5 3 5P 2 ( = * * * R S + T - U V / R Q9?QW D E 8 F 4L* X 4 = /+ 2 3 E F J 3 5 / ; 5 3 : 3 9 O / ; = : 2 / * / D E Y < * Z + E W B B [ F DF < \ P] ^ _ ` a b ` P c ^ d ' ^e Qf g h i j k m n o L c ^' c ^ m c p ^ ^ q o r \ m c 'p ^ ^ o P m f l 's t u v w L ^P c p o o m f l f lg h k d c L] ^ _ c ^L f l Kuvissa a esitetään Gibbsin otannan ja ylirelaksaation toimintaa kun kaksi muuttujaa ovat vahvasti korreloituneita Kuva b on suurennus ylirelaksaation kaksiosaisesta toiminnasta
3 Järjestetty ylirelaksaatio (Neal 998 Ylirelaksaatiomenetelmä joka soveltuu myös tapauksiin joissa ehdolliset todennäköisyydet eivät ole gaussisia Menetelmän toiminta: Generoi K riippumatonta arvoa x i :lle ehdollisesta todennäköisyysjakaumasta P (x i {x j } j i 2 Järjestä lukujoukko vanhan arvon kera järjestykseen: x ( i x ( i x r i = x i x K i jossa r on vanhan arvon indeksi ko järjestyksessä 3 Aseta uusi arvo: x i = x(k r i
4 Jokaisella kierroksella siis generoidaan K riippumatonta arvoa mutta useissa tapauksissa menetelmän tuoma nopeutus korvaa laskennan määrän kasvun Jos käytettävissä on kumulatiivinen ehdollinen todennäköisyysfunktio F (x ja sen käänteisfunktio F (x voidaan uusi arvo x i saada laskematta K:ta riippumatonta arvoa Lisäksi joissain tapauksissa K:n riippumattoman arvon generointi ehdollisesta todennäköisyysfunktiosta vaatii vähemmän kuin K-kertaisen resurssimäärän
5 4 5 7!" # $!% % & & ' (!" # " 2 3 4 5 4 5 7!" # * * + * * ' '! " " -! /2 2 3 4 5 Ylemmässä kuvassa Gibbsin menetelmän antama arvo τ:lle ja alemmassa τ:n arvo järjestettyä ylirelaksaatiota käyttäen Oikea arvo τ:lle on 5 4 5 7!" # * * + * * ' '! " " -! /3 4 4 2 3 4 5
Yhteenveto Perus MCMC -menetelmät ovat monissa tilanteissa liian hitaita mutta niitä voidaan nopeuttaa Sopivan menetelmän valinta riippuu tutkittavasta jakaumasta Resurssien jako on myös yksi huomioitava seikka MCMC -menetelmiä käytettäessä