隐马尔科夫模型-基本模型与三个基本问题

转载自  隐马尔科夫模型-基本模型与三个基本问题

隐马尔科夫模型-基本模型与三个基本问题

这次学习会讲了隐马尔科夫链,这是一个特别常见的模型,在自然语言处理中的应用也非常多。

常见的应用比如分词,词性标注,命名实体识别等问题序列标注问题均可使用隐马尔科夫模型.

下面,我根据自己的理解举例进行讲解一下HMM的基本模型以及三个基本问题,希望对大家理解有帮助~    

1、隐马尔科夫模型定义

隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。

隐藏的马尔可夫链随机生成的状态的序列,称为状态序列(state sequence);每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列(observation sequence)。

序列的每一个位置又可以看作是一个时刻。

下面我们引入一些符号来表示这些定义:

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

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

状态q是不可见的,观测v是可见的。

应用到词性标注中,v代表词语,是可以观察到的。q代表我们要预测的词性(一个词可能对应多个词性)是隐含状态。

应用到分词中,v代表词语,是可以观察的。q代表我们的标签(B,E这些标签,代表一个词语的开始,或者中间等等)

应用到命名实体识别中,v代表词语,是可以观察的。q代表我们的标签(标签代表着地点词,时间词这些)

上面提到的方法,有兴趣的同学可以再细入查阅相应资料。

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

我们可以看做是给定了一个词(O)+词性(I)的训练集。

或者一个词(O)+分词标签(I)的训练集....有了训练数据,那么再加上训练算法则很多问题也就可以解决了,问题后面慢慢道来~

我们继续定义A为状态转移概率矩阵:

其中,

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

B是观测概率矩阵:

其中,

是在时刻t处于状态qj的条件下生成观测vk的概率(也就是所谓的“发射概率”)。

所以我们在其它资料中,常见到的生成概率与发射概率其实是一个概念。

π是初始状态概率向量:

其中,

隐马尔可夫模型由初始状态概率向量π、状态转移概率矩阵A和观测概率矩阵B决定。π和A决定状态序列,B决定观测序列。因此,隐马尔可夫模型可以用三元符号表示,即

称为隐马尔可夫模型的三要素。

如果加上一个具体的状态集合Q和观测序列V,构成了HMM的五元组,这也是隐马尔科夫模型的所有组成部分。

 

2、下面介绍一下隐马尔可夫链的三个基本问题:

概率计算问题。

举例来说明一下,例子如下:(例子来源于维基百科)

