markov 模型

转【数学之美系列】   

1870年,俄国有机化学家Vladimir V. Markovnikov第一次提出马尔科夫模型。

    马尔可夫性:如果一个过程的“将来”仅依赖“现在”而不依赖“过去”,则此过程具有马尔可夫性,或称此过程为马尔可夫过程。即,X(t+1) = f( X(t) )。

    如果 S 表示一连串特定顺序排列的词 w1, w2,…, wn ,换句话说,S 可以表示某一个由一连串特定顺序排练的词而组成的一个有意义的句子。现在,机器对语言的识别从某种角度来说,就是想知道S 在文本中出现的可能性,也就是数学上所说的S 的概率用 P(S) 来表示。利用条件概率的公式,S 这个序列出现的概率等于每一个词出现的概率相乘,于是P(S) 可展开为:

P(S) = P(w1)P(w2|w1)P(w3|w1 w2)…P(wn|w1 w2…wn-1)

其中 P (w1) 表示第一个词w1 出现的概率;P (w2|w1) 是在已知第一个词的前提下,第二个词出现的概率;以次类推。不难看出,到了词wn,它的出现概率取决于它前面所有词。从计算上来看,各种可能性太多,无法实现。因此我们假定任意一个词wi 的出现概率只同它前面的词 wi-1 有关(即马尔可夫假设),于是问题就变得很简单了。现在,S 出现的概率就变为:

P(S) = P(w1)P(w2|w1)P(w3|w2)…P(wi|wi-1) ...

如何估计 P (wi|wi-1),现在有了大量机读文本后,这个问题变得很简单,只要数一数这对词(wi-1,wi) 在统计的文本中出现了多少次,以及 wi-1 本身在同样的文本中前后相邻出现了多少次,然后用两个数一除就可以了,P(wi|wi-1) = P(wi-1,wi)/ P (wi-1) 。

“隐含马尔可夫模型”根据接收到的信息来推测说话者想表达的意思:

    以语音识别为例,当我们观测到语音信号o1,o2,o3 时,我们要根据这组信号推测出发送的句子s1,s2,s3 。显然,我们应该在所有可能的句子中找最有可能性的一个。用数学语言来描述,就是在已知 o1,o2,o3,...的情况下,求使得条件概率P(s1,s2,s3,...|o1,o2,o3....) 达到最大值的那个句子 s1,s2,s3,...

    P(s1,s2,s3,...|o1,o2,o3....)=P(o1,o2,o3,...|s1,s2,s3....) * P(s1,s2,s3,...)

其中P(o1,o2,o3,...|s1,s2,s3....) 表示某句话 s1,s2,s3... 被读成 o1,o2,o3,...的可能性, 而

p(s1,s2,s3,...) 表示字串 s1,s2,s3,... 本身能够成为一个合乎情理的句子的可能性,所以这个公式的意义是用发送信号为 s1,s2,s3... 这个数列的可能性乘以 s1,s2,s3... 本身可以一个句子的可能性,得出概率。

我们在这里做两个假设:

第一,s1,s2,s3,... 是一个马尔可夫链,也就是说,si 只由 si-1 决定;

第二,第 i 时刻的接收信号 oi 只由发送信号 si 决定(又称为独立输出假设, 即

P(o1,o2,o3,...|s1,s2,s3....) = P(o1|s1) * P(o2|s2)*P(o3|s3)... 。那么我们就可以很容易利用算法Viterbi 找出上面式子的最大值,进而找出要识别的句子s1,s2,s3,... 。

满足上述两个假设的模型就叫隐含马尔可夫模型。我们之所以用“隐含”这个词,是因为状态s1,s2,s3,... 是无法直接观测到的。

在利用隐含马尔可夫模型解决语言处理问题前,先要进行模型的训练。常用的训练方法由伯姆(Baum)在60 年代提出的,并以他的名字命名。隐含马尔可夫模型在处理语言问题早期的成功应用是语音识别。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值