http://www.cnblogs.com/baiboy/p/hmm2.html

转自:白宁超

摘要:最早接触马尔可夫模型的定义源于吴军先生《数学之美》一本。直到做自然语言处理时,才真正使用到隐马尔可夫模型HMM,并真正体会到此模型的妙用之处。起初参考的资料多来源于网站博客,不少介绍马尔可夫模型的文章是转载的,千篇一律且不能透彻解析其中问题。于是笔者开始自己系统的学习此块内容,并作系列文章发表共享。马尔可夫模型在处理序列分类时具体强大的功能,诸如解决:词类标注、语音识别、句子切分、字素音位转换、局部句法剖析、语块分析、命名实体识别、信息抽取等。另外广泛应用于自然科学、工程技术、生物科技、公用事业、信道编码等多个领域。本文写作思路如下:第一章对马尔可夫进行个人简介;第二章介绍马尔科夫链:序列标注器、马尔可夫过程、随机过程、马尔科夫链描述、马尔可夫应用实例;第三章介绍马尔可夫链(显马尔可夫模型)和隐马尔可夫模型、隐马尔可夫模型案例分析、隐马尔可夫模型的三大问题(似然度、编码、参数学习)、隐马尔可夫模型现实运用;第四章介绍三大问题之一的向前算法相关知识;第五章介绍三大问题之一的维特比算法相关知识;第六章简述三大问题之一的向前向后算法相关知识;最后进行隐马尔可夫模型相关知识补充。(本文原创,转载注明出处:马尔可夫模型与隐马尔可夫模型  )

目录


【自然语言处理:马尔可夫模型(一)】:初识马尔可夫和马尔可夫链

【自然语言处理:马尔可夫模型(二)】:马尔可夫模型与隐马尔可夫模型

马尔可夫个人简介


安德烈·马尔可夫,俄罗斯人,物理-数学博士,圣彼得堡科学院院士,彼得堡数学学派的代表人物,以数论和概率论方面的工作著称,他的主要著作有《概率演算》等。1878年,荣获金质奖章,1905年被授予功勋教授称号。马尔可夫是彼得堡数学学派的代表人物。以数论和概率论方面的工作著称。他的主要著作有《概率演算》等。在数论方面,他研究了连分数和二次不定式理论 ,解决了许多难题 。在概率论中,他发展了矩阵法,扩大了大数律和中心极限定理的应用范围。马尔可夫最重要的工作是在1906~1912年间,提出并研究了一种能用数学分析方法研究自然过程的一般图式——马尔可夫链。同时开创了对一种无后效性的随机过程——马尔可夫过程的研究。马尔可夫经多次观察试验发现,一个系统的状态转换过程中第n次转换获得的状态常取决于前一次(第(n-1)次)试验的结果。马尔可夫进行深入研究后指出:对于一个系统,由一个状态转至另一个状态的转换过程中,存在着转移概率,并且这种转移概率可以依据其紧接的前一种状态推算出来,与该系统的原始状态和此次转移前的马尔可夫过程无关。马尔可夫链理论与方法在现代已经被广泛应用于自然科学、工程技术和公用事业中。

1  引言


当需要计算现实世界上可以直接观察到的时间序列的概率时,(如上面天气事件),马尔可夫链很有用。但是,当我们处理的事件是现实世界不能观察到的,而是隐含在观察背后,诸如词类标注(根据具体的一个个的词,我们实现看到的词的序列去标注出正确的词类,此事词类的标注是隐藏的)、语音识别(声学事件下,推断出隐藏在其背后的单词)等。类似这样的事件马尔可夫链是不能直接解决的,此处隐马尔可夫模型便派到用场。

隐马尔科夫模型:由被观察到的事件(如:此类标记时我们输入中看到的词序列),又涉及到隐藏事件(对词的标注),这些隐藏事件在概率模型中被我们认为是引导因素。

2 隐马尔可夫模型


2.1 爱依斯讷(Jason Eisner)对隐马尔可夫模型的描述

隐马尔可夫模型在现实问题中应用:

