马尔可夫模型的应用

2024-05-13

1. 马尔可夫模型的应用

主要应用于语音识别、音字转换、词性标注。自然语言是人类交流信息的工具。很多自然语言处理问题都可以等同于通信系统中的解码问题--一个人根据接收到的信息,去猜测发话人要表达的意思。这其实就象通信中,人们根据接收端收到的信号去分析、理解、还原发送端传送过来的信息。比如一个典型的通信系统中:其中s1,s2,s3...表示信息源发出的信号。o1,o2,o3...是接受器接收到的信号。通信中的解码就是根据接收到的信号o1,o2,o3...还原出发送的信号s1,s2,s3...。其实人们平时在说话时,脑子就是一个信息源。人们的喉咙(声带),空气,就是如电线和光缆般的信道。听众耳朵的就是接收端,而听到的声音就是传送过来的信号。根据声学信号来推测说话者的意思,就是语音识别。这样说来,如果接收端是一台计算机而不是人的话,那么计算机要做的就是语音的自动识别。同样,在计算机中,如果我们要根据接收到的英语信息,推测说话者的汉语意思,就是机器翻译;如果我们要根据带有拼写错误的语句推测说话者想表达的正确意思,那就是自动纠错。那么怎么根据接收到的信息来推测说话者想表达的意思呢?人们可以利用叫做"隐含马尔可夫模型" (HiddenMarkovModel) 来解决这些问题。以语音识别为例,当我们观测到语音信号o1,o2,o3时,要根据这组信号推测出发送的句子s1,s2,s3。显然,人们应该在所有可能的句子中找最有可能性的一个。用数学语言来描述,就是在已知o1,o2,o3,...的情况下,求使得条件概率P(s1,s2,s3,...|o1,o2,o3....)达到最大值的那个句子s1,s2,s3,...当然,上面的概率不容易直接求出,于是人们可以间接地计算它。利用贝叶斯公式并且省掉一个常数项,可以把上述公式等价变换成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,...是无法直接观测到的。隐含马尔可夫模型的应用远不只在语音识别中。在上面的公式中,如果我们把s1,s2,s3,...当成中文,把o1,o2,o3,...当成对应的英文,那么人们就能利用这个模型解决机器翻译问题;如果我们把o1,o2,o3,...当成扫描文字得到的图像特征,就能利用这个模型解决印刷体和手写体的识别。P(o1,o2,o3,...|s1,s2,s3....)根据应用的不同而又不同的名称,在语音识别中它被称为“声学模型”(AcousticModel),在机器翻译中是“翻译模型”(TranslationModel)而在拼写校正中是“纠错模型”(CorrectionModel)。而P(s1,s2,s3,...)就是我们在系列一中提到的语言模型。在利用隐含马尔可夫模型解决语言处理问题前,先要进行模型的训练。常用的训练方法由伯姆(Baum)在60年代提出的,并以他的名字命名。隐含马尔可夫模型在处理语言问题早期的成功应用是语音识别。七十年代,当时IBM的FredJelinek(贾里尼克)和卡内基·梅隆大学的JimandJanetBaker(贝克夫妇,李开复的师兄师姐)分别独立地提出用隐含马尔可夫模型来识别语音,语音识别的错误率相比人工智能和模式匹配等方法降低了三倍(从30%到10%)。八十年代李开复博士坚持采用隐含马尔可夫模型的框架,成功地开发了世界上第一个大词汇量连续语音识别系统Sphinx。马尔可夫模型的使用方法它可以用来预测具有等时间隔(如一年)的时刻点上各类人员的分布状况。它是根据历史数据,预测等时间间隔点上的各类人员分布状况。此方法的基本思想上根据过去人员变动的规律,推测未来人员变动的趋势。步骤如下:①根据历史数据推算各类人员的转移率,迁出转移率的转移矩阵;②统计作为初始时刻点的各类人员分布状况;③建立马尔科夫模型,预测未来各类人员供给状况;使用马尔科夫模型进行人力资源供给预测的关键是确定出人员转移率矩阵表,而在实际预测时,由于受各种因素的影响,人员转移率是很难准确确定出来的,往往都是一种大致的估计,因此会影响到预测结果的准确性。

马尔可夫模型的应用

2. 马尔可夫模型的介绍

马尔可夫模型(Markov Model)是一种统计模型,广泛应用在语音识别,词性自动标注,音字转换,概率文法等各个自然语言处理等应用领域。经过长期发展,尤其是在语音识别中的成功应用,使它成为一种通用的统计工具。

3. 马尔可夫模型的模型简介

  到目前为止,它一直被认为是实现快速精确的语音识别系统的最成功的方法。复杂的语音识别问题通过隐含马尔可夫模型能非常简单地被表述、解决,让人们由衷地感叹数学模型之妙。马尔可夫(1856~1922),苏联数学家。切比雪夫的学生。在概率论、数论、函数逼近论和微分方程等方面卓有成就。

