人工智能里的数学修炼 | 概率图模型 : 隐马尔可夫模型
人工智能里的数学修炼 | 隐马尔可夫模型:前向后向算法
人工智能里的数学修炼 | 隐马尔可夫模型 : 维特比(Viterbi)算法解码隐藏状态序列
人工智能里的数学修炼 | 隐马尔可夫模型:基于EM的鲍姆-韦尔奇算法求解模型参数

目录

  • 一、隐马尔可夫模型
  • 二、隐马尔可夫模型的三组参数
  • 三、 隐马尔可夫模型的三个基本问题
  • 四、资源下载

概率图模型(probabilistic graphical model)是一类用图来表达变量相关关系的概率模型。它以图为表示工具,最常见的是用一个结点表示一个或一组随机变量,结点之间的边表示变量间的概率相关关系,即“变量关系图”。根据边的性质不同,概率图模型可大致分为两类:
第一类是使用有向无环图表示变量间的依赖关系,称为有向图模型或贝叶斯网(Bayesian network);
第二类是使用无向图表示变量间的相关关系,称为无向图模型或马尔可夫网(Markov network)

隐马尔可夫(hidden markov model, HMM)是结构最简单的动态贝叶斯网,这是一种著名的有向图模型,主要用于时序建模,在语音识别、自然语言处理等领域有着广泛的应用

一、隐马尔可夫模型

隐马尔可夫模型中的变量可以分为两组。
第一组是状态变量 y 1 , y 2 , . . . , y n {y_{1},y_{2},...,y_{n}} y1​,y2​,...,yn​, 其中 y i ϵ Y y_{i}\epsilon Y yi​ϵY表示第 i i i个时刻系统的状态。通常假定状态变量是隐藏的、不可被观测的,因此状态变量又被称为隐变量。在隐马尔可夫模型中,系统通常在多个状态 s 1 , s 2 , . . . , s N {s_{1},s_{2},...,s_{N}} s1​,s2​,...,sN​之间转换,因此状态变量 y i y_{i} yi​的取值范围是有 N N N个可能取值的离散空间。
第二组是观测变量 x 1 , x 2 , . . . , x n {x_{1},x_{2},...,x_{n}} x1​,x2​,...,xn​, 其中 x i ϵ X x_{i}\epsilon X xi​ϵX表示第 i i i时刻的观测值。观测变量通常是可以是连续型也可以是离散型,这里仅考虑离散型观测变量,并假定其取值范围为 X X X为 o 1 , o 2 , . . . , o M {o_{1},o_{2},...,o_{M}} o1​,o2​,...,oM​。

隐马尔可夫模型的状态变量与观测变量的基本结构如下图所示

上图中的箭头表示了变量间的依赖关系,同时也解释了隐马尔可夫模型的两个重要假设

  • 齐次马尔可夫链假设: t t t时刻的状态 y t y_{t} yt​ 仅依赖于 t − 1 {t-1} t−1时刻的状态 y t − 1 y_{t-1} yt−1​,与其余状态无关,即系统下一时刻的状态仅由当前状态决定,不依赖于以往的任何状态
  • 观测独立性假设: 在任一时刻,观测变量的取值仅依赖于状态变量,即 x t {x_{t}} xt​由 y t {y_{t}} yt​确定,与其他状态变量和观测变量无关

这两个假设大大简化了隐马尔可夫模型的复杂度,使其得到广泛应用

二、隐马尔可夫模型的三组参数

第一小节介绍了隐马尔可夫模型的基本图结构,但确定一个隐马尔可夫模型还需要三组参数

  • 状态转移概率:模型在各个状态之间转移的概率,记为矩阵 A = [ a i j ] N × N A=[a_{ij}]_{N \times N} A=[aij​]N×N​, 其中
    a i j = P ( y t + 1 = s j ∣ y t = s i ) , 1 ⩽ i , j ⩽ N a_{ij}=P(y_{t+1}=s_{j}|y_{t}=s_{i}), 1 \leqslant i,j \leqslant N aij​=P(yt+1​=sj​∣yt​=si​),1⩽i,j⩽N 表示在任一时刻 t t t,若当前状态为 s i s_{i} si​,下一时刻状态为 s j s_{j} sj​的概率

  • 输出观测概率:模型根据当前状态获得各个观测值的概率,记为矩阵 B = [ b i j ] N × M B=[b_{ij}]_{N \times M} B=[bij​]N×M​, 其中
    b i j = P ( x t = o j ∣ y t = s i ) , 1 ⩽ i ⩽ N , 1 ⩽ j ⩽ M b_{ij}=P(x_{t}=o_{j}|y_{t}=s_{i}), 1 \leqslant i \leqslant N, 1 \leqslant j \leqslant M bij​=P(xt​=oj​∣yt​=si​),1⩽i⩽N,1⩽j⩽M表示在任一时刻 t t t,若状态为 s i {s_{i}} si​,则观测值 o j {o_{j}} oj​被获取的概率

  • 初始状态概率:模型在初始时刻各状态出现的概率,通常记为 π = ( π 1 , π 2 , . . . , π N ) \pi=(\pi_{1},\pi_{2},...,\pi_{N}) π=(π1​,π2​,...,πN​), 其中
    π i = P ( y 1 = s i ) \pi_{i}=P(y_{1}=s_{i}) πi​=P(y1​=si​)即模型的初始状态为 s i s_{i} si​的概率

