马尔可夫

隐马尔可夫模型(HMM)的MATLAB实现——Viterbi算法

夙愿已清 提交于 2019-12-06 14:36:15
维特比算法实际是用动态规划求解隐马尔可夫模型解码问题,即用动态规划求概率最大路径(最优路径)。代码中有示例,来自李航《统计学习方法》 function [Delta,Psi,P,I] = Viterbi(A,B,Pi,O) % 函数功能:利用维特比算法找到观测序列O的最优路径 % % 参考文献:李航《统计学习方法》 % % 思路: % 1,初始化 % delta_1(i) = Pi_i * b_i(o1), i = 1,2,...,N % psi_1(i) = o, i = 1,2,...,N % 2,递推,对于t = 2,3,...,T % delta_t(i) = max_1-from-1-to-N(delta_t-1(j) * a_ji) * b_i(ot), i = 1,2,...,N % psi_t(i) = arg max_1-from-1-to-N(delta_t-1(j) * a_ji), i = 1,2,...,N % 3,终止 % 最优路径概率P* = max_1-from-1-to-N(delta_T(i)) % 最优路径终点i*_T = arg max_1-from-1-to-N(delta_T(i)) % 4,最优路径回溯,对于t = T-1,T-2,...,1 % i*_t = psi_t+1(i*_t+1) % 最优路径I* = (i*_1,i*_2,

隐马尔可夫模型(HMM)的分类

拜拜、爱过 提交于 2019-12-06 14:35:04
1、遍历型(ergodic model) 即每个状态都可以由任意一个状态演变而来,aij>0,for all i , j. 如图: 2、left-right type of HMM 每个状态只能由下标值小于当前值得状态以及其本身转移而来,即从左向右转移。因此状态转移矩阵有如下特性: , 这种由左向右转移的HMM转移状态矩阵为上半矩阵,同时此类型矩阵一般同时存在一个最长跳跃距离,即有 是最长跳跃距离,以图中为例, =2. 这种类型的HMM模型能够非常好的用于随时间变化的信号,比如语音信号。 3、其他类型 上图所示HMM模型严格来说也属于left-right type of HMM,但是它又存在它自己独特的规则,更类似于两个平行的left-right HMM的组合模型。 但是我们应该明白,对于不同类型的HMM,对于学习问题的求解来说步骤都是一样的。 来源: CSDN 作者: Alla_Z 链接: https://blog.csdn.net/Alla_Z/article/details/80314699

隐马尔可夫模型求解三大问题实例剖析

做~自己de王妃 提交于 2019-12-06 14:34:37
  自然语言处理技术离不开隐马尔可夫理论。书中几个例子搞得我头晕眼花了,仔细研究后把思路整理一下,画成简单的示意图,希望能帮助大家理解。    模型实例   假设 S 是天气状况的集合,分别是“晴天”、"多云"、“下雨”,   其初始概率分布为, 晴天 多云 下雨 0.63 0.17 0.20   其状态转移概率矩阵为: - 晴 阴 雨 晴 0.500 0.375 0.125 阴 0.250 0.125 0.625 雨 0.250 0.375 0.325   假设有一位盲人住在海边,他不能通过直接观察天气的状态来预报天气。但他有一些水藻,因此可以利用水藻的干湿来预报天气。水藻的干湿与天气状况之间的关系如下表: - 干燥 稍干 潮湿 湿透 晴 0.60 0.20 0.15 0.05 阴 0.25 0.25 0.25 0.25 雨 0.05 0.10 0.35 0.50 问题1:求解观察序列的概率   针对上述模型,我们求p(干燥,潮湿,湿透)。思路很简单: 确定隐状态的初始概率分布,这是已知的,参见下图第一列。 根据隐状态到观测结果“干燥”的发射概率(参见下图第一列到第二列的箭头标注),计算得到“干燥”这个观测结果时,三个隐状态的概率,参见下图第二列。 根据隐状态之间的转移概率,重新确定在观测到“干燥”结果后的第二天,隐状态的概率分布,参见下图第三列。图中,我只标注了“晴”的计算过程

马尔可夫模型学习

落爺英雄遲暮 提交于 2019-12-06 14:28:29
1. 马尔科夫模型 1.1马尔可夫过程 马尔可夫过程( Markov process )是一类 随机过程 。它的原始模型 马尔可夫链 ,由俄国数学家 A.A. 马尔可夫 于 1907 年提出。该过程具有如下特性:在已知目前状态 (现在)的条件下,它未来的演变 (将来)不依赖于它以往的演变 ( 过去 ) 。 例如森林中动物头数的变化构成 —— 马尔可夫过程 。在现实世界中,有很多过程都是马尔可夫过程,如液体中微粒所作的 布朗运动 、传染病受感染的人数、车站的候车人数等,都可视为马尔可夫过程。 在马尔可夫性的定义中, " 现在 " 是指固定的时刻,但实际问题中常需把马尔可夫性中的 “ 现在 ” 这个时刻概念推广为停时(见随机过程)。例如考察从圆心出发的平面上的布朗运动,如果要研究首次到达圆周的时刻 τ 以前的事件和以后的事件的条件独立性,这里 τ 为停时,并且认为 τ 是 “ 现在 ” 。如果把 “ 现在 ” 推广为停时情形的 “ 现在 ” ,在已知 “ 现在 ” 的条件下, “ 将来 ” 与 “ 过去 ” 无关,这种特性就叫强马尔可夫性。具有这种性质的马尔可夫过程叫强马尔可夫过程。在相当一段时间内,不少人认为马尔可夫过程必然是强马尔可夫过程。首次提出对强马尔可夫性需要严格证明的是 J.L. 杜布 。直到 1956 年,才有人找到马尔可夫过程不是强马尔可夫过程的例子

隐马尔科夫模型(Hidden Markov Model,HMM)

荒凉一梦 提交于 2019-12-06 14:16:25
【转自: https://blog.csdn.net/mingzai624/article/details/52399235 】 介绍 定义 wiki 上有定义: 隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。然后利用这些参数来作进一步的分析,例如模式识别。 马可夫模型的概率 这里用x表示状态, y表示观察值 假设观察到的结果为 Y: Y=y(0),y(1),…,y(L-1) 隐藏条件为X: X=x(0),x(1),…,x(L-1) 长度为 L,则马可夫模型的概率可以表达为: 详解 我们抛开教材上拗口的红球白球与盒子模型吧,来看一个简单的 掷骰子 的例子。 示例说明 假设我手里有三个不同的骰子。第一个骰子是我们平常见的骰子(称这个骰子为D6),6个面,每个面(1,2,3,4,5,6)出现的概率是1/6。第二个骰子是个四面体(称这个骰子为D4),每个面(1,2,3,4)出现的概率是1/4。第三个骰子有八个面(称这个骰子为D8),每个面(1,2,3,4,5,6,7,8)出现的概率是1/8。 假设我们开始掷骰子,我们先从三个骰子里挑一个,挑到每一个骰子的概率都是1/3。然后我们掷骰子,得到一个数字,1,2,3,4,5,6,7,8中的一个。不停的重复上述过程

隐马尔可夫模型(HMM) - 1 - 基本概念

好久不见. 提交于 2019-12-06 14:15:30
声明: 1 ,本篇为个人对《 2012. 李航 . 统计学习方法 .pdf 》的学习总结,不得用作商用,欢迎转载,但请注明出处(即:本帖地址)。 2 ,由于本人在学习初始时有很多数学知识都已忘记,所以为了弄懂其中的内容查阅了很多资料,所以里面应该会有引用其他帖子的小部分内容,如果原作者看到可以私信我,我会将您的帖子的地址付到下面。 3 ,如果有内容错误或不准确欢迎大家指正。 4 ,如果能帮到你,那真是太好了。 基本概念 惯例性,在刚看到“隐马尔可夫模型”这个名字时我的第一反应是:这什么鬼?于是在看书上的定义时一万个不明白.... 所以,为了能清楚的描述“隐马尔可夫模型”,我们还是从例子开始。 例子 如上图所示,有4个盒子,每个盒子里都装有红白两种颜色的球,每个盒子中球的个数见上图。 然后,按照下面的规则抽5次球: 第一次:从4个盒子里等概论随机选取1个盒子,然后从这个盒子里随机抽出1个球,记录其颜色后放回; 剩下4次: 若上一次是从盒子1中抽球,那这次一定是盒子2; 若上一次是盒子2或3,那这次则分别以0.4和0.6的概率选择左边或右边的盒子; 若上一次是盒子4,那这次各以0.5的概率选择是停留在盒子4还是转移到盒子3。 确定转译的盒子后,再从这个盒子里随机抽出一个球,记录其颜色后放回。 就这样,得到一个球的颜色序列: {红,红,白,白,红} 在这个过程中

隐马尔科夫模型、三个基本问题、三个训练算法

一个人想着一个人 提交于 2019-12-06 14:13:55
参考一篇“机器学习研究会”的文章与宗庆后的《统计自然语言模型》,督促自己回顾一下HMM模型知识为面试做准备。 这次学习会讲了隐马尔科夫链,这是一个特别常见的模型,在自然语言处理中的应用也非常多。常见的应用比如*分词,词性标注,命名实体识别等问题序列标注问题均可使用隐马尔科夫模型*.下面,我根据自己的理解举例进行讲解一下HMM的基本模型以及三个基本问题,希望对大家理解有帮助~ 隐马尔科夫模型定义 隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。隐藏的马尔可夫链随机生成的状态的序列,称为状态序列(state sequence);每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列(observation sequence)。序列的每一个位置又可以看作是一个时刻。下面我们引入一些符号来表示这些定义:设Q是所有可能的状态的集合,V是所有可能的观测的集合。 其中,N是可能的状态数,M是可能的观测数。状态q是不可见的,观测v是可见的。应用到词性标注中,v代表词语,是可以观察到的。q代表我们要预测的词性(一个词可能对应多个词性)是隐含状态。应用到分词中,v代表词语,是可以观察的。q代表我们的标签(B,E这些标签,代表一个词语的开始,或者中间等等)应用到命名实体识别中,v代表词语,是可以观察的

隐马尔科夫模型(HMM)

隐身守侯 提交于 2019-12-06 14:11:16
CSDN博客: 皮乾东 知乎: Htrying 微博: Htring的微博 GitHub: Htring 微信公众号: 自然语言处理爱好者 (ID:NLP_lover) 隐马尔科夫模型(HMM) 马尔可夫模型可以参见 百度百科 ,隐马尔科夫模型是将分词作为字,在字符串中的序列标注任务来实现的。它的基本思路是:每个字在构造一个特定的词语时,都占据着一个确定的构词位置(即词位),现规定每个字最多只有四个构词位置:即B(词首),M(词中),E(词尾)和S(单独成词)。举例如下: 1.中文/分词/是/文本处理/不可或缺/的/一步! 2.中/B 文/E 分/B 词 /E 是/S 文/B 本/M 处/M 理/B 不/B 可/M 或/M 缺/E 的/S 一/B 步/E !/S 那么用数学抽象表示则有:用 λ = λ 1 λ 2 . . . λ n \lambda=\lambda_1\lambda_2...\lambda_n λ = λ 1 ​ λ 2 ​ . . . λ n ​ 代表输入的句子, n n n 为句子长度, λ i \lambda_i λ i ​ 表示字, o = o 1 o 2 . . . o n o=o_1o_2...o_n o = o 1 ​ o 2 ​ . . . o n ​ 代表输出的标签,那么理想的输出即为: m a x = m a x P ( o 1 o 2 . .

人工智能里的数学修炼 | 隐马尔可夫模型 : 维特比(Viterbi)算法解码隐藏状态序列

半世苍凉 提交于 2019-12-06 01:43:08
人工智能里的数学修炼 | 概率图模型 : 隐马尔可夫模型 人工智能里的数学修炼 | 隐马尔可夫模型:前向后向算法 人工智能里的数学修炼 | 隐马尔可夫模型 : 维特比(Viterbi)算法解码隐藏状态序列 人工智能里的数学修炼 | 隐马尔可夫模型:基于EM的鲍姆-韦尔奇算法求解模型参数 已经较为清楚的讲述了隐马尔可夫模型及其在实际应用的三个问题:1. 生成观察序列概率, 2. 预测问题, 3. 模型参数学习问题。 这里介绍求解第二个预测问题的维特比算法,这里举个例子回归一下预测问题 在语音识别等任务中,观测值为语音信号,隐藏状态为文字,目标就是根据观测信号来推断最有可能的状态序列 一、维特比算法的可递推局部状态 维特比算法是一种基于动态规划的求序列最短路径的方法,它通过确定一个合适的局部状态,利用局部状态进行递推,实现问题的求解。 在隐马尔可夫模型中,维特比算法定义了两个局部状态进行递推。 第一个局部状态 δ t ( i ) \delta_{t}(i) δ t ​ ( i ) 用于记录在时刻 t t t 隐藏状态为 i i i 所有可能的状态转移路径 i i , i 2 , . . . , i t i_{i},i_{2},...,i_{t} i i ​ , i 2 ​ , . . . , i t ​ 中的概率最大值,记为 δ t + 1 ( i ) = m a x 1 ≤ j ≤

人工智能里的数学修炼 | 隐马尔可夫模型:前向后向算法

99封情书 提交于 2019-12-06 01:42:02
人工智能里的数学修炼 | 概率图模型 : 隐马尔可夫模型 人工智能里的数学修炼 | 隐马尔可夫模型:前向后向算法 人工智能里的数学修炼 | 隐马尔可夫模型 : 维特比(Viterbi)算法解码隐藏状态序列 人工智能里的数学修炼 | 隐马尔可夫模型:基于EM的鲍姆-韦尔奇算法求解模型参数 已经较为清楚的讲述了隐马尔可夫模型及其在实际应用的三个问题:1. 生成观察序列概率, 2. 预测问题, 3. 模型参数学习问题。 这里介绍求解第一个生成观察序列概率的前向后向算法,前向后向算法实际上是两个算法的合成,即前向算法和后向算法,二者相似,这里主要以前向算法为例进行介绍 一、前向算法 前向算法针对的是隐马尔可夫模型的概率计算问题,即给定一个模型参数已知的隐马尔可夫模型(HMM)和一组观测序列 x 1 , x 2 , . . . , x n x_{1},x_{2},...,x_{n} x 1 ​ , x 2 ​ , . . . , x n ​ ,求HMM生成这组观测序列的概率 前向算法定义了一个“前向概率”的定义,即: 给定隐马尔可夫模型 λ \lambda λ ,定义1到t时刻部分的观测序列为 x 1 , x 2 , . . . , x t x_{1},x_{2},...,x_{t} x 1 ​ , x 2 ​ , . . . , x t ​ ,则t时刻的状态 x t x_{t} x t ​