从石榴HMM中提取发射和初始概率。

问题描述 投票:0回答:1

我使用Pomegranate python包训练了一个HMM模型,就像这样。

from pomegranate import *
model = HiddenMarkovModel.from_samples(DiscreteDistribution, n_components=n, X=[trace])

运行这段代码,我能够有效地从序列样本中训练一个HMM。这很棒,但我想嵌入这个模型,这意味着我需要提取参数,以便在不同的环境中使用它们。

我可以很容易地通过以下方式获得过渡矩阵

transitions = model.dense_transition_matrix()[:n,:n]

然而,我还没有找到获取发射概率的方法。我可以看到它们被存储在模型中,当我调用

print(model)

enter image description here

但我似乎找不到一种方法来程序化地提取这些值。此外,我根本没有看到初始状态分布的概率向量,只能通过求解过渡矩阵所隐含的方程组来计算。有没有一种方法可以轻松地从石榴HMM中提取初始概率向量和发射概率矩阵?

python hidden-markov-models pomegranate
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.