Markov Model and Hidden Markov Model 简介和学习线路

Markov Model

马尔科夫模型是用来描述序列的性质的,在马尔科夫模型中有两个假设。

1. 在序列中,当前时刻状态只依赖于前一时刻的状态,也就是P(z(t)|z(t-1), z(t-2), ..., z(1), z(0)) = P(z(t)|z(t-1))。

2. 状态转移的分布不随时间的改变而改变,也就是说任意时刻下的状态产生与时间无关,仅仅与前一状态有关。

马尔科夫模型中的状态转移情况我们可以用一个矩阵表示,那么第i行j列的元素表示从状态i转移到j的概率,当然矩阵中的元素需要满足概率的要求。

在马尔科夫模型中,我们需要解决两个问题:如果给定一个状态序列,如何求该序列的概率值?给定一些序列样本,我们如何训练参数?

解决第一个问题比较简单,直接使用联合概率转化成条件概率的连乘形式即可。而对于第二个问题,则可以使用maximum likely hood方法,当然列出状态序列的似然之后,需要对概率的合法性进行限制,于是将限制条件使用拉格朗日乘子加入到需要最优解的式子中,然后就变成了无限制条件的最优化问题了。

Hidden Markov Model

隐马尔科夫模型是说我们知道的只是观测序列,而这些观测序列是由内在的状态序列产生,于是在隐马模型中就有两个矩阵,一个表示状态转移概率的矩阵,另一个则表示从状态产生观察值概率矩阵。

隐马模型需要三个假设,前两个假设和MM是一样的,第三个假设是从状态产生观察值是条件独立的。

在隐马模型中,我们需要解决三个问题:对于一个观察值序列,如何计算该序列的概率?对于一个给定的观察序列,如何获得最有可能产生该观察序列的状态序列?对于给定的一些观察序列样本,如何进行参数训练得到隐马模型中的两个概率矩阵?

对于第一个问题,我们利用动态规划的办法进行求解,也就是大家熟知的前向算法(forward algorithm),对于这个问题有一个同样的方法就是后向算法(backward algorithm)。对于第二个问题,我们只需要将前向算法稍加修改即可,也就是说我们是求最有可能的状态序列,也就是说我们要记住当前状态最有可能的转移过来的前一状态,这点不同于我们在前向算法中计算的是所有转移到当前状态的概率之后,对于第二个问题的解法就是我们熟知的Viterbi
algorithm。对于第三个问题,给定的观察值序列样本进行训练,由于具有隐层,所以我们不能直接使用maximum likely hood方法求解,而是使用EM算法进行求解;你会发现EM算法的Maximization的时候,求解两个状态矩阵中对应的概率很像是统计样本中出现对应事件的频率除以总频率,但是这里的频率并不是简单按照1来计数,而是按照在Expectation步计算得到的概率来计算,从而最大化likely-hood,进而重新得到新的估计的两个概率矩阵。

在使用EM算法求解参数的时候,注意0概率的情况,也就是需要采用平滑技术。

时间: 2024-11-05 17:24:08

Markov Model and Hidden Markov Model 简介和学习线路的相关文章

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

隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价值.平时,经常能接触到涉及 HMM 的相关文章,一直没有仔细研究过,都是蜻蜓点水,因此,想花一点时间梳理下,加深理解,在此特别感谢 52nlp 对 HMM 的详细介绍. 考 虑下面交通灯的例子,一个序列可能是红-红/橙-绿-橙-红.这个序列可以画成一个状态机,不同的状态按照这个状态机互相交替,每一个

理论沉淀:隐马尔可夫模型(Hidden Markov Model, HMM)

理论沉淀:隐马尔可夫模型(Hidden Markov Model, HMM) 参考链接:http://www.zhihu.com/question/20962240 参考链接:http://blog.csdn.net/ppn029012/article/details/8923501 本博文链接:http://www.cnblogs.com/dzyBK/p/5011727.html 1 题设 假设有n个骰子(从1~n编号),每个骰子有m面,每面标有一个数字且不重复,数字取值限制在[1,m].(1

