HMM 学习笔记

参考资料

一文弄懂隐马尔科夫模型(HMM) :https://www.jianshu.com/p/635650db7deb

HMM超详细讲解+代码

https://blog.csdn.net/continueoo/article/details/77893587

B 站隐马尔可夫模型

https://www.bilibili.com/video/av40070295

手写笔记

image-20190220131726823
image-20190220131743423

知识点

HMM(以下内容来自《统计学习方法》和百度搜索“我爱自然语言处理 HMM”)

1、隐含状态不可观测,每一个隐含的状态生成一个观测;例子:隐含的状态:天气,可以观测到的是海藻。

2、生成模式(1)确定模式:状态转移是确定的,一个结点的入度和出度都是1;(2)非确定模式:出度的概率之和为 1;此时的状态转移概率可以用一个方阵表示;

关于假设,重要的一点是状态转移矩阵并不随时间的改变而改变****——****这个矩阵在整个系统的生命周期中是固定不变的。

3、马尔科夫过程、隐马尔可夫过程

隐马尔可夫过程三要素,一个 HMM (隐马尔科夫模型就是一个三元组):(1)初始状态概率向量(是一个向量)(2)状态转移概率矩阵(3)观测概率矩阵(行是状态,列是观测),也叫混淆矩阵

因此一个隐马尔科夫模型是在一个标准的马尔科夫过程中引入一组观察状态,以及其与隐藏状态间的一些概率关系。

4、一旦一个系统可以作为HMM被描述,就可以用来解决三个基本问题。

(1)模式识别问题:给定HMM求一个观察序列的概率(评估,概率计算问题);

在语音识别中这种类型的问题发生在当一大堆数目的马尔科夫模型被使用,并且每一个模型都对一个特殊的单词进行建模时。一个观察序列从一个发音单词中形成,并且通过寻找对于此观察序列最有可能的隐马尔科夫模型(HMM)识别这个单词。

使用前向算法(forward algorithm)。

我们使用Viterbi 算法(Viterbi algorithm)确定(搜索)已知观察序列及HMM下最可能的隐藏状态序列。

(2)模式识别问题:搜索最有可能生成一个观察序列的隐藏状态序列(预测状态,解码)。

给定观察序列搜索最可能的隐藏状态序列。考虑海藻和天气这个例子,一个盲人隐士只能感觉到海藻的状态,但是他更想知道天气的情况,天气状态在这里就是隐藏状态。

Viterbi算法(Viterbi algorithm)的另一广泛应用是自然语言处理中的词性标注。在词性标注中,句子中的单词是观察状态,词性(语法类别)是隐藏状态(注意对于许多单词,如wind,fish拥有不止一个词性)。对于每句话中的单词,通过搜索其最可能的隐藏状态,我们就可以在给定的上下文中找到每个单词最可能的词性标注。

SMO 其实也用到了动态规划。

维特比算法——用动态规划求解概率最大路径。

我们先来看概率计算问题

(1)方法1:穷举搜索:(把所有的隐藏的状态的条件概率进行积分,就知道了观测状态的概率了,这里的条件概率 = P(观测序列|隐含状态序列)。)

一种计算观察序列概率的方法是找到每一个可能的隐藏状态,并且将这些隐藏状态下的观察序列概率相加。

(2)方法2:我们使用前向算法来计算给定隐马尔科夫模型(HMM)后的一个观察序列的概率。它在计算中利用递归避免对网格所有路径进行穷举计算。

给定这种算法,可以直接用来确定对于已知的一个观察序列,在一些隐马尔科夫模型(HMMs)中哪一个HMM最好的描述了它——先用前向算法评估每一个(HMM),再选取其中概率最高的一个。

(3)第三个问题是给定观测序列生成一个HMM(学习)。

根据观察序列生成隐马尔科夫模型。

第三个问题,也是与HMM相关的问题中最难的,根据一个观察序列(来自于已知的集合),以及与其有关的一个隐藏状态集,估计一个最合适的隐马尔科夫模型(HMM),也就是确定对已知序列描述的最合适的(pi,A,B)三元组。

当矩阵A和B不能够直接被(估计)测量时,前向-后向算法(forward-backward algorithm)被用来进行学习(参数估计),这也是实际应用中常见的情况。

概率计算

1、前向概率(什么是前向概率)

2、观测序列概率的前向算法

《统计学习方法》 P177

(1)计算初值:因为观测序列是 O={红,白,红},第 1 个观测到的是“红”。

所以我们分别计算这个“红”来自盒子1、盒子2、盒子3的概率:

“红”来自“盒子1”的概率:\alpha_1(1)= \pi_1 b_1(O_1) = 0.2 \times 0.5 = 0.10​

“红”来自“盒子2”的概率:\alpha_1(2)= \pi_2 b_2(O_1) = 0.4 \times 0.4 = 0.16​

“红”来自“盒子3”的概率:\alpha_1(3)= \pi_3 b_3(O_1) = 0.4 \times 0.7 = 0.28

说明:下标1表示时刻 1。

(2)递归地计算:

时刻2:第 2 个观测到的是“白”:

“白”来自盒子1的概率:因为第2次观测到盒子1可能来自3个盒子,因此

\alpha_1(1)a_{11}:表示上一步是盒子1,当前是盒子1,状态转移由1到1;

\alpha_1(2)a_{21}:表示上一步是盒子2,当前是盒子1,状态转移由2到1;

\alpha_1(3)a_{31}:表示上一步是盒子3,当前是盒子1,状态转移由3到1;

3 种方式都可以到 1 ,所以是相加,下一步是观测到白球,因此要乘以 b_1(O_2),故
\alpha_2(1) = [\alpha_1(1)a_{11} + \alpha_1(2)a_{21} + \alpha_1(3)a_{31} ] b_1(o_2) = 0.077
“白”来自盒子2的概率:
\alpha_2(2) = [\alpha_1(1)a_{12} + \alpha_1(2)a_{22} + \alpha_1(3)a_{32} ] b_2(o_2) = 0.1104
“白”来自盒子3的概率:
\alpha_3(1) = [\alpha_1(1)a_{13} + \alpha_1(2)a_{23} + \alpha_1(3)a_{33} ] b_3(o_2) = 0.0606
时刻3:第 3 个观测到的是“红”

“红”来自盒子1的概率:
\alpha_3(1) = [\alpha_2(1)a_{11} + \alpha_2(2)a_{21} + \alpha_2(3)a_{31} ] b_1(o_2) = 0.04187
“红”来自盒子2的概率:
\alpha_3(2) = [\alpha_2(1)a_{12} + \alpha_2(2)a_{22} + \alpha_2(3)a_{32} ] b_1(o_2) = 0.03551
“红”来自盒子3的概率:
\alpha_3(3) = [\alpha_2(1)a_{13} + \alpha_2(2)a_{23} + \alpha_2(3)a_{33} ] b_1(o_2) = 0.05284

(3)终止:(只和最后的3 个概率有关,用加法)
P(O | \lambda) = \alpha_3(1) + \alpha_3(2) + \alpha_3(3) = 0.13022

6、预测:由观测序列计算隐含的状态序列的概率(解码问题)

使得条件概率 P(I|O) 最大

方法1:穷举搜索:和概率计算问题的思路一样:穷举的意思是把所有的:通过列出所有可能的隐藏状态序列并且计算对于每个组合相应的观测序列的概率来找到最可能的隐藏状态序列。最可能的隐藏状态序列是使下面这个概率最大的组合:Pr(观察序列|隐藏状态的组合)。

7、学习问题(1)近似算法(2)维特比算法,

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

推荐阅读更多精彩内容