隐马尔可夫模型在现实事件中的使用,假设从2016年之后的一千年(3016年),我们想了解2016年某段时间中国*成都天气状况(假设简单的热冷表示即H|C),恰巧又没有2016年成都天气关于热冷的记录,唯一的线索便是小明日记本中夏天的一段记录,记录的是每天小明吃冰淇淋的数量(观察状态),我们可以利用隐马尔可夫模型根据小明夏天吃冰淇淋数量的记录推断中国成都天气(热=0.8|冷=0.2,即隐含状态),究竟该如何做?

(1)具有初始状态和终结状态的隐马尔科夫链描述如下:

(2)没有初始状态和终结状态的隐马尔科夫链描述如下:

(3)一阶隐马尔可夫的两个假设

2.2 拉宾纳(Rabiner)对隐马尔可夫模型思想的三个问题

问题1(似然度问题):给一个HMM λ=(A,B) 和一个观察序列O,确定观察序列的似然度问题 P(O|λ) 。

问题2(解码问题):给定一个观察序列O和一个HMM λ=(A,B),找出最好的隐藏状态序列Q。

问题3(学习问题):给定一个观察序列O和一个HMM中的状态集合,自动学习HMM的参数A和B。

如上的冰淇淋事件是典型的问题1,似然度问题,对应向前算法解决。词类标注是典型问题2解码问题,对应维特比算法解决。问题3是机器学习问题,对应向前向后算法解决。此三个问题稍后篇章会一一介绍。

3 案例解析隐马尔可夫模型

下图描述小明吃冰淇淋的数量(观察值)与天气热冷情况(隐藏值H或C)之间的隐马尔可夫模型

其中hot1的转移概率是:

P(1|hot)=0.2    夏天某天天气热吃1根冰淇淋的概率

P(2|hot)=0.4    夏天某天天气热吃2根冰淇淋的概率

P(3|hot)=0.4    夏天某天天气热吃3根冰淇淋的概率

其中cold2的转移概率是:

P(1|hot)=0.5    夏天某天天气冷吃1根冰淇淋的概率

P(1|hot)=0.4    夏天某天天气冷吃2根冰淇淋的概率

P(1|hot)=0.1    夏天某天天气冷吃3根冰淇淋的概率

其中观察值(吃的数量):

O={1,2,3}

隐藏值(天气的状态):

S={H,C}

全连通HMM:任何两个状态之间的转移一个非零概率。

非全连通HMM:从左到右的单向序列,如对语音进程建模。

通过小明吃冰淇淋的观察值推断天气状态的问题,留着下节采用隐含马尔可夫模型解决。此处采用一个短小简明的例子,旨在让读者明白原理,后续会拿到现实应用中深入讲解。

4  参考文献


【1】统计自然语言处理基础  Christopher.Manning等 著    宛春法等 译

【2】自然语言处理简明教程  冯志伟 著

【3】数学之美  吴军 著

【4】Viterbi算法分析文章  王亚强

http://www.cnblogs.com/baiboy

