Metropolis Hastings Algoritam 1 Libre

Embed Size (px)

Citation preview

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    1/19

    Univerzitet u Novom Sadu PrirodnoMatematiki Fakultet

    Seminarski Rad D

    Monte Carlo simulacije sa lancima Markova

    i MetropolisHastings algoritam

    Profesor: StudentAutorMilo Stojakovi eljko Lui 212m/13 Raunarske nauke

    Novi Sad, 2014

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    2/19

    1

    Sadraj:

    Uvod ........................................................................................................................................................................................ 2

    Monte Carlo metode ............................................................................................................................................................... 3

    Aproksimacija broja ........................................................................................................................................................ 3Monte Carlo integracija ...................................................................................................................................................... 5Lanac Markova ....................................................................................................................................................................... 6

    Monte Carlo simulacije sa lancima Markova.......................................................................................................................... 7

    Google-ove PageRank vrednosti ......................................................................................................................................... 8

    Acceptance-Rejection metod .................................................................................................................................................. 9

    MetropolisHastings Algoritam ............................................................................................................................................ 9

    Ideja..................................................................................................................................................................................... 9

    Generiki Monte Carlo algoritam koji koristi lance Markova.......................................................................................... 10

    Nezavisan MetropolisHastings algoritam ..................................................................................................................... 11

    Selekcija kandidata ........................................................................................................................................................... 12

    Sluajno etanje ................................................................................................................................................................ 12

    Metropolis - Hastings algoritma sa sluajnim etanjem ................................................................................................... 12

    MH algoritam za Hard Disks In A Box problem .............................................................................................................. 13

    Random Walk MH algoritam za simuliranje surfovanja na Web-u .................................................................................. 16

    Zakljuak............................................................................................................................................................................... 17

    Literatura ............................................................................................................................................................................... 18

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    3/19

    2

    Uvod

    Great algorithms are the poetry of computation.Francis Sullivan,

    Institute for Defense Analyses,

    Center for Computer Science,

    Bowie, Maryland.

    Ovaj naunik, Jack Dangarra(University of Tennessee, Oak Ridge National Laboratory) sastavili su listu od10 algoritama koji su imali najvei uticaj na razvoj i napredak nauke i inenjerstva u 20. veku i ovaj spisak se

    pojavio u jednom od izdanja Computing in Science and Engineering magazina. Spisak najuticajnijihalgoritama, porean opadajue po uticaju je:

    1. 1946: The Metropolis Algorithm for Monte Carlo.Koristai sluajne procese, ovaj algoritam prua

    efikasan nain da se da odgovor na probleme koji su previe komplikovani da se ree egzaktno.2. 1947: Simplex Method for Linear Programming.Metod za reavanja problema koji su vezani za

    planiranje i donoenje odluka (naroito u ekonomiji).3.

    1950: Krylov Subspace Iteration Method.Tehnika za efikasno reavanje linearnih jednaina.4. 1951: The Decompositional Approach to Matrix Computations.Skup tehnika korienih u

    numerikoj linearnoj algebri.5. 1957: The Fortran Optimizing Compiler.Pretvara kod na visokom nivou u efikasan kod kojeg

    raunar razume.6. 1959: QR Algorithm for Computing Eigenvalues.Jo jedan krucijalan metod za rad sa matricama.7.

    1962: Quicksort Algorithms for Sorting.Algoritam za efikasno upravljanje velikim bazama podataka.

    8. 1965: Fast Fourier Transform.Verovatno najvie prisutan algoritam sadanjice, razbija talase (npr.zvuk) u periodine komponente.

    9. 1977: Integer Relation Detection.Efikasan metod za nalaenje jednostavnihjednainakoje su

    zadovoljene kolekvijom nezavisnih brojeva.

    10.1987: Fast Multipole Method. Primenljiv u irokom spektru problema, odnebeske mehanike dosklapanja proteina.

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    4/19

    3

    U teoriji algoritama, verovatnosni algoritam predstavlja pojam matematike funkcije ulaznih parametara iliinputa, koja koristi sluajne izbore u toku svog izvravanja. Ovakvi algoritmi koji koriste sluajan izbor ilisluajne brojeve daju nam reenje (output) koga esto ne bismo mogli dobiti obinim ili egzaktnim algoritmomili bismo ga mogli dobiti ali na neefikasan nain. Moe se dogoditi da je reenje koje je dao verovatnosnialgoritam netano sa skoro sigurnom verovatnoom realizacije ili bar priblino jednako odgovarajuem ilioptimalnom reenju. Ovo je, u biti, i glavna ideja na ijem temelju su nastali verovatnosni algoritmi i uglavnomje cilj da se reenje dobije bre, pa makar ono bili i netano ili da se dobije tano reenje, koristei sluajneizbore, ali neto sporije. Verovatnosni algoritmi koji koriste sluajane izbore u svom radu i koji daju tano

    reenje sa verovatnoom , nazivaju se Las Vegas algoritmi. Verovatnosni algoritmi koji koriste sluajne izboreu svom radu i kod kojih postoji ograniena pozitivna verovatnoa da je reenje pogreno, nazivaju se Mont eCarlo algoritmi. Predmet izuavanja u ovom seminarskom radu bieMonte Carlo algoritmi (metode), koji su upraksibri od Las Vegas algoritama i koji imaju primenu u tehnikama simulacije sluajnih dogaaja, od teorijeraunarskih nauka, preko finansija i ekonomoje, pa sve do molekularne biologije i astronomije.

    Napomenimo to da su u ovom seminarskom radu korieni koncepti teorije verovatnoe i statistike koji suod interesa za algoritame koji se izlau i orua za njihovu izgradnju. Stoga se podrazumeva da je italac upuenu ove koncepte, kako bi mogao razumeti i svatiti temu ovog seminarskog rada.

    Monte Carlo metode

    Aproksimacija brojaObjasniemo Monte Carlo metode na jednom jednostavnom primeru. Re je o aproksimiranju broja

    Naime, predstavimo etvrtinu kruga poluprenika , videti sliku 1). Sledi da je njegova povrina . Povrinaetvrtina tog kruga je,

    . Ako sada oko etvrtine kruga konstruiemo kvadrat dimenzija poluprenika krugaimamo da je njegova povrina , videti sliku 1).Sada izvodimo iteracije koje koriste sluajan izbor. U svakoj iteraciji generiemo sluajnu taku, odnosnoureen par , ije koridinate uniformno uzimaju vrednosti iz intervala . U svakoj iteraciji vodimorauna da li je generisana taka levo ili desno od krunice, ovo moemo raditi primenom osnovnih algoritamaanalitike geometrije. Svaki put kada je generisana taka levo od krunice, poveavamo broja upalih taakau etvrtinikruga za 1. Ako 10000 puta ponovimo iteraciju, dobiemo broj sluajnih taaka koje su upale u krug.

    Po geometrijskoj interpretaciji verovatnoe, znamo da je verovatnoa da sluajna taka upadne u etvrtinukruga jednaka odnosu povrine etvrtine kruga i povrina kvadrata oko etvrtine kruga, odnosno, sa Aoznaimo dogaaj da je sluajna taka upala u etvrtinu kruga (levo je od krunice), verovatnoa ovog dogaajaje:

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    5/19

    4

    1.) etvrtina kruga u kvadratu dimenzija Sada je potrebno i prisetiti se zakona velikih brojeva centralne granine teoreme, koji nam govoreda kada brojponavljanja esperimenata (iteracija) raste, aritmetika sredina od realizacije svih dogaaja skoro sigurno ili savelikom verovatnoom tei oekivanju sluajne promenljive, nebitno za koju jer su sve promenljive nezavisne iimaju istu raspodelu. Drugim reima, aritmetika sredina realizacije ekperimenata (iteracija) za veliki brojponavljanja stabilizovae se oko oekivanja. Ako svaki ekperiment (iteraciju) prestavimo kao sluajnupromenljivu:

    odnosno:

    Matematiko oekivanje za svaku sluajnu promenljivu iznosi:

    Sada ako sastavimo sve injenice koje smo izneli i ako generiemo 10000 taaka, odnosno izvedemo 10000iteracija Monte Carlo algoritma, moemo zakljuitida na osnovu zakona velikih brojeva, poto je broj iteracijadovoljno veliki, imamo:

    Ako napravimo simulaciju i sluajno generiemo take dobijamo da za 10000 izgenerisanih taakaaproksimacija broja je 3.14157139, to nije idealno reenje, ali smo simulacijom uspeli da aproksimiramotano reenje.

    0 R

    R

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    6/19

    5

    Monte Carlo integracija

    Isti princip simulacije moemoprimeniti i kada raunamo povrinu oblasti ograniene nekom funkcijomna intervalu . Bitan uslov je da funkcija uniformno ograniena, tj. . Prikazano naslici, situacija je slina situaciji sa etvrtinom kruga, odnosno:

    2) funkcija Akopovrinu oblasti raunamo preko odreenog integrala, mi zapravo raunamo matematiko oekivanjefunkcije iji je parametar nekafunkcija sluajne promenljive, odnosno:

    ()

    gde sluajna promenljiva

    ima uniformnu raspodelu, odnosno

    jer je

    funkcija gustine sluajne

    promenljive sa uniformnom raspodelom. Bitno je jo jednom napomenutida emo svaku iteraciju predstaviti sa i da su rezultati iteracija meusobno nezavisni. Ponavljajui iteracije veliki broj puta i pamtei koliko jeizgenerisanih taaka ispod krive koja predstavlja funkciju dobijamo da je:

    gde je broj svih iteracija i:

    .

    Dakle, u pitanju je isti princip kao i u primeru za aproksimaciju broja . Sprovodimo iteracija Monte Carloalgoritma i uzimamo njihovu aritmetiku sredinu i time dobijamo vrednost za matematiko oekivanje, imesmo izraunali vrednost odreenog integrala, odnosno povrinu oblasti I.

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    7/19

    6

    Ovim primerima uvideli smo glavnu ideju Monte Carlo metoda. Dakle cilj je da se generiu uzorcinasluajan nain i sa odreenom funkcijom raspodele (u oba sluaja je to uniformna raspodela). Dakle, mi smo uovim primerima generisali uzorke ije vrednosti imaju neku raspodelu, sa jednom bitnom injenicom, a to je dasu uzorci meusobno nezavisni. Meusobna nezavisnost uzoraka dovodi do toga da ne moemo iskoristitinikakvu informaciju koja se moe preneti meu iteracijama i do toga da se mora generisati veliki broj uzorakaOvo sve ima uticaj da je osnovna verzija Monte Carlo metoda veoma neefikasna.

    Monte Carlo is an extremely bad method, it should be used only when all alternative methods are worse.Alan Sokal, 1996

    Uvidevi mane ovog algoritma, Nicholas Metropolis pokuao je da ga nadogradi kako bi on imao boljeperformanse. Ali pre toga potrebno je uvesti osnovne koncepte teorije lanaca Markova.

    Lanac Markova

    Procesi Markova, {

    } imaju osobinu da pod uslovom da je poznata predistorija procesa

    zakljuno sa sadanjim trenutkom, budunost, zapravo verovatnosna struktura procesa u budunosti ne zavisi odcele predistorije procesa ve samo od sadanjeg trenutka. Ova osobina naziva se svojstvo odsustva memorije, a

    poznata je i kao svojstvo Markova. Kod procesa Markova predstavlja sluajnu veliinu definisanu nanekom prostoru verovatnoa . Parametar oznaava vreme, odnosno trenutak ukome se nalazi procesT je skup indeksa, i najee je to podskup realnih brojeva . U zavisnosti od toga da li je T diskretan ilineprekidan skup, razlikujemo procese Markova sa diskretnim ili neprekidnim vremenom. Sve vrednosti koje

    moe da uzme sluajna promenljivaine skup stanja ili prostor stanja kojeg oznaavamo sa . Ako je skupdiskretan, tj. konaan ili prebrojiv, tada se proces Markova naziva lanac Markova.Definicija

    Lanac Markova je sluajanniz procesa { } koji imaju svojstvo Markova i gde je konaan ili prebrojiv skup.Ovo znaida i za takve da i bilo koje vai sledea jednakost:

    { | { | Ova uslovna raspodela verovatnoa se naziva tranzicioni kernel ili kernel Markova i obeleava se sa Odnosno, ako izostavimo konkretne realizacije sluajnih promenljivih, imamo:

    ( ) Na primer, jednostavan random walk lanac Markova zadovoljava sledeu jednainu:

    http://en.wikipedia.org/wiki/Nicholas_Metropolishttp://en.wikipedia.org/wiki/Nicholas_Metropolis
  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    8/19

    7

    gde raspodelu, nezavisno od i na osnovu toga kernel Markova odgovaragustini ( )raspodele.Definicija:

    Stacionarna raspodela verovatnoa predstavlja svojstvo lanca Markova, takvo da ako postoji raspodelaverovatnoa , takva da , onda i . f je tada stacionarna raspodela lanca Markova i za turaspodelu i kernel Markova vai:

    i raspodela f je ekvilibrijum raspodela ako vai:

    gde predstavlja n primena kernela.Postojanje stacionarne raspodele namee preliminarno ogranienje za kernel koji se naziva uteoriji lanaca Markova i koje je takvo da kernel

    dozvoljava slobodno etanje preko svih stanja u prostoru

    lanca, odnosno bez obzira koja je poetna vrednost za , niz stanja ima pozitivnu verovatnoueventualnog poseivanja bilo kog regiona u prostoru stanja.Definicija:

    Lanac Markova je ireducibilan ako je mogue stii u stanje i iz bilo kog stanja j, .Postojanje stacionarne raspodele ima velike posledice po ponaanje lanca . Jedna od posledica je to da suskoro svi od lanaca korienih u Monte Carlo metodama koji koriste lance Markova, rekurentni, odnosno moepostojiti vraanje u neki skup stanja beskonano mnogo puta. U sluaju rekurentnih lanaca Markovastacionarna raspodela je takoe i ograniavajua raspodela u smislu da je neko ograniavajua raspodela za

    za bilo koju poetnu vrednost za

    . Ovo svojstvo se naziva i ergodicitet i oigledno ima ogromne

    posledice sa stanovita simulirajuih tehnika,tj. za dati kernel produkuje lanac sa stacionarnom raspodelom, i generisanje lanca iz ovog kernela e konano proizvesti simulacije (uzorke) sa raspodelom . Preciznoza integrabilnu funkciju . standardna srednja vrednost:

    () to zapravo znai da iza teorije lanaca Markova, lee zakoni velikih brojeva. Da li su ti zakoni jaki ili slabi, tj.da li je konvergencija u verovatnoi ili skoro sigurna konvergencija, neemo diskutovati jer bi se to kosilo sapotrebom da definisemo osnove teorije lanaca Markova kako bismo ih koristili kao orue u Metropolis Hastings algoritmima.

    Monte Carlo simulacije sa lancima Markova

    Krajem 20. veka statistiari su se znaajno usredsredili na razvijanju Monte Carlo metoda koji bikoristili lance Markova (MCMC) kako bi simulirali kompleksne, nerazumljive, multivarijantne raspodele

    verovatnoa. MCMC metode zapravo predstavljaju metode koji izgrauju lanac Markova i ija je

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    9/19

    8

    ograniavajua raspodela ciljna raspodela, inei da uzorci koji se generiu u lancu budu meusobno zavisni,odnosno da postoji neki uticaj koji se prenosi meu iteracijama Monte Carlo algoritma.Formalno, MCMC algoritam radi tako to se prvo specificira ireducibilni lanac Markova sa jedinstvenomograniavajuom raspodelom koja je jednaka raspodeli koju elimo da imaju generisani uzorci. Sledei korak jeda se urade simulacije, odnosno generiu uzorci koji e imati raspodelu izgraenu na osnovu predhodnogenerisanih uzoraka. Sada se sa ovako generisanim uzorcima moe manipulisati zavisno od potreba problema.

    Ako je lanac Markova ireducibilan, sa jedinstvenom ograniavajuom raspodelom i ako su realizacije lanca onda moemo zakljuiti da:

    odnosno realizacijatei u raspodeli kakoje ima raspodelu i (

    )

    ()

    odnosno, aritmetika sredina realizacija lanca Markova skoro sigurno tei oekivanju sluajne promenljive kojaima raspodelu koja je ograniavajua raspodela za lanac, kada broj uzoraka raste.

    Google-ove PageRank vrednosti

    Google izraunava PageRank vrednosti za svaki rezultat (stranicu) u njegovom search engine-uPageRank-ovi mere koliinu vanosti odreenog website-a/webstranice. Ova vrednost ima uticaj na redosledprikazivanja rezultata google web pretrage. Za neku stranicu

    , PageRang uzima odnost PageRank-ova stranica

    koje imaju link na i broja stranica za koje na stranici postoji link na njih da bi se izraunala metrikaOdnosno, za neku stranicu , njen PageRank je:

    gde je skup stranica koje imaju link na stranicu , dok je broj stranica za koje postoji link na stranici Primetimo da je PageRank, zapravo rekurentna relacija ali bitnija stvar za primetiti je da PageRank stranice

    predpostavlja da korisnik korienjem sluajnih izbora, surfuje od stranice do stranice . Poto sledeastranica koja e se posetiti zavisi jedino od predhdno poseene stranice i nijedne druge, ovde se koriste lanciMarkova.

    Neka su sluajne promenljive. Sluajni proces koji predstavlja sluajno surfovanje korisnikazadovoljava svojstvo Markova, odnosno:

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    10/19

    9

    Sada se mogu predivideti PageRank vrednosti korienjem MCMC algoritma. Posle odreenog broja iteracijalanac Markova konvergira ka stacionarnoj raspodeli za PageRank vrednosti, to aproksimira raspodelu sluajnepromenljive, odnosno rezultat korisnikovog sluajnog surfovanja.

    Acceptance-Rejection metod

    U kontrastu sa Monte Carlo metodima koji koriste lance Markova, klasini Monte Carlo , simulacionimetodi, definisani na poetku, generiu nezavisne uzorke, tj. razliita ponavljanja eksperimenta su nezavisnaJo jedan od nedostataka klasinih Monte Carlo metoda je to to veoma esto ne znamo na koji nain dageneriemo uzorke za simulaciju. Odnosno, nije nam poznata funkcija raspodele kojom je potrebno generisatiuzorke. U tu svrhu uveden je vaan metod Monte Carlo klase metoda, Acceptance-Rejection metod. Cilj je dase generiu uzorci sa apsolutno neprekidnom ciljnom gustinom , gde , je gustinakoja nije normalizovana i je konstanta normalizacije. Neka je gustina koja se moe simulirati ipredpostavimo da postoji konstanta takva da vai . Sada, da bismo dobili sluajnupromenljivu sa raspodelom radimo sledee korake:

    (*) Generiisluajnu promenljivu Z, tj. kandidata koji ima raspodelu i vrednost za , uniformno izintervala , tj. . If

    return Z

    1.

    Else

    goto(*)

    Na ovaj nain punimo lanac Markova. Lako se moe pokazati da je dobijena vrednost

    zapravo sluajna

    promenljiva sa raspodelom. Da bi ovaj metod bio efikasan, konstanta se mora paljivo birati. Potrebno jejo i uvesti pojmove opsega prihvatanja i opsega odbijanja. Opseg prihvatanja je verovatnoa da za izabranuzorak ,bude manja od izgenerisanog , dok je opseg odbijanja obrnuta stvar. Stoga, za efikasanrad (ne preterano mnogo iteracija) algoritma treba birati konstantu tako da opseg primanja bude dovoljnoveliki, a opseg odbijanja dovoljno mali. Lako se moe pokazati da je oekivani broj iteracija ovog algoritmaupravo . Na osnovu toga, to je manje, manje je i verovatnoa da bude manje od sluajnogenerisanog Efikasan nain za izborkonstannte je

    MetropolisHastings AlgoritamIdeja

    Glavni princip Monte Carlo metoda koji koriste lance Markova je prilino jednostavan za opisati. Zadatu gustinu , pravimo kernel Markova sa stacionarnom raspodelom i onda generiemo lanac Markova koristei napravljeni kernel tako da ograniavajua raspodela za bude ba i odreene

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    11/19

    10

    vrednosti koje raunamo mogu biti aproksimirane koristei osobinu ergodiciteta. Potekoa se javlja prilikomkonstrukcije kernela , koji je zavistan od gustine , jer moe biti komplikovano.esto se zna dogoditi, danam je poznat algebarski izraz za raspodelu uzoraka ali smo spreeni da generiemo uzorke sa tom raspodelomjer postoje parametri u izrazu koji su previe kompleksni za izraunavanje. Ipak, na sreu, postoji metod zakonstrukciju kernela takvih da se konstruie univerzalni kernel, tj. validan je za bilo koju gustinu.

    Metropolis Hastings algoritam je jedan od primera ovakvih metoda. Za datu ciljnu gustinu

    konstruiemo odgovarajuu radnu uslovnu gustinu , koja se u praksi lako simulira. Pored ovoga moebiti skoro proizvoljno, tako da su jedina ogranienja to da razmera mora biti poznata do na konstantunezavisno od i to da funkcija mora imati odgovarajuu disperziju da bi se moglo izvriti celokupnoistraivanje funkcije . Dakle, da rezimiramo glavnu ideju Meropolis Hastings algoritma, za svako dato moemo konstruisati Metropolis Hashtings-ov kernel takav da je njegova stacionarna raspodelaGeneriki Monte Carlo algoritam koji koristi lance Markova

    Metropolis Hashtings algoritam sa ciljnom gustinom i uslovnom gustinom konstruie lanacMarkova sledeim algoritmom:Za dato,1. Generii 2. Uzmi

    gde je Raspodela naziva se instrumentalna (ilipomona) raspodela i verovatnoa MetropolisHastings-ovaverovatnoa prihvatanja. Treba napraviti razliku izveu verovatnoe prihvatanja i stope prihvatanja, koja jeprosena vrednost verovatnoa prihvatanja tokom iteracija:

    ( ) Predhodno izloeni algoritam, zadovoljava uslov detaljnog balansa:

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    12/19

    11

    Iz ovoga moemo zakljuiti da je stacionarna raspodela lanca tako to emo integraliti svaku stanujednaine po promenljivoj . Predhodno izloeni algoritam prirodno definie funkciju kao stacionarnuraspodelu to se veoma trivijalno zakljuuje kao posledica osobine detalnog balansa za proizvoljno izabran par. U praksi, performanse algoritma oigledno sutinski zavise od od izbora funkcije .

    Jo jedno interesantno svojstvo Metropolis Hastings algritma je to to kriterijumi za uzimanje nove

    promenljive zavise jedino od odnosa () i (

    | , stoga je prihvatanje nove promenljive u lanacnezavisno od konstante normalizacije koja se nalazi u originalnoj raspodeli i koja se veoma esto izuzetno tekoaproksimira. Pored ovoga, poto je glavni cilj izvriti simulaciju koristei gustinu i izraunati odnos moe biti birana na takav nain da teki delovi funkcije za izraunati ili proceniti, mogu biti eliminisani uodnosu ove dve funkcije.

    Nezavisan MetropolisHastings algoritam

    MetropolisHastings algoritam koji je prvobitno izloen sadri instrumentalnu raspodelu koja jedinozavisi od trenutnog stanja lanca. Ako sada elimo da instrumentalna raspodela bude nezavisna od trenutnogstanja lanca, odnosno , dobijamo specijalni sluaj predhodnog algoritma:

    Za dato,3. Generii 4.

    Uzmi

    ( )

    Moe se uiniti da je ovaj metod sutinska generaliacija Acceptance - Rejection metoda jer je instumentalnaraspodela ista kao i raspodela koja se konstruise u Acceptance - Rejection metodu. Meutim, ova dva metoda su

    razliita jer Acceptance - Rejection metod zahteva izraunavanje gornje granice takve da je

    koja nije potrebna za rad Metropolis - Hastings algoritma i ovo je jedna od prednosti Metropolis - Hastings

    algoritma u odnosu na Acceptance - Rejection metode, jer izraunavanje gornjeg ogranicenja , esto zna dabude vremenski neefikasno i znatno smanji performanse algoritma.

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    13/19

    12

    Selekcija kandidata

    Primena nezaviosnih Metropolis - Hastings algoritama predstavlja poteskou, jer ih je teko primeniti usluajevima kada elimo da simuliramo kompleksne postavke, jer je proces za konstrukciju tih postavki veomakomplikovan. esto je veoma teko proceniti koja e funkcija, tj. gustina, biti instrumentalna gustina jer je

    ciljana gustina prekomplikovana, a nismo u poloaju da biramo proizvoljnu instrumentalnu gustinu, jer bi toimalo ogroman uticaj na greku u aproksimaciji ciljane gustine i na performanse metoda. Zato je veoma estopovoljnije, sakupljati informacije o ciljnoj gustini, korak po korak, kroz svaku iteraciju, tako to e se istraitokolina trenutne vrednosti u lancu Markova. Ovim pristupom algoritam e u konanici otkriti sva svojsta ciljanefunkcije, bez da je na poetku ta ciljana funkcija bila poznata ili da smo na poetku imali neku instrumentalnufunkciju, dovoljno slinu ciljnoj funkciji.

    Sluajno etanje

    Prirodan pristup u konstrukciji Metropolis - Hastings algoritma je korienje sluajnih veliina koje sugenerisane sa ciljem kreiranja novih sluajnih veliina, zapravo, da se uzme u obzir razmatranje okoline utrenutnoj vrednosti lanca Markova. Ovu ideju moemo primeniti tako to za uzorak, koji e kasnije biti uzet ulanac ili ne, zavisi od verovatnoe prihvatanja, uzimamo:

    gde je sluajna vrednost pertubacije, koja ima raspodelu i nezavisna je od Na primer, ako , tada je , ili ako je normalna (Gausova) raspodela, tada Yt ). U paradigmi Metropolis - Hastings algoritma, instrumentalna raspodela je sada oblika

    . Markov lanac kojeg konstruisemo pomocu instrumentalne raspodele

    je sluajno etanje kada je

    funkcija simetrina oko nule, odnosno ako je zadovoljeno Sada moemo izloiti Metropolis - Hastings algoritam koji pri generisanju uzoraka koji e bitprihvaeni u lanac, koristi sluajno etanje i koga je Metropolis prvog originalno prestavio kao verziju MonteCarlo metoda sa lancima Markova.

    Metropolis - Hastings algoritma sa sluajnim etanjem

    Za dato1. Generii 2. Uzmi

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    14/19

    13

    Bitno je napomenuti da verovatnoa prihvatanja uzorka ne zavisi od funkcije . Takodje, potrebno je uvesti ipojamsagorevajueg uzorka. Ovaj pojam predstavlja skup uzoraka koji se konstruie na poetku MH algoritmai koji slui da bi se jo vie uticalo na sluajan izbor kasnijih uzoraka, tj. da se povea sluajnost algoritma.Sutinski ovo je jedina namena ovih uzoraka i oni se odbacuju kada se krene sa uzimanjem pravih uzoraka.Primena sagorevajuih uzoraka ilustrovana je na drugom primeru.

    MH algoritam za Hard Disks In A Box problem

    1953. godine, Nicholas Metropolis je predstavio problem estica molekula, koji se uzima kao problem na komeje nastao Metropolis algoritam, a kasnije ga je Hastings modifikovao i od tada nosi naziv MetropolisHastingsalgoritam.

    Problem je sledei. Zamislimo da imao modelestica molekula neke supstance koji se nalaze uodreenom zatvorenom prostoru. Ovi molekuli nesmeju da se preklapaju i svi su iste veliine, daklepostoji neko koje je poluprenik svihmolekula. Na primer, slika a.) je jedna validnakonfiguracija problema.

    Pored ovih ogranienja, postoji i ogranienje davai periodino granino ogranienje. Ovo zapravo

    znai da je molekulima dozvoljeno da preu prekojednog ruba i izau na drugi rub koji je njemusimetrian. Ovo je prikazano na slici b.)

    a.)

    b.)

    Fiziari su veoma zainteresovani za ovaj model jer on predstavlja teoretski model za predstavljanje tranzicijaizmeu stanja materije fazni dijagram, slika c.) Ovaj model nam slui za razumevanje veoma generalnogfaznog dijagrama. Pomou njega su fiziari pokuali da modeluju Zakon idealnog gasa:

    ,

    0 1

    1

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    15/19

    14

    gde je - pritisak gasa, - zapremina gasa, - brojestica, - temperatura i - Boltzman-ovakonstanta. eleli su da odrede jednainu koja biodgovarala odnosu veliina u ovom zakonu, a da bito uradili bilo je potrebno da simuliraju kretanja

    molekula.

    c.)

    Potrebno je prvo uvesti pojam konfiguracije modela sa kojim radimo. Neka postoji diskretizacija ivica prostora

    u kome se molekuli nalaze i neka je ona u opsegu (0, 1). Tada svakoj konfiguraciji odgovara skup trenutnih

    pozicija za svaki molekul, odnosno:

    gde predstavlja horizontalnu, a vertikalnu udaljenost od take (0, 0).Neka imamo neki skup koji je skup svih konfiguracija. Definiemo jo i funkciju, koja e biti indikator da lije konfiguracija validna, tj. da li nema preklapanja molekula:

    Konfiguracije molekula imaju Boltzman-ovu raspodelu verovatnoa:

    gde je energija koja se odnosi na odreenu konfiguraciju , T temperatura, k Boltzman-ova konstanta i normalizaciona konstanta. Konstantu Z je u praksi jako teko (ponekad i nemogue) izraunati ili aproksimiratiPored ovoga, indikator funkcija je veoma kompleksna za izraunavanje. Stoga se ova raspodela aproksimiraMetropolis - Hastingsovim algoritmom. Ovu raspodelu zapisujemo u formi za rad sa MH algoritmom, tj

    izdvojimo normalizacionu konstantu:

    , gde je elimo da izraunamo raspodelu i njeno oekivanje za pritisak, koji je funkcija iji argument jekonfiguracija. Oznaimo taj pritisak sa , dakle elimo da procenimo , gde ima raspodeluodnosno Boltzman-ovu raspodelu.

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    16/19

    15

    Sada emo opisati rad MH algoritma. Uniformnobiramo jedan od molekula u trenutnoj konfiguraciji.

    Dakle, svaki molekul moe biti odabran sa

    verovatnoom. Kada smo odabrali molekul, neka

    je unapred definisana neka konstanta

    , takva

    da je ona polovina stranice kvadrata kojeg

    ucrtavamo oko izabranog molekula. Ovaj kvadrat je

    prikazan na slici d.)

    d.)

    Sada opet uniformno biramo jednu taku izkvadrata kojeg smo opisali oko izabranog molekula

    i pomeramo izabrani molekul u kvadratu da mu

    novi centar bude ta izabrana taka. Ovo jeilustrovano na slici e.) . Sada smo dobili

    konfiguraciju . Ako predpostavimo da smoodabrali molekul sa kordinatama i moemoizraziti kernel za prelazak iz konfiguracije i ukonfiguraciju :

    e.)

    ( ) gde je

    verovatnoa da odaberemo molekul sa kordinatama , verovatnoa da odaberemo jednu takuunutar opisanog kvadrata, ako predpostavimo da u kvadratu ima C taaka i u formuli imamo indikator funkcijukoja nam predstavlja regulator toga da li smo dobili validnu konfiguraciju kada smo izabrani molekul pomerili

    sa pozicije na poziciju . Bitno je napomenuti da ovaj kernel mora biti simetrian, odnosno .Sada dajemo formalni MH algoritam za ovaj problem:

    1. Izabrati proizvoljnu simetrinu matricu Q2.

    Inicijalizuj proizvoljnu poetnu konfiguraciju 3. for

    3.1 Izaberi uzorak na osnovu pomone raspodele , odnosno 3.2 Izaberi uniforno realan broj iz intervala

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    17/19

    16

    3.3 if then 3.5 else

    4. Vrati niz Sada kada imamo realizacije lanca Markova, odnosno , moemo proceniti oekivanje za pritisakgde X ima Boltzman-ovu raspodelu, odnosno:

    ()

    Random Walk MH algoritam za simuliranje surfovanja na Web-u

    Istraivanje web-a je trenutno jedna od oblasti koje belee zanajan trend interesovanja. Da bismo radiliistraivanje, potreban nam je sluajan uzorak. Ali kako dobiti sluajan uzorak poseenih web stranica. Neki odnaivnih pristupa su:

    generisati sluajne IP adrese

    generisati sluajne URL-ove

    Ovi pristupi nailaze na probleme, jer su previe komplikovani. Na primer, da bismo generisali URL -ovepotrebno je da predhodno definiemo sintaksno pravilo po kojem se oni izgrauju i pored ovoga oni moraju daimaju neko semantiko znaenje.

    Nasuprot ovim pristupima, koristimo verziju MH algoritma koji u sebi koristi sluajno etanje. PaatRusmevichientong je 2001. godine predloio ovakav algoritam za simuliranje pretrage web stranica, da bi 2009.godine Minas Gjoka koristio ovakav metod za selekciju sluajnih uzoraka Facebook korisnika za analizu.

    MH algoriram za ovaj problem je sledei:

    1. Radi sledee podkorake

    a. Na sluajan nain izaberi web stranicu. Moemo google-ati re the i izabrati prvi rezultatpretrage, ili moemo izabrati omiljeni web sajt. Kakav e sluajan odabir biti, nije tolikobitno.

    b. Na odabranoj web stranici na sluajan nain odabrati neki od linkova na noj i prei na webstranicu na koju taj link vodi.

    c. Ponoviti podkorak jo puta.

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    18/19

    17

    d.

    Ponoviti podkorak jo puta i neka je kolekcija web stranica, koje suposeene tokom ovog procesa. Neka predstavlja skup jedinstvenih stranica koje suposeene tokom ovog procesa (jer u kolekciji moe biti istih stranica).

    e. Za svaku jedinstvenu stranicu radi:i. Odaberi na sluajan nain link na stranici i idi na stranicu na koju vodi link.

    ii. Izvedi korak i. jo M puta i napravi odgovarajuu kolekciju .iii. Izraunaj koliko je puta poseena stranica

    , odnosno:

    gde je .

    iv. Prihvati stranicu u konanu kolekciju uzoraka sa verovatnoom , gde je () .2. Ponovi korak 1. jo odreeni broj puta.3.

    Rezultujuakolekcija web stranica je aproksimativno suajna.

    Ovo je prilino komplikovani algoritam. Potrebno je primetiti da ovaj algoritam koristi lanac Markova, jerstranica koju trenutno poseujemo zavisi jedino od stranice na kojoj smo predhodno bili. Prvo poseujemo skupstranica , i te stranice nam predstavljaju sagorevajui uzorak. Kasnije ih odbacujemo. Dalje, sledeih Kobienih stranica su kandidati za na sluajni uzorak, ali je potrebno da selektujemo pripadnike ovog skupa uodnosu na neku verovatnou selektovanja. Pravimo stacionarnu raspodelu tako to poinjemo jo po jedanobilazak za svaku stranicu od K obienih stranica. Stacionarna raspodela je jednostavno samo broj puta kolikosmo posetili stranicu kada smo poeli obilazak od stranice . Vrednost je konstanta normalzacije verovatnoa da smo prihvatili uzorak je . Ideja ovog algoritma je da izbor stranica u lanac Markovakonvergira ka sluajnom uzorku stranica sa web-a.

    Zakljuak

    Potrebno je jo primetiti da u predhodna dva primera nismo unapred morali da znamo raspodelu

    verovatnoa kretanja molekula ili obilaska (sufrovanja) web stranica, ve smo koristili instrumentalnuraspodelu. Ovu instrumentalnu raspodelu pravimo tokom rada algoritma. Na ovim primerima se jasno vidi

    glavna ideja, namena i prednost korienja MH algoritma. Konstrukcija lanca Markova bez poznavanja ciljneraspodele deluje pomalo magino i zato je ovaj algoritam proglaen za jedan od najuticajnijih u 20. veku.

  • 7/23/2019 Metropolis Hastings Algoritam 1 Libre

    19/19

    18

    Literatura

    1. Subhas C. Nandy. Introduction to Randomized Algorithm. Advanced Computing and Microelectronics UnitIndian Statistical Institute, Kolkata. 700108, India.

    2.

    Michael Mitzhenmacher, Eli Upfal. Probability and Computing, Randomized algorithms and Probabilistic

    Analysis. Cambridge University Press.

    3. Richard M. Karp. An introduction to randomized algorithms.Discrete Applied Mathematics 34 (1991)165-201.

    4.

    Christina E. Lee, Asuman Ozdaglar, Devavrat Shah. Computing the Stationary Distribution. Laboratory for

    Information and Decision Systems, Massachusetts Institute of Technology, Cambridge, MA 02139.

    5.

    Neal Madras. Lectureson Monte Carlo Methods. AMS 2002

    6.

    Mrton Ispny. Application of the MCMC algorithm in Web mining. 6 th International Conference on AppliedInformatics Eger, Hungary, January 2731, 2004.

    7. David P. M. Scollnik. An Introduction To Markov Chain Monte Carlo Methods And Their Actuar ial Applications

    Department of Mathematics and Statistics. University of Calgary.

    8.

    C.P. Robert, G. Casella, Introducing Monte Carlo Methods with R. Use R DOI 10.1007/978-1-4419-1576-4_6

    Springer Science, LLC 2010

    9. John Kerl. The Metropolis-Hastings algorithm by example. University of Arizona Department of Mathematics.

    Graduate Probability Seminar on February 14, 2008.

    10.

    Jesus Fernandez-Villaverde. Metropolis-Hasting Algorith. University of Pennsylvania.

    11.S. Sawyer. The Metropolitan-Hastings Algorithm and Extension. Washington UniversityVs. August 22, 2010.

    12.

    Bernd A. Berg. Markov Chain Monte Carlo Simulations and the Statistical Analysis. Florida State University.