Adakah yang bisa menjelaskan kepada saya NUTS dalam bahasa Inggris?

17

Pemahaman saya tentang algoritma adalah sebagai berikut:

No U-Turn Sampler (NUTS) adalah Metode Monte Carlo Hamilton. Ini berarti bahwa itu bukan metode Rantai Markov dan dengan demikian, algoritma ini menghindari bagian berjalan acak, yang sering dianggap tidak efisien dan lambat untuk bertemu.

Alih-alih melakukan jalan acak, NUTS melakukan lompatan panjang x. Setiap lompatan berlipat ganda saat algoritme terus berjalan. Ini terjadi sampai lintasan mencapai titik di mana ia ingin kembali ke titik awal.

Pertanyaan saya: Apa yang istimewa dari belok? Bagaimana menggandakan lintasan tidak melewati titik yang dioptimalkan? Apakah uraian saya di atas benar?

pengguna3007270
sumber
Saya menemukan posting ini dan simulasi ilustrasi membuat perbedaan dalam penjelasan konsep.
kael

Jawaban:

13

Bit tidak putar balik adalah bagaimana proposal dihasilkan. HMC menghasilkan sistem fisik hipotetis: bayangkan sebuah bola dengan energi kinetik tertentu berguling-guling di lanskap dengan lembah dan bukit (analoginya terurai dengan lebih dari 2 dimensi) yang ditentukan oleh posterior yang ingin Anda sampel. Setiap kali Anda ingin mengambil sampel MCMC baru, Anda secara acak memilih energi kinetik dan memulai bola bergulir dari tempat Anda berada. Anda mensimulasikan dalam langkah waktu yang terpisah, dan untuk memastikan Anda menjelajahi ruang parameter dengan benar, Anda mensimulasikan langkah dalam satu arah dan dua kali lebih banyak di arah lain, berbalik lagi dll. Pada titik tertentu Anda ingin menghentikan ini dan cara yang baik melakukan itu adalah ketika Anda telah melakukan putar balik (yaitu tampaknya telah terjadi di semua tempat).

Pada titik ini, langkah selanjutnya yang diusulkan dari Rantai Markov Anda akan diambil (dengan batasan tertentu) dari titik yang telah Anda kunjungi. Yaitu bahwa seluruh simulasi sistem fisik hipotetis adalah "hanya" untuk mendapatkan proposal yang kemudian diterima (sampel MCMC berikutnya adalah titik yang diusulkan) atau ditolak (sampel MCMC berikutnya adalah titik awal).

Hal yang cerdas tentang itu adalah bahwa proposal dibuat berdasarkan bentuk posterior dan dapat berada di ujung distribusi. Sebaliknya, Metropolis-Hastings membuat proposal dalam bola (kemungkinan miring), sampling Gibbs hanya bergerak di sepanjang satu (atau setidaknya sangat sedikit) dimensi pada satu waktu.

Björn
sumber
Bisakah Anda memperluas komentar " kelihatannya telah pergi ke mana-mana "?
Gabriel
1
Berarti memiliki beberapa indikasi bahwa ia telah mencakup distribusi, yang NUTS mencoba untuk menilai apakah Anda sudah benar-benar berbalik. Jika itu masalahnya, mudah-mudahan Anda dapat dalam satu langkah MCMC pergi ke bagian posterior mana pun. Tentu saja, kondisi ini tidak benar-benar menjamin bahwa Anda telah menjelajahi seluruh posterior, tetapi lebih memberikan indikasi bahwa Anda telah menjelajahi "bagian saat ini" dari itu (jika Anda memiliki beberapa distribusi multimodal Anda mungkin mengalami kesulitan untuk sampai ke semua bagian distribusi).
Björn
6

Anda salah bahwa HMC bukan metode Rantai Markov. Per Wikipedia :

Dalam matematika dan fisika, algoritma hybrid Monte Carlo, juga dikenal sebagai Hamiltonian Monte Carlo, adalah metode rantai Monte Carlo Markov untuk memperoleh urutan sampel acak dari distribusi probabilitas yang pengambilan sampel langsungnya sulit. Urutan ini dapat digunakan untuk memperkirakan distribusi (yaitu, untuk menghasilkan histogram), atau untuk menghitung integral (seperti nilai yang diharapkan).

Untuk lebih jelasnya, bacalah makalah arXiv karya Betancourt , yang menyebutkan kriteria pengakhiran NUTS:

... identifikasi ketika lintasan cukup panjang untuk menghasilkan eksplorasi yang memadai dari lingkungan sekitar set level energi saat ini. Secara khusus, kami ingin menghindari penggabungan yang terlalu pendek, dalam hal ini kami tidak akan mengambil keuntungan penuh dari lintasan Hamilton, dan berintegrasi terlalu lama, di mana kami membuang sumber daya komputasi yang berharga pada eksplorasi yang hanya menghasilkan pengembalian yang semakin berkurang.

Lampiran A.3 berbicara tentang sesuatu seperti lintasan yang Anda sebutkan:

Kita juga dapat memperluas lebih cepat dengan menggandakan panjang lintasan di setiap iterasi, menghasilkan lintasan sampel t ∼ T (t | z) = U T2L dengan keadaan sampel yang sesuai z ′ ∼ T (z ′ | t). Dalam hal ini baik komponen lintasan lama dan baru di setiap iterasi setara dengan daun pohon biner yang tertata sempurna (Gambar 37). Ini memungkinkan kita untuk membangun komponen lintasan baru secara rekursif, menyebarkan sampel pada setiap langkah dalam rekursi ...

dan memperluas ini di A.4, di mana ia berbicara tentang implementasi yang dinamis (bagian A.3 berbicara tentang implementasi statis):

Untungnya, skema statis yang efisien yang dibahas dalam Bagian A.3 dapat diulang untuk mencapai implementasi yang dinamis begitu kita telah memilih kriteria untuk menentukan kapan lintasan telah tumbuh cukup lama untuk memuaskan mengeksplorasi set tingkat energi yang sesuai.

Saya pikir kuncinya adalah tidak melompat dua kali lipat, menghitung lompatan berikutnya menggunakan teknik yang menggandakan panjang lompatan yang diusulkan sampai kriteria terpenuhi. Setidaknya begitulah cara saya memahami makalah sejauh ini.

Wayne
sumber