宗成庆-统计自然语言处理--第六章--- 隐马尔可夫模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Company Logo
www.themegallery.com
6.3 前向算法
因为 P(O|) 是在到达状态 qT 时观察到序列 O = O1 O2 … OT 的概率(所有可能的概率之和): P(O | ) P(O1O2 …OT , qT Si | )
Si
T (i)
i 1
Company Logo
www.themegallery.com
6.2 隐马尔可夫模型
例如:N 个袋子,每个袋子中有 M 种不同颜色的球。一实 验员根据某一概率分布选择一个袋子,然后根据袋子中不同 颜色球的概率分布随机取出一个球,并报告该球的颜色。对 局外人:可观察的过程是不同颜色球的序列,而袋子的序列 是不可观察的。每只袋子对应HMM中的一个状态;球的颜色 对应于 HMM 中状态的输出。 1 2
Company Logo
www.themegallery.com
6.1 马尔可夫模型
马尔可夫链可以表示成状态图(转移弧上 有概率的非确定的有限状态自动机)
- 零概率的转移弧省略 。 - 每个节点上所有发出 弧的概率之和等于 1。 1.0
0.6 a 0.4 e 1.0 start 00.33 1.0 00.44 p 00.66
i1
N
… (6.14)
Company Logo
www.themegallery.com
6.3 前向算法
t(1)1
S S
Ot a2j a3j
……
Ot+1
Sj
t(2)2
S t(3)3
j (t+1)
t(N)
SN
t+1 t+1 (j)
t t(i)

