马尔科夫链和隐马尔可夫模型(转载)
Posted 川师15级软工研=雁=
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了马尔科夫链和隐马尔可夫模型(转载)相关的知识,希望对你有一定的参考价值。
马尔可夫模型是由Andrei A. Markov于1913年提出的
∙∙ 设 SS是一个由有限个状态组成的集合
S={1,2,3,…,n−1,n}S={1,2,3,…,n−1,n} 随机序列 XX 在 tt时刻所处的状态为 qtqt,其中 qt∈Sqt∈S,若有:
则随机序列 XX构成一个一阶马尔科夫链。(Markov Chain)
∙∙ 令 P(qt=j|qt−1=i)=P(qs=j|qs−1=i)P(qt=j|qt−1=i)=P(qs=j|qs−1=i)(说明是齐次的,即转移概率不随时间改变),则对于所有的 i,ji,j有下面的关系成立:
∙∙ 一阶马尔科夫模型可以描述为一个二元组 (S,A)S(S,A)S是状态的集合,而AA是所有状态转移概率组成的一个 nn行 nn列的矩阵,其中每一个元素 aijaij为从状态i转移到状态 jj 的概率。
∙∙ 同有限状态自动机类似,状态转移关系也可以用状态转换图来表示。
马尔科可模型举例
∙∙ 天气的变化,三种状态{1(阴天), 2(多云), 3(晴天)}
∙∙ 今天的天气情况仅和昨天的天气状况有关
∙∙ 根据对历史数据的观察得到下列状态转移关系
∙∙ 对于马尔科夫模型,给定了观察序列,同时也就确定了状态转换序列。例如有关天气状况的观察序列
(晴 晴 晴 阴 阴 晴 云 晴)
则状态转换序列为
(3, 3, 3, 1, 1, 3, 2, 3 )
∙∙ 如果把晴天称为状态3的输出,阴天称为状态1的输出,多云称为状态2的输出。根据观察到的输出序列就可以决定模型中的状态转换序列。(状态和输出是一对一的关系)
坛子与小球
∙∙ 在一个房间中,假定有 NN个坛子,每个坛子中都装有不同颜色的小球,并且假定总共有 MM种不同颜色的小球
∙∙ 一个精灵在房间中首先随机地选择一个坛子,再从这个坛子中随机选择一个小球,并把小球的颜色报告给房间外面的人员记录下来作为观察值
∙∙ 精灵然后把球放回到坛子中,以当前的坛子为条件再随机选择一个坛子,从中随机选择一个小球,并报告小球的颜色,然后放回小球,如此继续…,随着时间的推移,房间外的人会得到由这个过程产生的一个小球颜色的序列
∙∙ 如果令每一个坛子对应与一个状态,可以用一个一阶马尔科夫过程来描述坛子的选择过程
∙∙ 在马尔科夫过程中,每个状态只有一个输出,但在坛子和小球的问题中。可以从每个坛子中拿出不同颜色的小球。也就是每个状态能按照特定的概率分布产生多个输出
∙∙ 在坛子与小球问题中,如果给定一个观察序列(不同颜色的小球序列),不能直接确定状态转换序列(坛子的序列),因为状态转移过程被隐藏起来了。所以这类随机过程被称为隐马尔科夫过程
隐马尔可夫模型
∙∙ 隐马尔可夫模型 λλ可以表示为一个五元组 (S,V,A,B,π)(S,V,A,B,π)
SS 是一组状态的集合
S=1,2,3,…,NS=1,2,3,…,N (状态 nn对应坛子 nn)
VV是一组输出符号组成的集合(取Visible之意?)
V=v1,v2,v3,⋯,vMV=v1,v2,v3,⋯,vM (v1v1对应红色小球)
AA是状态转移矩阵,NN行 NN列
A=[aij],aij=P(qt+1=j|qt=i),1≤i,j≤NA=[aij],aij=P(qt+1=j|qt=i),1≤i,j≤N
BB是输出符号的概率分布
B=bj(k)bj(k)B=bj(k)bj(k) 表示在状态 jj时输出符号 vkvk的概率
bj(k)=P(vk|j),1≤k≤M,1≤j≤Nbj(k)=P(vk|j),1≤k≤M,1≤j≤N
ππ是初始状态概率分布 π={πi}π={πi}
πi=P(q1=i)πi=P(q1=i)表示时刻1选择某个状态的概率
∙∙ 隐马尔可夫过程是一个双重随机过程,其中一重随机过程不能直接观察到,通过状态转移概率矩阵描述。另一重随机过程输出可以观察到的观察符号,这由输出概率来定义
利用隐马尔可夫模型生成观察序列
∙∙ 可以把隐马尔可夫模型看做符号序列的生成装置,按照一定的步骤,隐马尔可夫模型可以生成下面的符号序列:
O=(o1,o2,⋯,oT)O=(o1,o2,⋯,oT)
\\1.\\1. 令 t=1t=1,按照初始状态概率分布 ππ选择一个初始状态 q1=iq1=i
\\2.\\2. 按照状态i输出符号的概率分布 bi(k)bi(k)选择一个输出值 ot=vkot=vk