我正在使用hmmlearn的GaussianHMM来训练具有高斯观测的隐马尔可夫模型 . 每个隐藏状态k具有其对应的高斯参数:mu_k,Sigma_k .
训练模型后,我想计算以下数量:
P(z_ {T 1} = j | x_ {1:T}),
其中j = 1,2,... K,K是隐藏状态的数量 .
在给定完整的观察序列的情况下,上述概率基本上是一步前隐藏状态概率:x_1,x_2,...,x_T,其中x_i,i = 1,...,T用于训练HMM模型 .
我读了documentation,但找不到计算这个概率的函数 . 有没有解决方法?
2 回答
您正在寻找的概率只是转换矩阵的一行 . 转换矩阵的第n行给出了在知道系统处于时间
t
的状态时转换到每个状态的概率 .为了知道在给定观察序列的情况下系统处于哪个状态
x_1,...,x_t
,可以使用维特比算法,该算法是hmmlearn
中方法predict
的默认设置 .我建议你仔细看看这个显示具体用例的documentation .
一旦HMM
model
被训练,您可以获得t+1
状态1:t
observationX
如下:根据
t
状态和transmat_
生成t+1
状态