马尔可夫模型的模型简介

4. 马尔可夫模型的假设

在给定时期内从低一层次向高一层次的转移人数,或从某一类型向另一类型转移的人数是起始时刻低层次总人数或某一类型总人数的一个比例,这个比例称为人员转移率。

5. 马尔可夫模型框架

【书籍/课程名称】马尔可夫模型
  
  
 【类型】书籍目录框架/课程框架
  
 【关键词】
  
 * 马尔可夫模型,转移概率,统计均衡,佩龙-弗罗宾尼斯定理,销量-耐久性悖论,马尔可夫决策模型,行动与状态改变,推迟满足感
  
 【摘要】
  
 * 马尔可夫模型用来刻画以一定概率在一组有限的状态之间不断转换的系统。
  
 * 任何一个马尔可夫模型,只要状态集是有限的、不同状态之间的转移概率是固定的、在一系列转移后能够从任何一个状态变换为任何其他状态,而且状态之间不存在固定的循环,就必定会收敛到唯一的统计均衡(statistical equilibrium)。
  
 * 在统计均衡中,单个实体可以继续在各种状态之间移动,但是各种状态之间的概率分布仍然是固定的。
  
  
 
  
 【一、佩龙-弗罗宾尼斯定理】
  
  
 
  
 * 佩龙-弗罗宾尼斯定理(Perron-Frobenius Theorem):一个马尔可夫模型必定收敛于一个唯一的统计均衡,只要它满足如下四个条件:
  
     * 状态集有限:S={1,2,…,K}。
  
     * 固定转换规则:状态之间的转移概率是固定的,即在每个周期中,从状态A转换为状态B的概率总是等于P(A,B)。
  
     * 遍历性(状态可达性):系统可以通过一系列转换从任何状态到达任何其他状态。
  
     * 非循环性:系统不会通过一系列状态产生确定的循环。
  
 * 如果满足这四个假设,那么改变初始状态、历史和干预措施,都不能改变长期中的均衡。
  
 * 需要强调的是,从佩龙-弗罗宾尼斯定理中得出的结论不应该说明历史是不重要的,而应该是:如果历史确实是重要的,那么必定会违背模型的其中一个假设。
  
 * 有两个假设,即状态集有限和非循环性,几乎总是成立的;遍历性通常也能成立;状态之间的转移概率是固定的这个限制是最有可能被违背的假设。因此,这个模型表明,如果历史确实是重要的,那么必定存在某种潜在的结构因素改变了转移概率(或者改变了状态集)。
  
     * 改变家庭状态的政策干预措施,例如旨在帮助成绩落后的学生的特殊帮扶计划,或者食物募捐活动,只能在短期内带来改善,不会改变长期均衡。相比之下,提供资源和培训,以提高人们保住工作的能力,进而减少从就业变为失业概率的干预政策则有可能会改变长期结果。
  
 * 马尔可夫模型为我们提供了一些术语,使我们能够理解状态与转移概率之间的区别。它告诉我们一个基本道理——与其改变当前状态,还不如改变结构因素,而后者更有价值。
  
 * 销量-耐久性悖论(sales-durability paradox)说的是,产品或创意的流行程度与其说取决于它们的相对销量,不如说取决于它们的耐久性。销量-耐久性悖论背后的逻辑,也可以用来解释市场份额与品牌忠诚度(某人改用其他品牌的产品的可能性)之间的正相关关系。
  
  
 
  
 【二、模型应用】
  
  
 
  
 * 【应用举例】
  
 * 我们可以用马尔可夫模型来对四种核酸之间的遗传漂变进行建模分析。
  
 * 我们可以用马尔可夫模型对身体健康演变的轨迹进行建模,那些能够产生更好均衡的健康干预措施是值得追求的。
  
 * 马尔可夫模型还可以用于识别国际危机的不同模式,并能够用于区分会导致战争的过渡与会带来和平的过渡。在这个领域的应用要求我们估计两种不同的模型,如果这两个模型中的转移概率有显著差异,那就可以对现有的各种模式进行比较,然后看哪个过程对数据的拟合更优。
  
 * 这种通过马尔可夫模型将不同模式区分出来的方法,还可以用来辨别书籍或文章的作者。
  
 * 网页排名可以看作随机游走与马尔可夫模型的组合。如果将网页排名视为一种算法,就会发现可以用它来生成任何网络的排名。
  
  
 
  
 * 【适用边界】
  
 * 在应用马尔可夫模型解释现象或预测趋势时,建模者对状态的选择至关重要,状态的选择决定了这些状态之间的转移概率。
  
 * 无论对状态的选择如何,如果四个假设都成立(关键检验将为转移概率是不是能保持不变),那么系统将会存在一个唯一的统计均衡。系统状态的任何一次性变化都最多只能产生一些暂时性的影响。
  
     * 那些试图通过为期只有一两天的活动来激发学生学习兴趣的做法,可能不会产生什么有意义的影响。与此类似,进入社区“送温暖”、来到公园“捡垃圾”的志愿者也可能无法带来什么长期收益。任何一次性的资金涌入,无论其规模大小,影响都会消失,除非它改变了转移概率。
  
 * 马尔可夫模型是通过区分以下两类政策来指导行动的:一类政策能够改变转移概率,而改变转移概率可以产生长期影响;另一类政策只能改变状态,并且只能产生短期影响。如果转移概率无法改变,那么我们必须定期重置状态才能改变结果。
  
 * 并不是每个动态系统都满足马尔可夫模型的假设。在不满足马尔可夫模型假设的情况下,历史、干预政策和事件都可能会产生长期影响。
  
     * 例如,在波利亚过程中,结果改变了长期均衡。对系统的重大干预或冲击可能会改变转移概率甚至是整个状态集。
  
     * 蒸汽机、电力、电报或互联网等重大技术变革,改变了经济的可能状态集。重新界定权力架构或制定新政策的政治和社会运动,也会改变状态集。
  
 * 因此,我们也许更应该将历史视为一个马尔可夫模型序列,而不是视为一个向不可避免的均衡方向发展的过程。
  
  
 
  
 【三、马尔可夫决策模型】
  
  
 
  
 * 马尔可夫决策模型(Markov decision model)是对马尔可夫模型的一种修正,方法是将行动包括进来,行动会带来回报,而回报则以状态为条件,还会影响状态之间的转移概率。
  
 * 考虑到行动对转移概率的影响,最优行动并不一定是能够最大化即时回报的那个行动。(推迟满足感)
  
 * 将一个决策问题表达为一个马尔可夫决策模型,可以告诉我们更好的行动是什么。通过考虑行动对状态的影响,我们会做出更明智的选择。
  
 * 晚睡与早起和锻炼相比,会产生一个更高的直接回报,购买昂贵的咖啡比自己动手制作咖啡产生更高的回报。然而,从长远来看,我们可能会更乐于坚持锻炼和节省咖啡钱。
  
 * 我们总能找到一对相反的谚语。通过将我们的选择嵌入马尔可夫决策模型中,可以使用逻辑来确定在给定的情境下,哪些常识性的建议真的有用。
  
  
 
  
 【四、认知升级】
  
  
 
  
 * 与其改变当前状态,还不如改变结构,而后者更有价值。
  
 * 模型都不一定能给出准确的答案。但是,这些模型确实生成了知识。我们要依靠自己的智慧做出判断:对这个模型与其他模型或直觉结论,该如何进行权衡。

