cwl*_*cwl 2 python hidden-markov-models hmmlearn
我正在使用 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模型。
我阅读了文档,但找不到计算此概率的函数。有什么解决方法吗?
您正在寻找的概率只是转换矩阵的一行。t+1转移矩阵的第 n 行给出了在知道系统在 时间 处的状态的情况下转移到每个状态的概率t。
为了知道系统在t给定一系列观察值的时间处于哪种状态,可以使用维特比算法,这是中x_1,...,x_t方法的默认设置。predicthmmlearn
model = hmm.GaussianHMM(n_components=3, covariance_type="full", n_iter=100) # Viterbi is set by default as the 'algorithm' optional parameter.
model.fit(data)
state_sequence = model.predict(data)
prob_next_step = model.transmat_[state_sequence[-1], :]
Run Code Online (Sandbox Code Playgroud)
我建议您仔细查看此文档,其中显示了具体的使用示例。
| 归档时间: |
|
| 查看次数: |
8711 次 |
| 最近记录: |