Pembalikan koin, proses pengambilan keputusan, dan nilai informasi

14

Bayangkan pengaturan berikut: Anda memiliki 2 koin, koin A yang dijamin adil, dan koin B yang mungkin atau mungkin tidak adil. Anda diminta untuk melakukan 100 koin terbalik, dan tujuan Anda adalah memaksimalkan jumlah kepala .

Informasi Anda sebelumnya tentang koin B adalah bahwa koin itu dibalik 3 kali dan menghasilkan 1 kepala. Jika aturan keputusan Anda hanya didasarkan pada membandingkan probabilitas yang diharapkan dari kepala 2 koin, Anda akan membalik koin A 100 kali dan selesai dengan itu. Ini benar bahkan ketika menggunakan estimasi Bayesian yang masuk akal (sarana posterior) dari probabilitas, karena Anda tidak memiliki alasan untuk percaya bahwa koin B menghasilkan lebih banyak kepala.

Namun, bagaimana jika koin B sebenarnya bias mendukung kepala? Tentunya "calon kepala" yang Anda berikan dengan membalik koin B beberapa kali (dan karena itu mendapatkan informasi tentang sifat statistiknya) akan bernilai dalam beberapa hal dan karenanya akan menjadi faktor dalam keputusan Anda. Bagaimana "nilai informasi" ini dijelaskan secara matematis?

Pertanyaan: Bagaimana Anda membuat aturan keputusan yang optimal secara matematis dalam skenario ini?

Tuan Cypher
sumber
Saya menghapus jawaban saya. Terlalu banyak orang mengeluh bahwa saya secara eksplisit menggunakan prior (yang merupakan standar dalam literatur). Nikmati jawaban yang salah dari Cam Davidson Pilon di mana ia juga menganggap sebelumnya (tetapi tidak ada yang keberatan) dan mengklaim sebagai metode optimal yang 1,035 di bawah optimal.
Douglas Zare
whoah, kapan semua ini terjadi? BTW, saya setuju dengan Douglas bahwa menggunakan prior tidak masalah. Saya menarik kembali pernyataan optimalitas saya juga.
Cam.Davidson.Pilon
Saya menerima solusi Cam karena itu banyak membantu saya. Saya setuju bahwa itu tidak optimal, tetapi kecuali seseorang dapat menunjukkan solusi optimal umum yang dapat dengan mudah dihitung, itu taruhan terbaik.
M. Cypher
Mengapa begitu buruk sehingga saya menggunakan prior (yang dengan jelas saya nyatakan) untuk menjawab pertanyaan yang ditandai "bayesian?"
Douglas Zare
1
Saya tidak mengkritik penggunaan pendahulunya. Saya menyebutkan sebagai sidenote bahwa mungkin ada prior lebih tepat daripada yang seragam (misalnya Jeffrey), tetapi ini hanya sedikit relevan dengan pertanyaan. Solusi Anda baik-baik saja, tidak begitu berguna bagi saya karena tidak mudah digeneralisasi.
M. Cypher

Jawaban:

7

Bandit multi-bersenjata

Ini adalah kasus khusus dari masalah bandit Multi-Armed . Saya mengatakan kasus tertentu karena umumnya kita tidak tahu apa dari probabilitas kepala (dalam hal ini kita tahu salah satu koin memiliki probabilitas 0,5).

Masalah yang Anda ajukan dikenal sebagai dilema eksplorasi vs eksploitasi : apakah Anda menjelajahi opsi lain, atau apakah Anda tetap dengan yang menurut Anda adalah yang terbaik. Ada solusi optimal langsung dengan asumsi Anda tahu semua probabilitas : cukup pilih koin dengan probabilitas menang tertinggi. Masalahnya, seperti yang telah Anda singgung, adalah bahwa kami tidak yakin tentang probabilitas sebenarnya.

Ada banyak literatur tentang masalah ini, dan ada banyak algoritma deterministik, tetapi karena Anda menandai Bayesian ini, saya ingin memberi tahu Anda tentang solusi favorit pribadi saya: Bayesian Bandit !

Solusi Baysian Bandit

Pendekatan Bayesian untuk masalah ini sangat alami. Kami tertarik untuk menjawab, "Berapa probabilitas koin X lebih baik dari keduanya?".