通过指定上述三组参数 λ = { A , B , π } \lambda=\{A,B,\pi\} λ={A,B,π},就能确定一个隐马尔可夫模型,它按照如下过程产生观测序列 x 1 , x 2 , . . , x n {x_{1},x_{2},..,x_{n}} x1​,x2​,..,xn​:

  1. 设置 t = 1 t=1 t=1,并根据初始状态概率 π \pi π选择初始状态 y 1 y_{1} y1​;
  2. 根据状态 y t y_{t} yt​和输出观测概率 B B B选择观测变量取值 x t x_{t} xt​;
  3. 根据 y t y_{t} yt​和状态转移矩阵 A A A转移模型状态,确定 y t + 1 y_{t+1} yt+1​;
  4. 若 t < n t<n t<n,设置 t = t + 1 t=t+1 t=t+1, 并转到第2步,否则停止

三、 隐马尔可夫模型的三个基本问题

在实际应用中,人们常关注隐马尔可夫模型的三个基本问题:

  • 生成观察序列概率:给定模型 λ = { A , B , π } \lambda=\{A,B,\pi\} λ={A,B,π}, 如何有效计算其产生观测序列 x = x 1 , x 2 , . . , x n x={x_{1},x_{2},..,x_{n}} x=x1​,x2​,..,xn​的概率 P ( x ∣ λ ) P(x|\lambda) P(x∣λ)?换而言之,如何评估模型与观测序列之间的匹配程度。这个问题的求解需要用到前向后向算法,是HMM模型三个问题中最简单的
  • 预测问题:给定模型 λ = { A , B , π } \lambda=\{A,B,\pi\} λ={A,B,π}和观测序列,如何找到与此观测序列最匹配的状态序列 y = y 1 , y 2 , . . . , y n y={y_{1},y_{2},...,y_{n}} y=y1​,y2​,...,yn​?换言之,如何根据观测序列推断出隐藏的模型状态?这个问题的求解需要用到基于动态规划的维特比算法,这个问题是HMM模型三个问题中复杂度居中的算法
  • 模型参数学习问题:给定观测序列 x = x 1 , x 2 , . . . , x n x={x_{1},x_{2},...,x_{n}} x=x1​,x2​,...,xn​, 如何调整模型参数 λ = { A , B , π } \lambda=\{A,B,\pi\} λ={A,B,π}使得该序列出现的概率 P ( X ∣ λ ) P(X| \lambda) P(X∣λ)最大?即如何训练模型使得其能最好的描述观测数据?这个问题的求解需要用到基于EM算法的鲍姆-韦尔奇算法, 这个问题是HMM模型三个问题中最复杂的。

上述三个问题在实际应用中都有重要意义。例如许多任务需根据以往的观测序列 x = x 1 , x 2 , . . . , x n − 1 x={x_{1},x_{2},...,x_{n-1}} x=x1​,x2​,...,xn−1​来推测当前时刻最有可能的观测值 x n x_{n} xn​,这显然可以转化为求取概率 P ( x ∣ λ ) P(x|\lambda) P(x∣λ), 即上述第一个问题;在语音识别等任务中,观测值为语音信号,隐藏状态为文字,目标就是根据观测信号来推断最有可能的状态序列,即对应上述的第二个问题;至于第三个问题,则是对应于绝大多数机器学习模型所存在的训练模型参数的问题。

reference
[1] 机器学习,周志华

四、资源下载

微信搜索“老和山算法指南”获取下载链接与技术交流群

有问题可以私信博主,点赞关注的一般都会回复,一起努力,谢谢支持。

