Problem: Rozkładów, które Możesz Ocenić Ale Nie Normalizować
W statystyce bayesowskiej, fizyce i uczeniu maszynowym często znasz rozkład docelowy tylko jako funkcję nieznormalizowaną. Wzór Bayesa daje pościeżniczy rozkład jako P(x) = f(x) / Z, gdzie f(x) = prawdopodobieństwo(x) × przedeśliba(x) jest łatwe do obliczenia dla dowolnego punktu x, ale stała normalizacyjna Z = ∫ f(x) dx wymaga integrowania po każdym możliwym wartości x. W jednowymiarowej integracji może być maneglowalna; w setkach lub tysiącach wymiarów typowych dla rzeczywistego modelu, staje się niepraktycznym sumowaniem po astronomicznie dużym przestrzeni. Gorsza jeszcze jest to, że nawet gdybyś wiedział Z, nadal byś nie mógł łatwo losować próbek z nieregularnie skonstruowanego, wielowymiarowego rozkładu przy użyciu standardowych metod, takich jak losowanie odwrotnej transformacji, które wymagają pełnego rozkładu w formie zamkniętej. MCMC unikatowo rozwiązuje oba problemy jednocześnie: potrzebuje tylko stosunku f(x')/f(x) między dwoma punktami do decydowania, jak poruszać się, więc niewykonanie stała Z anuluje się przed tym, gdy mogłaby przynieść problem, a nigdy nie wymaga integrowania lub normalizacji globalnie.
Losowe przejście pamiętające miejsce swojej lokalizacji
Markow chain jest ciągiem losowych stanów x0, x1, x2, ... gdzie każdy nowy stan zależy tylko od bieżącego, a nie od pełnej historii — bezpamiętna losowa praca zdefiniowana przez przekaz ruletki T(x → x'). Kluczowe podejście MCMC polega na zaprojektowaniu tej reguły przekazywania tak, aby łańcuch miał jednoznaczne rozkład stationarny równy cełowemu P(x): po wystarczająco długim czasie działania łańcucha, ujemność czasu, jakiego on spędzi w pobliżu dowolnego punktu x, konverguje do P(x), niezależnie od tego, gdzie zaczął. Rozkład π jest stationarny dla łańcucha, jeśli po tym, jak stanowiska łańcucha są rozdzielone według π, jedno kolejne kroku pozostawia rozkład nienaruszonym: π(x') = ∑x π(x) T(x → x'). Cała sztuka projektowania algorytmu MCMC polega na wyborze reguły przekazywania T, która jest prosta do symulacji krok po kroku, ale dowodowo ma P jako swoje stationarny rozkład.
Algorytm Metropolis-Hastings
Algorytm Metropolis-Hastings tworzy taką zasady przejścia na podstawie dwóch prostych składników powtarzanych wielokrotnie. Po pierwsze, z danego stanu x propozycja rozkładu Q(x'|x) sugeruje kandydat na kolejny stan x' — często to jest proste dodanie małej losowej perturbacji do x, jak krok w przypadkowym kierunku. Po drugie, kandydat entera lub zostaje odrzucony na podstawie prawdopodobieństwa akceptacji: A = min(1, [P(x')Q(x|x')] / [P(x)Q(x'|x)]). Jeśli rozkład propozycji jest symetryczny, co oznacza Q(x'|x) = Q(x|x'), (np. dla prostej perturbacji Gaussowskiej), wyrazy Q zanikają i to ujmuje się jako oryginalna zasada Metropolis: A = min(1, P(x')/P(x)). Ponieważ P występuje tylko w postaci ilorazu, można go podstawić nieznormalizowany f: A = min(1, f(x')/f(x)), a Z całkowicie zanika. W praktyce oznacza to: zaproponować ruch; jeśli prowadzi do większego prawdopodobieństwa, zawsze go akceptować; jeśli prowadzi do mniejszego prawdopodobieństwa, akceptować go z prawdopodobieństwem równe ilorazowi prawdopodobieństw, w przeciwnym razie pozostawać na miejscu i liczyć stan obecny ponownie. Ta gotowość do czasami przyjmowania gorszego ruchu jest dokładnie tym, co pozwala łańcuchowi uniknąć lokalnych zatępieniu i eksplorować pełną krajobraz, a nie skromnie klimczyc do najbliższego wierzchołka.
Dlaczego równowaga szczegółowa gwarantuje poprawność
Powod, dla którego algorytm Metropolis-Hastings zawsze konverguje do prawidłowej rozkładu, a nie do jakiegoś przypadkowego, zależnego od mechanizmu propozycji, to właściwość nazywana równowagą szczegółową (lub odwracalnością): P(x) T(x → x') = P(x') T(x' → x). Oznacza to, że przepływ prawdopodobieństwa z x do x' dokładnie równoważy przepływ powrotny z x' do x dla każdej pary stanów. Każda reguła przejścia spełniająca równowagę szczegółową względem P automatycznie ma P jako rozkład stały, ponieważ sumując obie strony po x otrzymujemy netto przepływ wsteczny do każdego stanu x' równe P(x') samemu. Reguła akceptacji A = min(1, [P(x')Q(x|x')]/[P(x)Q(x'|x)]) została zaprojektowana dokładnie tak, aby złożone przejście propozycja-akceptacja spełniało równowagę szczegółową na podstawie projektu — nie jest to przybliżenie ani heurystyka, ale receptura dowodząca. To co oddziela MCMC od naiwnego marszu losowego: algorytm nie tylko przechodzi prawdopodobnie, ale w sposób matematycznie zweryfikowany, który musi konvergować do docelowego rozkładu przy zwiększaniu liczby kroków.
Burn-in, mieszanie i zastosowania praktyczne
Konvergencja w teorii nie oznacza natychmiastowej konwergencji w praktyce. Wczesne próby są przestarzałe i skierowane w kierunku miejsca, z którego zaczęła się łańcuch, dlatego praktycy ignorują początkowy okres zwany burn-in, zanim zaufają do prób. Próby kolejne są również powiązane, ponieważ każda stan jest budowany na podstawie poprzedniego przez mały krok, a właściwość ta nazywana jest autokorelacją; łańcuch o wysokiej autokorelacji mówimy, że mieszany wolno, spęczniając ponownie w bliskich stanach zamiast rozkładać się szeroko, a często wymaga on dostrzegania (trzymania tylko co k-te próby) lub lepiej dostosowanego rozmiaru kroku propozycji, aby naprawić. Zbyt mały krok propozycji i prawie każda ruch jest przyjęta, ale łańcuch skrada się; zbyt duży krok i prawie każdy ruch jest odrzucony i łańcuch zatrzymuje się na miejscu — dostosowywanie stopnia akceptacji, często celując w okoliczności 20-50%, to podstawowa umiejętność praktyczna. Niezależnie od tych ostrzeżeń, metody MCMC sformują ogromny zakres rzeczywistych zastosowań: bayesowska inferencja używa ich do losowania rozkładów pozytywnych nad parametry modeli, które nie mają formy zamkniętej; fizyka statystyczna używa oryginalnego algorytmu Metropolisa do symulacji systemów takich jak model Ising w równowadze termicznej; a trening ograniczonych maszyn Boltzmannowskich (RBMs) w uczeniu maszynowym opiera się na metodach bazujących na MCMC, takich jak divergencja kontrastowa, aby przybliżyć nieprzyjemne oczekiwania potrzebne do nauki.
Często zadawane pytania
Dlaczego nie możemy po prostu znormalizować rozkładu i wyjmuć próby bezpośrednio?
Znormalizowanie wymaga obliczenia Z, całki (lub sumy) nad całą przestrzenią stanów, która w wielowymiarowej przestrzeni nie ma postaci zamkniętej i obliczanie jej bezpośrednim sposobem jest obciążające. MCMC unika tego całkowicie, ponieważ jego zasada przyjęcia wymaga tylko stosunku f(x')/f(x) między dwoma punktami, dlatego nieznana stała Z anuluje się i nigdy nie musi być obliczona.
Co się stanie, jeśli rozkład propozycji jest nieodpowiednim dla docelowego?
Nawet jeśli przeprowadzka do docelowego stanu jest niewłaściwa, łańcuch nadal zbiega do prawidłowego rozkładu stationarnego w końcu, ponieważ równowaga szczegółowa zachodzi dla dowolnego prawidłowego rozkładu propozycji. Jednak nieodpowiedni rozkład propozycji sprawia, że zbieżność jest bardzo wolna. Przeprowadki zbyt duże są regularnie odrzucone, a przeprowadki zbyt małe praktycznie nie przesuwają łańcucha, więc w obu przypadkach potrzebujesz znacznie więcej iteracji, aby skutecznie eksplorować rozkład i uzyskać wiarygodne próby.
Jak znamy, kiedy łańcuch Markova się zbiega?
Nie ma idealnego testu, ale powszechne diagnostyki obejmują uruchamianie wielu niezależnych łańcuchów z różnych punktów wyjściowych i sprawdzanie, czy zgadzają się ze sobą (takie jak statystyka Gelmana-Rubina), wizualne badanie szeregów czasowych na stałość oraz monitorowanie korelacji autokorelacji, aby upewnić się, że próby nie nadal systematycznie drążą. W praktyce większość procesów pracy kombinuje kilka diagnostyk zamiast zaufać jednej.
Czy Metropolis-Hastings jest jedynym algorytmem MCMC?
Nie, jest to podstawowy i najbardziej ogólny wersja, ale istnieją wiele specjalizowanych wariantów, w tym Gibbs sampling (który cyklicznie aktualizuje jedną zmienną na raz ze swojego pełnego warunkowego rozkładu), Hamiltonian Monte Carlo (który używa informacji o gradientach do propozycji odległych, efektywnie przyjmowanych przeprowadek) i sampling kroku. Wszystkie one są w jednym sposób lub innym oparte na tej samej idei równowagi szczegółowej.
Czy wyższa stopa przyjęcia zawsze oznacza lepszy sampler?
Niekoniecznie. Bardzo wysoka stopa przyjęcia często oznacza, że przeprowadki propozycji są zbyt małe, więc łańcuch akceptuje prawie wszystko, ale praktycznie nic nie porusza, co prowadzi do wolnej eksploracji mimo wydajnego wyglądania na papierze. To dlatego praktycy celują w odpowiedni cel przyjęcia zamiast maksymalizować go, balansując jak daleko przeprowadki poruszają się przeciwko tym, ile razy się powodują.
Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Markov Chain Monte Carlo: Sampling from Distributions You Can't Compute i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.
▶ Otwórz symulację Markov Chain Monte Carlo: Sampling from Distributions You Can't Compute