我正在尝试使用顺序形式的连续数据集实施HMM学习/培训。我试图用高斯混合/ EM算法构建新的HMM训练,但是我遇到了一些问题,因此我切换到python中的hmmlearn
库。
有关我的数据集的概述
例如,列表包含标准化的训练数据。
列表中的元素总数= 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)
问题1:
我应该concatenate
将整体数据集Working with multiple seq from hmmlearn document列为一个列表吗?
如果是,那么我的training data set (X)
的大小将为7500 *4
,并且lengths参数将具有类似lengths = [100, 100, 100, ......100]
的列表
这是适合的实施方式吗?
问题:2
我如何检查EM算法的收敛性?我已经看过 monitor _ 的文档 功能。但是我听不懂。
问题:3
训练后,我想检查大小为100 * 4的未训练序列的概率(使用正向算法)。那么,使用经过训练的模型参数来应用正向算法所需的功能是什么?
我已经发布了许多与HMM培训有关的问题,但是根据我的要求,我还没有满意的答案。我希望hmmlearn库可以帮助