人工智能里的数学修炼 | 概率图模型 : 隐马尔可夫模型相关推荐

  1. 《统计学习方法》——隐马尔可夫模型(上)

    引言 这是<统计学习方法>第二版的读书笔记,由于包含书上所有公式的推导和大量的图示,因此文章较长,正文分成三篇,以及课后习题解答,在习题解答中用Numpy实现了维特比算法和前向后向算法. ...

  2. 【深度】从朴素贝叶斯到维特比算法:详解隐马尔科夫模型

    详解隐马尔科夫模型 作者:David S. Batista 选自:机器之心 本文首先简要介绍朴素贝叶斯,再将其扩展到隐马尔科夫模型.我们不仅会讨论隐马尔科夫模型的基本原理,同时还从朴素贝叶斯的角度讨论 ...

  3. 10_隐马尔科夫模型HMM1_统计学习方法

    文章目录 一.几个基本概念 1.隐马尔可夫模型 2.马尔科夫链 3.随机过程 4.马尔科夫性质 二.隐马尔科夫模型 1.隐马尔科夫模型的引入 2.隐马尔科夫模型定义 3.隐马尔科夫模型的两个假设 4. ...

  4. 隐马尔可夫模型HMM

    目录 1. 隐马尔可夫模型 1.1 什么样的问题需要HMM模型 1.2 HMM模型的数学定义 1.3 一个HMM模型实例 1. 隐马尔可夫模型 隐马尔可夫模型(Hidden Markov Model) ...

  5. 深度学习:隐马尔科夫模型

    概率图 隐马尔科夫模型属于概率图范畴,简单介绍一下概率图模型,概率图模型(probabilistic graphical model)是一类用图的形式表示随机变量之间条件依赖关系的概率模型,是概率论与 ...

  6. 隐马尔可夫模型(背景介绍)

    1.隐马尔科夫模型(HMM)用来描述一个含有隐变量的马尔可夫过程 2.HMM可以看成GMM在时间序列上的推广 3.HMM可以用1-2-3表达:一个模型,两个假设,三个问题 4.HMM模型假设是齐次马尔 ...

  7. 一文读懂NLP之隐马尔科夫模型(HMM)详解加python实现

    一文读懂NLP之隐马尔科夫模型(HMM)详解加python实现 1 隐马尔科夫模型 1.1 HMM解决的问题 1.2 HMM模型的定义 1.2.1HMM的两个假设 1.2.2 HMM模型 1.3 HM ...

  8. 语音识别与隐马尔可夫模型(HMM)

    目录 一.语音识别 二.隐马尔可夫模型 三.前向-后向算法 四.Baum-Welch算法 五.孤立词识别 公元2035年,机器人在人类社会中充当着十分重要的角色,它们可以送快递,为人类提供家政服务,甚 ...

  9. 隐马尔科夫模型matlab工具箱说明

    转自 http://blog.csdn.net/whiteinblue/article/details/40625291 隐马尔可夫模型(HiddenMarkov Model,HMM)是统计模型,它用 ...

最新文章

  1. springboot 项目将本地引用打进jar包
  2. MySQL的datetime日期格式化,和Oracle的datetime日期格式化
  3. Nginx vs Apache--reference
  4. 王道计算机考研 数据结构 (树与二叉树)
  5. java默认xmx修改,Java 8中的默认Xmxsize
  6. 《软件工程》实验报告——软件测试
  7. 华为发布开发者召集令,等你来战!
  8. [简单分页]C#+JQUERY+ORACLE分页效果 ----转载
  9. Android Native内存泄露检测(针对Android7.0)
  10. 录屏软件电脑_电脑录屏用什么软件?电脑录屏软件集锦
  11. ida 反编译 php,飘云阁安全论坛在IDA pro中的这样一段反编译代码能够改写成易语言吗 - Powered by Discuz!...
  12. android友盟分享最新,Android 友盟分享+第三方登录
  13. 园林景观cad_景观广场及绿化设计(附CAD平面图)
  14. Win11用户好消息 影响win11性能运行的竟是它,关闭可提升性能
  15. 华胜天成-容灾流程管理平台解决方案
  16. 【产业互联网周报】阿里云栖大会、百度世界大会召开:阿里重推“云端一体”、百度AI全面升级...
  17. Namesilo转出域名到US Domain Center美国域名注册商
  18. (转)ARCGIS中坐标转换及地理坐标、投影坐标的定义
  19. APP测试的主要内容
  20. 【物联网毕设基础】单片机:NEC 协议红外遥控器

热门文章

  1. APP通过http获取OneNet数据与命令下发【应用层】
  2. 十五岁生日快乐,.NET !
  3. FPGA型号简介_王总0422
  4. C++图像处理 -- 亮度/对比度调整
  5. 在国企工作是什么体验?想熬出头难么?
  6. 微信小程序入门教程及实例
  7. 看linux源码到什么哎程度,Linux 查看命令源码
  8. UGUI_输入框Inputfield中英文字符限制,选中替换
  9. pop服务器未响应,DNSLint 实用工具的说明
  10. 软银中国负责人 潘政荣:80%的创业者没有想清楚要做什么