隐马尔科夫模型一(概念理解)

标签: 序列学习 机器学习
14人阅读 评论(0) 收藏 举报
分类:

前言

由于前一段时间在看CTC论文,里面用到了HMM中的前向后向算法,推公式的时候·一脸懵逼,所以又来学习HMM的思想,所以写篇博客做个笔记。本部分博客分为两篇,第一篇主要介绍一些基本的概念和思想,第二篇介绍理论的推导。博客的内容主要是基于<<统计学习方法>>以及其他的一些博客

模型概念

隐马尔可夫模型:隐马尔科夫模型是关于时序的概念模型,描述了由一个隐藏的马尔科夫链随机产生不可观测的状态随机序列,再由各个状态生成一个观测而产生的观测随机序列的过程。隐藏的马尔科夫链随机生成的状态序列成为状态序列:每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列。序列的每一个位置又可以看作一个时刻。

当第一次看到上述描述时估计大都数人都会和我一样一脸蒙逼,什么是状态序列,什么又是观测序列?还有隐马尔可夫链又是神马?

举个例子,假设你有一个住得很远的朋友,他每天跟你打电话告诉你他那天做了什么.你的朋友仅仅对三种活动感兴趣:公园散步,购物以及清理房间.他选择做什么事情只凭天气.你对于他所住的地方的天气情况并不了解,但是你知道总的趋势.在他告诉你每天所做的事情基础上,你想要猜测他所在地的天气情况。其实这个就是一个隐马尔科夫模型。每一天天气的变化就是一个隐马尔科夫链(即不同状态之间的转换),其有两个状态 “雨”和”晴”,但是你无法直接观察它们,也就是说,它们对于你是隐藏的.每天,你的朋友有一定的概率进行下列活动:”散步”, “购物”, 或 “清理”. 因为你朋友告诉你他的活动,所以这些活动就是你的观察数据。这整个系统就是一个隐马尔可夫模型HMM。

对于上述的例子而言,如果连续持续多天,你的朋友可能根据不同的天气进行不同的活动(当然,这里有一个前提,你的朋友在同一天只能进行一种活动),这几天天气的变化的就是一个隐藏的状态序列,比如说连续五天的天气为[‘晴’,’雨’,’雨’,’晴’,’雨’](这是在你不看天气预报的前提下o(╯□╰)o),而你的朋友每一天做的活动就组成了观测序列。这样看起来是不是简单多了。如果对这个例子还是不太理解,推荐看看参考资料[2]。

有了上面的例子,下面可以对隐马尔可夫模型进行符号化的定义。

定义

隐马尔科夫模型有初始概率分布、状态转移概率分布以及观测概率分布确定,其形式化定义如下:

Q是所有可能状态集合,V是所有可能的观测的集合

Q={q1,q2,...qN},V={v1,v2..vM}

其中N是可能的状态数,M是可能的观测数。

I是长度为T的状态序列,O是对应的观测序列。

I=(i1,i2...iT),O=(o1,o2,...,oT)

A是状态转移矩阵:
A=[aij]N×N

其中

aij=P(it+1=qj|it=qi),i=1,2,...,N;j=1,2,...,N

表示的是t时刻处于qi的条件下在t+1时刻状态转移到qj的概率。

B是观测概率矩阵:

B=[bj(k)]N×N

其中

bj(k)=P(ot=vk|it=qj),k=1,2,...,M;j=1,2,...,N

是在时刻t处于状态qj的条件下生成观测vk的概率

π 是初始状态概率向量:

π=(πi)

其中:

πi=P(i1=qi),i=1,2,...,N

所以隐马尔科夫模型λ可以用三元符号表示,即:

λ=(A,B,π)

状态转移矩阵A和初始状态概率π确定隐藏的马尔科夫链,生成不可观测的状态序列,观测概率矩阵B确定了如何从观测状态生成观测序列。这里从wiki上面盗一张图,上面的x即对应的状态序列,y表示的是观测序列:

隐马尔科夫模型的两个性质:

(1)齐次马尔科夫性假设,即使设隐藏的马尔科夫链在任意时刻t的状态只依赖于前一时刻的状态,与其他时刻的状态以及观测无关。

P(it|it1,ot1,...,i1,o1)=P(it|it1)

这句话是什么意思呢?以上面的图为例,假设x(t)表示的状态是前面例子里面的天气,那么x(t+1)的天气与x(t1)的天气无关,只与x(t)的天气有关。并且也与y(t+1)无关。

(2) 观测独立性假设,即假设任意时刻的观测只依赖该时刻的马尔科夫链的状态,与其他观测和状态无关。

P(ot|iT,oT,iT1,oT1,...,i1,o1)=P(ot|it)

意思即为观测状态ot只与对应的it有关。而与其他的状态无关。下面以一个具体例子帮助理解。

盒子与球模型

假设有4个盒子,每一个盒子里面都装有红白两种颜色的球,盒子里面的红白求数有下面表格给出。

盒子 1 2 3 4
红球数 5 3 6 8
白球数 5 7 4 2

按照下面的方法抽球,并且产生一个关于球的颜色观测序列:首先从四个盒子中等概率随机抽取一个求。记录颜色然后放回盒子,然后根据当前的概率随机转移到下一个盒子。规则是:当前盒子为1,下个盒子一定是2,当前盒子为2或者3。分别以0.4和0.6的概率转移到左边或者右边的盒子,如果当前盒子为4,那么各以0.5的概率转移到盒子3或者停留在盒子4。随机抽取一个球,如此重复5次,得到一个球的颜色的观察序列:

O={,,,,}

上述过程中,球的颜色序列为观测序列,而抽取的盒子的序列为状态序列。为了清楚表示状态之间的转换,我们将抽盒子规则用马尔可夫链表示出来。

所以盒子对应的状态集合是

Q={1,2,3,4}

球的颜色的观测集合为:

V={,}

状态序列和观测序列的长度T=5

初始分布概率为

π=(0.25,0.25,0.25,0.25)

状态转移概率分布为

A=[123456789]

观测序列为

B=[0.50.50.30.70.60.40.80.2]

三个基本问题

马尔科夫模型的3个基本问题。

(1)概率计算问题。给定模型λ=(A,B,π)和观测序列O=(o1,o2,...,oT)计算在模型λ下观测序列为O的概率P(O|λ)

(2)学习问题。已知观测序列O=(o1,o2,...,oT),估计模型λ=(A,B,π)的参数,使得在该模型下观测序列概率P(O|λ)最大。

(3)预测问题,也成为解码问题。已知模型λ=(A,B,π)和观测序列O=(o1,o2,...,oT),求对给定的观测序列概率P(I|O)的最大值。即给定观测序列,求最有可能的对应状态序列。

三个问题的联系

下面这段是个人理解,可能存在偏差。比如我们以语音识别为例,状态序列对应着我们的输入语音,观测序列对应着输出的标签。学习问题应该是用在训练阶段,给定输入标签以及参数,,训练模型。预测问题则是用模型进行测试,给定了模型和输入,利用模型预测结果。至于第一个问题,应该是被用在训练阶段计算观测序列的概率。关于三个问题的详细推导将在下一张介绍。

参考资料

[1].隐马尔科夫模型,维基百科

[2].漫谈 HMM:Definition, pluskid的博客

[3].统计学习方法,李航

[4].数学之美,吴军

查看评论

项目实战:数据库设计精选视频课程-架构师必修课

在实际的项目开发中,数据库的设计部分是否合理,对于整个项目的成功起着举足轻重的作用。可以不夸张的说,要想成为合格的项目经理、架构师,这个技能你必须掌握----否则你就会成为技术沟通会上的笑柄。 肖老师这套视频,结合了十几个实际项目的具体表设计,从浅入深、从简单项目到复杂的分布式项目,可以让你在短时间内快速积累很多的实际项目经验
  • 2016年10月19日 19:19

自然语言处理1-马尔科夫链和隐马尔科夫模型(HMM)

基于统计的语言模型比基于规则的语言模型有着天然的优势,而(中文)分词是自然语言处理的基础,接下来我们将注重介绍基于统计的中文分词及词性标注技术。为此做以下安排:首先介绍一下中文处理涉及到基本概念,接着...
  • tony_xjz
  • tony_xjz
  • 2013-06-03 17:39:16
  • 3626

隐马尔科夫模型(Hidden Markov Models)之理解篇和证明篇

Hidden Markov Models 一:介绍(Introduction) 我们通常都习惯寻找一个事物在一段时间里的变化模式(规律),这些模式发生在很多领域,比如计算机中的指令序列,句子中的词语...
  • wxcdzhangping
  • wxcdzhangping
  • 2015-01-07 11:19:49
  • 3351

隐马尔科夫模型详解

转载请注明地址(http://blog.csdn.net/xinzhangyanxiang/article/details/8522078) 学习概率的时候,大家一定都学过马尔科夫模型吧,当时就觉得...
  • sight_
  • sight_
  • 2015-01-30 15:24:33
  • 20658

一个隐马尔科夫模型的应用实例:中文分词

一个隐马尔科夫模型的应用实例:中文分词
  • ch1209498273
  • ch1209498273
  • 2016-12-24 23:52:56
  • 2780

隐马尔科夫模型(HMM)学习笔记整理与思考

隐含马尔可夫模型是一个基于概率统计的模型。 到目前为之,它一直被认为是实现快速精确的语音识别系统的最成功的方法。复杂的语音识别问题通过隐含马尔可夫模型能非常简单地被表述、解决。 在学习和理解隐马尔科夫...
  • terminater_a1992
  • terminater_a1992
  • 2015-11-11 15:04:28
  • 1780

隐马尔科夫模型总结

1.概念 状态序列: 隐藏的马尔科夫链随机生成的状态序列,称为状态序列(state sequence) 观测序列 每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列(obeservat...
  • u011879578
  • u011879578
  • 2016-05-21 21:07:18
  • 1100

隐马尔科夫模型(HMM)及其实现

马尔科夫模型 马尔科夫模型是单重随机过程,是一个2元组:(S,A)。 其中S是状态集合,A是状态转移矩阵。 只用状态转移来描述随机过程。   马尔科夫模型的2个假设 有限历史性假设:t+l时刻系统状态...
  • u012428391
  • u012428391
  • 2014-08-27 10:01:16
  • 3640

隐马尔科夫模型——简介

隐马尔可夫模型简介,参考其它各种文献
  • zb1165048017
  • zb1165048017
  • 2015-09-19 19:21:45
  • 1392

隐马尔科夫模型(HMM)的MATLAB程序和工具箱

  • 2010年01月05日 20:36
  • 413KB
  • 下载
    个人资料
    持之以恒
    等级:
    访问量: 3万+
    积分: 988
    排名: 5万+
    最新评论