Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 为什么在Baum-Welch算法中使用隐马尔可夫模型和马尔可夫模型_Algorithm_Nlp_Hidden Markov Models_Markov - Fatal编程技术网

Algorithm 为什么在Baum-Welch算法中使用隐马尔可夫模型和马尔可夫模型

Algorithm 为什么在Baum-Welch算法中使用隐马尔可夫模型和马尔可夫模型,algorithm,nlp,hidden-markov-models,markov,Algorithm,Nlp,Hidden Markov Models,Markov,因此,我尝试构建Baum-Welch算法来进行词性标注以供实践。然而,我对使用隐马尔可夫模型和马尔可夫模型感到困惑。因为从一个州到另一个州,你似乎正在失去背景。因为在移动到下一个状态时不考虑上一个状态的输出。这只是为了节省内存吗 编辑:为清晰起见,添加了一个示例 例如,如果两个状态A和B输出A 0或1,则每个状态将有4个状态转换和2个观察可能性,如果将每对传入转换与其状态的观察概率混合,则可以将其分成8个转换。但我的问题是,为什么不首先训练一台具有四种状态的机器{(a,1),(B,1),(a,2

因此,我尝试构建Baum-Welch算法来进行词性标注以供实践。然而,我对使用隐马尔可夫模型和马尔可夫模型感到困惑。因为从一个州到另一个州,你似乎正在失去背景。因为在移动到下一个状态时不考虑上一个状态的输出。这只是为了节省内存吗

编辑:为清晰起见,添加了一个示例

例如,如果两个状态A和B输出A 0或1,则每个状态将有4个状态转换和2个观察可能性,如果将每对传入转换与其状态的观察概率混合,则可以将其分成8个转换。但我的问题是,为什么不首先训练一台具有四种状态的机器{(a,1),(B,1),(a,2),(B,2)}和16个转换。我对nlp很陌生,所以我想知道我是否不知道一些算法冗余,如果没有更难的数学很难看到

因为人们似乎丢失了关于最后一个A的值是1对2时的转换的信息。但我想知道训练算法是否不需要这些信息


感谢您提供的信息。

这不仅仅是为了节省内存,更是为了提供一个更好的模型来了解实际情况。在文本的例子中,你相信有一种潜在的语法,它说这个词被用作名词,这个词被用作动词,但是你没有得到这样的标签,而且从数据中也不总是显而易见的。例如,看看我刚才键入的内容,better是“更好的模型”中的一个形容词,但如果我使用堆栈溢出来提高自己,我只是将better用作动词。因此,无论是形容词还是动词更好,都是一种隐藏状态,而现实的模型将反映这一点


隐马尔可夫模型也足够灵活,如果你真的没有任何隐藏状态,你可以创建一个退化的隐马尔可夫模型来反映这一点。例如,如果每个隐藏状态只能产生一个可能的输出,并且没有两个隐藏状态可以产生相同的输出,那么就有一个隐马尔可夫模型,在该模型中,您可以始终从输出预测所谓的隐藏状态,反之亦然。这将很容易拟合参数,但它可能不会像一个适当的隐马尔可夫模型那样善于模拟现实。

对不起,我不是完全清楚,为了清楚起见,我添加了一个示例。但我的意思是,为什么不在训练期间将隐藏状态与输出状态结合起来,形成四种不同的状态,这样从(A,1)到(B,1)和(A,2)到(B,1)的转换将不相同,(A,1)和(A,2)将是单独的状态。关于隐藏状态A和B以及观察结果1和2。我想我在你修改的问题中添加了一条注释,以尽可能回答类似的问题。如果原始的两态模型是四态模型的子集,因此,对于任何一组两状态模型参数,都有一种方法可以设置四状态模型的参数,使其行为与两状态模型完全相同,那么唯一的问题是,如果现实行为符合两状态模型,那么您将需要更多数据以使四状态模型达到相同的精度。您可以使用交叉验证或判断四状态模型的额外参数是否有帮助。