Sebuah priori , dengan asumsi kita telah mengamati ada koin membalik belum, kita tidak tahu apa probabilitas koin B Heads mungkin, menunjukkan ini tidak diketahui . Jadi kita harus menetapkan distribusi seragam sebelumnya untuk probabilitas yang tidak diketahui ini. Atau, sebelumnya (dan posterior) kami untuk koin A secara sepele terkonsentrasi seluruhnya pada 1/2.pB

Seperti yang telah Anda nyatakan, kami mengamati 2 ekor dan 1 kepala dari koin B, kami perlu memperbarui distribusi posterior kami. Dengan asumsi seragam sebelumnya, dan membalik adalah koin-membalik Bernoulli, posterior kami adalah . Membandingkan distribusi posterior atau A dan B sekarang:Beta(1+1,1+2)

masukkan deskripsi gambar di sini

Menemukan strategi yang kurang lebih optimal

Sekarang setelah kita memiliki eksterior, apa yang harus dilakukan Kami tertarik untuk menjawab "Berapa probabilitas koin B lebih baik dari keduanya" (Ingat dari perspektif Bayesian kami, meskipun ada jawaban pasti yang mana yang lebih baik, kami hanya dapat berbicara dalam probabilitas):

wB=P(pb>0.5)

wB1wBwB

1. Sample P_B from the posterior of coin B
2. If P_B > 0.5, choose coin B, else choose coin A.

Skema ini juga memperbarui sendiri. Ketika kami mengamati hasil memilih koin B, kami memperbarui posterior kami dengan informasi baru ini, dan memilih lagi. Dengan cara ini, jika koin B benar-benar buruk, kami akan memilihnya lebih sedikit, dan koin B sebenarnya sangat bagus, kami akan memilihnya lebih sering. Tentu saja, kita adalah orang Bayesian, maka kita tidak pernah bisa benar-benar yakin koin B lebih baik. Memilih secara probabilistik seperti ini adalah solusi paling alami untuk dilema eksplorasi-eksploitasi.

Ini adalah contoh khusus dari Thompson Sampling . Informasi lebih lanjut, dan aplikasi keren untuk iklan online, dapat ditemukan di makalah penelitian Google dan makalah penelitian Yahoo . Saya suka barang ini!

Cam.Davidson.Pilon
sumber
2
Saya pikir strategi itu tidak benar. Saya tidak berpikir Anda harus memilih apakah akan memilih A atau B secara probabilistik.
Douglas Zare
2
Saya tidak berpikir bahwa makalah mengatakan apa yang Anda pikirkan. Jika Anda tidak setuju, harap hitung jumlah kepala yang diharapkan yang akan Anda peroleh berdasarkan strategi itu.
Douglas Zare
5
Saya rasa ini tidak mendekati optimal. Ini menunjukkan bahwa pada flip pertama, Anda memilih B dengan probabilitas 1/2. Harus jelas bahwa Anda tidak mendapatkan informasi jika Anda memilih A, jadi Anda harus memilih B sepanjang waktu. Jumlah Anda yang hilang karena kesalahan ini adalah sekitar 0,12 ketika Anda membuatnya, sehingga Anda harus membayar sekitar 0,06 pada langkah pertama. Anda kehilangan jumlah yang sama ketika Anda membalik koin secara kasar untuk memutuskan apakah akan mengumpulkan informasi pada beberapa langkah berikutnya. Membalik Sebuah awal berarti Anda memiliki lebih sedikit waktu untuk mengeksploitasi keuntungan yang mungkin Anda temukan.
Douglas Zare
3
0.5
1
@DouglasZare Jika satu-satunya ukuran Anda adalah jumlah kepala yang diharapkan, mengingat koin kami terbalik, maka strategi terbaik adalah selalu memilih koin A. Tapi ini tidak lengkap karena terlalu banyak berfokus pada eksplorasi , dan tidak cukup pada potensi kenaikan dari eksplorasi . Kesimpulan logis dari saran Anda adalah, jika kami memulai kembali percobaan, untuk membalik koin B sekali: jika itu adalah Buntut, selalu pilih A; lain flip lagi, jika Kepala selalu memilih B.
Cam.Davidson.Pilon
9

Ini adalah kasus sederhana dari masalah bandit multi-bersenjata . Seperti yang Anda perhatikan, Anda ingin menyeimbangkan informasi yang Anda kumpulkan dengan mencoba koin yang tidak dikenal saat Anda berpikir tidak optimal dalam jangka pendek melawan eksploitasi pengetahuan yang Anda miliki.

