【发布时间】:2018-11-12 20:23:31
【问题描述】:
在给定开始概率、转移概率和发射概率的情况下,我正在尝试使用 hmmlearn 从隐马尔可夫模型中获取最可能的隐藏状态序列。
我有两个隐藏状态和四个可能的发射值,所以我这样做:
num_states = 2
num_observations = 4
start_probs = np.array([0.2, 0.8])
trans_probs = np.array([[0.75, 0.25], [0.1, 0.9]])
emission_probs = np.array([[0.3, 0.2, 0.2, 0.3], [0.3, 0.3, 0.3, 0.1]])
model = hmm.MultinomialHMM(n_components=num_states)
model.startprob_ = start_probs
model.transmat_ = trans_probs
model.emissionprob_ = emission_probs
seq = np.array([[3, 3, 2, 2]]).T
model.fit(seq)
log_prob, state_seq = model.decode(seq)
我的堆栈跟踪指向 decode 调用并抛出此错误:
ValueError: too many values to unpack (expected 2)
我以为decode(查看文档)返回对数概率和状态序列,所以我很困惑。
有什么想法吗?
谢谢!
【问题讨论】: