probability - 设计一个实验,从 100 个硬币中找出不公平的硬币
问题描述
假设有 100 个硬币,其中只有 1 个硬币是不公平的。这个不公平的硬币得到正面的概率小于 0.5。我如何设计一个实验来找到不公平的硬币?
我认为一种方法是多次翻转每个硬币(例如,10000 次)。然后将挑选正面数量最少的硬币作为不公平硬币。但是还有其他更聪明的方法可以做到这一点吗?
解决方案
这可能会奏效,但如果你能衡量一下你选择正确硬币的信心,那就太好了,因为如果硬币只是非常不公平,你可能需要大量的试验才能自信地说出哪个硬币有偏见,而且听起来好像没有给你多少偏见,所以没有特别的理由怀疑 10000 次试验就足够了:可能需要更多(或更少)的试验。例如,如果硬币偏差只有 P(h) = 0.49999(所有其他硬币的 P(h) = 0.5)并且在 10000 次试验后产生最少正面的硬币只比第二低产生的正面少 1 个,那么您可能希望将这些信息考虑在内并继续前进,直到您有数学理由确信您找到了正确的硬币。
为了实现这一点,您可以采用贝叶斯方法并分批进行 100 或 1000 次试验,在每批之后根据贝叶斯规则更新每个硬币公平的后验概率(给所有硬币的先验概率为 99/100) . 您可以继续此操作,直到一枚硬币的后验概率小于 0.05,或者采取额外的步骤来验证其他硬币的后验概率 >= .95。这样,您的实验对于找到有偏见的硬币所需的试验次数是不可知的,并且只会继续进行,直到一个明显与其他硬币区分开来。
推荐阅读
- azure-devops - 如何使 Kubernetes 的部署映像与 Devops 库或 variables.tf 保持同步?
- cypress - Cypress + 即使在 cy.request 命令通过后也无法看到仪表板
- python - 试图在我的 discord.py 重写机器人中创建一个 !say 命令
- laravel - 解析侧栏中的变量时出现Laravel错误
- ruby-on-rails - 如何通过多态关系对belongs_to 关联进行排序?
- python - 当我在 ax.bar 中设置 x 时使用 .group 方法时,如何使用 matplotlib 创建误差线?
- python - 可以对任何 Keras 对象进行子类化/序列化吗?模型,显然没有,优化器怎么样?
- c# - 部署到 IIS 时未返回用户 AD 组
- python - 用 Python 3 编写 iOS 游戏的最佳库是什么?
- javascript - html: 我可以停止 gif 吗?(寻找可以实现与“停止” gif 相同效果的方法)