问题标签 [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.
nlp - 隐马尔可夫模型:处理删除/插入
我正在阅读并试图理解 HMM 和我正在寻找的区域用于拼写纠正。我不明白的一件事是它如何处理插入或删除。假设有一个字符级模型,其中预期状态是“c”、“a”、“t”。现在说观察到的状态是'c','t'。现在,当模型建立时,将从“c”过渡到“a”,但不会从“c”过渡到“t”。现在在更正或预测短语期间如何处理插入字符“a”的情况?
希望我对这个问题很清楚。谢谢。
python - 安装错误嗯
我收到以下错误安装嗯。我无法理解如何解决这个问题。请提供一些解决方案。我具备所有必要的先决条件
python - 我们可以通过 HMM 进行监督学习吗?
我相信我理解 HMM 的核心。通过 HMM,我们解决了评估(发射序列的概率)、解码(最可能的隐藏序列)和学习问题(从观察到的发射序列集中学习转换和发射概率矩阵)。
我的问题与学习问题有关。我有发射序列,但我也有每个序列的相关特征(意味着隐藏状态值,但隐藏状态的数量未知)。在 HMM 的学习问题中,我们估计隐藏序列(大小和概率矩阵),为此我们只需要发射序列(如果事先不知道隐藏序列的大小可以优化)。
我正在使用 HMM库进行计算。当然,它没有我想要的选项。
有没有办法在 HMM 中进行监督学习,如果是,那么如何?如果没有,我还能用 HMM 解决我的问题吗?如果有可能那怎么办?
python - 高斯隐马尔可夫模型
我正在关注此链接http://www.blackarbs.com/blog/introduction-hidden-markov-models-python-networkx-sklearn/2/9/2017中的教程,以便在我的示例中实现隐藏马尔可夫模型。我有 2 个隐藏状态和 2 个观察到的状态。
正如我从教程中的代码中了解到的那样,HMM 的第一步是使用最大似然估计模型来估计模型的参数,然后从参数的结果中我们可以预测隐藏状态。
因此使用 Vitebri 算法来训练模型以找到最佳参数,然后预测观察到的状态。
是这样吗?如果它更易于解释,我可以分享我的代码。
python - 无法在 Python 3 中安装 hmmlearn
hmmlearn 命令的构建轮失败“C:\Users\Akash\PycharmProjects\hello\venv\Scripts\python.exe -u -c”import setuptools, tokenize; file ='C:\Users\Akash\AppData\Local\Temp\pycharm-packaging\hmmlearn\setup.py';f=getattr(tokenize, 'open', open)( file );code=f.read() .replace('\r\n', '\n');f.close();exec(compile(code, file , 'exec'))" install --record C:\Users\Akash\AppData\Local \Temp\pip-record-z6k7p8b8\install-record.txt --single-version-externally-managed --compile --install-headers C:\Users\Akash\PycharmProjects\hello\venv\include\site\python3. 6\hmmlearn" 在 C:\Users\Akash\AppData\Local\Temp\pycharm-packaging\hmmlearn\ 中失败,错误代码为 1
这也是 cmd 和 pycharm 中显示的错误。我发现需要 Microsoft Visual Studio C++ 14
python - 如何使用音频句子数据集训练 HMM 进行语音识别?
我已经阅读了 HMM 和 MFCC 的一些期刊和论文,但我仍然对它如何逐步使用我的数据集(句子数据集的音频)感到困惑。
我的数据集示例(音频形式):
- 你好,早上好
- 祝你考试顺利
- 等关于 343 个音频数据和 20 个扬声器(6800 个音频数据)
据我所知 :
- 我的句子数据集用于获取转换概率
- 嗯状态是音素
- 39 个 MFCC 特征用于训练 HMM 模型
我的问题:
- 我需要将我的句子切成单词还是只使用句子来训练 HMM 模型?
- 我需要 train 的音素数据集吗?如果是,我是否也需要使用 HMM 来训练它?如果不是我的程序如何识别 HMM 预测输入的音素?
- 我必须先做哪些步骤?
注意:我正在使用 python,我使用 hmmlearn 和 python_speech_features 作为我的库。
python - 维特比算法 (HMM) 质量差
我最近一直在尝试研究隐马尔可夫模型和维特比算法。我找到了一个名为 hmmlearn ( http://hmmlearn.readthedocs.io/en/latest/tutorial.html ) 的库来帮助我生成两个状态的状态序列(具有高斯发射)。然后我想用维特比重新确定状态序列。我的代码有效,但预测了大约 5% 的错误状态(取决于高斯发射的均值和方差)。hmmlearn 库有一个 .predict 方法,它也使用 Viterbi 来确定状态序列。
我现在的问题是 hmmlearn 的 Viterbi 算法比我手写的要好得多(与我的 5% 相比,错误率低于 0.5%)。我在我的代码中找不到任何重大问题,所以我不确定为什么会这样。下面是我的代码,我首先生成状态和观察序列 Z 和 X,用 hmmlearn 预测 Z,最后用我自己的代码预测它:
我不确定我的代码是否有大错误,或者 hmmlearn 是否只是使用了更精细的 Viterbi 算法。通过查看错误预测的状态,我注意到发射概率 B 的影响似乎太大了,因为它导致状态变化过于频繁,即使进入另一个状态的转换概率非常低。
我对python很陌生,所以请原谅我丑陋的编码。提前感谢您提供的任何提示!
编辑:正如您在代码中看到的那样,我很愚蠢并且使用方差而不是标准偏差来确定排放概率。修复此问题后,我得到与实现的 Viterbi 算法相同的结果。
hidden-markov-models - 具有连续和离散发射概率的隐马尔可夫模型
最近我想出了一个问题,观察变量包含 4 个连续变量和一个离散变量。我想用 HMM 对其进行建模,但我不知道实现它。你知道这方面的任何相关论文吗?
python - 隐马尔可夫模型 python
我有一个粒子位置随时间变化的时间序列,我想使用这些数据估计两个 HMM 的模型参数(一个用于 x 轴,另一个用于 y 轴)。我正在使用 hmmlearn 库,但是,我不清楚我应该如何处理。在教程中,它指出这是使用库的第三种方式,但是,当我使用如下代码时:
X 是 x 轴值的列表,它返回
我应该在我的数据中添加什么才能将其变为 2D?
python - 是否可以在 hmmlearn 中拟合多元 GMHMM?
我知道可以将多个序列拟合到 hmmlearn 中,但在我看来,这些序列需要从相同的分布中提取。
是否可以使用从 hmmlearn 中的不同分布中提取的多个观察序列来拟合 GMHMM?
我的用例:我想用来自不同股票的 K 个金融时间序列拟合 GMHMM,并预测在指定时间产生 K 个股票价格的市场机制。所以矩阵输入的维度是 N(日期数)× K(股票数)。如果 hmmlearn 不能这样做,请告诉我是否可以使用 python 或 R 中的另一个包?谢谢你的帮助!