Dapatkah algoritma Machine Learning atau Deep Learning digunakan untuk “meningkatkan” proses pengambilan sampel teknik MCMC?

21

Berdasarkan sedikit pengetahuan yang saya miliki tentang metode MCMC (Markov chain Monte Carlo), saya mengerti bahwa pengambilan sampel adalah bagian penting dari teknik yang disebutkan di atas. Metode pengambilan sampel yang paling umum digunakan adalah Hamiltonian dan Metropolis.

Apakah ada cara untuk memanfaatkan pembelajaran mesin atau bahkan pembelajaran mendalam untuk membangun MCMC sampler yang lebih efisien?

Jespar
sumber
5
Bisakah Anda menentukan "perbaikan" apa yang ada dalam pikiran Anda dan bagaimana Anda melihat peran pembelajaran mesin itu ..?
Tim
2
Tidak biasanya, MCMC biasanya melibatkan estimasi nilai dari ekspresi tanpa bentuk tertutup yang terlalu rumit untuk menemukan solusi analitik. Mungkin pengelompokan multivarian (atau pendekatan serupa) dapat digunakan untuk memperkirakan kepadatan multivarian yang lebih sederhana, tetapi saya akan melihat bahwa lebih sebagai alternatif untuk menggunakan MCMC sama sekali.
AdamO
1
@ AdamO, mengapa tidak mengubahnya menjadi jawaban? Sepertinya itu mungkin sebagus yang bisa kita dapatkan di sini.
gung - Reinstate Monica
@Tim Nah, dari apa yang saya baca, MCMC mengambil sampel dari distribusi untuk menghitung jumlah yang dapat disimpulkan. Algoritma MH secara acak memilih "lokasi" dan kemudian menyatakan apakah mereka dapat diterima. Yang saya ingin tahu adalah apakah ada teknik alternatif ML. Saya tahu kedengarannya kabur, dan saya minta maaf untuk itu, tetapi saya menemukan MCMC menarik dan saya mencoba untuk memahami teori dan aplikasi praktis dengan belajar sendiri.
Jespar
1
Terkait arxiv.org/pdf/1506.03338v3.pdf
Memilih

Jawaban:

27

Iya nih. Tidak seperti yang dinyatakan oleh jawaban lain, metode pembelajaran mesin 'tipikal' seperti nonparametrik dan jaringan saraf (dalam) dapat membantu menciptakan sampel MCMC yang lebih baik.

Tujuan MCMC adalah untuk mengambil sampel dari target distribusi (tidak normal) . Sampel yang diperoleh digunakan untuk memperkirakan f dan sebagian besar memungkinkan untuk menghitung ekspektasi fungsi di bawah f (yaitu, integral dimensi tinggi) dan, khususnya, sifat ff(x)fff (seperti momen).

Pengambilan sampel biasanya membutuhkan sejumlah besar evaluasi , dan mungkin gradiennya, untuk metode seperti Hamiltonian Monte Carlo (HMC). Jika f mahal untuk dievaluasi, atau gradien tidak tersedia, kadang-kadang mungkin untuk membangun fungsi pengganti yang lebih murah yang dapat membantu memandu pengambilan sampel dan dievaluasi di tempat f (dengan cara yang masih mempertahankan sifat-sifat MCMC).fff

Sebagai contoh, makalah mani ( Rasmussen 2003 ) mengusulkan untuk menggunakan Proses Gaussian (perkiraan fungsi nonparametrik) untuk membangun perkiraan untuk dan melakukan HMC pada fungsi pengganti, dengan hanya langkah penerimaan / penolakan HMC berdasarkan pada f . Ini mengurangi jumlah evaluasi f asli , dan memungkinkan untuk melakukan MCMC pada pdf yang kalau tidak terlalu mahal untuk dievaluasi.logfff

