- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 hmmlearn 库预测给定一些数据的最佳序列,但出现错误。我的代码是:
from hmmlearn import hmm
trans_mat = np.array([[0.2,0.6,0.2],[0.4,0.0,0.6],[0.1,0.2,0.7]])
emm_mat = np.array([[0.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1],[0.1,0.1,0.1,0.1,0.2,0.1,0.1,0.1,0.1],[0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.2]])
start_prob = np.array([0.3,0.4,0.3])
X = [3,4,5,6,7]
model = GaussianHMM(n_components = 3, n_iter = 1000)
X = np.array(X)
model.startprob_ = start_prob
model.transmat_ = trans_mat
model.emissionprob_ = emm_mat
# Predict the optimal sequence of internal hidden state
x = model.fit([X])
print(model.decode([X]))
但我收到一条错误消息:
Traceback (most recent call last):
File "hmm_loyalty.py", line 55, in <module>
x = model.fit([X])
File "build/bdist.macosx-10.6-x86_64/egg/hmmlearn/base.py", line 421, in fit
File "build/bdist.macosx-10.6-x86_64/egg/hmmlearn/hmm.py", line 183, in _init
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sklearn/cluster/k_means_.py", line 785, in fit
X = self._check_fit_data(X)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sklearn/cluster/k_means_.py", line 758, in _check_fit_data
X.shape[0], self.n_clusters))
ValueError: n_samples=1 should be >= n_clusters=3
任何人都知道这意味着什么以及我可以做些什么来解决它?
最佳答案
您的代码存在许多问题:
模型
是一个GaussianHMM
。您可能需要 MultinomialHMM
。MultinomialHMM
,X 必须具有形状 (n_samples, 1)
,因为观察是一维的。拟合
,而这里不是这种情况。这是一个工作版本
import numpy as np
from hmmlearn import hmm
model = hmm.MultinomialHMM(n_components=3)
model.startprob_ = np.array([0.3, 0.4, 0.3])
model.transmat_ = np.array([[0.2, 0.6, 0.2],
[0.4, 0.0, 0.6],
[0.1, 0.2, 0.7]])
model.emissionprob_ = np.array([[0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1],
[0.1, 0.1, 0.1, 0.1, 0.2, 0.1, 0.1, 0.1, 0.1],
[0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.2]])
# Predict the optimal sequence of internal hidden state
X = np.atleast_2d([3, 4, 5, 6, 7]).T
print(model.decode(X))
关于python - 将数据拟合到 hmm.MultinomialHMM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35806469/
我对隐马尔可夫模型有疑问。我正在用 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 模型。我
我是一名优秀的程序员,十分优秀!