- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我相信我理解 HMM 的核心。通过 HMM,我们解决了评估(发射序列的概率)、解码(最可能的隐藏序列)和学习问题(从观察到的发射序列集学习转换和发射概率矩阵)。
我的问题与学习问题有关。我有发射序列,但我也有每个序列的相关特征(意思是隐藏状态值,但隐藏状态的数量未知)。与 HMM 的学习问题一样,我们估计隐藏序列(大小和概率矩阵),为此我们只需要发射序列(如果事先不知道,可以优化隐藏序列的大小)。
我正在使用 HMM library为了我的计算。当然,它没有我想要的选项。
import numpy as np
import pandas as pd
from hmmlearn import hmm
filenames = [f for f in os.listdir(dir_path) if '.csv' in f.lower()]
d1 = pd.read_csv(dir_path + filenames[0]).as_matrix() # Shape = [m, 3] => first two column is featute and last is the emission-state
d2 = pd.read_csv(dir_path + filenames[1]).as_matrix() # Shape = [m, 3]
##
remodel = hmm.GaussianHMM(n_components=4, covariance_type="full", n_iter=100)
remodel.fit(d1[:, 0:2]) # Problem would have been solved if there was supervised option to pass the states as well
pred_1 = remodel.predict(d1[:, 0:2])
true_1 = d1[:, -1] # Last column is state of the feature in 1, 2 column.
pred_2 = remodel.predict(d2[:, 0:2])
true_2 = d2[:, -1]
有没有一种方法可以在 HMM 中进行监督学习,如果可以,那么怎么做?如果不能,我还能用 HMM 解决我的问题吗?如果可能的话怎么办?
最佳答案
hmmlearn
未实现监督学习 ( hmmlearn#109 )。
seqlearn库实现了受监督的 HMM,但似乎没有实现 GMM。
图书馆pomegranate然而似乎是用高斯混合模型来实现受监督的隐马尔可夫模型。像这样:
import pomegranate as pg
X = ...
y = ...
distribution = pg.MultivariateGaussianDistribution
model = pg.HiddenMarkovModel.from_samples(distribution, n_components=5, X=X, labels=y, algorithm='labeled')
关于python - 我们可以通过 HMM 进行监督学习吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50725830/
我对隐马尔可夫模型有疑问。我正在用 C# 在 Kinect 上编写一个用于手势识别的应用程序(简单的手势,如滑动、波浪、圆圈等)。我写了一个手势记录系统,之后我创建了一个特征提取器来计算点之间的速度,
在量子物理实验的背景下,我有兴趣估计描述我的实验的隐马尔可夫模型的一些参数。我知道用于估计 hmm 的所有参数的 Baum-Welch 算法。然而,我只对估计转移矩阵感兴趣,因为我有额外的数据来估计发
我在 HMM 上收到了这个作业问题,我已经解决了。我想知道我是否正确。问题是: Suppose a dishonest dealer has two coins, one fair and one b
我正在为 HMM 实现前向算法,以计算给定 HMM 发出给定观察序列的概率。我希望我的算法对下溢具有鲁棒性。我不能在对数空间中工作,因为正向算法需要概率的乘法和加法。避免下溢的最佳方法是什么? 我已经
我已经从孤立字符的许多图像中提取了特征(例如梯度、相邻像素权重和几何属性。如何使用 HMM 作为对这些数据进行训练的分类器?我读到的所有关于 HMM 的文献都涉及状态和状态转换,但我可以'不要将它连接
我不完全理解如何使用隐马尔可夫模型中的开始和结束状态。为了设计和实现过渡和排放矩阵,这些是必要的吗? 最佳答案 开始/结束状态对于建模标签是否可能出现在句子的开头或结尾是必要的。 例如,如果您有一个五
我相信我理解 HMM 的核心。通过 HMM,我们解决了评估(发射序列的概率)、解码(最可能的隐藏序列)和学习问题(从观察到的发射序列集学习转换和发射概率矩阵)。 我的问题与学习问题有关。我有发射序列,
我有一个长度为 1000 的连续单变量 xts 对象,我已将其转换为名为 x 的 data.frame,以供 RHmm 包使用。 我已经选择混合分布中有 5 个状态和 4 个高斯分布。 我想要的是下一
我相信我理解 HMM 的核心。通过 HMM,我们解决了评估(发射序列的概率)、解码(最可能的隐藏序列)和学习问题(从观察到的发射序列集学习转换和发射概率矩阵)。 我的问题与学习问题有关。我有发射序列,
我尝试运行 http://scikit-learn.org/stable/modules/hmm.html 中的示例代码: import numpy as np from sklearn import
我一直在阅读有关 HMM 理论的内容。据我了解,我们需要初始概率、转移概率和发射概率才能继续 HMM。我看到的关于 HMM 实现的例子从一开始就定义了所有这些概率。但问题是我想使用 HMM 识别手势,
我正在尝试开发一种系统,以在语音识别中将垃圾与非垃圾分开。我正在使用隐马尔可夫模型的 jahmm 实现。我对我应该将训练数据作为观察序列提供给系统的格式感到困惑。而HMM中的每个状态是由什么组成的呢?
因此,在给定学习数据集的情况下,我成功地估计了特定隐马尔可夫模型 (HMM) 中的大部分参数。这些参数是:隐藏状态的发射概率和马尔可夫链的转移矩阵$P$。我使用吉布斯采样进行学习。现在仍然缺少一组参数
这个问题与传统的手写识别有点不同。我有一个包含数千个以下内容的数据集。对于一个绘制的字符,我有几个连续的 (x, y) 坐标,其中笔被按下。所以,这是一个顺序(时间)问题。 我希望能够根据这些数据对手
我有两个训练集(已知类别的观察值)代表我数据中的两种可能状态。我想让 hmmlearn 估计开始,来自这两个训练集的转换和发射概率。 我的数据是 0-1 之间的值列表。我已经使用保守的阈值将数据分成粗
我已经阅读了一些 HMM 和 MFCC 的期刊和论文,但我仍然对它如何逐步与我的数据集(句子数据集的音频)感到困惑。 我的数据集示例(音频表单): 你好早上好 祝你考试顺利 等约343个音频数据和20
我正在尝试使用 hmmlearn 库预测给定一些数据的最佳序列,但出现错误。我的代码是: from hmmlearn import hmm trans_mat = np.array([[0.2,0.6
我是 matlab、隐马尔可夫模型和机器学习的新手,正在尝试对给定的信号序列进行分类。请让我知道我所遵循的方法是否正确: 创建一个 N × N 转换矩阵并填充随机值,每行总和为 1。 (N 将是状态数
我想用kinect在python中做手势识别。 在阅读了一些理论之后,我认为最好的方法之一是使用隐马尔可夫模型 (HMM)(baum welch 或某些 EM 方法)和一些已知的手势数据进行无监督学习
我目前正在为 Mallet 关于 HMM 的糟糕得可笑的文档而苦恼。我已经设法将数据导入到实例中(改编自 ImportExample.java 片段),我只是想知道如何使用它们来训练 HMM 模型。我
我是一名优秀的程序员,十分优秀!