İyi bir Hibrit / Hamiltonian Monte Carlo algoritması tasarlamak hakkında ne bilmeliyim?


12

PyMC için bir Hibrid Monte Carlo örnekleme algoritması tasarlıyorum ve mümkün olduğunca sorunsuz ve genel olarak yapmaya çalışıyorum, bu yüzden bir HMC algoritması tasarımı konusunda iyi tavsiyeler arıyorum. Okudum Radford'un anket bölüm ve Beskos et. al. HMC'nin optimal (adım boyutu) ayarlamasıyla ilgili son makale ve ben aşağıdaki ipuçlarını topladım:

  • Momentum değişkenleri kovaryansıyla dağıtılmalıdır , burada genellikle dağılımın kovaryans matrisi (basit dağılımlar için) gibi bir şeydir, ancak muhtemelen farklı olabilir (komik şekilli dağılımlar için). Varsayılan olarak kendir modda kullanıyorum.C1C
  • Yörüngeler birdirbir yöntemle hesaplanmalıdır (diğer entegratörler buna değmez gibi görünmektedir)
  • Optimal kabul oranı gerçekten büyük problemler için 0,651'dir, aksi takdirde daha yüksektir.
  • Adım boyutu gibi ölçeklendirilmelidir ; burada , serbest bir değişkendir ve boyut sayısıdır.L×d(1/4)Ld
  • Hafif kuyruklar veya garip stabilite özelliklerine sahip bölgeler olduğunda adım boyutu daha küçük olmalıdır. Adım boyutu randomizasyonu bu konuda yardımcı olabilir.

Benimsemem ya da en azından dikkate almam gereken başka fikirler var mı? Okumam gereken diğer makaleler? Örneğin, buna değecek uyarlanabilir adım boyutu algoritmaları var mı? Yörünge uzunluğu hakkında iyi bir tavsiye var mı? Aslında daha iyi entegratörler var mı?

Birisi lütfen bunu bir topluluk-wiki yapın.

Yanıtlar:


3

Bu yazı çok ilginç (kafamı henüz tam olarak bulamamış olsam da),

Girolami M. Calderhead B. (2011) Riemann manifoldu Langevin ve Hamiltonian Monte Carlo yöntemleri. JR Statist. Soc. B. (tartışma ile). 73, Bölüm 2. sayfa 1-37.


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.