所以我正在尝试构建Baum Welch算法来为练习做部分语音标记。但是,我对使用隐马尔可夫模型与马尔可夫模型感到困惑。因为你似乎正在失去从一个州到另一个州的背景。由于在移动到下一状态时不考虑最后状态的输出。它只是为了节省记忆吗?
编辑:为了清晰起见添加了一个示例
例如,如果两个状态A和B输出0或1,则每个状态将有4个状态转换和2个obseravation可能性,如果将每对输入转换与它混合,则可以将其转换为8个转换国家的痴迷概率。但我的挂断原因是为什么最初不训练具有四种状态{(A,1),(B,1),(A,2),(B,2)}的机器具有16个转换。我对nlp很陌生,所以我想知道我是否不知道一些算法冗余,如果没有更难的数学就很难看到。
由于似乎失去了最后一个A为1对2时转换的信息。但是我想知道训练算法是否可能不需要这些信息。
https://en.wikipedia.org/wiki/Baum%E2%80%93Welch_algorithm
感谢您提供的信息。
答案 0 :(得分:1)
不仅仅是为了节省记忆,还要提供更好的实际模型。在文本的情况下,您认为有一个基础语法,表示该单词被用作名词,并且该单词被用作动词,但是您没有获得说明这个和它的标签从数据来看,并不总是显而易见的。例如。 - 看看我刚输入的内容,更好的是一个形容词"一个更好的模型"但如果我使用堆栈溢出来改善自己,我只是更好地用作动词。因此,形容词或动词是否更好是隐藏状态,现实模型会反映这一点。
隐马尔可夫模型也足够灵活,如果你真的没有任何隐藏状态,你可以创建一个反映这种情况的简并隐藏马尔可夫模型。例如,如果每个隐藏状态只能产生一个可能的输出,并且没有两个隐藏状态可以产生相同的输出,那么你有一个隐藏的马尔可夫模型,你可以在其中总是从输出和副输出预测所谓的隐藏状态反之亦然。很容易拟合这个参数,但它可能不会像现有的隐马尔可夫模型一样善于建模现实。