马尔可夫模型与隐马尔可夫模型相关推荐

  1. 人工智能里的数学修炼 | 概率图模型 : 隐马尔可夫模型

    人工智能里的数学修炼 | 概率图模型 : 隐马尔可夫模型 人工智能里的数学修炼 | 隐马尔可夫模型:前向后向算法 人工智能里的数学修炼 | 隐马尔可夫模型 : 维特比(Viterbi)算法解码隐藏状态 ...

  2. 学习笔记——详解马尔可夫,马尔可夫链,马尔可夫模型,隐马

    目录 (一),马尔可夫 (Markov)综述 1.1,随机过程是啥玩意儿 1.2. 马尔可夫链 (Markov Chain)又是什么鬼 1.3一个经典的马尔科夫链实例 (二), 隐马尔可夫 HMM 2 ...

  3. HMM(马尔科夫过程及隐马尔科夫过程)

    转载地址(http://blog.csdn.net/xinzhangyanxiang/article/details/8522078) 学习概率的时候,大家一定都学过马尔科夫模型吧,当时就觉得很有意思 ...

  4. 概率图模型(1)--隐马尔科夫模型(1)

    定义 隐马尔可夫模型是结构最简单的动态贝叶斯网,是一种著名的有向图模型,主要用于时序建模,在语音识别.自然语言处理领域有广泛应用. 隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔科夫链随机生 ...

  5. 马氏系列(马尔科夫过程、马尔科夫决策、隐马尔科夫模型)

    马尔科夫过程 马尔可夫链就是这样一个任性的过程,它将来的状态分布只取决于现在,跟过去无关! 具体内容参见:https://zhuanlan.zhihu.com/p/26453269 马尔科夫决策 也是 ...

  6. 机器学习基础 HMM模型(隐马尔科夫)

    文章目录 一.马尔科夫链 1. 简介 2. 经典举例 3. 小结 二.HMM简介 1. 简单案例 2. 三个基本问题 三.HMM模型基础 1. 什么样的问题需要HMM模型 2. HMM模型的定义 3. ...

  7. 一次性弄懂马尔可夫模型、隐马尔可夫模型、马尔可夫网络和条件随机场!

    1. 马尔可夫网络.马尔可夫模型.马尔可夫过程.贝叶斯网络的区别 相信大家都看过上一节我讲得贝叶斯网络,都明白了概率图模型是怎样构造的,如果现在还没明白,请看我上一节的总结: 贝叶斯网络 这一节我们重 ...

  8. 一次性弄懂马尔可夫模型、隐马尔可夫模型、马尔可夫网络和条件随机场!(词性标注代码实现)

    文章目录 1. 马尔可夫网络.马尔可夫模型.马尔可夫过程.贝叶斯网络的区别 2. 马尔可夫模型 2.1 马尔可夫过程 3. 隐马尔可夫模型(HMM) 3.1 隐马尔可夫三大问题 3.1.1 第一个问题 ...

  9. 马尔可夫模型及隐马尔可夫模型(HMM)

    马尔可夫模型 马尔可夫模型是由Andrei A. Markov于1913年提出的 ∙ ∙ 设  S S是一个由有限个状态组成的集合 S={1,2,3,-,n−1,n} S={1,2,3,-,n−1,n ...

最新文章

  1. DatagridView自动充满屏幕,并能指定某列宽度
  2. Java开源——常见J2EE框架简介
  3. android软件开发考试,Android软件工程师笔试题(全选择题)【0-1年经验】
  4. 与AI大牛面对面:人工智能机器人,助手还是终结者?| 活动报名
  5. 安装sqoop以后,hive中的info信息无法禁止的问题解决
  6. python导入random模块_Python内置模块之random
  7. C++STL之fill()函数使用方法
  8. 《数据结构与抽象:Java语言描述(原书第4版)》一1.1 什么是包
  9. UDP通信——通过UDP进行转发
  10. 三等分任意角可能吗?
  11. 扬帆际海:如何成为一个合格的跨境电商运营?
  12. 什么是增值税的进项税和销项税?
  13. pdf文件过大,如何缩小的操作教程
  14. from keras.preprocessing.sequence import pad_sequences 标红
  15. matlab模拟调制过程,用Matlab模拟SSB调制波形及解调过程
  16. ubuntu16.04 安装VScode
  17. 深度linux15.4 密码,深度操作系统15.4 Beta——给你“好看”
  18. 免疫组库vdj的数据处理(TCR/BCR)
  19. java 字节 字符
  20. UML设计一个电影票务销售系统(一)

热门文章

  1. TCP初始拥塞窗口与初始接收窗口
  2. 12:Polly-Rate Limit(限流)
  3. 正向有功正向无功_电表的正向有功和反向无功是怎么回事?
  4. oracle exp根据条件,oracle exp导出加上过滤条件
  5. MySQL 提示字段没有默认值 doesn’t have a default value 解决方法
  6. HTML中写CSS代码的两种方法
  7. Cycript(一):基础简介
  8. 哈佛结构与冯.诺依曼结构(普林斯顿结构)
  9. Acwing66周赛+Leetcode308周赛
  10. 工业机器人工程师的工作规划