硬币翻转,决策过程和信息价值


14

想象一下以下设置:您有2个硬币,保证硬币A 为公平硬币,而硬币B可能为公平硬币,也可能不是。您被要求进行100次硬币翻转,并且您的目标是最大数目的正面。

您有关硬币B的先前信息是,硬币B被翻转3次并产生1个头。如果您的决策规则仅基于比较两个硬币正面的预期概率,则可以将硬币A翻转100次并完成操作。即使使用合理的概率贝叶斯估计(后验均值)也是如此,因为您没有理由相信硬币B产生更多的正面。

但是,如果硬币B实际上偏向正面,该怎么办?在某些情况下,通过翻转硬币B两次(因此获得有关其统计属性的信息)肯定会放弃“潜在的头脑”,这在某种意义上是有价值的,因此会影响您的决策。如何用数学方式描述“信息价值”?

问题:在这种情况下,如何在数学上构造最佳决策规则?


我正在删除答案。太多的人抱怨我明确使用了先验(这在文献中是标准的)。享受卡姆·戴维森·皮隆(Cam Davidson Pilon)的错误答案,他还假设一个先验对象(但没有一个对象),并声称最优方法比最优方法低1.035。
道格拉斯·扎里

哇,这什么时候发生?顺便说一句,我会同意道格拉斯的观点,即使用先验是可以的。我也撤回了最优性断言。
Cam.Davidson.Pilon

我接受Cam的解决方案,因为它对我有很大帮助。我同意这不是最优的,但是除非有人指出可以轻松计算的一般最优解,否则这是最好的选择。
M. Cypher

为什么我使用先验(我已经明确指出)回答一个标有“贝叶斯”的问题这么糟糕?
道格拉斯·扎里

1
我没有批评使用先验。我在旁注中提到,可能有比统一的先例(例如杰弗里的先验)更合适的先验,但这仅与该问题相关。您的解决方案非常好,对我来说没有用,因为它不易推广。
M. Cypher

Answers:


7

多臂匪

这是多武装匪徒问题的特例。我说一个特殊的情况是因为通常我们不知道正面的任何概率(在这种情况下,我们知道其中一个硬币的概率为0.5)。

您提出的问题称为“ 探索与开发”困境:您是否探索其他选择,还是坚持自己认为最好的选择。假设您知道所有概率,那么可以立即找到最佳解决方案:只需选择获胜概率最高的硬币。正如您提到的那样,问题在于我们不确定真正的概率是多少。

关于该主题的文献很多,并且有很多确定性算法,但是由于您已标记了贝叶斯算法,所以我想向您介绍我个人最喜欢的解决方案:贝叶斯匪徒

贝斯强盗解决方案

针对这个问题的贝叶斯方法是很自然的。我们有兴趣回答“ 硬币X优于两者的概率是多少?”。

p

BeŤ一种1个+1个1个+2

在此处输入图片说明

寻找一个近似最优的策略

现在我们有了后人,该怎么办?我们有兴趣回答“硬币B优于两者的概率是多少”(从我们的贝叶斯角度记住,尽管有一个肯定的答案是哪个更好,但我们只能说几率):

w=Ppb>0.5

w1个-ww

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会更好。像这样概率选择是探索-开发难题的最自然的解决方案

这是汤普森采样的一个特殊示例。可以在Google的研究论文Yahoo的研究论文中找到更多信息以及在线广告的炫酷应用程序。我喜欢这个东西!


2
我认为该策略不正确。我认为您不应该选择概率选择A或B。
道格拉斯·扎里

2
我不认为该论文能说明您的想法。如果您不同意,请计算该策略下可获得的正面人数。
道格拉斯·扎里

5
我认为这不是最佳选择。它建议您在第一次翻转时选择概率为1/2的B。应当清楚的是,如果您选择A,则不会获得任何信息,因此您应该一直选择B。造成此错误时,您损失的金额约为0.12,因此第一步需要花费约0.06。当您大致掷硬币决定是否在接下来的几个步骤中收集任何信息时,您将损失相似的金额。早退意味着您可以利用更少的时间来发现自己的优势。
道格拉斯·扎里

3
0.5

1
@DouglasZare如果您唯一的度量是预期的正面数目,考虑到我们的硬币翻转,那么最好的策略是始终选择硬币A。但这并不完整,因为它过多地关注解释,而没有足够的潜力探索。您的建议的逻辑结论是,如果我们重新开始实验,则将硬币B翻转一次:如果是“尾巴”,请始终选择A;否则,请选择“ A”。否则再次翻转,如果头总是选择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. Cypher

汤普森抽样是一个很差的近似值。如果您不想经历(最糟糕的是二次)精确计算的麻烦,但仍然希望避免大的误差,则可以使用更好的近似值。实际上,确切的计算可能更接近线性。
道格拉斯·扎里

01个1个/250

我不知道Mathematica,所以我无法追踪您如何计算期望的头数。关心解释那部分?如果我们假设硬币B的偏差是从[0,1]上的均匀分布得出的,那么我看不出如何能击败50/50。
jerad 2013年

1
道格拉斯:因为我更加关注您的回答:-)。请不要误会我的意思-我喜欢它,也喜欢这个主题。我认为重要的是要指出,您必须添加一个假设才能获得答案,仅此而已。实际上,在很多情况下-包括这种情况- 都没有先例。(我当然不想先做一个个人,然后再花大笔钱!)但是当然,如果您指定损失函数,那仍然是一个最佳选择 (“使期望最大化”不是完全损失函数。)
傻子
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.