algorithm - 用于解决给定硬币输出的 HMM

标签 algorithm probability bioinformatics hidden-markov-models

我在 HMM 上收到了这个作业问题,我已经解决了。我想知道我是否正确。问题是:

Suppose a dishonest dealer has two coins, one fair and one biased; the biased coin has heads probability 1/4. Assume that the dealer never switches the coins. Which coin is more likely to have generated the sequence HTTTHHHTTTTHTHHTT? It may be useful to know that log2(3) = 1.585

我计算了公平硬币和有偏见硬币的 P。 公平硬币的 P 为 7.6*10-6,而有偏见硬币的 P 为 3.43*10-6。我没有使用log term,如果我用其他方式解决它就可以使用它。因此,我得出结论,给定的序列更有可能是由一枚公平的硬币生成的。

我说得对吗?

非常感谢任何帮助。

最佳答案

所以你得到了以下内容。

P(H|Fake) = 1/4 P(T|Fake) = 3/4
P(H|Fair) = 1/2 P(T|Fair) = 1/2
P(Fair) = 1/2 P(Fake) = 1/2

要回答您需要回答 P(Fake/HTTPTHHHTTPTTHHTT)P(Fair/HTTPTTHHHTTPTTHHTT) 的问题,您需要对其应用贝叶斯:

XHTTTHHHTTPTTHTHHTT

P(Fake|X) = (P(X|Fake) * P(Fake)) / P(X)
P(Fair|X) = (P(X|Fair) * P(Fair)) / P(X)

在哪里

P(X) = P(X|Fake) * P(Fake) + P(X|Fair) * P(Fair)
P(X) = (3.43710e-6 * 0.5) + (7.629e-6 * 0.5) = 5.533e-6

因此

P(Fake|X) = (3.43710e-6 * 0.5) / 5.533e-6 = 0.3106
P(Fair|X) = (7.629e-6 * 0.5) / 5.533e-6 = 0.6894

因此,更有可能使用的硬币是公平的。尽管直觉上人们可能会认为所选硬币是假币,但事实似乎并非如此。给定的分布更接近 0.5 尾 0.5 头,而不是 0.25 头 0.75 尾。例如,在尾部 10/17 为 0.58 的情况下,它更接近 P(T|Fair)=.5 而不是 P(T|Fake)=.75

关于algorithm - 用于解决给定硬币输出的 HMM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8422983/

相关文章:

conda - 如何安装 Bioconda 软件包

python - 蛇形歧义

linux - 使用 shell 脚本将逗号分隔的单元格分隔到新行

algorithm - 多变量的大 O 效率

algorithm - 估计节点在 d-heap 中的插入深度

java - Java问题中概率分布函数的实现

python - Python中高效随机0,1代独立概率

python - 如何在Python中生成一个范围内但偏向于某些特定数字的随机数?

c - 算法 : Unimodal Streak

c++ - 函数给出错误的结果