数学之美:隐马尔可夫模型

前面提到,语言其实就是信息传递的编解码工具。
这里写图片描述
如果说话人说的是汉语,需要翻译成英语。那么机器翻译就是充当理解汉语的同时将汉语翻译成英语的中间角色。如果用概率论来解释的话,就是在我们接收到汉语信息序列o后,在理解o的情况下,推测最有可能出现的英语信息序列s。条件概率形式为:
这里写图片描述
使用贝叶斯公式可以转为:
这里写图片描述
这样,P(o|s)表示信息s在传输后变成o的可能性。p(s)表示s在接收端合理的可能性。p(o)表示说话人产生o的可能性。而o为产生的信息,一旦产生,概率就是定值,因为每个句子可能性都会除以p(o),因此无需计算在内。从而上式等价于:
这里写图片描述
而上式可以使用隐马尔可夫模型解决。为什么要使用贝叶斯公式转化?基于我的理解,原因在于对于翻译模型来说,可以假设它对自己的语料库的知识认知完全了解。也就是说对于s序列的各种可能性都是已知的。而说话人说出的当前o序列,由于字符已知,翻译模型可以基于自身认知给出这个句子的条件概率,而如果你使用p(s|o)来统计,也就表明你要基于对序列o的各种可能性进行推测。这是就要求你要基于o的语料库,但这是说话人人脑意图的产生,是未知的,无法计算。贝叶斯公式转化后巧妙的将这种信息转化成了等概率的p(o)而直接略去。

马尔科夫假设其实很简单,在统计学中我们经常会遇到类似于p(sn|s1,s2,s3,s5,…,sn-1)问题,由于这种条件概率过于繁杂,很难计算。马尔科夫为简化问题,做出假设:当前状态sn只跟前一状态sn-1有关,而与sn-1前的状态无关,这样上述问题就变成:
这里写图片描述
这也很好理解,比如你在一条直线上行走,你的位置信息只会与你前一步的位置信息有关,而更前一步的位置信息无关。下图解释了离散马尔科夫过程帮助理解。
这里写图片描述
这里写图片描述
隐马尔科夫模型认为,我们是无法直接观察到s的状态序列,从而推测出转移概率参数。但是模型会在每t时刻输出一个与st有关ot。而且ot只与st有关(独立输出假设)。从而有如下模型:
这里写图片描述
这样通过隐马尔可夫模型就能解决语言模型的解码问题。对于如何找出 概率最大值,需用到维特比算法。

如何计算某个特定输出序列的概率:
Forward-Backward算法:
给定模型和特定输出,如何估算最有可能产生该输出序列的状态序列:
维特比算法:
足够数据量,如何估计隐马尔可夫模型参数:
要使用隐马尔可夫模型,首先需要知道从状态sn-1到sn的转移概率,和有sn输出on的生成概率。对这些参数的估计称之为模型的训练。
这里写图片描述
在有大量人工标注的情况下,对于第一个公式可以直接统计st出现次数,和由st出现ot次数,使用二者比值可以计算:
这里写图片描述
对于第二个公式其实就是在一门语言里进行统计,可以使用前面提到的统计语言模型。
这里写图片描述

然而这种有监督的训练方法难以实现,如对于语音识别中的声学模型,人是难以确定其状态序列的;而对于翻译中英模型,标注成本过高,需要大量的语料,还要将词语对应起来。因此需要一种方法仅仅通过大量的输出o序列就能推测出模型参数的无监督方法。其中主要使用鲍姆-韦尔奇算法。

鲍姆-韦尔奇认为对于同一个task的两个隐马尔可夫模型,总有一个比另一个好,首先对转移概率和生成概率使用均匀分布,我们可以得到一个较差模型,这时可以基于较差模型和观察到的o计算出一个更好的模型,如此迭代,最终模型质量不能再提高停止。这种通过不断迭代使新模型输出的概率最大化的过程,成为EM(期望值最大化)。但这种算法可以保证算法一定收敛到一个局部最优点,但不能保证收敛到全局最优点。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值