Hidden Markov Model

Markov Chain 马尔科夫链(Markov chain)是一个具有马氏性的随机过程,其时间和状态参数都是离散的.马尔科夫链可用于描述系统在状态空间中的各种状态之间的转移情况,其中下一个状态仅依赖于当前状态.因为系统是随机变化的,所以不可能百分百预测出未来某个时刻的系统状态,但是我们可以预测出未来时刻系统处在某个状态的概率. 下面我们从实际生活中的天气预测问题入手解析马尔科夫链.现将天气的状态粗分为三种:1-雨雪天气.2-多云.3-天晴.假设明天的天气情况仅和今天的天气有关,根据大量的气象

让你真正理解HMM(Hidden Markov Model)的算法演示程序

HMM, 隐Markov模型, 在人脸, 步态, 语音识别等领域有着广泛的用途. 通过以Javascript语言演示其使用方法, 读者可方便地理解其计算过程(其实,并不难). 理论就不讲解了,直接看计算过程: ?<html> <head> <meta charset="UTF-8"/> <meta author="[email protected]"/> <meta published="2014-11

NLP —— 图模型(一)隐马尔可夫模型(Hidden Markov model,HMM)

本文简单整理了以下内容: (一)贝叶斯网(Bayesian networks,有向图模型)简单回顾 (二)隐马尔可夫模型(Hidden Markov model,HMM) 写着写着还是写成了很规整的样子,因为比较常用的例子比如掷骰子.天气变化什么的都觉得太toy.以后会修改. (一)贝叶斯网简单回顾 图模型(PGM)根据边是否有向,可以分为有向图模型和无向图模型. 待补充-- (二)隐马尔可夫模型 隐马尔可夫模型(Hidden Markov model,HMM)属于生成式模型,被广泛用于序列标注

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

介绍 崔晓源 翻译 我们通常都习惯寻找一个事物在一段时间里的变化规律.在很多领域我们都希望找到这个规律,比如计算机中的指令顺序,句子中的词顺序和语音中的词顺序等等.一个最适用的例子就是天气的预测. 首先,本文会介绍声称概率模式的系统,用来预测天气的变化 然后,我们会分析这样一个系统,我们希望预测的状态是隐藏在表象之后的,并不是我们观察到的现象.比如,我们会根据观察到的植物海藻的表象来预测天气的状态变化. 最后,我们会利用已经建立的模型解决一些实际的问题,比如根据一些列海藻的观察记录,分析出这几天

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

本科阶段学了三四遍的HMM,机器学习课,自然语言处理课,中文信息处理课:如今学研究生的自然语言处理,又碰见了这个老熟人: 虽多次碰到,但总觉得一知半解,对其了解不够全面,借着这次的机会,我想要直接搞定这个大名鼎鼎的模型,也省着之后遇到再费心. Outline 模型引入与背景介绍 从概率图讲起 贝叶斯网络.马尔科夫模型.马尔科夫过程.马尔科夫网络.条件随机场 HMM的形式化表示 Markov Model的形式化表示 HMM的形式化表示 HMM的两个基本假设 HMM的三个基本问题 Evalution

隐马尔可夫模型(HMM:Hidden Markov Models)

理论部分转载自:http://blog.csdn.net/likelet/article/details/7056068 手动计算例子转载自:http://blog.sina.com.cn/s/blog_953f8a550100zh35.html 隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价值.平时,经常能接触到涉及 HMM 的相关文章,一直

Extending Markov to Hidden Markov

Extending Markov to Hidden Markov a tutorial on hidden markov models, Hidden Markov Models, hidden markov models tutorial, markov chains, markov chains examples,markov chains tutorial, markov models When we talked about Markov Process and training th