- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在为 HMM 实现前向算法,以计算给定 HMM 发出给定观察序列的概率。我希望我的算法对下溢具有鲁棒性。我不能在对数空间中工作,因为正向算法需要概率的乘法和加法。避免下溢的最佳方法是什么?
我已经阅读了一些关于此的资料,但我得到的最好建议是在每个时间步缩放概率 Section 6 Here .在算法结束时,您将不会得到您想要的(观察序列的)确切概率。此外,除非我弄错了,否则如果按照上述引用中的建议缩放每个时间步长的概率,则无法对来自两个不同 HMM 的给定观察序列的概率进行有意义的比较(以确定哪个一个更有可能输出序列)。有什么建议吗?
最佳答案
在引用文献末尾的等式 32 中,您将每个概率值 alpha_t(i) 乘以 C_t。所以最后你将最终概率乘以所有 C_t 的乘积。您可以通过跟踪 log(C_t) 的总和来跟踪所有这些。然后在最后你可以计算出 log(alpha_t(i)) - SUM_(j <= t)log(C_j) 这会给你最终 alpha_t(i) 或 log(SUM_t alpha_t(i) 的对数概率) - SUM_(j <= t)log(C_j) 这将为您提供整个序列的对数概率。
关于algorithm - HMM 正向算法中的下溢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13391625/
我对隐马尔可夫模型有疑问。我正在用 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 模型。我
我是一名优秀的程序员,十分优秀!