第六章 马尔可夫模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
马尔可夫模型
马尔可夫模型
• 马尔可夫模型是一种统计模型,广泛地应用在语 音识别,词性自动标注,音字转换,概率文法 等各个自然语言处理的应用领域。
• 马尔可夫(1856~1922),苏联数学家。切比雪 夫的学生。在概率论、数论、函数逼近论和微 分方程等方面卓有成就。
• 经过长期发展,尤其是在语音识别中的成功应 用,使它成为一种通用的统计工具。
马尔可夫过程程序
t:= 1;
以概率i在状态 si 开始 (i.e., X1=i) Forever do
Mproovbeafbriolmitystaaitje(si.ieto.,
state
Xt+1
s=j
with
j)
Emit observation probability bijk
symbol
ot
=
k
i (t)aijb jot1
i 1... N
向前过程算法
• 1、初始化
i (1) ibi (o1 )
• 2、推导
j (t 1)
i (t )aijbjot1 ,1 t T ,1 j N
i 1...N
• 3、总合
N
P(O | ) i (T 1) i 1
向前过程例
=[1 0 0]T
oT
• 使用动态规划方法实现更加高效的算法
• 动机:对于任意一个长度为t+1的状态序列来说, 其前t个输出字符出现的概率是相同的
• 定义:向前变量 i (t) P(o1...ot , xt i | )
方案2向前过程(forward procedure) cont.
j (t 1)
P(o1...ot1, xt1 j) P(o1...ot1 | xt1 j)P(xt1 j) P(o1...ot | xt1 j)P(ot1 | xt1 j)P(xt1 j) P(o1...ot , xt1 j)P(ot1 | xt1 j)
o1
ot-1
ot
ot+1
oT
P(O | X , ) b b x1o1 x2o2 ...bxT oT
P( X
|
)
a a ...a x1 x1x2 x2x3
xT 1xT
P(O, X | ) P(O | X , )P(X | )
P(O | ) P(O | X , )P( X | )
X
方案1(Cont.)
马尔可夫模型的典型应用
• 语音识别 • 音字转换 • 词性标注
回顾:n-gram语言模型
• 链规则:
• N-gram语言模型:
– N-1阶马尔可夫过程(链)
– 仅适用一种概率分布进行统计推导,例如在 trigram模型中,
马尔可夫假设(特征)
• 设机变X=量(X的1,取..,值Xt在)是有随限机集变S量={序s1列, …,,其sn}中, S每称个为随状 态空间, 马尔可夫特征是:
x1
xt-1
xt
xt+1
xT
o1
ot-1
ot
ot+1
oT
T 1
P(O | )
bx1 x1o1
a b xt xt1 xt1ot1
{x1...xT }
t 1
算法复杂度太高,需要 O(2Tn T )
方案2向前过程(forward procedure)
x1
xt-1
xt
xt+1
xT
o1
ot-1
ot
ot+1
A是状态间的转移概率。
马尔可夫模型的图形表示

状态集合
• 分布
• 由状态i到状态j之间的转移弧上有一个条 件转移概率:
隐马尔可夫模型(HMM)
• 各个状态(或者状态转移弧)都有一个 输出,但是状态是不可见的。
• 最简单的情形:不同的状态只能有不同的 输出
隐马尔可夫模型
• 增加一点灵活性:不同的状态,可以输 出相同的输出:
隐马尔可夫模型
• 再增加一点灵活性:输出Байду номын сангаас状态转移中 进行。
隐马尔可夫模型
• 最大的灵活性:在状态转移中以特定的 概率分布输出
HMM的形式化定义
• HMM是一个五元组 (S, K, , A, B) ,其 中 S是状态的集合,K是输出字符的集合, 是初始状态的概率,A是状态转移的概 率。B是状态转移时输出字符的概率。
网格(Trellis)
问题1评价(Evaluation)
• 给定一个模型 (S, K,, A, B),如何高效地计算 某一输出字符序列的概率 P(O | )
o1
ot-1
ot
ot+1
oT
O (o1...oT ), ( A, B, ) 计算 P(O | )
方案1
x1
xt-1
xt
xt+1
xT
.5
R .6
G .2
B .2
.4 .6
.1
.2
with
t:= t+1
End
隐马尔科夫模型的三个基本问题
• 给定一个模型 (S, K,, A, B) ,如何高效地计
算某一输出字符序列的概率 P(O | ) • 给定一个输出字符序列O,和一个模型 ,如
何确定产生这一序列概率最大的状态序列
( X1, X 2 ,..., XT 1)
• 给定一个输出字符的序列O,如何调整模型的 参数使得产生这一序列的概率最大
方案2向前过程(forward procedure) cont.
P(o1...ot , xt i, xt1 j)P(ot1 | xt1 j) i 1... N
P(o1...ot , xt1 j | xt i)P(xt i)P(ot1 | xt1 j) i 1... N
P(o1...ot , xt i)P(xt1 j | xt i)P(ot1 | xt1 j) i 1... N
• 有限历史假设(Limited (Horizon, Context,History)):
– P(Xt+1=sk|X1, .., Xt)=P(X t+1 = sk |Xt)
• 时间不变性假设(Time Invariant)(马尔可夫 过程的稳定性假设):
– 这种条件依赖,不随时间的改变而改变。
i {1, 2,3...,T},y, x S, P( Xi y | Xi1 x) p( y | x)
• 如果X具有这些特征,那么这个随机变量序列 称为一个马尔可夫过程(链)
N阶马尔可夫模型
• Trigram的情形: • 只需修改状态空间的定义S SS
– 定义新的变量 Qi S 使得
• 并且约定:
马尔可夫模型的形式化表示
• 一个马尔可夫模型是一个三元组(S, , A) 其中 S是状态的集合,是初始状态的概率,
相关文档
最新文档