伟大的数学家马尔可夫,以及他对互联网的重要贡献

100多年前,有一个伟大的前苏联数学家马尔可夫,他想用数学去描述自然界中的事物,于是提出了一个简单到几句话就可以说清楚的模型,从而奠定了100年后当今互联网世界无数技术的理论基础。故事就是从这个模型开始的。

马尔可夫链

有这么一个随机变量序列,X0、X1、X2、X3…,其中,X1的取值取决于X0,X2的取值取决于X1,X3的取值取决于X2,…
形象化来讲,我们管它叫马尔可夫链。这里举个具体的例子说明一下这个模型的用处。
两个人在讲话,A对B讲了一句“今天这么闷,应该会下雨”,B走了一下神,最后一个“雨”字没有听清楚,但他还是根据倒数第二个字“下”,猜到了最后一个字应该是“雨”,并回了一句,“是啊,天气预报也是这样说的”。
在这个例子就是马尔可夫链的一个很经典应用,根据Xn的值推断出Xn+1的值。因为是根据“下”推断出了“雨”,两个字中间只相差一个位置,所以说用的一元模型。如果上面的例子中,B没有听清楚“闷”,而是根据“今天这么”而推断出来“闷”,那B用的就是四元模型。简单说就是,根据前面几个位置的状态推断出当前状态的值,那就是用的几元模型。这个推断过程,是B根据自己过去跟人说话的经验做出的判断,实际上是一个概率的使用过程。可以说一元模型就是求解条件概率P(Xn+1|Xn)的最大值的过程,而二元模型就是求解条件概率P(Xn+1|Xn,Xn-1)的最大值的过程。

这个模型比较经典的应用是在搜索引擎中做N元分词,经过语料训练后,使用单词之间不同组合形式出现的频率来计算不同分词方案之间的概率。

隐含马尔可夫模型

还是上面的例子,我们做一下变形,把A对B讲的一句话表示为S1、S2、S3…这样的序列,每一项代表一个字,而把B从A那里听到的一句话表示为O1、O2、O3…这样的一个序列。B在听A讲话的过程,其实就是把O1、O2、O3…序列还原成S1、S2、S3…序列的过程。对B来说,A真正讲的内容是什么,也就是S1、S2、S3…序列,是未知的,隐含的,需要根据O1、O2、O3…序列去推断。这个推断过程,其实就是求解P(O1、O2、O3…|S1、S2、S3…)的最大值的过程。我们知道,Oi和Si是一一对应的,Oi的值完全由Si来决定,所以P(O1、O2、O3…|S1、S2、S3…)又可以表示为P(O1|S1)xP(O2|S2)xP(O3|S3)。
这里总结一下,A对B讲的那句话满足下面这些要求:
1、O1、O2、O3…序列。
2、每个Oi有一个对应的Si。
3、在未知的S1、S2、S3…序列中,可以由前面的的值,根据N元模型推断出后面的值。比如,使用一元模型的话,可以由S0推断出S1的值,使用二元模型的话,可以由S0、S1的值推断出S2的值。
因此,A对B讲那句话的过程就是一个隐含马尔可夫模型。由上面的已知条件,找出未知的,隐含的S1、S2、S3…序列的过程,就是求解隐含马尔可夫模型,也就是找出条件概率P(O1|S1)xP(O2|S2)xP(O3|S3)的最大值。
而这里的概率P(O1|S1),在计算机处理中,来自统计语言模型。

互联网领域的应用

这里举一个搜索引擎中词性标注的例子。
改革,这个词可能是动词,也可能是名词。根据大批量的语料训练得知,概率各为1/2,当碰到这个词时我们如何识别它的词性?当然是根据上下文了。
比如,推进改革,“改革”在“推进”这个动词之后,动词之后是名词的概率比较大。
比如,改革我们的制度,“改革”在名词之前,是动词的概率较大。
这两个例子中,判断“改革”这个节点的词性时,考虑了节点之间按不同分支顺序跳转时,概率状态的变化,就是HMM了。

这个模型应用之广泛超出我们想象,我们根据o1、o2、o3…ox 和 s1、s2、s3…sx的不同对应关系,分一下应用领域:
1、s和o分别代表中文和英文,我们的所做的事就叫自动翻译。
2、s和o分别代表正确语句和错误语句,我们的所做的事就叫自动纠错。
3、s和o分别代表语音和文字,我们的所做的事就叫自动语音识别。
4、s和o分别代表图像和文字,我们的所做的事就叫文字识别。
5、s和o分别代表疾病和症状,我们的所做的事就叫自动诊断。

Viterbi

求解隐含马尔可夫模型,最经典的当然是以Viterbi本人命名的算法了。Viterbi算法由于设计的高效,使得算法复杂度为线性,O(N.D^2),也就是与O和S序列的长度成正比。其中D为Si的取值范围,在前面的例子中,也就是汉字的个数。

条件概率

马尔可夫模型的求解落脚点还是在求解P(Xn+1|Xn)的值上面,根据条件概率的公式,最终演化为求解P(Xn+1)的P(Xn)的值。通常,这两个值是使用大量语料库经过统计得到的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值