Pemrograman Probabilistik dan Metode Bayesian untuk Peretas

Halo kolega. Hari ini kami ingin bertanya bagaimana menuntut Anda menemukan buku yang sedikit ketinggalan zaman " Metode Bayesian untuk Peretas ", yang diterbitkan dalam versi asli pada tahun 2015, tetapi belum diterjemahkan ke dalam bahasa Rusia.


Buku ini diposisikan sesuai penerapan, sebisa mungkin singkirkan matematika dan awet muda.

Di bawah potongan adalah terjemahan yang agak disingkat dari ulasan buku ini yang diposting oleh penulis di Github.
Silakan pilih

Metode Bayesian adalah pendekatan alami untuk kesimpulan logis, namun, dalam banyak buku tentang topik ini esensi dari metode Bayesian benar-benar hilang di balik seluruh bab analisis matematika yang menyakitkan. Sebuah buku khas teori Bayesian dimulai dengan dua atau tiga bab tentang teori probabilitas, setelah itu diceritakan apa kesimpulan Bayesian. Sayangnya, karena ketidakmungkinan menghadirkan sebagian besar model Bayesian dalam bahasa matematika, hanya contoh-contoh artifisial sederhana yang diperlihatkan kepada pembaca. Dengan demikian, seseorang mungkin memiliki kesan imajiner bahwa ia diduga memahami kesimpulan Bayesian - sementara dalam kenyataannya ia hanya mempelajari interpretasi penulis tentang metode ini.

Setelah metode Bayesian jelas berhasil dalam kompetisi pembelajaran mesin, saya memutuskan untuk mengeksplorasi kembali topik ini. Bahkan dengan bagasi matematis saya, saya menghabiskan tiga hari penuh mempelajari contoh-contoh dan mencoba menyatukan semua fragmen untuk menangani semua metode. Untuk mempraktikkan teori, saya tidak punya cukup literatur. Kesalahpahaman ini muncul karena saya tidak dapat menjembatani kesenjangan antara matematika Bayesian dan pemrograman probabilistik. Jadi, saya menderita, dan saya ingin menyelamatkan pembaca dari penderitaan seperti itu. Itulah sebabnya saya menulis buku semacam itu sendiri.

Jika kesimpulan Bayesian adalah tujuan kami, maka analisis matematis hanyalah salah satu jalan untuk itu. Di sisi lain, daya komputasi kini menjadi jauh lebih murah, dan kita dapat menggunakan cara alternatif, yaitu pemrograman probabilistik. Pilihan kedua jauh lebih nyaman, karena tidak mengharuskan menggunakan matematika pada semua tahap penyelesaian masalah, dengan kata lain, ini memungkinkan Anda untuk melakukannya tanpa analisis matematika, yang sering ternyata menjadi hambatan yang tidak dapat diatasi untuk kesimpulan Bayesian. Secara kiasan, dalam kasus kedua kita bergerak dari awal ke akhir dalam garis kecil, dan yang pertama - dalam lompatan besar, karena itu kita dapat mendarat cukup jauh dari target. Selain itu, tanpa persiapan matematis yang serius, pembaca mungkin tidak dapat mengatasi analisis dari opsi pertama.

Buku Bayesian Methods for Hackers disusun sebagai pengantar kesimpulan Bayesian dengan fokus pada pemahaman konsep-konsep kunci dan penggunaan daya komputasi (matematika adalah sekunder). Tentu saja, buku ini adalah pengantar, dan itu akan tetap menjadi pengantar. Bagi mereka yang mahir dalam matematika, itu hanya dapat membangkitkan rasa ingin tahu, dan kemudian membukanya untuk teks-teks lain yang ditulis dengan dukungan analisis matematika yang serius. Bagi seorang penggila yang tertarik pada aplikasi praktis metode Bayesian, dan tidak dalam latar belakang matematika mereka, buku ini akan sangat informatif dan menarik.

PyMC dipilih untuk pemrograman probabilistik dalam buku ini, karena dua alasan. Pada saat penulisan, tidak ada sumber daya terpusat di Internet dengan contoh dan penjelasan metode kerja di ekosistem PyMC. Dokumentasi resmi mengasumsikan bahwa pembaca sudah memiliki gagasan inferensi Bayesian dan pemrograman probabilistik. Kami berharap buku ini akan mendorong pembaca dengan segala tingkat persiapan untuk melihat lebih dekat pada PyMC.