马尔可夫模型框架

6. 从马尔可夫模型到隐马尔可夫模型

 马尔可夫模型个人认为这个概念应该是从 随机过程 里面提出来的,由马尔可夫过程过来的概念。实际上掌握了随机过程里面对马尔可夫过程的特殊情况:离散参数离散状态的马尔可夫链的数学运算的话。就能够很好解决马尔可夫模型上面的计算问题,包括隐马尔科夫模型。讲马尔可夫模型以及过程重点在于其满足的性质-马尔可夫性。
   随机过程:   现实中时常出现,某个事物满足一定的随机分布,但是其随机分布会随着时间的变化而变化。我们假设其在时刻  符合随机分布  并且用随机变量  来表示。假设  。但是在时间  的时候就符合随机分布  并且用随机变量  来表示。假设  。也就是说某个事物的某个特征会随着时间的变化其对应的分布也会发生变化。这样一个总体的过程,称之为 随机过程。
   具体例子:   灯泡寿命问题,灯泡其实在每个时间点上都有一定的可能性会损坏,在这个时间点上损坏的可能性符合一个具体的正态分布(其  是确定的),而随着时间的久远,灯泡损坏的可能性就变大了。所以在之后的某个时间点上灯泡损坏的可能性可能就符合另外一个具体的正态分布(其  就和先前不一样了,会有变坏的趋势)。灯泡损坏在传统的概率论中也是一个经典例子,可能传统的概率论会认为灯泡的寿命长短符合一个随机分布,并且用一个随机变量来表示,我们研究这个分布的特征。这里和传统的概率论中不一样,可以发现的是,引入了随机过程,可以对随机现象更加深入彻底地描述和研究。
   定义随机过程中的一些量。   参数:也就是上述的时间,如果是和时间有关,往往叫做时间序列。但是很多的现象研究不是和时间相关的。
   状态:也就是上述的随着时间变化的随机变量。
   马尔可夫过程:满足马尔科夫性的随机过程。
   以后再解释   马尔可夫性:   马尔可夫链:
   马尔可夫模型和上述的关系。
   具体讲一下 隐马尔可夫模型。
   和普通的马尔可夫不一样,马尔可夫模型是可以确定状态序列的。也就是说序列上的每个项的分布是怎么样的是已知的。而隐马尔可夫模型是连序列上的每个项的是什么分布都不能够知道,都是随机的。
   对于这样的一个随机模型。   经常要解决三个基本问题:   1). 给定  和  ,求解  。 又叫作 计算问题。   2). 给定  和  ,求解一个状态转换序列  ,使得最优可能产生上面的序列。又叫做估计问题。   3). 在模型参数(A或者B)未知或者参数不准确的情况下,由  来调整参数。又叫做训练问题。
   状态一定是按着产生了部分观察序列来的。考虑前缀。  表示处理到了n,观察序列到n为止都是答案的概率。但是不好转移,转移的时候要枚举前后隐藏状态,考虑把隐藏状态也表示出来。  表示处理到了n,并且第n个状态为j的概率。   范围:     结果:     初始化:     转移:  
   知道  和  ,求Q,状态序列,使得产生  的可能性最大。
   定义:        这个函数的含义是:    模型在时刻t处于状态i,观察到  的最佳状态转换序列的概率。    从而有了转移方程:        而  就是     因此  的转移过程构成了一个图,而Q就是上面的最优路径。
   利用  观察数据进行对模型参数  或者  或者  进行预测和修正,训练问题,又可以叫做预测问题。
   并且这个问题其实是带有隐变量的最大似乎估计,也就是EM算法。   直接讲EM,用数学角度来引入 或者 用递归式来求解含有隐变量的参数估计 都是可以的,后者会比较清楚。   但是课上老师给出了另外一种比较好的解释:   考虑第三个问题,实际上应该分两种情况。   1:带指导的参数学习。   给出的数据是这样的:   状态/观察数据。   硬币中的例子就是   H/1 H/1 T/1 T/2 H/3 T/3 T/2 H/1 T/2 H/3 H/3 H/1   其实当拥有了数据 状态/观察数据 是可以直接对参数进行估计的。   假设是齐次的(一般也是齐次的,概率只和状态有关,和时间关系不大,放在词句中就是词语所在的句子的部位关系不是很大,而是上下文内容关系比较大。),
   考虑aij 指的是在状态i和状态j的转移概率。   可以直接对上面2个2个统计进行参数估计。   考虑bi(o_j)也就是状态为i输出为o_j的。   一个一个枚举来即可。   考虑pi_i。也就是初始状态。   一个一个枚举状态即可。
   带有指导的是有缺点的:   数据上不可行,状态这样的数据其实都是人工标注的。   数据量要求比较大。
   但是在NLP中这个方法是很重要的。因为效果比较好。
   2:不带指导的参数学习   数据上只给出了 观察序列,没有状态序列。
   实际上1中就出了答案。没有状态序列,我们就枚举状态序列。   比如上述。如果观察出来了   1 2 2   那么我们就考虑以下   1 2 2   HHH   HHT   HTH   HTT   THH   THT   TTH   TTT   所有情况。   所以就产生了   H/1 H/2 H/2   H/1 H/2 T/2   ....   然后分组进行统计参数估计即可。
   但是这里有两个问题:   1:状态太多了。N^T。   2:给每个状态的权重是一样的。不是很科学。(实际上还行,如果使用熵最大原理。)   那么怎么办?解决2考虑给不同状态加权重,那么要有一个先验的的知识:   咱们先给出先验的 模型参数。   那么就可以计算P(Q|O,人)P(Q,O|人)这样的东西了。   明显可以用P(Q|O,人)作为一个路径序列的权重。   但是这样计算的时候,路径序列很长。并且转移路径还是N^T条。   不可行。
   避开对路径的考虑。考虑参数abt最多只有涉及两个时间点的。   我们如果只关注两个时间点之间的状态。那么就可以变成二维的。   使Q不是一个路径的。而是只是两个时间点之间的状态。   q_t = i q_t+1 = j 。把这个概率计算出来的话。就能直接对aij这样的进行估计了。   (实际上只是换了一种计数方式,就减少了问题规模,因为咱们关注的也只是路径上两个点两个点之间的。)
   由此引出Baum_Welch算法:
   定义以下:
   这样就能对参数们进行评估了。有以下:
   这样只要挑一个满足条件的初始值,然后迭代求解即可。

7. 马尔可夫模型的扩展

在人力资源管理概论中,马尔科夫模型是用来预测等时间间隔点上(一般为一年)各类人员分布状况的一种动态预测技术,是从统计学中借鉴过来的一种定量预测方法。它的基本思路是:找出过去人力资源流动的比例,以此来预测未来人力资源供给的情况。

马尔可夫模型的扩展

8. 马尔可夫分析法的分析模型