1/2

Secara umum, saya pikir Anda tidak dapat melepaskan diri dari masalah pemrograman dinamis, meskipun mungkin ada kasus khusus di mana strategi optimal dapat ditemukan dan diperiksa lebih sederhana.

Dengan seragam sebelumnya, di sinilah Anda harus berhenti:

(0 heads,3 tails),(1 head,5 tails),(2 heads,6 tails),(3,7),(4,8),...(31,35),(32,35),(33,36),(34,37),...(41,44),(42,44),...(46,48),(47,48),(48,49),(49,50)

61.3299

Saya menggunakan kode Mathematica berikut untuk menghitung ekuitas:

Clear[Equity];
Equity[n_, heads_, tails_] := Equity[n, heads, tails] = 
    If[n == 0, heads, 
       Max[1/2 + Equity[n - 1, heads, tails], 
           (heads + 1)/(heads + tails + 2) Equity[n - 1, heads + 1, tails] + 
           (tails + 1)/(heads + tails + 2) Equity[n - 1, heads, tails + 1]
           ]
      ]

Sebagai perbandingan, heuristik pengambilan sampel Thompson (yang diklaim Cam Davidson Pilon optimal) memberikan rata-rata 60.2907 kepala, lebih rendah sebesar 1.03915. Sampling Thompson memiliki masalah yang terkadang menjadi sampel B ketika Anda memiliki informasi yang cukup untuk mengetahui bahwa itu bukan taruhan yang baik, dan sering kali membuang-buang peluang untuk mengambil sampel B lebih awal, ketika informasi paling berharga. Dalam jenis masalah ini, Anda hampir tidak pernah acuh tak acuh di antara pilihan Anda, dan ada strategi optimal murni.

tp[heads_, tails_] := tp[heads, tails] = 
    Integrate[x^heads (1 - x)^tails / Beta[heads + 1, tails + 1], {x, 0, 1/2}]


Clear[Thompson];
Thompson[flipsLeft_, heads_, tails_] := Thompson[flipsLeft, heads, tails] = 
    If[flipsLeft == 0, heads, 
       Module[{p = tp[heads, tails]}, 
           p (1/2 + Thompson[flipsLeft-1,heads,tails]) + 
           (1-p)((heads+1)/(heads+tails+2)Thompson[flipsLeft-1,heads+1,tails] + 
           ((tails+1)/(heads+tails+2)) Thompson[flipsLeft-1,heads,tails+1])]]
Douglas Zare
sumber
Saya setuju bahwa solusi optimal akan lebih baik daripada perkiraan. Saya ingin tahu apakah ada solusi umum yang optimal yang dapat diterapkan secara efisien dalam milidetik dalam lingkungan yang dinamis dengan beberapa ratus "koin". Jika tidak, saya kira pengambilan sampel Thompson adalah pilihan terbaik.
M. Cypher
Sampling Thompson adalah pendekatan yang buruk. Ada perkiraan yang lebih baik yang dapat Anda gunakan jika Anda tidak ingin melalui masalah perhitungan yang tepat (paling buruk kuadrat), tetapi masih ingin menghindari kesalahan besar. Sebenarnya, perhitungan yang tepat mungkin lebih dekat ke linear.
Douglas Zare
PrB(heads)(0,1)1/250
Saya tidak tahu Mathematica jadi saya tidak bisa mengikuti cara Anda menghitung jumlah kepala yang Anda harapkan. Mau jelaskan bagian itu? Jika kita mengasumsikan pengetahuan bahwa bias koin B diambil dari distribusi seragam pada [0,1], maka saya tidak melihat bagaimana Anda bisa mengalahkan 50/50.
jerad
1
Douglas: Karena saya lebih memperhatikan jawaban Anda :-). Tolong jangan salah paham - Saya suka dan saya suka utas ini. Saya pikir penting untuk menunjukkan bahwa Anda harus menambahkan asumsi untuk mendapatkan jawaban Anda, itu saja. Secara praktis, dalam banyak situasi - termasuk yang satu ini - tidak ada sebelumnya . (Saya yakin tidak ingin membuat personal sebelum dan kemudian harus mempertaruhkan uang besar untuk itu!) Tapi tentu saja masih ada yang optimal, asalkan Anda menentukan fungsi kerugian. ("Memaksimalkan" harapan bukanlah fungsi kerugian penuh.)
whuber