隐马尔科夫模型HMM

隐马尔可夫模型 是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。然后利用这些参数来作进一步的分析,例如模式识别。 更多见 iii.run

HMM模型

马尔科夫性质

  • 公式
    s和t 是两个时刻,不同时间下发生的条件概率是相同的。


    08880-j2evkrjnnxd.png
  • 或者说:
    已知当前状态情况下,过去事件与未来相互独立。

  • 简言之:
    随机过程中某时间的发生只取决于它的上一时间,是无记忆的过程。

马尔可夫过程

具有了马尔科夫性质的随机过程,具有不可记忆性

隐马尔科夫模型

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

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

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

使用场景

使用HMM模型时我们的问题一般有这两个特征:
1)我们的问题是基于序列的,比如时间序列,或者状态序列。
2)我们的问题中有两类数据,一类序列数据是可以观测到的,即观测序列;而另一类数据是不能观察到的,即隐藏状态序列,简称状态序列。

举个两个例子:
1、NLP问题
2、视频识别

定义

首先我们假设Q是所有可能的隐藏状态的集合,V是所有可能的观测状态的集合(类型,比如分词的时候,就有BIES这四个),即:
Q = \{q_1,q_2,...,q_N\}, \; V =\{v_1,v_2,...v_M\}
其中,N是可能的隐藏状态数,M是所有的可能的观察状态数。

对于一个长度为T的序列,I对应的状态序列, O是对应的观察序列,即:
I = \{i_1,i_2,...,i_T\}, \; O =\{o_1,o_2,...o_T\}
其中,任意一个隐藏状态 i_t \in Q ,任意一个观察状态 o_t \in V

HMM模型做了两个很重要的假设如下:

齐次马尔科夫链假设

即任意时刻的隐藏状态只依赖于它前一个隐藏状态,也就是状态转移的时候只考虑前边一个时刻的隐藏状态。
pint:大多数情况下,这样做都是不那么准确的。但是这样做比较简单,也许分词模型进一步的优化方向可以考虑修改模型中的这个假设。

这里顺便说一下状态转移矩阵,假定时刻t的隐藏状态是 i_t= q_i,在时刻t+1的隐藏状态是 i_{t+1}= q_j,那么从t时刻到t+1时刻的状态转移概率可以表示为:
a_{ij} = P(i_{t+1} = q_j | i_t= q_i)
t一般来说会有连续的多个时间点,将对应的{s_{ij}}组合起来,就可以获得马尔科夫链的状态转移矩阵A
A=\Big [a_{ij}\Big ]_{N \times N}

观察独立性假设

即任意时刻的观察状态只仅仅依赖于当前时刻的隐藏状态,换句话说,当前时刻的观察状态仅依赖于当前的隐藏状态。

如果在时刻t的隐藏状态是i_t=q_j, 而对应的观察状态为o_t=v_k, 则该时刻观察状态v_k在隐藏状态q_j下生成的概率为b_j(k),满足:

b_j(k) = P(o_t = v_k | i_t= q_j)

这样b_j(k)可以组成观测状态生成的概率矩阵B:
B = \Big [b_j(k) \Big ]_{N \times M}

即:隐藏状态 -> 观测状态的概率矩阵

隐藏状态初始概率

即在 t = 1时刻,隐藏状态概率分布

\Pi = \Big [ \pi(i)\Big ]_N \; 其中 \;\pi(i) = P(i_1 = q_i)

小结

一个完整HMM模型,由三部分组成。

  • 状态转移方程 A
  • 观察概率矩阵
  • 初始状态\Pi

找了一张图来帮助理解

53455-r5a0wcy2ni.png

不过到了现实情况时就会发现,人生呐。。。

HMM模型例子

维特比算法 里边的例子就是一个HMM模型,本质上是一个动态规划BP问题。

状态转移矩阵例子

维特比算法 里的 transition_probability,就是这里的状态转移矩阵。

transition_probability = { # 状态转移概率
  '健康': {'健康': 0.7, '发热': 0.3},
  '发热': {'健康': 0.4, '发热': 0.6},
}

观测概率矩阵例子

通俗的讲,就是村民身体内部的情况,医生其实是不清楚的。

但是医生知道,如果用户身体健康的情况下,感到发晕的概率可是很低哦。

emission_probability = { # 状态->观测的发散概率
  '健康': {'正常': 0.5, '发冷': 0.4, '发晕': 0.1},
  '发热': {'正常': 0.1, '发冷': 0.3, '发晕': 0.6},
}

初始矩阵

start_probability = {'健康': 0.6, '发热': 0.4} # 起始个状态概率

看完维特比算法,再来看这张图,应该就有点感觉了


96525-eelw9ogd9ug.png

HMM模型的三个基本问题

评估观察序列概率

即给定模型λ=(A,B,\Pi)和观测序列O={o_1,o_2,...o_T},计算在模型λ下观测序列O#出现的概率P(O|λ)$。

这个问题的求解需要用到前向后向算法。

模型参数学习问题

即给定观测序列O={o_1,o_2,...o_T},估计模型λ=(A,B,\Pi)的参数,使该模型下观测序列的条件概率P(O|λ)最大。

这个问题的求解需要用到基于EM算法的鲍姆-韦尔奇算法。

预测问题,也称为解码问题

即给定模型λ=(A,B,\Pi)和观测序列O={o_1,o_2,...o_T},求给定观测序列条件下,最可能出现的对应的状态序列。

这个问题的求解需要用到基于动态规划的维特比算法,最常见的一个用途了,请参考维特比算法部分。

总结

模型总体来说还是比较简单的,只是一开始看到一大堆公式有点懵逼,不过可以先看维特比算法部分,看懂了之后再回过头看这里。

参考链接:

隐马尔可夫模型wiki
隐马尔科夫模型HMM

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,386评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,142评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,704评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,702评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,716评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,573评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,314评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,230评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,680评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,873评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,991评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,706评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,329评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,910评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,038评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,158评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,941评论 2 355