概率图模型提供了一种根据观察到的证据来对感兴趣的未知变量进行估计和推测的模型,将学习任务归结于计算变量的概率分布。具体来说,假定所关心的变量集合为Y,可观测变量集合为O,其他变量集合为R,“生成式”模型考虑联合分布P(Y,R,O),“判别式”模型考虑条件分布P(Y,R|O),给定一组观测变量值,推断就是要从P(Y,R,O)或P(Y,R|O)得到     P(Y|O)

直接利用概率求和规则消去变量R显然不可行,因为即便每个变量仅有两种取值的简单问题,复杂度也能达到O(2^(|Y|+|R|)),另一方面,属性变量之间往往存在复杂的联系,因此概率模型的学习基于训练样本来估计变量分布的参数往往很困难。而概率图模型是一类用图来表达变量相关关系的概率模型。在概率图中通常用结点表示一个或一组随机变量,结点之间的边表示变量之间的概率相关关系

隐马尔可夫模型(HMM)是结构最简单的贝叶斯网络,一种著名的有向图模型。在HMM中变量可以分为两类,第一类是状态变量{y1,y2,,,yn},其中yi∈Y表示第i时刻的系统状态,通常系统状态是隐藏的、无法被观测到的,故又称为隐变量。第二类是观测变量{x1,x2,,,xn},其中xi∈X表示的是第i个状态下的观测值。在HMM中,系统通常在多个状态之间{s1,s1,,,sN}之间转化,因此状态变量yi的取值范围通常有N个可能取值的离散空间。观测变量xi在此仅考虑离散型观测变量,并假定其取值范围X为{o1,o2,,,oM}。HMM模型如下图所示:

在上图中,箭头表示了变量之间的依赖关系。在任意时刻,观测变量的取值仅仅依赖于系统的当前状态,即状态变量,xi仅仅由yi决定;同时下一时刻的状态仅仅由当前状态所决定,即yi+1仅仅依赖于yi,而与yi-1无关。这就是“马尔可夫链”,即系统下一时刻的状态仅由当前状态决定,不依赖于任何过往状态。基于这种依赖关系,所有变量的联合概率分布为:

在式中,表示系统的初始状态,初始的状态变量*观测变量

表示系统状态的转移:即下一状态仅仅依赖于当前状态

表示在当前状态下的观测值,即在状态yi下观测值为xi的概率。

除了结构信息,欲确实一个隐马尔可夫模型还需要如下三组参数:

1.状态转移矩阵。模型在各个状态之间转换的概率,通常记为矩阵A=[aij]N*N,其中:

表示当前状态为si,下一状态为sj的概率。

2.输出观测概率。模型在当前状态获得各个观测值的概率,通常记为矩阵B=[bij]N*M,其中:

表示当前状态为si,该状态下观测值为oj的概率。

3.初始状态概率。模型在初始时刻各状态出现的概率,通常记为Π=(Π1,Π2,Π3,,,ΠN),其中:

表示模型初始状态为si的概率

通过以上提到的状态空间Y,观测空间X和上述三组参数,就可确定一个隐马尔可夫模型,通常用其参数入=[A,B,Π]来表示,给定入,就可确定产生一组观测序列{x1,x2,,,xn}:

(1)设置t=1时刻的状态,根据Π选择初始状态y1;

(2)根据状态yt和输出的观测概率B选择观测变量xt;

(3)根据状态yt和状态转移矩阵B确定下一状态yt+1;

(4)若t<n,则进入下一个时间状态,重复(2)-(4)步,否则停止

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

1.给定模型入=[A,B,Π],如何有效计算其产生观测序列x={x1,x2,,,xn}的概率P(x|入)?

2.给定模型入=[A,B,Π]和观测序列x={x1,x2,,,xn},如何找到与此观测序列最匹配的状态序列y={y1,y2,,,yn}?

3.根据观测序列x={x1,x2,,,xn},如何调整模型参数入=[A,B,Π]使得该参数序列出现的概率 P(x|入)最大?

