问题标签 [hmmlearn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
400 浏览

python - python - 具有自定义发射概率的 hmmlearn

我正在使用 hmmlearn 包 ( http://hmmlearn.readthedocs.io/en/latest/ ) 为金融时间序列价格数据研究 hmm。我想实现一个 2 或 3 状态模型来适应我的数据。但是,我希望根据隐藏状态有不同的分布。看来您可以使用 _BaseHMM 覆盖来实现自定义发射概率。但是,我不完全确定如何从文档中执行此操作。是否有任何可用的示例,或者有人可以提供如何在这样的 hmm 框架中为每个状态设置例如两个不同的发射概率?

提前谢谢了。

0 投票
1 回答
742 浏览

python-3.x - 如何使用hmmlearn对英文文本进行分类?

我想实现一个经典的马尔可夫模型问题:训练 MM 学习英文文本模式,并用它来检测英文文本与随机字符串。

我决定使用hmmlearn,所以我不必自己写。但是我对如何训练它感到困惑。似乎需要 HMM 中的组件数量,但英文的合理数量是多少?另外,我可以不做一个简单的高阶马尔可夫模型而不是隐藏吗?据推测,有趣的属性是 ngram 的模式,而不是隐藏状态。

0 投票
0 回答
1621 浏览

python-3.x - Hmmlearn 的 transmat_ 行总和必须为 1.0

使用 HMMLEARN 0.2.1,我得到了这个错误

下面是我的代码:

请帮助我将需要使用 HMM 进行研究,我确信我以正确的方式实现了这段代码,并且还在互联网上研究了我做对了,许多人在 hmmlearn 最新版本中仍然没有解决同样的问题

同样在预测时(我切换到使用 GMMHMM 进行训练):

ValueError: startprob_ 总和必须为 1.0(得到 nan)

0 投票
2 回答
6908 浏览

python - hmmlearn:在给定完整的观察序列 1:T 的情况下,如何在时间 T+1 获得隐藏状态概率的预测

我正在使用 hmmlearn 的 GaussianHMM 来训练具有高斯观测的隐马尔可夫模型。每个隐藏状态 k 都有其对应的高斯参数:mu_k,Sigma_k。

训练模型后,我想计算以下数量:

P(z_{T+1} = j | x_{1:T}),

其中 j = 1, 2, ... K, K 是隐藏状态的数量。

上面的概率基本上是一步前的隐藏状态概率,给定一个完整的观察序列:x_1, x_2, ..., x_T,其中 x_i, i=1,...,T 用于训练 HMM模型。

我阅读了文档,但找不到计算这个概率的函数。有什么解决方法吗?

0 投票
2 回答
1380 浏览

rabbitmq - celery 'Worker-n' pid:xxxx 在我导入 hmmlearn 时以 'exitcode 1' 退出

在我的 tasks.py 文件中,当我导入 hmmlearn 时,

并启动我的芹菜工人,我收到以下错误

在我关闭工人之后,

如果我只是注释掉该导入并使用该导入进行代码,那么一切正常。但是,我可以在 ipython 上将所有任务(包括 hmm 代码)作为独立的 python 代码执行,没有任何问题。

我正在使用带有以下详细信息的 conda 发行版

我应该怎么办?

0 投票
2 回答
251 浏览

python - AIND- Sign_language_recognition

我正在https://github.com/udacity/AIND-Recognize上的 GitHub 上进行手语识别。

我有一个关于模型选择的问题。当我在那里运行这个单元格时

我有这个错误:

我想不通,我想提一下,我们不应该修改这个单元格。

0 投票
0 回答
414 浏览

python - 如何在 hmmlearn 中实现 kfold 交叉验证?

hmmlearn教程演示了如何将隐马尔可夫模型拟合到数据集:

是否有内置的方法来进行交叉验证,还是我必须手动完成?

0 投票
0 回答
212 浏览

scikit-learn - 无法让 gridSearchCV 为 hmmlearn 估计器工作

我有一个嗯,我可以通过将 fit 函数传递给所有训练序列的“合并”列表以及所有单个序列长度的列表“all_lengths”来进行训练

模型 = hmm.MultinomialHMM(n_components=3).fit(np.atleast_2d(merged).T, all_lengths)

这可行,但我无法使用 sklearn 的 gridsearchCV 确定最佳 n_components,如果我尝试以下操作,它会不断给我错误:

输出

515031涉及合并的长度,28923是all_lengths的长度

0 投票
1 回答
2695 浏览

python - 借助 hmmlearn Python 库预测 HMM 中的下一个状态

我是统计分析的新手。我将详细描述我的问题如下: 我有一个数据集如下:

同样。

状态总数固定为20。每个对象都是相似的,可以归为一类。所以最后,我有属于类似类的每个对象的可变长度状态序列及其各自的时间戳。

所以,我想为这种类型的数据集训练一个 HMM 模型,并在相应的输入是一系列先前状态时预测下一个状态作为输出。

那么,我该如何解决这类问题,以及我需要使用hmmlearnPython 库实现哪些参数。任何代码帮助也会更好。

0 投票
0 回答
164 浏览

python - 使用 DiscreteDistribution 时如何解析输入字符

我想使用 Pomegranate 实现的隐藏马尔可夫模型(python API https://pomegranate.readthedocs.io/en/latest/index.html),我想通过指定离散分布来初始化我的马尔可夫模型。

由于它是离散的,当我使用新数据(字符串数据类型)拟合学习模型时,我可能遇到了一些未出现在学习模型分布中的字符。那么有没有一种方法可以“解析”我的输入/分布,以便将不在我的“学习”分布中的任何东西分类到具有指定概率的新组中?

例如,我可能想定义一个像这样的离散分布来避免这个问题:

d1 = DiscreteDistribution({'A' : 0.35, 'B' : 0.20, 'C' : 0.05, 'the-rest-of-char' : 0.40})

所以基本上我如何在使用 HMM 的离散分布时定义正则表达式之类的东西?

任何帮助表示赞赏!