Saat bekerja dengan PyMC, Anda harus memperhitungkan dependensi, yaitu, dari NumPy (sesuai situasi) dari SciPy. Agar tidak membatasi pembaca, contoh-contoh dalam buku ini hanya menggunakan PyMC, NumPy, SciPy, dan Matplotlib.

Isi

(Bab-bab yang tercantum di bawah ini ditampilkan di nbviewer di nbviewer.ipython.org, hanya-baca dan terbuka secara real time. Notebook dan contoh interaktif dapat diunduh dengan mengkloning!)

  • Prolog : Mengapa melakukan ini.
  • Bab 1 : Pengantar Metode Bayesian. Berkenalan dengan filosofi dan praktik metode Bayesian, sebuah cerita tentang pemrograman probabilistik. Beberapa contoh:

ī‚§ Perubahan perilaku manusia - kesimpulan berdasarkan frekuensi pengiriman SMS.

  • Bab 2 : Sedikit lagi tentang PyMC Kita akan membahas pemodelan masalah Bayesian menggunakan contoh-contoh yang akan menggunakan perpustakaan PyMC (Python). Bagaimana cara membuat model Bayesian? Di antara contohnya adalah:
  • ī‚§ Perhitungan probabilitas jatuhnya pesawat ulang-alik Challenger

  • Bab 3 : Membuka Kotak Hitam MCMC Mari kita bicara tentang cara kerja alat diagnostik dan MCMC. Di antara contohnya adalah:
  • ī‚§ Pengelompokan Bayesian pada contoh model campuran

  • Bab 4 : Teorema Terbesar yang Belum Pernah Kamu Ceritakan Tentang Ini Kita akan mengeksplorasi teorema yang sangat berguna dan berbahaya: hukum jumlah besar. Di antara contohnya adalah:
  • ī‚§ Penelitian dataset Kaggle dan perangkap analisis naif
  • ī‚§ Cara mengurutkan komentar dari Reddit dari yang terbaik ke yang terburuk (tidak sesederhana yang Anda pikirkan)

  • Bab 5 : Apa yang lebih kamu sukai - dengan tangan atau kaki? Keakraban dengan fungsi kehilangan dan aplikasi mereka (yang tak tertandingi) dalam metode Bayesian. Di antara contohnya adalah:
  • ī‚§ Optimalisasi perkiraan keuangan
  • ī‚§ Solusi Persaingan Kemenangan Dunia yang Menakjubkan

  • Bab 6 : Klarifikasi prioritas. Mungkin bab yang paling penting. Di sini kami menjawab pertanyaan, beralih ke pendapat ahli. Di antara contohnya adalah:
  • ī‚§ Bandit multi-bersenjata dan solusi Bayesian untuk masalah seperti itu.
  • ī‚§ Apa hubungan antara ukuran sampel dan data apriori?
  • ī‚§ Penilaian keuangan yang tidak diketahui dengan menggunakan data pakar a priori.
  • Juga di sini Anda akan menemukan tips berharga tentang objektivitas dalam analisis dan perangkap umum yang terkait dengan probabilitas apriori.

Instalasi dan konfigurasi

Jika Anda ingin menjalankan Notepad IPython di komputer lokal Anda, Anda harus menginstal yang berikut ini:

  • IPython 0.13 - diperlukan untuk melihat file ipynb. Anda dapat mengunduhnya di sini .
  • Pengguna Linux dapat dengan mudah menginstal Numpy, Scipy, dan PyMC. Untuk pengguna Windows, ada versi pra-kompilasi jika Anda tiba-tiba menemui kesulitan.

Dalam direktori style / ada beberapa file yang disesuaikan untuk bekerja dengan notepad. Mereka tidak hanya dirancang khusus untuk buku ini, tetapi juga dioptimalkan secara khusus untuk bekerja dengan matplotlib dan IPython.

Source: https://habr.com/ru/post/id413653/


All Articles