失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > ML--HMM(隐马尔可夫模型及python的实现2)

ML--HMM(隐马尔可夫模型及python的实现2)

时间:2021-12-21 07:09:07

相关推荐

ML--HMM(隐马尔可夫模型及python的实现2)

1.HMM的应用1,这个代码不知道出处了,若有侵权请联系本文作者删除,注释为本人所加。

2.对基本的HMM需要进一步了解的,请戳这里

3.下面是HMM代码的解释之一

# _*_ coding:utf-8 _*_# __author__='dragon'"""test HMM"""from __future__ import divisionimport numpy as npimport matplotlib.pyplot as pltfrom hmmlearn import hmm##这里要求先装好了hmm这个包states = ["Rainy", "Sunny"]##隐藏状态n_states = len(states)##长度observations = ["walk", "shop", "clean"]##可观察的状态n_observations = len(observations)##可观察序列的长度start_probability = np.array([0.6, 0.4])##开始转移概率##转移矩阵transition_probability = np.array([[0.7, 0.3],[0.4, 0.6]])##混淆矩阵emission_probability = np.array([[0.1, 0.4, 0.5],[0.6, 0.3, 0.1]])#构建了一个MultinomialHMM模型,这模型包括开始的转移概率,隐含间的转移矩阵A(transmat),隐含层到可视层的混淆矩阵emissionprob,下面是参数初始化model = hmm.MultinomialHMM(n_components=n_states)model._set_startprob(start_probability)model._set_transmat(transition_probability)model._set_emissionprob(emission_probability)# predict a sequence of hidden states based on visible statesbob_says = [2, 2, 1, 1, 2, 2]##预测时的可见序列logprob, alice_hears = model.decode(bob_says, algorithm="viterbi")print logprob##该参数反映模型拟合的好坏##最后输出结果print "Bob says:", ", ".join(map(lambda x: observations[x], bob_says))print "Alice hears:", ", ".join(map(lambda x: states[x], alice_hears))

4,那么问题来了,怎么训练这个HMM模型来获取模型参数呢,请关注后面更新。。。。。。

如果觉得《ML--HMM(隐马尔可夫模型及python的实现2)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。