コインフリッピング、意思決定プロセス、および情報の価値


14

次のセットアップを想像してください。2つのコインがあります。コインAは公平であることが保証され、コインBは公平である場合とそうでない場合があります。100コインフリップを行うように求められます。目的は、ヘッドの数最大にすることです。

コインBについての事前情報は、コインBが3回裏返され、1つのヘッドが得られたことです。決定ルールが、2枚のコインの頭の予想確率を比較することに単に基づいている場合、コインAを100回裏返し、それで完了します。これは、コインBがより多くの頭を生み出すと信じる理由がないため、確率の合理的なベイズ推定(事後平均)を使用する場合でも当てはまります。

しかし、コインBが実際に頭に有利にバイアスされている場合はどうなりますか?確かに、コインBを数回ひっくり返して(したがって、その統計的特性に関する情報を取得して)あきらめる「潜在的な頭」は、ある意味で価値があり、したがって、決定に影響を与えます。この「情報の価値」を数学的にどのように説明できますか?

質問:このシナリオで、最適な決定ルールを数学的にどのように構築しますか?


回答を削除しています。あまりにも多くの人が、私が明示的に事前文献を使用していると文句を言っています(これは文献の標準です)。Cam Davidson Pilonの間違った答えをお楽しみください。彼は事前(ただしオブジェクトは1つも)であると仮定し、最適な1.035未満の方法を最適と主張しています。
ダグラスザレ

誰だ、これはいつ起こったの?ところで、私はダグラスに、事前の使用は問題ないことに同意します。最適性アサーションも撤回します。
Cam.Davidson.Pilon

Camのソリューションを受け入れました。なぜなら、それが私を大いに助けてくれたからです。私はそれが最適ではないことに同意しますが、誰かが簡単に計算できる一般的な最適解を指摘できない限り、それが最善策です。
M.サイファー

「ベイジアン」とタグ付けされた質問に答えるために、事前に(明確に述べた)事前に使用したのはなぜそんなに悪いのですか?
ダグラスザーレ

1
私は事前の使用を批判しませんでした。サイドノートとして、一様なもの(例:ジェフリーズ)よりも適切な事前分布があるかもしれないと述べましたが、これは質問にわずかに関連しているだけです。あなたのソリューションは完全にうまくいきましたが、簡単に一般化されないので、私にとってはあまり有用ではありませんでした。
M.サイファー

回答:


7

多腕バンディット

これは、Multi-Armed Bandit問題の特定のケースです。一般的に、我々は知らないので、私は、特定の場合を言う任意のヘッドの確率を(このケースでは、我々はコインの一つが確率0.5を持って知っています)。

あなたが提起する問題は、探検対搾取のジレンマとして知られています。他のオプションを探求しますか、それとも最良と思われるものに固執しますすべての確率を知っていると仮定すると、即座に最適な解決策があります。単に、勝つ可能性が最も高いコインを選択してください。問題は、あなたが示唆したように、本当の確率が何であるかについて私たちが確信していないということです。

このテーマに関する多くの文献があり、多くの決定論的アルゴリズムがありますが、このベイジアンをタグ付けしたので、私の個人的なお気に入りのソリューション、ベイジアンバンディットについてお話したいと思います!

ベイジアンバンディットソリューション

この問題に対するベイジアンのアプローチは非常に自然です。「コインXが2つの方が良い確率はどれくらいですか?」と答えることに興味があります。

先験的に、コインフリップがまだ観察されていないと仮定すると、この未知の示す、コインBのヘッドの確率が何であるかわかりません。したがって、事前確率分布をこの未知の確率に割り当てる必要があります。代わりに、コインAの以前の(および後の)ものは、完全に1/2に集中しています。pB

あなたが述べたように、コインBから2つの尾と1つの頭を観察します。事後分布を更新する必要があります。均一な前と仮定すると、とフリップはベルヌーイコインは、反転され、私たちの後方である。事後分布またはAとBを今比較する:Beta(1+1,1+2)

ここに画像の説明を入力してください

ほぼ最適な戦略を見つける

後継者がいるので、どうすればいいですか?「コインBの方が2つの方が良い確率はどれですか」と答えることに興味があります(ベイジアンの観点から、どちらが良いかについては明確な答えがありますが、確率でしか話せません)。

wB=P(pb>0.5)

ほぼ最適なソリューションは、確率と確率1 w Bの A を選択することです。このスキームは、期待されるゲインを最大化します。事後分布がわかっているので、w Bは計算で計算できますが、興味深い方法は次のとおりです。wB1wBwB

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

このスキームも自己更新です。コインBを選択した結果を確認したら、この新しい情報で事後情報を更新し、再度選択します。このように、コインBが本当に悪い場合、コインBの選択を減らし、コインBが実際に良い場合、より頻繁に選択します。もちろん、私たちはベイジアンですので、コインBの方が優れているとは絶対に確信できません。このように確率的に選択することは、探査と開発のジレンマに対する最も自然な解決策です。

これは、トンプソンサンプリングの特定の例です。詳細については、Googleの研究論文Yahooの研究論文をご覧ください。私はこのものが大好きです!


2
私はその戦略が正しいとは思わない。AまたはBを確率的に選択するかどうかを選択すべきではないと思います。
ダグラスザレ

2
私はその紙があなたがそれが何をすると思うかを述べているとは思わない。同意しない場合は、その戦略で得られる予想ヘッド数を計算してください。
ダグラスザレ

5
これは最適に近いとは思わない。最初のフリップでは、確率1/2でBを選択したことが示唆されます。Aを選択すると情報が得られないことは明らかであるため、常にBを選択する必要があります。このエラーで失う金額は、約0.12であるため、最初のステップで約0.06かかります。次のいくつかのステップで情報を収集するかどうかを決めるためにコインを大まかに裏返すと、同様の金額を失います。早い段階で反転するということは、あなたが見つけるかもしれない利点を活用する時間が少ないことを意味します。
ダグラスザーレ

3
0.5

1
@DouglasZareあなたの唯一の尺度は、当社のコインが反転し与えられ、ヘッドの予想数である場合には、最善の戦略は、常にコインAを選択することです。しかし、それはにあまり重点を置いて、これは不完全であるexplioitationの潜在的な上側には十分ではなく、探検。あなたの提案の論理的な結論は、実験を再開する場合、コインBを1回裏返すことです。それがテールの場合、常にAを選択します。それ以外の場合、Headsが常にBを選択している場合は、もう一度裏返します
。– Cam.Davidson.Pilon

9

これは、多腕バンディット問題の単純なケースです。気付くように、短期的には最適ではないと思うときに未知のコインを試して、収集した情報のバランスを取りたいと思います。

1/2

一般に、動的プログラミングの問題から逃れることはできないと思いますが、最適な戦略をより簡単に見つけて確認できる特別な場合もあります。

事前に統一した場合、ここで停止する必要があります。

0 3 しっぽ1 5 しっぽ2 6 しっぽ37483135323533363437414442444648474848494950

61.3299

次のMathematicaコードを使用して株式を計算しました。

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]
           ]
      ]

比較のために、Thompsonのサンプリングヒューリスティック(Cam Davidson Pilonが最適であると主張)は、平均60.2907ヘッドを与え、1.03915だけ低くなっています。トンプソンのサンプリングには、良い賭けではないことを知るのに十分な情報があるときにBをサンプリングするという問題があり、情報が最も価値があるときにBを早期にサンプリングする機会を無駄にすることがよくあります。このタイプの問題では、オプション間でほとんど無関心ではなく、純粋に最適な戦略があります。

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])]]

最適なソリューションの方が近似的なソリューションよりも優れていることに同意します。数百の「コイン」を持つ動的な環境で数ミリ秒以内に効率的に適用できる最適な一般的なソリューションがあるのだろうか。そうでない場合は、トンプソンサンプリングが最適なオプションだと思います。
M.サイファー

トンプソンサンプリングは近似が不十分です。(最悪の場合は2次)正確な計算の問題を回避したいが、大きなエラーを回避したい場合に使用できるより良い近似があります。実際、正確な計算は線形に近い場合があります。
ダグラスZare

PrB(heads)(0,1)1/250

Mathematicaがわからないので、予想されるヘッド数をどのように計算したかを追うことはできません。その部分を説明する気ですか?コインBのバイアスが[0,1]の均一な分布から引き出されるという知識があると仮定すると、50/50を超えることは期待できません。
ジェラド

1
ダグラス:あなたの答えにもっと注意を払ったからです:-)。誤解しないでください-私はそれが好きで、このスレッドが好きです。答えを得るには仮定を追加する必要があることを指摘することが重要だと思いました。それだけです。実際問題として、これを含む多くの状況では、事前の状況はありません。(私は確かに事前に個人を補うことを望んでいないだろうし、それから大きなお金を賭ける必要がある!)しかし、もちろん、損失関数を指定すれば、依然として最適なものがあります。 (期待値を「最大化」することは、完全な損失関数ではありません。)
whuber
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.