上面的三个问题在现实中有非常重要的应用。第一个问题可用于解决:根据以往观察序列{x1,x2,,,xn-1}来推测当前时刻最有可能的观测值xn,显然转化为求取概率P(x|入)。第二个问题可用于解决:在语言识别中,观测值为语音信号,隐藏状态为文字,目标就是根据观测信号来推断最有可能的观测状态序列。第三个问题可以解决:人工指定模型参数已变得越来越不可行,如何根据训练样本学得最优的模型参数。

参考资料:《机器学习》周志华著,清华大学出版社

概率图模型之隐马尔可夫模型相关推荐

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

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

  2. 马尔可夫模型与隐马尔可夫模型

    http://www.cnblogs.com/baiboy/p/hmm2.html 转自:白宁超 摘要:最早接触马尔可夫模型的定义源于吴军先生<数学之美>一本.直到做自然语言处理时,才真正 ...

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

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

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

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

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

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

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

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

  7. 时序模型:隐马尔科夫模型(HMM)

    1. 隐马尔科夫模型的定义 隐马尔科夫模型(hidden Markov model,HMM),描述由一个隐藏的马尔科夫链随机生成不可观测的状态随机序列,再由各个状态(state)生成一个观测(obse ...

  8. 【一起入门MachineLearning】中科院机器学习第*课-概率图模型:隐马尔可夫模型(前向算法+维特比算法+条件随机场)

    专栏介绍:本栏目为 "2021秋季中国科学院大学周晓飞老师的机器学习" 课程记录,不仅仅是课程笔记噢- 如果感兴趣的话,就和我一起入门Machine Learning吧

  9. 机器学习之概率图模型(贝叶斯概率,隐马尔科夫模型)

    一.贝叶斯公式 在学习概率图模型之前先要了解贝叶斯公式: 由公式(1),(2)可得: 这便是贝叶斯公式,其中条件概率P(A/B)称为后验概率,概率P(A),P(B)称为先验概率,条件概率P(B/A), ...

  10. 机器学习算法之——隐马尔可夫模型(Hidden Markov Models,HMM) 代码实现

    @Author:Runsen 隐形马尔可夫模型,英文是 Hidden Markov Models,就是简称 HMM. 既是马尔可夫模型,就一定存在马尔可夫链,该马尔可夫链服从马尔可夫性质:即无记忆性. ...

最新文章

  1. 二、JavaScript语言--JS基础--JavaScript进阶篇--DOM对象 控制HTML元素
  2. 【个人成长】数据分析——证书
  3. 如何遍历维数和各维上限未定的多维数组
  4. 【One by One系列】IdentityServer4(四)授权码流程
  5. 【渝粤题库】陕西师范大学400010 当代西方社会思潮评析 作业(专升本)
  6. 牛客 Bang! Bang!(动态规划)
  7. MapReduce-多个Mapper
  8. PHP SESSION生存时间设置
  9. PX4板载计算机外部控制
  10. python笔记整理
  11. PCAN busoff问题解决方案
  12. 制作外挂需要多高的编程技术?
  13. MATCH和INDEX函数
  14. 只需用Shift键就能提升Mac开机速度的三个方法
  15. Unity优化工具有哪些,特别推荐LuaProfiler
  16. 【工具分享篇二】PDF公式提取教程(一):Mathpix/Typora及Pandoc扩展安装教程
  17. 语义分割各种评价指标实现
  18. Sawyer智能协作机器人帮助中小企业保持市场竞争力
  19. HTTP协议是做什么的
  20. python金融分析小知识(12)——python爬虫工具xpath使用

热门文章

  1. 初中计算机课件flash,初中信息技术FLASH基础知识-PPT课件
  2. 脚本精灵服务器引擎数据为空,脚本精灵服务器
  3. 3dmax9.0 简体中文正式版(官方非汉化版本)下载网址
  4. office密码解锁工具
  5. 客所思S10外置USB独立声卡调试教程:K歌、聊天、变声、喊麦、电音等效果
  6. JAVA数据库宾馆住宿系统_java+数据库 宾馆客房管理系统
  7. Java服务MQ消息队列容灾方案
  8. java开源cad_.Net开源项目(包含CAD支持)
  9. 三星9158p 升级android版本,三星I9158P官方固件rom系统刷机包_原版系统线刷包_可救砖用...
  10. java项目集成J2Cache(一级缓存ehCache,二级缓存redis)