隐马尔可夫模型_刘秉权
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
路径回溯: q t = ϕ t +1 ( q t +1 ) , t = T − 1, T − 2,...,1
*
隐马尔可夫模型 26
解决问题3:HMM参数估计
给定观察序列 O = O1 , O2 , L , OT 作 为训练数据,参数估计的目的是估计模型 使得观察序列 O λ 中的 π i ,aij ,b j (k ) , 的概率 P (O | λ ) 最大。
隐马尔可夫模型 7
隐马尔可夫模型
(Hidden Markov Model, HMM) 在MM中,每一个状态代表一个可观察的 事件 在HMM中观察到的事件是状态的随机函 数,因此该模型是一双重随机过程,其 中状态转移过程是不可观察(隐蔽)的 (马尔可夫链),而可观察的事件的随机过 程是隐蔽的状态转换过程的随机函数(一 般随机过程)。
ϕ t ( j ) = arg max[δ t −1 (i ) a ij ]b j (Ot ) , 2 ≤ t ≤ T ,1 ≤ j ≤ N
1≤ i ≤ N
* 终结: p = max[δ T (i )]) , q T = arg max[δ T (i )] * 1≤ i ≤ N * 1≤ i ≤ N
t
∑ δ (q
t =1
T -1
, Si )
ˆ b j (k ) =
Q 中由状态 q j 输出 v k 的次数 Q 到达 q j的次数 ⎧1, x = y ⎩0, x ≠ y
=
∑ δ (q
t =1
T
t T
, S j ) × δ (O t , v k )
t
∑ δ (q
t =1
,S j )
其中, δ ( x , y ) = ⎨
隐马尔可夫模型
13
观察值概率分布矩阵
从状态 S j 观察到符号 vk 的概率分布矩阵:
B = b j (k ) b j (k ) = P(Ot = vk | qt = S j ) , 1 ≤ j ≤ N ,1 ≤ k ≤ M
b j ( k ) ≥ 0 , ∑ b j (k ) = 1
k =1
隐马尔可夫模型 14
隐马尔可夫模型
N :状态数目 M :可能的观察值数目 A :与时间无关的状态转移概率矩阵 B :给定状态下,观察值概率分布
12
状态转移概率矩阵
A = aij
aij = P(qt = S j | qt −1 = S i ) , 1 ≤ i, j ≤ N aij ≥ 0 , ∑ aij = 1
j =1 N
隐马尔可夫模型 9
实例(续)
隐马尔可夫模型
10
Leabharlann Baidu
实验中的几个要点
不能直接观察瓮间的转移 从瓮中所选取的球的颜色和瓮并不是一 一对应的 每次选取哪个瓮由一组转移概率决定
隐马尔可夫模型
11
HMM的组成
五元组: λ = ( N , M , A, B, π ) 简记为: λ = ( A, B, π )
π :初始状态空间的概率分布
隐马尔可夫模型 25
Viterbi算法
初始化: δ 1 (i ) = π i bi (O1 ) , ϕ 1 (i ) = 0 , 1 ≤ i ≤ N 递归: δ t ( j ) = [max δ t −1 (i ) a ij ]b j (Ot ) , 2 ≤ t ≤ T ,1 ≤ j ≤ N
1≤ i ≤ N
隐马尔可夫模型
27
状态序列已知情况
可以由最大似然估计来估计 HMM 的参数:
ˆ π i = δ ( q1 , S i )
ˆ a ij =
Q 中从状态 q i 转移到 q j的次数 Q 中从状态 q i 转移到另一状态 (包括 q i 本身)的次数
=
∑ δ (q
t =1
T -1
t
, S i ) × δ (q t +1 , S j )
隐马尔可夫模型
19
HMM的网格结构
隐马尔可夫模型
20
向前算法
思想:高效递归地计算向前变量,以求得最终结果 向 前 变 量 : α t (i ) = P (O1O 2 L O t , q t = S i | 算法: 1.出 始 化 : α 1 ( i ) =
λ) ,1 ≤ t ≤ T
π i bi (O1 ) , 1 ≤ i ≤ N
隐马尔可夫模型
28
EM(Expectation-Maximization)算法
由于HMM中的状态序列是观察不到的(隐变量),以 上的最大似然估计不可行。EM算法可用于含有隐变量 的统计模型的最大似然估计。 EM算法是一个由交替进行的“期望(E过程)”和“极大似 然估计(M过程)”两部分组成的迭代过程:
困难:穷尽所有可能的状态序列,复杂度 O ( N ) ,指数爆炸。 有效方法:向前算法,动态规划,复杂性 O ( N 2 T ) 。
隐马尔可夫模型 18
T
动态规划(Dynamic Programming)
也称为动态时间弯曲(Dynamic TimeWraping) 常用于有序数字的最优求解问题,例如 无向图中两点之间的最短距离问题或者 语料库对齐中基于长度的对齐都采用了 动态规划算法。
0 .4 A = [ a ij ] = 0 . 2 0 .1
隐马尔可夫模型
0 .3 0 .6 0 .1
0 .3 0 .2 0 .8
6
例(续)
如果第一天为晴天, 根据这一模型, 在今后七天中天气为
O ="晴晴雨雨晴云晴" 的概率为:
P (O | M ) = P ( S 3 , S 3 , S 3 , S1 , S1 , S 3 , S 2 , S 3 | M ) = P ( S 3 ) ⋅ P ( S 3 | S 3 ) ⋅ P ( S 3 | S 3 ) ⋅ P ( S1 | S 3 ) ⋅ P ( S1 | S1 ) ⋅ P ( S 3 | S1 ) ⋅ P ( S 2 | S 3 ) ⋅ P ( S 3 | S 2 ) = 1 ⋅ a33 ⋅ a33 ⋅ a31 ⋅ a11 ⋅ a13 ⋅ a32 ⋅ a 23 = (0.8)(0.8)(0.1)(0.4)(0.3)(0.1)(0.2) = 1.536 × 10 − 4
2.递 归 : α t +1 ( j ) = [
∑α
i =1 N i =1
N
t
( i ) a ij ]b j (O t +1 ) , 1 ≤ t ≤ T − 1 , 1 ≤ j ≤ N
3.终 结 : P ( O | λ ) =
隐马尔可夫模型
∑α
T
(i )
21
向前变量图示
S1 S2 S3 ○ ○ ○ : : ○
∑ a b (O
ij j j =1 N 1 i =1
N
t +1
)β t +1 ( j ) ,1 ≤ t ≤ T − 1,1 ≤ i ≤ N
3.终结: P(O | λ ) =
隐马尔可夫模型
∑ β (i)
23
向后变量图示
Si ○ ○ ○ ○ : : ○ S1 S2 S3
SN
t
t+1
β t (i )
向前变量: β t (i ) =
t
○ Sj
SN
t+1
α t (i )
向前变量: α
N t +1
α
t +1
( j)
( j ) = [ ∑ α t ( i ) a ij ] b j ( O t + 1 )
i =1
隐马尔可夫模型
22
向后算法
思想:与向前算法类似,可用于解决问题 1,3 向后变量: β t (i) = P(Ot +1Ot +2 LOT , qt = S i | λ ) ,1 ≤ t ≤ T − 1 算法: 1.出始化: βT (i) = 1 ,1 ≤ i ≤ N 2.递归: β t (i) =
M
初始状态概率分布
π = πi π i = P(q1 = S i ) , 1 ≤ i ≤ N π i ≥ 0 , ∑π i = 1
i =1 N
隐马尔可夫模型
15
观察序列产生步骤
给定模型 λ = ( A, B , π ) ,观察序列 O = O1 , O 2 , L , OT 可由 以下步骤产生: 1.根据初始状态概率分布 π = π i 选择一初始状态 q1 = S i ; 2.设 t = 1 ; 3.根据状态 S i 的输出概率分布 b j (k ) ,输出 O t = v k ; 4.根据状态转移概率分布 a ij ,转移到新状态 q t +1 = S j ; 5.设 t = t + 1 ,如果 t < T ,重复步骤 3、4,否则结束。
隐马尔可夫模型 8
实例
一房间有 N 只瓮,每只瓮中有 M 种不同颜色的球。 根据某一概率分布随机地选择一个初始瓮,根据不同颜色 球的概率分布从中随机取出一个球,并报告球的颜色。然 后根据某一概率分布随机地选择另一只瓮,再根据不同颜 色球的概率分布从中随机取出一个球,并报告球的颜 色,…。对房间外的观察者,可观察的过程是不同颜色球 的序列,而瓮的序列是不可观察的。 这里每只瓮对应 HMM 模型中的状态,球的颜色对应 于状态的输出符号,从一只瓮转向另一只瓮对应于状态转 换,从一只瓮中取球对应于从一状态输出观察符号。
β t +1 ( j )
∑a
j =1
N
ij
b j ( O t +1 ) β t +1 ( j )
24
隐马尔可夫模型
解决问题2:Viterbi算法
目标:给定一个观察序列和 HMM 模型,如何有效选择“最优”状态序 列,以“最好地解释”观察序列? “最优”→概率最大: Q * = arg max P(Q | O, λ )
P(q t = S j | q t -1 = Si , q t -2 = S k ,L)
如果系统在 t 时间的状态只与其在时间 t − 1 的状态相关, 则该 系统构成一个离散的一阶马尔可夫链(马尔可夫过程):
P(q t = S j | q t -1 = Si , q t -2 = S k ,L) = P(q t = S j | q t -1 = S i )
隐马尔可夫模型 16
HMM中的三个基本问题
问题 1: 给定观察序列 O = O1 , O 2 , L , OT , 以及模型 λ = ( A, B , π ) , 如何计算 P (O | λ ) ? 问题 2: 给定观察序列 O = O1 , O 2 , L , OT 及模型 λ = ( A, B , π ) , 如 何选择一个对应的状态序列 S = q1 , q 2 , L , q T ,使得 S 能够最为合理地 解释观察序列 O ? 问题 3:如何调整模型参数 λ = ( A, B , π ) ,使得 P (O | λ ) 最大?
隐马尔可夫模型
刘秉权
哈工大智能技术与自然语言处理研究室 2006年11月
主要内容
马尔可夫模型 隐马尔可夫模型 隐马尔可夫模型的三个基本问题 隐马尔可夫模型的基本算法 隐马尔可夫模型的应用
隐马尔可夫模型
2
马尔可夫链
一个系统有 N 个状态 S1 , S 2 , L, S N ,随着时间推移,系统从 某一状态转移到另一状态,设 q t 为时间 t 的状态,系统在时间 t 处 于状态 S j 的概率取决于其在时间1,2,L, t - 1 的状态,该概率为:
隐马尔可夫模型 17
解决问题1
直接计算:
P (O | λ ) = ∑ P ( O , Q | λ ) = ∑ P (Q | λ ) P ( O | Q , λ )
Q Q
其中: O = O1 , O 2 , L , OT , Q = q1 , q 2 , L , qT
P (Q | λ ) = π q1 a q1q2 a q2 q3 L a qT −1qT P (O | Q , λ ) = bq1 (O1 )bq2 (O 2 ) L bqT (OT )
隐马尔可夫模型 3
马尔可夫模型(Markov Model)
如果只考虑独立于时间 t 的随机过程:
P(q t = S j | q t -1 = Si ) = a i, j , 1 ≤ i, j ≤ N
其中状态转移概率 a i, j 必须满足 a i, j ≥ 0 且
∑a
j=1
N
i, j
= 1 ,则该随机过程称为马尔可夫模型。
Q
思想:利用动态规划求解,复杂性 O( N T ) Viterbi 变量: δ t (i) =
2
q1 , q2 ,L, qt −1
max P(q1 , q 2 ,L, qt = S i , O1 , O2 LOt | λ )
j
递归关系: δ t +1 (i) = [max δ t ( j )aij ]bi (Ot +1 ) 记忆变量: ϕ t (i ) 纪录概率最大路径上当前状态的前一个状态
隐马尔可夫模型
4
马尔可夫模型可视为随机有限状态自动机
该有限状 态自动机 的每一个 状态转换 都有一相 应概率, 表示自动 机采用这 一状态转 换的可能 性
隐马尔可夫模型 5
例
假定一段时间内的气象可由一三状态 雨,S 2 : 多云, 马尔可夫模型 M 描述:S 1 :
S 3 :晴,转移概率矩阵为: