准备
随机过程是一连串随机事件动态关系的定量描述。
马尔可夫过程,Markov process,是随机过程的一种。液体中微粒所作的布朗运动就是一个马尔可夫过程。
马尔可夫链,Markov chain,是具有马尔可夫性质的随机变量的一个数列,如
(X1,X2,X3,...)(1-1)
Xn+1表示在时间n+1时的状态,它仅依赖于Xn,可用式(1-2)表示:
P(Xn+1=x|X1=x1,X2=x2,...,Xn=xn)=P(Xn+1=x|Xn=xn) (1-2)
马尔可夫性质上面这个恒等式可以被看作是马尔可夫性质。
隐马尔可夫模型
HMM,Hidden Markov Model,隐马尔可夫模型。
隐马尔可夫模型可以用五个元素来描述,包括2个状态集合和3个概率矩阵:
1. 隐含状态S
这些状态之间满足马尔可夫性质,是马尔可夫模型中实际所隐含的状态。这些状态通常无法通过直接观测而得到。可记隐含状态数目为N。
2. 可观测状态O
在模型中与隐含状态相关联,可通过直接观测而得到。可观测状态的数目不一定要和隐含状态的数目一致,数目可记为M。
3. 初始隐含状态概率矩阵π
表示隐含状态在初始时刻t=1的概率矩阵,(例如t=1时,P(S1)=p1、P(S2)=P2、P(S3)=p3,则初始状态概率矩阵 π=[ p1 p2 p3 ].
4. 隐含状态转移概率矩阵A
其中Aij = P( Sj | Si ),1≤i≤N,,1≤j≤N。
表示在 t 时刻、隐含状态为 Si 的条件下,在 t+1 时刻隐含状态是 Sj 的概率。
5. 输出概率矩阵 B
其中 Bij = P( Oi | Sj ), 1≤i≤M,1≤j≤N.
表示在 t 时刻、隐含状态是 Sj 条件下,观察状态为 Oi的概率。
通俗
掷骰子。详见: http://www.zhihu.com/question/20962240
准备三个不同的骰子。第一个骰子是我们平常见的骰子(称这个骰子为D6),6个面,每个面(1,2,3,4,5,6)出现的概率是1/6。第二个骰子是个四面体(称这个骰子为D4),每个面(1,2,3,4)出现的概率是1/4。第三个骰子有八个面(称这个骰子为D8),每个面(1,2,3,4,5,6,7,8)出现的概率是1/8。
现在开始掷骰子,每次都先从三个骰子里随机挑一个,再用它掷出去。重复n次,就得到了n个数字。假设实验10次,摸到的骰子依次是(D6,D8,D8,D6,D4,D8,D6,D6,D4,D8)(2-1)结果为:(1,6,3,5,2,7,3,5,2,4)(2-2)。
数列(2-1)叫做隐含状态链。隐含状态转移概率矩阵描述了隐含状态链的发展。
数列(2-2)叫做可见状态链。隐含状态转移概率矩阵和状态输出矩阵共同描述了可见状态链的发展。
图1 HMM示意图
对于HMM来说,如果提前知道所有隐含状态之间的转换概率和所有隐含状态到所有可见状态之间的输出概率,做模拟是相当容易的。但是应用HMM模型时候呢,往往是缺失了一部分信息的,有时候你知道骰子有几种,每种骰子是什么,但是不知道掷出来的骰子序列;有时候你只是看到了很多次掷骰子的结果,剩下的什么都不知道。如果应用算法去估计这些缺失的信息,就成了一个很重要的问题。一种有价值的问题见下。
知道骰子有几种(隐含状态集合),不知道每种骰子是什么(状态输出概率),观测到很多次掷骰子的结果(可见状态集合),想要反推出每种骰子是什么(状态输出概率)。