Я обучил модель HMM, используя пакет Pomegranate python, например:
from pomegranate import *
model = HiddenMarkovModel.from_samples(DiscreteDistribution, n_components=n, X=[trace])
Запустив этот код, я смог эффективно обучить HMM из образца последовательности. Это здорово, но я хотел бы встроить эту модель, то есть мне нужно извлечь параметры, чтобы я мог использовать их в другой среде.
Я легко могу получить матрицу перехода через
transitions = model.dense_transition_matrix()[:n,:n]
Однако я не нашел способа получить вероятности выбросов. Я вижу, что они хранятся в модели, когда я звоню
print(model)
Но я не могу найти способ программно извлечь эти значения. Кроме того, я вообще не видел вектора вероятности распределения начальных состояний, и мне приходится рассчитывать его, решая систему уравнений, подразумеваемую матрицей переходов. Есть ли способ легко извлечь начальный вектор вероятности и матрицу вероятности выбросов из граната HMM?