隐马尔科夫模型

隐马尔科夫(HiddenMarkov model)简称为HMM,HMM资料相当丰富,推荐参见《HMM学习最佳范例与崔晓源的博客》一文,本文只对HMM进行简要介绍,然后说明开源GHMM实现在linux环境的搭建,HMM的开源实现有众多不同语言的实现。

 

马尔科夫模型

一阶马尔科夫模型假设为:

1、t+l时刻系统状态的概率分布只与t时刻的状态有关,与t时刻以前的状态无关;

2、从t时刻到t+l时刻的状态转移与t的值无关。

数学表达为:

 

依次类推,n阶马尔科夫中当前状态与前面n个时刻的状态有关。

 

隐马尔科夫模型:

在马尔可夫模型中,状态对于观察者来说是直接可见的,但是而在隐马尔可夫模型中,状态并不是直接可见的,但受状态影响的观测变量则是可见的。如下图,x为不同时刻的状态,y为对应时刻的观察量。

 

隐马尔科夫模型三要素:

状态转移矩阵:包含了一个隐藏状态到另一个隐藏状态的概率

观测概率矩阵:包含了某一个隐藏状态观察到的某个观察状态的概率。

初始状态概率向量:初始状态t=1下的状态概率。

 

隐马尔可夫应用:

评估:已知模型参数,求一个观察序列的概率,通常使用forward算法

解码:给定观察序列搜索最可能的隐藏状态序列,通常使用Viterbi算法

学习:根据观察序列生成隐马尔科夫模型,通常使用Baum-Welch算法

 

GHMM在linux下的搭建

GHMM的主页为http://ghmm.sourceforge.net/index.html,上面提供了相关资源链接下载和文档说明。

依赖文件主要为GCC、Libxml2和GSL等,下载最新的源码包并解压缩,通过一些命令进行安装。

> ./configure

> make

> make install

为了能够在python下使用GHMM模块,还需要以下步骤:

> cd ghmmwrapper
> python setup.py build
> python setup.py install

启动python,输入

>importghmm

会出现如下错误,ImportError : libghmm.so.1: cannot open shared object file: No suchfile or directory

解决方案参见http://blog.csdn.net/tangyongkang/article/details/5390015一文。

具体方法为在.bashrc文件中添加:

exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

并Logout之后再 Login,重新导入ghmm模块,运行正常。

>help(ghmm )后,有详细的ghmm模块相关介绍。

 

运行实例结果如下:

 


refer:

http://www.52nlp.cn/hmm-learn-best-practices-and-cui-johnny-blog

http://en.wikipedia.org/wiki/Hidden_Markov_model

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值