问题标签 [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 回答
152 浏览

python - 来自 hmmlearn 的多项(离散)发射中的符号而不是数字

我想生成符号样本,而不是来自hmm.MultinomialHMM.

我的代码例如:

symb也是_

但我需要设置一个符号

0 投票
1 回答
1568 浏览

python - hmmlearn 分类用法

我正在尝试使用hmmlearn学习模型,以便对我的数据集进行分类。数据集有一个具有不同长度的序列列表。每个序列由事件发射组成。例如:

这是我正在使用的代码。我在这里找到了一个类似的例子。

我有兴趣将事件分为两类,所以我选择n_components=2.
我现在如何检索数据集中每个序列的类?

0 投票
1 回答
652 浏览

r - R中HMM的发射概率

我们如何计算 R 中隐马尔可夫模型 (HMM) 的发射概率?

至于计算转移概率,我们使用函数

这个函数返回一个转移矩阵。示例数据是顺序数据。

有没有返回排放矩阵的函数?

0 投票
0 回答
26 浏览

python-3.x - 将TXT文档的内容放入HMM作为观察

如果我想从.TXT文档中读取观察到的内容而不是手动输入,例如 ('red', 'red','write'),该怎么办?

0 投票
0 回答
43 浏览

r - initial_probs 的长度不等于状态数

我是 R 新手。在制作隐马尔可夫模型时,我们必须提供以下参数;初始概率、发射概率、过渡概率、观测值。但我收到以下错误

initial_probs 的长度不等于状态数

有人可以帮我解决这个错误吗?提前致谢

编辑:这是我在谷歌驱动器上上传的示例数据

谷歌驱动器上的示例数据

这是代码

0 投票
0 回答
33 浏览

r - 隐马尔可夫参数

我正在为 R 中的产妇数据集制作隐马尔可夫模型。假设我想观察第 1 次、第 2 次和第 3 次怀孕的模式。在每次怀孕中,我都有两个变量,即儿子和女儿。但是我的模型将儿子和女儿作为状态,而我希望 Preg 1,2 和 3 作为三个不同的状态。数据看起来像这样;

如何以这种方式定制我的模型?

0 投票
1 回答
3973 浏览

python - 使用连续隐马尔可夫模型的时间序列预测步骤

我正在尝试使用高斯 HMM 预测股市。我没有得到模型训练后如何完成预测步骤。我不明白准确预测最可能的状态序列如何有助于预测未来价值。

提出的问题之一建议使用这种方法:“使用带有(部分)序列的维特比算法来获得最可能的隐藏状态序列。获取该序列中最后一个隐藏状态的发射分布并预测例如该序列的平均值分布(通常是高斯分布)。”

在预测最可能的状态序列后,我没有得到他所说的。

hmmlearn我已经使用python 中可用的函数训练了我的模型。我还在样本上应用了 Viterbi 算法来预测可能的隐藏状态序列。但我不知道在那之后该怎么办。我不擅长连续 HMM 的数学。请告诉我预测是如何完成的。

代码:

0 投票
0 回答
483 浏览

python - 如何使用“hmmlearn”提高训练样本的 HMM 分数

7 个水果的语音识别器(源代码)使用 GaussianHMM。每 7 个类都有平衡的数据集,每类正好 15 个音频。我尝试过使用 3-5 个州,但分数仍然很低。所有其他设置都是默认设置,即遍历 HMM。

我知道分数score = hmm_model.get_score(mfcc_features)返回观察的对数似然,但令人惊讶的是它是负数,-1101.0923021.

概率是np.exp(-1101.0923021) ~= 0,我认为这是不太可能的,因为我使用一个训练数据样本进行测试。

例如:apple.wav 的 Apple HMM 得分为-1101.0923021.

有没有办法提高分数以制作更可靠的模型?我是否对组件/隐藏层的数量进行网格搜索?

(PS:虽然分数低,但预测的不错)

0 投票
0 回答
473 浏览

python - 如何将我的 hmmlearn 算法与 MFCC 数组相匹配?(梅尔频率倒谱系数) hmmlearn.GaussianHMM.fit 只需要序列

我正在研究过去的 kaggle 竞赛问题,我正在编写语音识别算法。使用自动语音识别 (ASR) 算法,习惯上将数据处理成 MFCC(梅尔频率倒谱系数)。

使用 James Lyons 的库 ( https://github.com/jameslyons/python_speech_features ),我构建了一个名为 speech_recognize 的类,它加载 wav 文件,然后将它们处理到 MFCC 中。

现在我有了 MFCC,我应该如何将它们放入 HMM(隐马尔可夫模型)?我想使用在这里找到的库 hmmlearn:(https://hmmlearn.readthedocs.io/en/latest/index.html)。

虽然我现在只处理四个类别(“是”、“否”、沉默、“其他”),但我可能会添加更多类别。每个类别我有大约 2000 个不同的 wav 文件。这些 wav 文件各构成一个 MFCC。

以下是我在考虑如何在所有 MFCC 上训练我的数据。如您所见,我试图区分 4 种状态:“是”、“否”、沉默和其他。

XQ1:在 hmmlearn 中,当方法中似乎.fit(X)只需要一系列浮点数时,我应该如何让我的模型在我的所有 wav 文件上进行训练?我的每个 MFCC 文件的大小都为 (99,26) numpy 数组,而不是一个简单的序列,但这个 (99,26) numpy 数组只是对数据的一个观察。

Q2:我知道隐藏马尔可夫模型通过分析从一种状态到另一种状态的序列和转换来工作,但是我应该如何告诉 HMM 它正在查看“是”MFCC 或“否”文件。有没有办法标记文件,以便在遇到 MFCC 模式时计算机可以对其进行分类?

Q3:根据 MFCC 的图,我很想使用 CNN(卷积神经网络)将这些形状分类为不同的类别。这对任何人都有效吗?

谢谢你。我知道这很长,但我希望这是有道理的。

以下是我的 MFCC 图的一些照片: 用于四个 wav 文件的 MFCC 滤波器组 用于四个 wav 文件的 MFCC 滤波器组

0 投票
0 回答
501 浏览

python - “hmmlearn”类型错误:输入类型不支持 ufunc 'log',

我使用 hmmlearn 进行解码。

隐藏状态有六个主题,观察是 345 个单词。

start_probability 是 在此处输入图像描述

transition_probability 在这里输入图像描述

我的代码是:

但我收到错误“TypeError: ufunc 'log' not supported for the input types, and the input could not be safe to force to any supported types based on the cast rule ''safe''”