使用Python使用Baum-Welch算法隐藏Markov模型


11

我正在寻找HMM和Baum-Welch的一些python实现(用纯python或包装现有的东西)。

有什么想法吗?

我刚刚在Google中进行搜索,就其他机器学习技术而言,我发现材料确实很差。为什么?

Answers:


11

学会-scikitHMM实现。直到最近它才被认为是未维护的,不鼓励使用它。但是,在开发版本中已进行了改进。但是,我不能保证它的质量,因为我对HMM一无所知。

免责声明:我是一个scikit学习开发人员。

编辑:我们已将HMM移出scikit-learn,到https://github.com/hmmlearn/hmmlearn


是的,由于维护不足,我决定不使用它。–
nkint 2012年

我认为它正在改善,我们将很快能够致力于维护它。
Gael Varoquaux 2012年

sklearn实现使用Baum-Welch吗?
Vishal 2012年

是的,它确实。有关_BaseHMM实现的详细信息,请参见文档。
谢尔盖·列别捷夫

3

你看过NLTK吗?

http://www.nltk.org/

它具有一些适用于这种情况的类,但是有些依赖于应用程序。

http://www.nltk.org/api/nltk.tag.html#nltk.tag.hmm.HiddenMarkovModelTrainer

如果您正在寻找更“面向教育”的东西,我前一阵子写了玩具教练:

http://pastebin.com/aJG3Ukmn


谢谢。我需要它来进行手势识别。我正在stucked上,这可能是我的字母在我的应用程序(在NLTK符号)..
nkint


好吧,数据是标签,所以如果我仅使用8个标签对手势的坐标进行聚类,则字母是[1,2,3,4,5,6,7]
nkint 2012年

但仍然不了解HiddenMarkovModelTrainer构造函数中的状态和符号之间的区别
nkint 2012年

1
好吧,这是怎么回事: creativedistraction.com/demos/… 这是一个分步演示,其中包含有关如何使用kinect构建自己的手势识别器的代码。代码是针对Octave而不是python的,但似乎您对想法/实现的追求比对软件的更多了解更深。当然,它需要一个Kinect ...您也可以查看以下内容: code.google.com/p/ehci
qi5d02lx 2012年


1

一些基本算法的实现(包括python中的Baum-welch)可在此处获得:http ://ai.cs.umbc.edu/icgi2012/challenge/Pautomac/baseline.php



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.