HMM 与 维特比解码

隐马尔科夫模型实例


观察到的数字序列
2 5 8 3 5
每一面的概率
1/6 1/4 1/8
三个骰子互相切换到其他骰子的概率都是1/3

-------- ----- -------- ----- -----
D6 D6 D8 D6 D6
D4 D8 D4 D8
D8 D8

求最可能的骰子序列

隐马尔科夫模型

马尔科夫过程为状态空间中经过从一个状态到另一状态的转化的随机过程

该过程要求具备“无记忆”的性质:下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。这种特定类型的“无记忆性”称作马尔科夫性质。

隐马尔科夫模型,是统计模型,它用来描述一个含有隐含未知参数的马尔科夫过程。其难点是从可观察的参数中确定改过程的隐含参数

HMM的两个假设

齐次马尔科夫假设

第t个隐状态(骰子)只跟前一时刻的t-1隐状态(骰子)有关,与除此之外的其他隐状态(如 t-2,t+3)无关

观测独立假设

在任意时刻观测ot(点数)只依赖于当前时刻的隐状态it(骰子),与其他时刻的隐状态无关。

隐马尔科夫模型数学定义

HMM模型描述的是有隐状态序列(实体标记)生成可观测状态(可读文本)的过程

HMM的初始隐状态概率

初始隐状态概率通常用π\piπ来表示
π=P(i1=qi)qi∈Qhidden=q0,q1,...,qN−1\pi = P(i_1 = q_i) q_i \in Q_{hidden} = {q_0,q_1,...,q_N-1} π=P(i1​=qi​)qi​∈Qhidden​=q0​,q1​,...,qN​−1

HMM的转移概率

P(it∣it−1)P(i_t|i_{t-1})P(it​∣it−1​)指的是隐状态i从t-1时刻转向t时刻的概率
用A 表示转移概率矩阵(transition matrix)
Aij=P(it+1=qj∣it=qqi)A_{ij} = P(i_{t+1} = q_j|i_t = qq_i)Aij​=P(it+1​=qj​∣it​=qqi​)
qi∈Qhiddenq_i \in Q_{hidden}qi​∈Qhidden​

HMM的发射概率

发射概率P(ot∣ot)P(o_t|o_{t})P(ot​∣ot​)描述OtO_tOt​依赖于当前时刻的隐状态iti_tit​程度
用B表示发射概率矩阵(emission matrix)
Bjk=P(Ot=vk∣it=qj)qi∈Qhidden vk∈Vobs={v0,v1,…,vM−1}\begin{aligned} \mathrm{B}_{\mathrm{jk}}=& \mathrm{P}\left(\mathrm{Ot}=\mathrm{v} \mathrm{k} | \mathrm{it}=\mathrm{q}_{\mathrm{j}}\right) \\ & \mathrm{q}_{\mathrm{i}} \in \mathrm{Q}_{\text {hidden }} \\ & \mathrm{v} \mathrm{k} \in \mathrm{V}_{\mathrm{obs}}=\{\mathrm{v} 0, \mathrm{v} 1, \ldots, \mathrm{v} \mathrm{M}-1\} \end{aligned}Bjk​=​P(Ot=vk∣it=qj​)qi​∈Qhidden ​vk∈Vobs​={v0,v1,…,vM−1}​

用HMM解决序列标注问题

初始隐状态概率 转移概率 发射概率
P(初始实体标签) P(当前可取实体标签 上一时刻实体标签)

HMM的3个基本问题

模型(π\piπ,A,B)
观测序列:O = ( o1,o2,..,oTo_1,o_2,..,o_To1​,o2​,..,oT​)
状态序列:I = (i1,i2,...,iTi_1,i_2,...,i_Ti1​,i2​,...,iT​)
1.概率计算问题:一直模型和观测序列,计算在该模型下观测序列出现的概率
2.学习问题:已知观测序列,估计模型的参数
3.预测问题:decoding问题,已知模型参数和观测序列,求最有可能对应的状态序列。

学习问题根据训练数据是否包含对应的状态序列分为:

1.监督学习:极大似然估计
2.非监督学习:EM算法

维特比解码

维特比算法解码使用了动态规划算法来解决HMM的预测问题,找到概率最大路径,也就是最优路径。
在每一时刻,计算当前时刻在每种隐状态的最大概率,并记录这个最大概率是从前一时刻哪一个隐状态转移过阿里的,最后再从结尾回溯最大概率,也就是最有可能的最优路径。

设有N个状态,序列长度为T

1.穷举法NTN^TNT

2.维特比TN2TN^2TN2

