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

hmmlearn - HMM - 为什么我们在使用 HMM 进行识别时需要使用子状态

我是新机器学习,我正在使用隐马尔可夫模型来识别活动。我有 9 种不同的活动。我正在使用 Jahmm 库。我的数据从加速度计传感器收集。每个样本(2s/样本,50 条记录/秒)的向量如 [270.0 2280.0 390.0 202.706888932921]。首先,我使用 K-means 学习并将所有 HMM 保存在 arrayList 中。然后我比较它们之间有新特征向量时的概率。结果非常好:

但是, new KMeansLearner<>(1, gMix, sequences) - 这意味着对于每个状态(例如:步行),我只有子状态。但是理论上,每个状态内部都有一些状态。我的工作是识别活动,为什么我需要使用子状态?

我在 github 上阅读了一些项目,大多数作者使用 BaumWelchLearner 来拟合 HMM 的参数。但是当我使用我的数据时,我在两种情况下遇到了一些错误:1:如果我的数据像:

我得到错误:观察序列太短,因为每个特征向量都是一个观察值。

[270.0 2280.0 390.0 202.706888932921];[140.0 2010.0 720.0 165.88948785066606];[950.0 1850.0 300.0 209.37353643104433];...以及每个观察序列的更多信息

然后,结果非常糟糕,当我使用 ViterbiCalculator 计算它们时,概率为 NA。

我的问题是: 1:为什么我们需要在隐藏马尔可夫模型中使用子状态 2:为什么我使用 BaumWelchLearner 来学习,我的结果很糟糕

对不起我的英语。非常感谢!

0 投票
1 回答
279 浏览

speech-recognition - HMM 三态电话模型和转移概率

我在 Hidden Markov Model (HMM) 中阅读了这个问题 3-state phone model

我明白三态是什么意思,但仍然不明白为什么转换矩阵用 (state+2)*(state+2) 矩阵。

这就是我得到的。我有关于 21 部手机的数据。

我知道结构 hmmType 中有转换矩阵。

1) 但是为什么 [N_STATE+2][N_STATE+2] 不是 [N_STATE][N_STATE]?

2)这是否意味着从一部手机到另一部手机的转换概率?那么我怎样才能用它来知道从'f'到't'的转换概率呢?

3)或者只是在同一部手机中从一个州到另一个州?

4)如果这是正确的,我怎样才能获得从一部手机到另一部手机的转换概率?(例如'f'->'t')据我所知如果我想用维特比算法进行语音识别,我需要转换概率从一部手机到另一部手机,但我什至不确定这些数据是否包含它。我应该从数据中训练它吗?

0 投票
1 回答
3957 浏览

python - 如何解决 Jupyter Notebook 中没有名为“hmmlearn”的模块错误

我是 hmmlearn 的新手,正在尝试使用 Jupyter Notebook 来处理这个Gaussian HMM of stock data example。但是,当我运行以下代码时,出现错误。

错误如下:

我花了一段时间在互联网上搜索并试图找出为什么会发生这种情况。我已经确保我已经下载了依赖项(scikit-learn、numpy 和 scipy),并且我已经通过 Windows cmd 和这里pip install -U --user hmmlearn提到的运行了。但是,我不断收到同样的错误。我不确定这是否与我计算机上不同软件包的位置有关(我使用的是 Windows)。

有人对我可以尝试解决的问题有什么建议吗?(我的主要目标是能够设置 hmmlearn 以便我可以开始使用它来探索 HMM。)

0 投票
0 回答
446 浏览

python - Python中基因预测隐马尔可夫模型的实现

我正在做我的大学项目,我需要在隐马尔可夫模型的帮助下找出 DNA 中的基因。我正在尝试使用每次失败的 hmm-learn 来实现算法。你能告诉我如何在python中做Hmm的代码实现来预测DNA中的基因。如何训练模型以及如何找到基因。(教程也会有所帮助)

