Hamiltonian Monte Carlo: Metropolis Hasting önerisi nasıl anlaşılır?


9

Hamiltonyan Monte Carlo'nun (HMC) iç çalışmasını anlamaya çalışıyorum, ancak deterministik zaman entegrasyonunu bir Metropolis Hasting önerisiyle değiştirdiğimizde tam olarak anlayamıyorum. Michael Betancourt'un Hamiltonian Monte Carlo'ya Kavramsal Giriş adlı müthiş tanıtım belgesini okuyorum , bu yüzden burada kullanılan gösterimi takip edeceğim.

Arka fon

Markov Zinciri Monte Carlo'nun (MCMC) genel hedefi, bir hedef değişken dağılımına yaklaşmaktır .π(q)q

HMC fikri , "pozisyon" olarak modellenen orijinal değişkeni ile birlikte yardımcı bir "momentum" değişkeni tanıtmaktır . Konum-momentum çifti genişletilmiş bir faz boşluğu oluşturur ve Hamilton dinamikleri tarafından tanımlanabilir. Eklem dağılımı mikrokanonik ayrışma açısından yazılabilir:pqπ(q,p)

π(q,p)=π(θE|E)π(E) ,

burada , tipik bir küme olarak da bilinen belirli bir enerji seviyesi üzerindeki parametreleri temsil eder . Gösterim için makalenin Şekil 21 ve Şekil 22'ye bakınız.θE(q,p)E

resim açıklamasını buraya girin

Orijinal HMC prosedürü aşağıdaki iki alternatif adımdan oluşur:

  • Enerji düzeyleri arasında rasgele geçiş yapan stokastik bir adım ve

  • Belirli bir enerji seviyesi boyunca zaman entegrasyonunu (genellikle birdirbir sayısal entegrasyon yoluyla uygulanır) belirleyici bir adım.

Bu makalede, birdirbir (veya sezgisel bütünleştirici) sayısal önyargı yaratacak küçük hatalara sahip olduğu iddia edilmektedir. Dolayısıyla, bunu deterministik bir adım olarak ele almak yerine, bu adımı stokastik hale getirmek için bir Metropolis-Hasting (MH) önerisine dönüştürmeliyiz ve sonuçta ortaya çıkan prosedür dağıtımdan kesin örnekler verecektir.

MH önerisi , birdirbir operasyonların adımlarını gerçekleştirecek ve ardından momentumu çevirecektir . Teklif daha sonra aşağıdaki kabul olasılığı ile kabul edilecektir:L

a(qL,pL|q0,p0)=min(1,exp(H(q0,p0)H(qL,pL)))

Sorular

Sorularım:

1) Deterministik zaman entegrasyonunun MH teklifine dönüştürülmesinde yapılan bu modifikasyon, nümerik sapmayı iptal eder, böylece üretilen numuneler tam olarak hedef dağılımı takip eder?

2) Fizik açısından, enerji belirli bir enerji düzeyinde korunur. Bu yüzden Hamilton denklemlerini kullanabiliyoruz:

dqdt=Hp,dpdt=Hq .

Bu anlamda, enerji sabit olmalıdır her nedenle, tipik bir sette eşit olmalıdır . Neden kabul olasılığını inşa etmemizi sağlayan enerjide bir fark var?H(q0,p0)H(qL,pL)

Yanıtlar:


7

Deterministik Hamilton yörüngeleri sadece hedef dağılımla tutarlı oldukları için kullanışlıdır. Özellikle, hedef dağılım olasılığı yüksek bölgelere tipik bir enerji projesi olan yörüngeler. Hamilton denklemlerini tam olarak entegre edebilseydik ve açık Hamilton yörüngeleri kurabilseydik zaten tam bir algoritmaya sahip olurduk ve herhangi bir kabul adımına ihtiyacımız olmazdı .

Ne yazık ki birkaç basit örnek dışında Hamilton denklemlerini tam olarak entegre edemiyoruz. Bu yüzden sezgisel entegratörler getirmeliyiz . Sempatik entegratörler, analitik olarak çözemediğimiz kesin Hamiltonian yörüngelerine yüksek doğrulukta sayısal yaklaşımlar oluşturmak için kullanılır . Sezgisel entegratörlerin doğasında var olan küçük hata, bu sayısal yörüngelerin gerçek yörüngelerden sapmasına neden olur ve bu nedenle sayısal yörüngelerin izdüşümleri, tipik hedef dağılım kümesinden sapacaktır. Bu sapmayı düzeltmek için bir yol sunmamız gerekiyor.

Hamiltonyan Monte Carlo'nun orijinal uygulaması, sabit uzunluktaki bir yörüngedeki son noktayı bir teklif olarak kabul etti ve daha sonra bu teklife bir Metropolis kabul prosedürü uyguladı. Sayısal yörünge çok fazla hata biriktirdiyse ve bu nedenle başlangıç ​​enerjisinden çok sapmış olsaydı, önerilen bu reddedilirdi. Başka bir deyişle, kabul prosedürü, tipik olarak hedef dağılım kümesinden çok uzakta projeksiyon yapan teklifleri atar, böylece tuttuğumuz tek örnek tipik kümeye düşenlerdir.

Kavramsal makalede savunduğum daha modern uygulamaların aslında Metropolis-Hastings algoritmaları olmadığını unutmayın. Rastgele bir yörüngeden ve sonra bu rastgele yörüngeden rastgele bir noktanın örneklenmesi, sezgisel entegratörlerin getirdiği sayısal hatayı düzeltmenin daha genel bir yoludur. Metropolis-Hastings, bu daha genel algoritmayı uygulamanın sadece bir yoludur, ancak dilim örneklemesi (NUTS'ta olduğu gibi) ve çok terimli örnekleme (şu anda Stan'de olduğu gibi) daha iyi olmasa da iyi çalışır. Ancak nihayetinde sezgi aynıdır - hedef dağıtımdan kesin örnekler sağlamak için olasılıkla küçük sayısal hata içeren noktaları seçiyoruz.


Teşekkürler @Michael Betancourt !! Kavramsal olarak, şimdi, entegre durumun yörüngeden ne kadar saptığına bağlı olarak, zaman-entegrasyon adımını olasılıklı hale getirme fikrini alıyorum. Bununla birlikte, kabul olasılığının inşa edilme şekli benim için tamamen mantıklı değil, çünkü daha düşük enerjiyle sonuçlanan sapmayı teşvik ediyoruz gibi görünüyor mu? Eğer çok daha düşük olduğu , her zaman bu yörünge çok şey sapma olsa bile, öneriyi kabul sonuna kadar mı? H(qL,pL)H(q0,p0)
cwl

1
Evet, ancak yüksek boyutlu uzaylarda hacim nasıl çalıştığından (her zaman bir yüzeyin dışına doğru, içine doğru olduğundan daha fazla hacim), yörüngeler daha yüksek enerjilere saparak daha düşük enerjilere göre daha fazla zaman harcarlar. Sonuç olarak, teklifi (daha yüksek enerjileri destekleyen) kabul ile (daha düşük enerjileri destekleyen) birleştirdiğinizde, başlangıç ​​enerjisi etrafında bir denge elde edersiniz.
Michael Betancourt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.