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?
Jawaban:
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 ) f f f (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).f f f
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.logf f f
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:
Rasmussen, Carl Edward. "Proses Gaussian untuk mempercepat Monte Carlo hybrid untuk integral Bayesian yang mahal." Statistik Bayesian 7. 2003.
Zhang, Cheng, Babak Shahbaba, dan Hongkai Zhao. "Percepatan Hamiltonian Monte Carlo menggunakan Fungsi Pengganti dengan Basis Acak." arXiv preprint arXiv: 1506.05555 (2015).
Strathmann, Heiko, dkk. "Hamiltonian Monte Carlo yang bebas Gradien dengan keluarga eksponensial kernel yang efisien." Kemajuan dalam Sistem Pemrosesan Informasi Saraf Tiruan. 2015
Nishihara, Robert, Iain Murray, dan Ryan P. Adams. "MCMC paralel dengan pengambilan sampel elips umum." Jurnal Penelitian Pembelajaran Mesin 15.1 (2014): 2087-2112.
sumber
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.
sumber
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.
sumber
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 .
sumber