机器学习项目(二) 人工智能辅助信息抽取(四)相关推荐

  1. Java项目二:客户信息管理系统(eclipse)

    文章目录 项目介绍 一.项目要求 1.添加客户 2.修改客户 3.删除客户 4.显示客户列表 二.软件设计结构 1.软件流程 2.CMUtility.java(实现键盘访问) 3.Customer.j ...

  2. 第十、十一周项目二-存储班长信息的学生类

    <pre name="code" class="cpp">/**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights ...

  3. 开放信息抽取(OIE)系统(四)-- 第三代开放信息抽取系统(基于子句, clause-based, 句子重组、删减)

    开放信息抽取(OIE)系统(四)-- 第三代开放信息抽取系统(基于子句, clause-based, 句子重组.删减) 一.第三代开放信息抽取系统背景 ​ 基于子句的开放信息抽取系统与之前的信息抽取方 ...

  4. 信息抽取在知识图谱构建中的实践与应用

    编者按 坦率地讲,各行各业对如何落地知识图谱这个问题,或多或少都心存一丝疑惑.人类知识和机器可理解的知识有什么区别?知识图谱如何突破自身局限性,从"万事通"转为"科学家& ...

  5. 知识图谱专栏简介:数据增强,智能标注,文本信息抽取(实体关系事件抽取)、知识融合算法方案、知识推理、模型优化、模型压缩技术等

    知识图谱专栏简介:数据增强,智能标注,文本信息抽取(实体关系事件抽取).知识融合算法方案.知识推理.模型优化.模型压缩技术等 专栏链接:NLP知识图谱相关技术业务落地方案和码源 NLP知识图谱相关技术 ...

  6. 开放信息抽取(OIE)系统(五)-- 第四代开放信息抽取系统(基于深度学习, deeplearning-based, 抽取式生成式)

    开放信息抽取(OIE)系统(五)-- 第四代开放信息抽取系统(基于深度学习, deeplearning-based, 抽取式&生成式) 一.第四代开放信息抽取系统背景 第四代开放信息抽取系统的 ...

  7. Java语言开发在线购物推荐网 购物商城推荐系统 基于用户、物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据、人工智能、机器学习项目开发

    Java语言开发在线购物推荐网 购物商城推荐系统 基于用户.物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据.人工智能.机器学习项目开发ShopRec ...

  8. Java语言开发在线音乐推荐网 音乐推荐系统 网易云音乐爬虫 基于用户、物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)框架 大数据、人工智能、机器学习项目开发

    Java语言开发在线音乐推荐网 音乐推荐系统 网易云音乐爬虫 基于用户.物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)框架 大数据.人工智能.机器学习项目开发Mus ...

  9. 使用Java+SSM(Spring+SpringMVC+Mybatis)开发在线美食推荐网 美食推荐系统 美食天下美食爬虫 基于用户、物品的协同过滤推荐算法实现 大数据、人工智能、机器学习项目开发

    使用Java+SSM(Spring+SpringMVC+Mybatis)开发在线美食推荐网 美食推荐系统 美食天下美食爬虫 基于用户.物品的协同过滤推荐算法实现 大数据.人工智能.机器学习项目开发Fo ...

最新文章

  1. 删除文件session丢失
  2. 编译测试后出现“发现不明确的匹配”错误
  3. MyBatisPlus中常用条件构造器示例代码
  4. Stark 组件:快速开发神器 —— 锦上添花
  5. MultipartResolver
  6. 130塔式服务器系统,PowerEdge T130塔式服务器怎么样
  7. 神州云科DCN存储管理IP_干货!DCN校园网大二层解决方案详解
  8. elasticsearch 6.x (二) linux部署 kibana x-pack 安装
  9. 用js实现千位分隔符
  10. 修复 IE 的文本3像素偏移Bug
  11. 【华为大咖分享】11.五星级软件工程师的高效秘诀(后附PPT下载地址)
  12. 【实践】腾讯PCG推荐系统应用实践(附PPT下载链接)
  13. 关于DNF的多媒体包NPK文件的那些事儿(2)
  14. 有效监控网络流量的五个步骤
  15. linux版本qq,QQLinux版下载-QQ for Linux下载v2.0.0 最新版-西西软件下载
  16. lookup无序查找_数据查找之LOOKUP篇(一):LOOKUP函数解析
  17. C++中vector<int> nums和vector<int> nums的区别
  18. Linux进程中有xorg,Linux黑话解释:Xorg,X11,Wayland,什么是显示服务器
  19. java俄罗斯方块英文书籍_Java版俄罗斯方块
  20. MATLAB画NCEP风场

热门文章

  1. java解析读取.rtf格式文档
  2. 最新版VMware 15虚拟机过鲁大师教程
  3. Lucene DocValues详解
  4. 项目管理相关认证简要介绍(3)- 信息系统项目管理师
  5. FreeMind介绍
  6. icon图标网站 自用 免费
  7. 未能开启本地隧道服务器,IPV6隧道适配器始终未能打开,请大神帮忙看下
  8. 装机员U盘启动PE制作工具V3.0(无广告无捆绑)
  9. java医药销售管理系统_JAVAGUI界面+SQLSEVER2008医药销售管理系统(代码+文档)
  10. mysql8.0.13下载与安装图文教程