Gagasan menggunakan pengganti untuk mempercepat MCMC telah dieksplorasi banyak dalam beberapa tahun terakhir, pada dasarnya dengan mencoba berbagai cara untuk membangun fungsi pengganti dan menggabungkannya secara efisien / adaptif dengan metode MCMC yang berbeda (dan dengan cara yang menjaga kebenaran ' (dari MCMC sampling). Terkait dengan pertanyaan Anda, kedua makalah ini sangat baru menggunakan teknik pembelajaran mesin canggih - jaringan acak ( Zhang et al. 2015 ) atau belajar fungsi kernel eksponensial yang dipelajari secara adaptif ( Strathmann et al. 2015 ) - untuk membangun fungsi pengganti.

HMC bukan satu-satunya bentuk MCMC yang dapat mengambil manfaat dari ibu pengganti. Misalnya, Nishiara et al. (2014) membangun perkiraan kerapatan target dengan menyesuaikan distribusi multivariat Siswa ke keadaan multi-rantai sampler ensemble, dan menggunakan ini untuk melakukan bentuk umum sampel slice elliptical .t

Ini hanya contoh. Secara umum, sejumlah teknik ML yang berbeda (sebagian besar di bidang perkiraan fungsi dan estimasi kepadatan) dapat digunakan untuk mengekstraksi informasi yang dapat meningkatkan efisiensi sampel MCMC. Mereka sebenarnya kegunaan - misalnya diukur dalam jumlah "sampel independen yang efektif per detik" - adalah tergantung pada menjadi mahal atau agak sulit untuk menghitung; juga, banyak dari metode ini mungkin memerlukan penyetelan pengetahuan mereka sendiri atau tambahan, membatasi penerapannya.f

Referensi:

  1. Rasmussen, Carl Edward. "Proses Gaussian untuk mempercepat Monte Carlo hybrid untuk integral Bayesian yang mahal." Statistik Bayesian 7. 2003.

  2. Zhang, Cheng, Babak Shahbaba, dan Hongkai Zhao. "Percepatan Hamiltonian Monte Carlo menggunakan Fungsi Pengganti dengan Basis Acak." arXiv preprint arXiv: 1506.05555 (2015).

  3. Strathmann, Heiko, dkk. "Hamiltonian Monte Carlo yang bebas Gradien dengan keluarga eksponensial kernel yang efisien." Kemajuan dalam Sistem Pemrosesan Informasi Saraf Tiruan. 2015

  4. Nishihara, Robert, Iain Murray, dan Ryan P. Adams. "MCMC paralel dengan pengambilan sampel elips umum." Jurnal Penelitian Pembelajaran Mesin 15.1 (2014): 2087-2112.

Lacerbi
sumber
2
Saya tidak yakin metode yang Anda sebutkan benar-benar dalam kategori "metode pembelajaran mesin", bukan hanya metode MCMC standar (meskipun ini adalah garis paling blurriest). Satu-satunya yang secara definitif nampak sebagai metode ML / DL adalah 3, yang sejak itu menghapus "jaringan saraf" dari judulnya (dan tampaknya mengakui dalam teks bahwa menggunakan metode ML standar akan terlalu lambat).
Cliff AB
2
t
1
@ Lacerbi terima kasih banyak Saya senang bahwa saya dapat menggunakan referensi Anda sebagai landasan untuk penelitian lebih lanjut.
Jespar
6

Metode yang dapat menghubungkan kedua konsep tersebut adalah algoritma Metropolis Hastings multivariat. Dalam hal ini, kami memiliki distribusi target (distribusi posterior) dan distribusi proposal (biasanya multivarian normal atau t-distribusi).

Fakta yang terkenal adalah bahwa semakin jauh distribusi proposal berasal dari distribusi posterior, semakin kurang efisien samplernya. Jadi orang dapat membayangkan menggunakan semacam metode pembelajaran mesin untuk membangun distribusi proposal yang lebih cocok dengan distribusi posterior yang sebenarnya daripada distribusi multivariat normal / t sederhana.

Namun, tidak jelas apakah ini merupakan peningkatan efisiensi. Dengan menyarankan pembelajaran yang mendalam, saya berasumsi bahwa Anda mungkin tertarik menggunakan semacam pendekatan jaringan saraf. Dalam kebanyakan kasus, ini akan jauh lebih mahal secara komputasi daripada seluruh metode MCMC vanilla itu sendiri. Demikian pula, saya tidak tahu alasan apa pun bahwa metode NN (atau bahkan sebagian besar metode pembelajaran mesin) melakukan pekerjaan yang baik dalam memberikan kepadatan yang memadai di luar ruang yang diamati, penting untuk MCMC. Jadi, bahkan mengabaikan biaya komputasi yang terkait dengan membangun model pembelajaran mesin, saya tidak dapat melihat alasan yang bagus mengapa ini akan meningkatkan efisiensi pengambilan sampel.

Cliff AB
sumber
Cliff AB Saya merasa Anda dan @AdamO menjelaskan konsep MCMC dan ML kepada saya lebih dari menghabiskan berjam-jam di buku lain. Saya menghargai upaya Anda semua dan saya senang Anda menyebutkan beberapa bidang yang bisa saya selidiki lebih lanjut.
Jespar
@Bagian apa buku yang Anda maksud?
AdamO
@AdamO Saat ini saya sedang membaca Penguatan Pembelajaran oleh Richard Sutton dan Machine Learning: Sebuah Perspektif Probabilistik oleh Kevin Murphy yang berisi bab MCMC; dan juga publikasi dari berbagai jurnal ML dan Statistik Komputasi.
Jespar
3

Pembelajaran Mesin berkaitan dengan prediksi, klasifikasi, atau pengelompokan dalam pengaturan yang diawasi atau tidak diawasi. Di sisi lain, MCMC hanya peduli dengan mengevaluasi intergral yang kompleks (biasanya tanpa bentuk tertutup) menggunakan metode numerik probabilistik. Sampling Metropolis jelas bukan pendekatan yang paling umum digunakan. Sebenarnya, ini adalah satu-satunya metode MCMC yang tidak memiliki komponen probabilistik. Jadi ML tidak akan menginformasikan apa pun dengan MCMC dalam kasus ini.

Pentingnya pengambilan sampel berdasarkan memang memerlukan komponen probabilistik. Hal ini lebih efisien daripada Metropolis di bawah beberapa asumsi dasar. Metode ML dapat digunakan untuk memperkirakan komponen probabilistik ini jika sesuai dengan beberapa asumsi. Contohnya mungkin pengelompokan multivarian untuk memperkirakan kepadatan Gaussian dimensi tinggi yang kompleks. Saya tidak akrab dengan pendekatan non-parametrik untuk masalah ini, tapi itu bisa menjadi bidang pengembangan yang menarik.

Meskipun demikian, ML menonjol bagi saya sebagai langkah yang berbeda dalam proses memperkirakan model probabilitas tinggi dimensi yang kompleks yang kemudian digunakan dalam metode numerik. Saya tidak melihat bagaimana ML benar-benar meningkatkan MCMC dalam kasus ini.

AdamO
sumber
Terima kasih @AdamO, setidaknya sekarang saya memiliki pemahaman yang jauh lebih baik tentang bidang ini.
Jespar
1
Saya pikir jawaban ini tidak lengkap dan mungkin salah (tergantung pada interpretasi pertanyaan yang sebenarnya OP, yang tidak sepenuhnya jelas). Metode ML khas seperti nonparametrics dan jaringan saraf dapat dan yang digunakan untuk meningkatkan MCMC sampler. Bahkan, itu adalah bidang penelitian aktif. Lihat jawaban saya, dan referensi di atasnya untuk memulai dengan.
lacerbi
1
hal
Terima kasih @ adamo Namun, jujur saja, saya tidak mengerti penjelasan Anda, atau bagaimana membuat jawaban Anda yang benar. Sebagai contoh, saya tidak mengerti apa yang Anda maksud ketika Anda mengatakan bahwa Metropolis memiliki "tidak ada komponen probabilistik". Juga, Anda menyatakan bahwa ML tidak dapat membantu dalam pengambilan sampel, yang sama sekali tidak benar (bahkan dalam definisi sempit pengambilan sampel sebagai estimasi integral dimensi tinggi), seperti yang ditunjukkan oleh jawaban saya.
lacerbi
3
@AdamO: proses Gaussian, metode kernel, random dasar jaringan. Secara umum, bentuk fungsi pendekatan atau estimasi kepadatan akan bekerja. Jika ini bukan metode ML, saya tidak yakin apa itu ... (harap dicatat bahwa OP meminta metode ML atau DL). Juga, seperti yang saya tanyakan di atas, dapatkah Anda menjelaskan apa yang Anda maksudkan ketika Anda menulis bahwa Metropolis tidak memiliki komponen probabilistik? Terima kasih!
lacerbi
0

Ada beberapa karya terbaru dalam fisika komputasi di mana penulis menggunakan Dibatasi Boltzmann Mesin untuk distribusi model probabilitas dan kemudian mengusulkan (mudah-mudahan) efisien Monte Carlo update arXiv: 1610,02746 . Idenya di sini ternyata sangat mirip dengan referensi yang diberikan oleh @ lacerbi di atas.

Dalam upaya lain 1702.08586 , penulis secara eksplisit membangun Mesin Boltzmann yang dapat melakukan (dan bahkan menemukan) pembaruan cluster terkenal Monte Carlo .

Lei Wang
sumber