目前我正在研究炭疽杆菌 str DNA 数据集。这是数据集的链接

https://www.ncbi.nlm.nih.gov/nuccore/AP007209.1

谢谢您的帮助。

0 投票
2 回答
437 浏览

scikit-learn - 拟合函数 hmmlearn 不起作用:fit() 接受 2 个位置参数,但给出了 3 个

我正在尝试运行隐藏的马尔可夫模型,但是拟合功能无法正常工作。

代码:

我收到此错误消息:

0 投票
1 回答
592 浏览

machine-learning - 用观测数据序列拟合 hmm.MultinomialHMM 时出错

我正在尝试用我观察到的数据拟合多项式模型。我有一个包含不同长度轨迹的数据集。由于我的观察是离散的,我尝试拟合多项式模型。观察符号的数量为 3147,轨迹(序列)的数量为 4760。虽然我给出了观察序列(X 具有在 hmmlearn 类中定义的数组形状)和观察的长度(),以使用此代码拟合方法:

我有一个错误。有人可以帮助我并解释我做错了什么。谢谢。

0 投票
1 回答
173 浏览

python - HMMLearn:太多的值无法解包

hmmlearn在给定开始概率、转移概率和发射概率的情况下,我正在尝试从隐马尔可夫模型中获取最可能的隐藏状态序列。

我有两个隐藏状态和四个可能的发射值,所以我这样做:

我的堆栈跟踪指向decode调用并抛出此错误:

我认为decode(查看文档)返回对数概率和状态序列,所以我很困惑。

任何想法?

谢谢!

0 投票
1 回答
433 浏览

python - Python 或 R 中的隐藏马尔科夫包

我想建立一个隐马尔可夫模型(HMM),它必须包含这些属性:

  • 需要拟合多个主题,因为我使用面板/纵向数据
    • 离散分布
    • 多元输出/排放
    • 转移概率需要是协变量/因子的函数
    • 需要对参数施加约束

有谁知道具有这些属性的 R 或 Python 中的 HMM 包?

0 投票
0 回答
228 浏览

speech-recognition - 如何将电话 hmm 模型连接到复合词或句子 hmm 模型

我想做语音识别的嵌入式培训。一开始,我想用三态单音素,正如论文所描述的那样,我可以将一个词或一个句子中的所有音素连接起来,形成一个复合的 hmm 模型,并对复合的 hmm 模型进行嵌入式训练。

像这张照片:

连接电话嗯模型

当我尝试这样做时,我感到很困惑,有一些问题让我感到困惑。

  1. 三态手机模型还有其他两种状态,开始状态和结束状态,通常只允许发生在自身状态到自身状态和自身到下一个状态的转换。那么从一个电话结束状态到下一个电话开始状态的转换应该是什么?或者连接时应该忽略开始和结束状态?我发现 HTK 食谱直接连接开始和结束状态,但是将从一个电话结束状态到下一个电话开始状态的转换设置为 1.0。

  2. 一个词可能多次包含一个音素,如何在 A(transition) 矩阵和 B(emission) 矩阵中连接同一个音素?我理解将 A 矩阵与从一个电话结束状态到下一个电话开始状态 1.0 的转换直接连接起来。B 矩阵是共享的,相同的电话状态具有相同的发射分布。

  3. 我可能有不同的词来训练。训练一个词后,得到了词中音素的三个参数:A 矩阵、B 矩阵和 Pi,如何使用这些参数训练另一个词?

0 投票
0 回答
108 浏览

python - python GMMHMM 拟合(X)

我正在制作一个通过 Surface EMG 信号进行手语识别的项目。现在,我想通过一个名为“single”的数组来训练一个 GMMHMM 模型。它的形状是 (2520, 840)。

但是总会有一个ValueError如下:(有时它似乎能够成功训练第一个GMMHMM模型,但第二个会出错。)输出:

感谢您的帮助!