隐形马尔可夫模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HMM组成
Markov链 (π, A)
状态序列 q1, q2, ..., qT
随机 程 随机过程 (B)
观察值序列 o1, o2, ..., oT
HMM的组成示意图
HMM的基本要素
用模型五元组 λ =( N, M, π ,A,B)用来描 述HMM,或简写为λ =(π ,A,B)
参数 N M A B π 状态数目 每个状态可能的观察值数 目 与时间无关的状态转移概 率矩阵 给定状态下,观察值概率 分布 初始状态空间的概率分布 含义 缸的数目 彩球颜色数目 在选定某个缸的情况下, 选择另一个缸的概率 每个缸中的颜色分布 初始时选择某口缸的概率 实例
HMM实例——描述
设有 N 个缸 个缸, , 每个缸中装有很多彩球 每个缸中装有很多彩球, , 球的颜 色由一组概率分布描述。 色由一组概率分布描述 。实验进行方式如下
– 根据初始概率分布, 根据初始概率分布 , 随机选择 N 个缸中的一个开始 个缸中的 个开始 实验 – 根据缸中球颜色的概率分布 根据缸中球颜色的概率分布, ,随机选择 随机选择一个球 个球,记 个球, 球的颜色为O1,并把球放回缸中 – 根据描述缸的转移的概率分布 根据描述缸的转移的概率分布, ,随机选择下一口缸, 随机选择下一口缸 随机选择下 口缸, 口缸, 重复以上步骤。 重复以上步骤 。
t
∑ γ ( j)
t t
π i = 当 t = 1时 处 于 S i的 概 率 = γ 1 ( i )
几种典型形状的马尔科夫链
a. A矩阵没有零 a 值的Markov链 b. b A矩阵有零值 的Markov链 c./d. /d 左-右形式 左 右形式 的Markov链
HMM的应用领域
马尔科夫链
时间和状态都离散的马尔科夫过程称为马尔科 夫链 记作{ {Xn = X(n), ( ) n = 0,1,2,…}
– 在时间集T1 = {0,1,2,…}上对离散状态的过程相继观 察的结果
链的状态空间记做I = {a1, a2,…}, ai∈R. 条件概率Pij ( m ,m+n)=P{Xm m+n n = aj|Xm = ai} 为马 氏链在时刻 链在时刻m处于状态 处 状态ai条件下,在时刻 条件 在时刻m+n转 移到状态aj的转移概率。
∑ ξ (i, j ) = ∑∑ ξ (i, j )
t t j
ˆ (k ) = expected number of times in state j and observing symbol k b j expected number of times in state j =
t ,Ot = k
∑ γ ( j)
转移概率矩阵
晴天 阴天 下雨
晴天 晴天 阴天 下雨 0.50 0.375 0.25
阴天 0.25 0.25 0.125
下雨 0.25 0.375 0.625
转移概率矩阵( 转移概率矩阵 (续)
由于链在时刻m从任何一个状态ai出发 出发, , 到另一时刻 到另 时刻m m+n n, 必然转移到a1 ,a2…, 诸状态中的某一个, 诸状态中的某一个 ,所以有
目的:给定观察值序列O,通过计算确定 通过计算确定一个模型 个模型 λ , 使得P(O| λ)最大。 算法步骤:
1. 初始模型(待训练模型) λ0, 2. 基于λ0 以及观察值序列Ο,训练新模型 λ; 3. 如果 log P(X|λ) - log(P(X|λ0) < Delta,说明训练已经达到预期效果, 算法结束。 4. 否则,令λ0 = λ ,继续第2步工作
BaumBaum -Welch算法(续)
定义:
给定模型 λ 和观察序列条件下,从 i到 j的 转移概率定义为 ξ t (i , j )
ξ t ( i , j ) = P ( s t = i , s t +1 = j | X , λ ) α t (i ) aij b j (Ot +1 ) β t +1 ( j )
最后得到一个描述球的颜色的序列 最后得到 个描述球的颜色的序列O1,O O2,…, 称为观察值序列O。
HMM实例——约束
在上述实验中, 在上述实验中 ,有几个要点需要注意:
不能被直接观察缸间的转移 从缸中所选取的球的颜色和缸并不是
一一对应的 应的 每次选取哪个缸由 每次选取哪个缸由一组转移概率决定 组转移概率决定
∑ P (m, m + n) = 1, i = 1, 2,…
j =1 ij
∞
当Pij(m,m+n)与m无关时,称马尔科夫链 为齐次马尔科夫链,通常说的马尔科夫 通常说的马尔科夫 链都是指齐次马尔科夫链。
HMM实例
Urn 3 Urn 2
Urn 1
Veil
Observed Ball Sequence
目的:给定观察序列O以及模型λ,如何选择一
个对应的状态序列S ,使得S能够最为合理的 解释观察序列O?
N和T分别为状态个数和序列长度 定义: 定义
δ t (i) = max P[q1q2 ...qt −1 , qt = i, O1, 1 O2, 2 …Ot , | λ ]
q1 , q2 ,...qt −1
1≤ t ≤ T – 初始化:βT (i) = 1
– 递归: β t (i) = ∑ aij b j (Ot +1 ) β t +1 ( j ) t = T − 1, T − 2,...,1,1 ≤ i ≤ N
i =1
N
– 终结: P(O / λ ) = ∑ β 1 (i)
i =1
N
Viterbi算法
qN . qi . qj . . q1 αt N αt i aij aNj
α t j+1
a1j
αt 1
1
...
t
t+1
...
N=5, M=100, => 计算量3000
解决问题1 后向法
与前向法类似 定义后向变量
βt (i ) = P(Ot −1 , Ot − 2 , L OT , qt = θi / λ ) 1 ≤ t ≤ T −1
=
∑ ∑ α (i ) a b ( x
i =1 j =1 t ij j
N
N
t +1
) β t +1 ( j )
γ t (i ) = ∑ ξ t (i , j ) t时刻处于状态 Si的概率
j =1
N
∑γ
t =1 T −1 t =1 t
T −1
t
(i ) = 整个过程中从状态 Si 转出的次数(number of time)的预期
我们所要找的 就是T时刻最大的 δ T (i ) 所代表 我们所要找的,就是 的那个状态序列
Viterbi算法(续)
1 ≤ i ≤N 初始化: δ (i) = π b (O ),
1 i i 1
ϕ1 (i ) = 0, 1≤ i ≤ N
1≤i ≤ N
递归: 终结:
δ t ( j ) = max[δ t −1 (i )aij ]b j (Oi ), 2 ≤ t ≤ T ,1 ≤ j ≤ N ϕ t ( j ) = arg max[δ t −1 (i )aij ], 2 ≤ t ≤ T ,1 ≤ j ≤ N
语音识别 机器视觉
– 人脸检测 – 机器人足球
图像处理
– 图像去噪 – 图像识别
生物医学分析
– DNA/蛋白质序列分析
主要参考文献
1. Lawrence R. Rabiner, A Tutorial on Hidden Markov a kov Models odels and Selected Applications pplications in Speech Recognition. Proceedings 1989. ftp://10.11.11.111/ ft //10 11 11 111/课件/徐从富_AI/ AI/补充材料/ 隐Markov模型.pdf 或ftp://10.214.1.200/课件/徐从富_AI/补充材料 /隐Markov模型.pdf pdf
P (O / λ ) =
所有S
∑ P(O / S , λ ) P(S / λ )
N=5, M=100, => 计算量10^72
解决问题1 前向法
动态规划 定义前向变量
α t (i ) = P(O1 , O 2 , L Ot , q t = θ i / λ ) 1≤ t ≤T
– 初始化:
i j
∑ ξ (i, j ) = 从 S 跳转到 S 次数的预期
BaumBaum -Welch算法(续2)
参数估计:
: ˆij = a expected count of transitions from i to j expected count of stays at i
t t
Reestimate
隐马尔可夫模型 Hidden Hidd Markov M k model d l
徐从富
浙江大学人工智能研究所 2003年10月第一稿 2005年9月修改补充
Modified by siuleung
目
录
HMM的由来 马尔可夫性和马尔可夫链 HMM实例 HMM的三个基本算法 主要参考文献
α1 (i ) = π ibi (O1 ) 1≤ t ≤ T
– 递归: – 终结:
α t +1 ( j ) = [∑ α i (i )aij ]b j (Ot +1 ) 1 ≤ t ≤ T − 1,1 ≤ j ≤ N
i =1
N
N
P (O / λ ) = ∑ α T (i )
i =1
前向法示意图
1≤i ≤ N
P * = max[δ T (i )])
1≤i ≤ N * qT = arg max[δ T (i )] 1≤i ≤ N
* * q = ϕ ( q t t + t +1 ), t = T − 1, T − 2,...,1 1 求S序列:
BaumBaum -Welch算法(模型训练算法)
HMM可解决的问题
问题1:给定观察序列O=O1,O2,…OT,以及 模型 λ = ( A, B,π ) , 如何计算P(O|λ)? 问题2:给定观察序列O=O1,O2,…OT以及 模型λ,如何选择一个对应的状态序列 如何选择 个对应的状态序列 S = q1,q2,…qT,使得S能够最为合理的解释 观察序列 察 O? 问题3:如何调整模型参数 λ = ( A, B,π ) , 使 得P(O|λ)最大?
HMM的由来
1870年,俄国有机化学家 年 俄国有机化学家Vladimir V V. Markovnikov第一次提出马尔科夫模型
马尔可夫模型 马尔可夫链 隐马尔可夫模型
马尔可夫性
如果一个过程的“将来 如果一个过程的“ 将来” ”仅依赖 仅依赖“ “现在 现在” ” 而不依赖“ 而不依赖 “过去 过去” ”,则此过程具有马尔 可夫性,或称此过程为马尔可夫过程 X(t+ X(t+1 ( 1) = f( X(t) ())
Biblioteka Baidu迎批评指正, 谢谢!
解决问题1 基础方法
给定 个固定的状态序列S=(q1,q ,q …) 给定一个固定的状态序列
2 3
P (O / S , λ ) = ∏ P (Ot / qt , λ ) = bq1 (O1 )bq2 (O2 )Lbqt (OT )
t =1
T
bq
t
(Ot )表示在qt状态下观测到Ot的概率
HMM概念
HMM 的状态是不确定或不可见的 的状态是不确定或不可见的, , 只有通过 观测序列的随机过程才能表现出来 观察到的事件与状态并不是 观察到的事件与状态并不是一一对应,而是通 对应,而是通 过一组概率分布相联系 HMM是 是一个双重随机过程 个双重随机过程,两个组成部分: 两个组成部分: – 马尔可夫链:描述状态的转移,用转移概 率描述。 描述 – 一般随机过程:描述状态与观察序列间的 关系, 用观察值概率描述。