Saya mendesain algoritma pengambilan sampel Hybrid Monte Carlo untuk PyMC , dan saya mencoba membuatnya sebebas dan sesering mungkin, jadi saya mencari saran yang bagus untuk merancang algoritma HMC. Saya telah membaca bab survei Radford dan Beskos et. makalah terbaru al. tentang penyetelan HMC optimal (ukuran langkah) dan saya mengumpulkan tips berikut:
- Variabel momentum harus didistribusikan dengan kovarian , di mana umumnya mirip dengan matriks kovarians dari distribusi (untuk distribusi sederhana), tetapi dapat dibayangkan berbeda (untuk distribusi berbentuk lucu). Secara default saya menggunakan goni pada mode.
- Lintasan harus dihitung dengan metode leapfrog (integrator lain tampaknya tidak sepadan)
- Tingkat penerimaan optimal adalah 0,651 untuk masalah yang sangat besar dan sebaliknya lebih tinggi.
- Ukuran langkah harus diskalakan seperti , di mana adalah variabel bebas dan adalah jumlah dimensi.
- Ukuran langkah harus lebih kecil ketika ada ekor yang ringan atau daerah dengan karakteristik stabilitas aneh. Pengacakan ukuran langkah dapat membantu dengan ini.
Apakah ada ide lain yang harus saya adopsi atau paling tidak pertimbangkan? Makalah lain yang harus saya baca? Misalnya, apakah ada algoritma ukuran langkah adaptif yang layak? Apakah ada saran yang bagus tentang panjang lintasan? Apakah sebenarnya ada integrator yang lebih baik?
Seseorang tolong jadikan ini wiki komunitas.
sumber