三面骰子的隐马尔可夫模型

6
我接受了HMM的训练并得到了以下的作业题目。我理解其中一部分,但不确定是否正确。问题是:
考虑一个不同的游戏,荷官不是掷硬币,而是滚动一个有标签为1、2、3的三面骰子。(不要想象一个什么样的三面骰子)。 荷官有两枚加权骰子D1和D2。对于每个骰子Di,掷出数字i的概率为1/2,而其他两种结果的概率均为1/4。在每轮中,荷官必须决定是保持相同的骰子(1)、切换到另一个骰子(2)还是结束游戏(3)。他以1/2的概率选择(1),以1/4的概率选择其他每个选项。在开始时,荷官随机选择其中一种骰子。
  • 给出此情况下的HMM。指定字母表、状态、转移概率和发射概率。包括一个起始状态start,并假设HMM从状态start开始的概率为1。同时包括一个结束状态end。
  • 假设您观察到以下骰子序列:1 1 2 1 2 2。找到最好解释这个序列的状态序列。这个序列的概率是多少?通过完成Viterbi表格来找到答案。在单元格中包括回溯箭头,以便您可以追溯状态序列。以下事实中的一些可能有用:
  • log2(0)= -∞
    log2(1/4)= -2
    log2(1/2)= -1
    log2(1)= 0

  • 对于这个骰子序列,实际上有两个最优状态序列。另一个状态序列是什么?
如果我没有错的话,对于第一部分,我必须像这里 http://en.wikipedia.org/wiki/Hidden_Markov_model#A_concrete_example 一样做一些事情。但是我不知道要假设开始的概率为1。
此外,我不确定在问题的第二部分中我需要为Viterbi表格做什么。如果有人能给我一些提示或线索,那就太好了。

这是一个编程问题吗? - Lasse V. Karlsen
嗯,我不认为这与编程有关。对于这个问题,我只需要设计HMM,而不需要进行任何编程。 - smandape
1个回答

2

假设您的起始概率为1: 在HMM中,您可以拥有一个固定的起始状态或者对所有状态都拥有一个概率分布,以表明在状态X中开始的可能性有多大。假设给定状态的起始概率为1等于第一种选择。

Viterbi算法: 在维特比矩阵中,第i行通常对应于第i个状态,第j列对应于您发出的符号前缀的长度为j。每个条目(i,j)是您已经看到前缀j并且您处于状态i的最大概率。

对于回溯,您需要跟踪每个(i,j)单元格中参与计算(i,j)单元格的最大先驱。如果您有这些信息,则可以从最后一列中具有最高值的单元格开始回溯到开头。反转此回溯,您就得到了维特比路径。


那么它会是这样的:有一个起始状态,其概率为1,然后荷官选择其中一颗骰子的概率为1/2(根据问题描述:一开始荷官以相等的概率选择两颗骰子之一)。 - smandape
是的,这就是为什么我没有太多计算机科学背景,并且从未真正学习过HMM,尽管我大多数时候都听说过它。但我正在尝试掌握计算机科学的概念,这很有趣。谢谢你的帮助。 - smandape
我也在学习生物信息学。也许我们会再见面。 :D - peri4n
很高兴听到这个消息。好的,我对这个问题还有疑问。我正在尝试像http://bio5495.wustl.edu/HMMs/HMMNotes.pdf中所述那样填写维特比表。对于这个问题,我考虑了3个状态(D1、D2、end),还是只考虑其中的2个?因为有3件事情是荷官可以做的(其中1个概率为1/2,2和3的概率分别为1/4)。如果是3,我该如何从end状态开始在第一列开始呢?另外,end状态的发射是什么?我迷失了。 - smandape
我找不到这个问题,但有时在某些单元格中以0开始矩阵是完全可以的。 - peri4n

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接