考虑一个村庄,所有村民都健康或发烧,只有村民医生才能确定每个人是否发烧。医生通过询问患者的感受来诊断发烧。村民只能回答说他们觉得正常,头晕或感冒。(这里的正常,头晕,感冒就是我们前面说的观察序列

医生认为,他的患者的健康状况作为离散的马可夫链。 “健康”和“发烧”有两个状态,但医生不能直接观察他们;健康与发烧的状态是隐藏的(这里的健康与发烧就是我们前面说的隐藏状态)。每天都有机会根据患者的健康状况,病人会告诉医生他/她是“正常”,“感冒”还是“头昏眼花”。

观察(正常,感冒,晕眩)以及隐藏的状态(健康,发烧)形成隐马尔可夫模型(HMM),并可以用Python编程语言表示如下:

在这段代码中,start_probability代表了医生对患者首次访问时HMM所处的状态的信念(他知道患者往往是健康的)。

这里使用的特定概率分布不是平衡的,它是(给定转移概率)大约{'健康':0.57,'发烧':0.43}。(这里代表的就是我们前面说的初始状态概率pi

transition_probability表示基础Markov链中健康状况的变化。在这个例子中,今天只有30%的机会,如果他今天健康,病人会发烧。发射概率表示患者每天感受的可能性。如果他健康,那么有50%的机会感觉正常;如果他有发烧,那么有60%的机会感到头昏眼花。

那么用图来表示上面的例子可以如下表示:

好的,例子我们描述完了,现在我们用人话来继续描述一下第一个问题。

第一个问题是求,给定模型的情况下,求某种观测序列出现的概率。

比如,给定的HMM模型参数已知,求出三天观察是(Dizzy,Cold,Normal)的概率是多少?

对应的HMM模型参数已知的意思,就是说的A,B,pi矩阵是已经知道的。

学习问题

按照上面的例子来对应,第二个问题就是。

我们已经知道了观测序列是(Dizzy,Cold,Normal),需要求出HMM的参数问题(使得我们的观测序列出现概率最大)。也就是我们上面说的A,B,PI三个矩阵参数

预测问题

按照上面的例子来对应,第三个问题就是。

我们知道了观测序列是(Dizzy,Cold,Normal),也知道了HMM的参数,让我们求出造成这个观测序列最有可能对应的状态序列。比如说是(Healthy,Healthy,Fever)还是(Healthy,Healthy,Healthy),等等,这里有3的3次方27种可能~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324795.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

日常技术分享 : 一定要注意replcaceAll方法,有时候会如你所不愿!

点击上方蓝色关注我们!今天,踩过了一个雷,特此整理了一下,以防大家也被中招!事情是这样的,在做一个项目时,需要用到String类的replcaceAll方法,可以这么说,该方法就是替换…

在微服务中如何管理数据

来自Stitch Fix团队的工程副总裁Randy Shoup在QCon纽约2017会议上讨论了如何在基于微服务的应用中管理数据和隔离持久化。他还介绍了将事件(Event)作为微服务的第一类构造。他介绍自己的团队将机器学习技术应用到了业务的各个组成部分,比如购…

jozj3419-最大利润【树形dp】

前言 树形dp是前天学的,题目也是前天做的,可博客却是今天发的。 正题 题目大意 一棵树一样的火车站,每个站点有不同的利润,不能连续选择相连的两个站点的利润,求最大利润。 输入输出(建议无视&#xf…

隐马尔科夫模型-前向算法

转载自 隐马尔科夫模型-前向算法 隐马尔科夫模型-前向算法 在该篇文章中讲了隐马尔科夫模型(HMM)一基本模型与三个基本问题 隐马尔科夫模型-基本模型与三个基本问题,这篇文章总结一下隐马尔科夫链(HMM)中的前向与后…

线段树初见——区间询问与改变最大值

前言 昨天某B组讲主席树,然后就作死的去听了,也没听懂(因为连线段树都不懂),然后好奇心就去问了一下老师线段树是个蛤,然后这篇博客就诞生了。 正题 首先线段树就是一个可以快速区间改变和询问的东东&am…

关系数据库理论

依赖 候选码 三大范式 公理系统 求最小函数的依赖集 例 解 模式分解

19级:班级日常分享 | 一天一瞬间

点击上方蓝色关注我们!昨天没有看到他们早读,有点失落。今天再一次去教室,还未走到门口呢,就听见教室里面的早读生透过门缝传出,甚是开心。在陪他们早读的时候,自己顺便读了几篇散文和古诗古文,…

在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序

前言 Visual Studio 2017已经发布了很久了。做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧。 随着Google Angular4的发布。我一直在想,怎么能够用这个地表最强IDE工具编写Angular4的Asp.Net Core项目。经过不懈的研究。终…

机器学习中向量化编程总结记录

转载自 机器学习中向量化编程总结记录 向量化编程总结记录 很多时候,我们在实现算法的时候,总会碰到累和的伪代码: 比如下面这个: 为了简单我这里只重复5次,但是原理是一样的。 很显然我们要得到这个结果&#xf…

Spring整合Mybatis-完成用户登录

①导入的jar包: ②在src下创建并配置applicationcontext.xml文件 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance&qu…

【jzoj】2018.2.7NOIP普及组——某【BC】组模拟赛

前言 ……终于改完了&#xff0c;像之前小L一样崩溃。今天C组和B组一起做题&#xff0c;所以…… 正题 题目1&#xff1a;教主的花园&#xff08;jzoj1792&#xff09; 一平面直角坐标系&#xff0c;在x轴的位置建立一堵墙&#xff0c;墙上有n道门&#xff0c;给出门的位置&a…

刘奕佳: 我的职校新生活 | 班级日常分享

点击上方蓝色关注我们&#xff01;时光匆匆&#xff0c;一转眼到了开学季&#xff0c;校园里弥漫着浓重的书香之气踏入校园&#xff0c;映入眼帘的就是雄伟的教学楼&#xff0c;意气风发的朗朗书声&#xff0c;让人情不自禁的陷入深深的学习中。实训楼当熟悉的上下课铃声又在我…

一个非常好的依存句法可视化工具

转载自 一个非常好的依存句法可视化工具 一个非常好的依存句法可视化工具 在依存句法研究中&#xff0c;常见的CONLL格式的句法树库&#xff0c;一眼看上去就不是太明白整棵树的结构。 这里分享推荐一个南京大学nlp实验室制作的一个依存句法可视化工具&#xff0c;效果如图…

DDD理论学习系列(8)-- 应用服务amp;amp;领域服务

1. 引言 单从字面理解&#xff0c;不管是领域服务还是应用服务&#xff0c;都是服务。而什么是服务&#xff1f;从SOA到微服务&#xff0c;它们所描述的服务都是一个宽泛的概念&#xff0c;我们可以理解为服务是行为的抽象。从前缀来看&#xff0c;根据DDD的经典分层架构&…

纪念中学15-5(=10)天感想

来自水lao ten days の 感想 前言 时光飞逝&#xff0c;转眼间&#xff0c;纪念中学的10天生活就那么过去了。回想起刚来&#xff0c;仿佛就在昨天。今天我将要离开这里&#xff0c;总感觉有无限的遗憾&#xff0c;无限的失落。可是花朵总是要谢&#xff0c;时光不停流逝。我…

祝张远远和杨凯博同学生日快乐 | 班级日常分享

点击上方蓝色关注我们&#xff01;首先祝张远远和杨凯博同学生日快乐&#xff01;上午丁老师和我说&#xff0c;今天是张远远同学的生日&#xff0c;于是我们就简单的商量了下&#xff0c;准备弄个活动&#xff0c;祝一下张远远同学生日快乐&#xff01;待下午时&#xff0c;获…

开放对静态资源的访问

前端控制器先进行处理&#xff0c;处理不了的交给default… 缺一不可

通俗理解维特比算法

转载自 通俗理解维特比算法 本文假定读者有一定的隐马模型基础&#xff01;或者大家可以参考这两篇文章。 隐马尔科夫模型-基本模型与三个基本问题和隐马尔科夫模型-前向算法 维特比算法说白了就是动态规划实现最短路径&#xff0c;只要知道“动态规划可以降低复杂度”这一…

使用docker-compose搭建AspNetCore开发环境

1 使用docker-compose搭建开发环境 我们的目标很简单&#xff1a;使用docker-compose把若干个docker容器组合起来就成了。 首先使用Nginx代理所有的Web程序&#xff0c;这样只需要在主机上监听一个端口就可以了&#xff0c;不污染主机。再组合各Web程序、Redis/Memcached、Sq…

珍惜、珍爱!

点击上方蓝色关注我们&#xff01;这是一篇付费文章&#xff0c;其实目的就是不让人看&#xff0c;哈哈哈&#xff01;不让别人看为什么还要写&#xff1f;因为写了才痛快&#xff01;