2017-05-08 112 views
0

所以我试图建立鲍姆韦尔奇算法来为练习做词性标记。但是,我对使用隐马尔可夫模型与马尔科夫模型感到困惑。因为你似乎失去了从州到州的背景。由于在移动到下一个状态时不考虑最后状态的输出。只是为了节省内存吗?为什么在鲍姆韦尔奇算法中使用隐马尔可夫模型与马尔可夫模型

编辑:添加了一个例子,为了清楚起见

例如,如果两个状态,A和B输出0或1会有4个状态转换和2种obseravation可能性对于每个状态,其可以可被制成如果您将每对传入转换与其状态的迷惑概率混合,则会发生8次转换。但是我的挂断是为什么不开始训练带有16个转换的四状态{(A,1),(B,1),(A,2),(B,2)}的机器。我对nlp相当陌生,所以我想知道我是否不知道一些算法冗余,如果没有更难的数学就很难看出。

由于看起来人们失去了最后一个A为1和2时转换的信息,但我想知道训练算法是否可能不需要这些信息。

https://en.wikipedia.org/wiki/Baum%E2%80%93Welch_algorithm

感谢您的信息。

+0

如果原始双态模型是四态模型的一个子集,那么对于任何一组双态模型参数,都有一种方法来设置四态模型的参数,使它的行为精确像双态模型一样,那么唯一的问题是,如果现实根据双态模型行为,那么您将需要更多的数据来以相同的精度拟合四态模型。您可以使用交叉验证或https://en.wikipedia.org/wiki/Likelihood-ratio_test来判断四态模型的额外参数是否有帮助。 – mcdowella

回答

1

这不仅仅是为了节省内存,它是为了提供一个更好的模型。在文本的情况下,你认为有一个潜在的语法,它说这个单词被用作一个名词,而这个单词被用作一个动词,但你没有得到这样的标签,并且它不是'数据总是很明显的。例如。 - 看看我刚刚输入的内容,更好的是“更好的模型”中的形容词,但如果我使用堆栈溢出来提高自己的效果,我已经更好地用作动词了。所以,无论是形容词还是动词,都是一种隐藏的状态,而一种现实的模式会反映出这一点。

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

+0

对不起,我没有完全清楚,我增加了一个清晰的例子。但我的意思是为什么不把隐藏状态与输出状态结合起来,在训练期间做出四种不同的状态,以便从(A,1)到(B,1)和(A,2)到(B,1) (A,1)和(A,2)将是不同的状态。隐藏状态A和B以及观测值1和2. –

+0

我想我已经为修改后的问题添加了一条评论,以便尽可能地回答这样的问题。 – mcdowella