Company Logo
www.themegallery.com
… (6.1)
Company Logo
www.themegallery.com
6.1 马尔可夫模型
假设 :
如果只考虑公式(6.1)独立于时间 t 的随机过程, 即所谓的不动性假设,状态与时间无关,那么:
P(qt Sj | qt1 Si ) aij , 1i, j N … (6.2)
P(O | ) P(O,Q | ) P(Q | )P(O | Q, )… (6.9)
Q Q
P(Q | ) q1 aq1q2 aq2 q3 …aqt 1qT
P(O | Q, ) bq1 (O1 ) bq2 (O2 )…bqT (OT )
… (6.10)
… (6.11)
或者 (S,O ,A B,) 用以指出模型的参数集合。 ,
Company Logo
www.themegallery.com
6.2 隐马尔可夫模型
给定HMM求观察序列
给定模型 ( A, B, ) ,产生观察序列 O=O1O2 …OT : (1) 令 t =1; (2) 根据初始状态分布 i 选择初始状态 q1 Si ; (3) 根据状态 Si 的输出概率分布 bi(k)), 输出 Ot vk ; (4) 根据状态转移概率 aij,转移到新状态 qt 1 S j ;
N i 1
Company Logo
www.themegallery.com
6.3 前向算法
算法的时间复杂性:
每计算一个 t(i) 必须考虑从 t-1 时的所有 N 个状 态转移到状态 Si 的可能性,时间复杂性为 O(N), 对应每个时刻 t,要计算 N 个前向变量:t(1), t(2), …, t(N),所以,时间复杂性为:O(N)×N = O(N2)。 又因 t = 1, 2, …, T,所以前向算法总的复 杂性为:O(N2T)。
6.3 前向算法
算法6.1:前向算法
(1) 初始化 : 1 (i) i bi (O1 ), 1 i N
(2) 循环计算 :
t 1 ( j) [t (i)aij ]b j (Ot 1 ), 1 t T 1
i 1 N
(3) 结束,输出 :
P(O | ) T (i)
b (k)1
j k 1
M
… ((6.7))
Company Logo
www.themegallery.com
6.2 隐马尔可夫模型
5. 初始状态的概率分布为: = i,其中,
i P(q1 Si ) , 1 i N
i 0
… (6.8)
i i 1
N
1
为了方便,一般将 HMM 记为: ( A, B, )
N
… (6.13)
Company Logo
www.themegallery.com
6.3 前向算法
动态规划计算 t (i) :在时间 t+1 的前向变量可以根据 时间 t 的前向变量 t (1),…,t (N) 的值递推计算:
t 1 ( j) [t (i)aij ]bj (Ot 1 )
LOGO
第6章 隐马尔可夫模型
参考课件:宗成庆:《自然语言理解》讲 义
邮件 :cqzong@nlpr.ia.ac.cn
LOGO
6.1马尔可夫模型
www.themegallery.com
6.1马尔可夫模型
马尔可夫模型描述
存在一类重要的随机过程:如果一个系统有 N 个 状态 S1, S2,…, SN, 随着时间的推移,该系统从某一状 态转移到另一状态。如果用 qt 表示系统在时间 t 的状 态变量,那么,t 时刻的状态取值为 Sj (1 jN) 的概 率取决于前 t-1 个时刻 (1, 2, …, t-1) 的状态,该概率 为: P(qt S j | qt 1 Si , qt 2 Sk ,…)
3. 状态转移概率矩阵 A aij ( aij为实验员从一只袋 子(状态 Si) 转向另一只袋子(状态 Sj) 取球的概 率)。其中,
aij P(qt1 S j | qt Si ), 1 i, j N
aij 0
… (6.6)
a
j 1
N
ij
1
Company Logo
www.themegallery.com
Company Logo
LOGO
6.4 后向算法
www.themegallery.com
6.4 后向算法
后向算法 (The backward procedure)
定义后向变量 t (i) 是在给定了模型 ( A, B, ) 和假定在时间 t 状态为 Si 的条件下,模型输出
观察序列 Ot 1Ot 2 …OT 的概率:
0.6
i
start
P(t,i, p) P(S1 t)P(S2 i | S1 t)P(S3 p | S2 i)
= 1.0×0.3×0.6 = 0.18
Company Logo
LOGO
6.2 隐马尔可夫模型
www.themegallery.com
6.2 隐马尔可夫模型
隐马尔可夫模型 (Hidden Markov Model,, HMM) 描写:该模型是一个双重随机过程,我们不 知道具体的状态序列,只知道状态转移的概率, 即模型的状态转换过程是不可观察的(隐蔽 的),而可观察事件的随机过程是隐蔽状态转 换过程的随机函数。
www.themegallery.com
6.3 前向算法
解决办法:动态规划 前向算法(The forward procedure) 基本思想:定义前向变量 t(i):
t (i) P(O1O2 …Ot , qt Si | )
…(6.12)
如果可以高效地计算 t (i),就可以高效地求得 P(O| ) 。
根据最大似然估计来求模型的参数值? 即如何调节模型 (A ,B, ) 的参数百度文库使
得 P(O | ) 最大 ?
Company Logo
LOGO
6.3 前向算法
www.themegallery.com
6.3 前向算法
问题1:快速计算观察序列概率 P(O | )
给定模型 (A, B,)和观察序列O =O1O2 …OT 快速计算 P(O | ) : 对于给定的状态序列 Q q1 q 2 …qT
Company Logo
www.themegallery.com
6.3 前向算法
S1 S2
Sttates S3
SN 1 2 3 T
• 困难: 如果模型 =(A, B, ) 有 N 个不同的状 态,时间长度 为 T,那么有 NT 个可能的状 态序列,搜索 路径成指数级 组合爆炸。
Time, t
Company Logo
Company Logo
www.themegallery.com
6.1 马尔可夫模型
假设
如果在特定情况下,系统在时间 t 的状态只与 其在时间 t-1 的状态相关,则该系统构成一个离散 的一阶马尔可夫链:
P(qt Sj | qt1 Si ,qt2 Sk ,…) P(qt Sj | qt1 Si )
6.2 隐马尔可夫模型
4. 从状态 Sj 观察到某一特定符号 vk 的概率分布矩 阵为: B=bj(k) 其中,bj(k)为实验员从第 j 个袋子中取出第 k 种 颜色的球的概率。那么,
bj (k) P(Ot vk | qt S j ), 1 j N, 1 k M bj (k) 0
……
N
……
Company Logo
www.themegallery.com
6.2 隐马尔可夫模型
HMM 的组成 11. 模型中的状态数为 N (袋子的数量) 2. 从每一个状态可能输出的不同的 符号数 M (不同颜色球的数目)
Company Logo
www.themegallery.com
6.2 隐马尔可夫模型
S1
t 1
T 1
a
St St 1
… (6.5)
其中,i=P(q1=Si),为初始状态的概率。
Company Logo
www.themegallery.com
6.1 马尔可夫模型
h 11.00 e 00.66 11.00 a 0.4 p 00.44 0.3 11.00 t 0.3 0.4
t (i) P(Ot 1Ot 2 …OT | qt Si , ) … (6.15)
Company Logo
www.themegallery.com
6.4 后向算法
与前向变量一样,运用动态规划计算后向量:
(1) 从时刻 t 到 t+1,模型由状态 Si 转移到状态 Sj, 并从 Sj 输出 Ot+1;
该随机过程称为马尔可夫模型(Markov Model)。
Company Logo
www.themegallery.com
6.1 马尔可夫模型
在马尔可夫模型中,状态转移概率 aij 必须满足下列 条件: a ij 0 … (6.3)
a
j 1
N
ij
1
… (6.4)
马尔可夫模型又可视为随机有限状态自动机, 该有限状态自动机的每一个状态转换过程都有一 个相应的概率,该概率表示自动机采用这一状态 转换的可能性。
(2) 在时间 t+1,状态为 Sj 的条件下,模型输出观察 序列 Ot 1Ot 2 …OT 。
Company Logo
h
0.3 i
0.4
t
Company Logo
www.themegallery.com
6.1 马尔可夫模型
状态序列 S1, …, ST 的概率:
P(S1 ,…, ST ) P(S1 )P(S2 | S1 )P(S3 | S1 , S2 )…P(ST | S1 ,…, ST 1 ) P(S1)P(S2 | S1)P(S3 | S2 )…P(ST | ST1 )
(2)在给定模型 (A, B,)和观察序列 O=O1O2 …OT 的情况下,如何选择在一定意义下“最优”的状 态序列Q=q1q2…qT,使得该状态序列“最好地 解释”观察序列?
Company Logo
www.themegallery.com
6.2 隐马尔可夫模型
(3) 给定一个观察序列 O O1O2 …OT ,如何
(5) t = t+1, 如果 t < T, 重复步骤 (3) (4), 否则结束。
Company Logo
www.themegallery.com
6.2 隐马尔可夫模型
HMM 中的三个问题 (1)在给定模型 (A, B,)和观察序列 O=O1O2 …OT 的情况下,怎样快速计算概率 P(O | ) ?
相关文档
最新文档