1

我正在尝试使用顺序形式的连续数据集来实现 HMM 学习/训练。我试图用高斯混合/EM算法构建一个新的HMM训练,但我一直面临一些问题,所以我切换到hmmlearnpython中的库。

关于我的数据集的概述

例如,一个列表包含标准化的训练数据。

列表中的总元素 = 75

列表中的每个元素都是一个 np 数组。

列表中的数据是车辆行驶数据,是连续的。

'X_train = [[100*4], [100*4], [100*4], [100*4].........................[100*4]]' 
len(X_train) = 75
X_Train[0] = [100*4]
X_Train.columns=['Speed','Angle', 'Acceleration1', 'Acceleration2']

在特定时间间隔从车辆接收的每 [100*4] 个数据。假设 X_train[0] 是 15 到 30 秒的驾驶学习数据。X_train[1.] 可能是 15 到 30 秒的驾驶学习数据等等.....

hmmlearn 中的问题

hmmlearn图书馆我想澄清一些疑问。我的目标是为我的数据集获取训练模型的参数,例如初始概率、状态转换概率、高斯权重、均值和协方差等。

使用 2 个具有 2 个高斯分布的隐藏状态创建的模型

model = hmm.GMMHMM(n_components=2, n_mix=2, covariance_type="diag", n_iter=100)

问题一:

我应该按照文档Working with multiple seq from hmmlearn 文档concatenate中的说明将我的整体数据集放到一个列表中吗?

如果是,那么我training data set (X)将看起来像大小为7500 *4,而且,长度参数将有一个类似的列表lengths = [100, 100, 100, ......100]

这是应该实施的方式吗?

问题2

如何检查我的 EM 算法收敛?我看过monitor_ 功能的文档。但我无法理解。

问题:3

训练后,我想检查大小为 100*4 的未训练序列的概率(使用前向算法)。那么使用经过训练的模型参数应用前向算法所需的功能是什么?

我发布了许多与 HMM 培训相关的问题,但根据我的要求,我没有满意的答案。我希望 hmmlearn 库有所帮助

4

0 回答 0