隐马尔科夫链(HMM)

 

目录

阐述

1.1 观测序列O出现的概率

1.1.1 穷举法(直接计算法)

1.1.2前向算法

1.1.3 后向算法

1.2 根据观测序列预测状态序列

1.2.1 维特比算法(动态规划)

1.3 估计模型参数

参考文献



阐述

隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。

用一个简单的例子来阐述:

假设我手里有三个不同的骰子。 

第一个骰子6个面(称这个骰子为D6),每个面(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。    

 

假设开始掷骰子,先从三个骰子里挑一个,挑到每一个骰子的概率都是1/3。然后掷骰子,得到一个数字1,2,3,4,5,6,7,8中的一个。不停的重复上述过程,会得到一串数字,每个数字都是1,2,3,4,5,6,7,8中的一个。例如可能得到这么一串数字(掷骰子10次):1 6 3 5 2 7 3 5 2 4

这串数字叫做可见状态链书中的观测数据。但是在隐马尔可夫模型中,不仅仅有这么一串可见状态链,还有一串隐含状态链状态序列。在这个例子里,这串隐含状态链就是你用的骰子的序列。比如,隐含状态链有可能是:D6 D8 D8 D6 D4 D8 D6 D6 D4 D8

一般来说,HMM中说到的马尔可夫链其实是指隐含状态链,因为隐含状态(骰子)之间存在转换概率transition probability)。

可见状态之间没有转换概率,但是隐含状态和可见状态之间有一个概率叫做输出概率(emission probability)。就我们的例子来说,六面骰(D6)产生1的输出概率是1/6。

采用《统计学习方法》书上的定义,将上述描述定义如下:

Q为所有可能发生的状态序列(共N个),V是所有可能的观测数列集合(共M个)。

                                                     Q=\left\{q_{1}, q_{2}, \cdots, q_{N}\right\}, \quad V=\left\{v_{1}, v_{2}, \cdots, v_{M}\right\}

I是长度为T的状态序列,O是对应的观测数据序列。

                                                         I=\left(i_{1}, i_{2}, \cdots, i_{T}\right), \quad O=\left(o_{1}, o_{2}, \cdots, o_{T}\right)

           A是状态转移概率矩阵

                                                                               A=\left[a_{i j}\right]_{N \times N}

其中,a_{i j}=P\left(i_{t+1}=q_{j} | i_{t}=q_{i}\right), \quad i=1,2, \cdots, N ; j=1,2, \cdots, N,是在时刻t处于状态q_{i}的条件下在时刻t+1转移到状态q_{j}的概率。

B是观测概率矩阵

                                                                              B=\left[b_{j}(k)\right]_{N \times M}

其中,b_{j}(k)=P\left(o_{t}=v_{k} | i_{t}=q_{j}\right), \quad k=1,2, \cdots, M ; j=1,2, \cdots, N,是在时刻t处于q_{j}状态的条件下生成观测序列v_{k}的概率。

\pi是初始状态概率向量:

                                                                                    \pi=\left(\pi_{i}\right)

其中,\pi_{i}=P\left(i_{1}=q_{i}\right), \quad i=1,2, \cdots, N,是时刻t=1处于状态q_{i}的概率。

隐马尔可夫模型由初始状态概率向量\pi,状态转移概率矩阵A和观测概率矩阵B决定。\pi和A决定状态序列,B决定观测序列。因此,隐马尔可夫模型\lambda可以用三元符号表示,即

                                                                                 \lambda=(A, B, \pi)

   

隐马尔可夫模型有3个基本问题:

(1)概率计算问题,在给定模型\lambda=(A, B, \pi)和观测序列O的情况下,计算在模型\lambda=(A, B, \pi)下观测序列O出现的概率P(O | \lambda);知道骰子有几种(隐含状态数量),也知道每种骰子掷出来数字的概率(观测概率矩阵),骰子之间如何转换比如现在是D4,下一个是D4,D6,D8的概率(状态转移概率矩阵),根据掷骰子掷出的结果(观测序列),想知道掷出这个结果(观测序列)的概率。

(2)预测问题(解码问题),已知模型\lambda=(A, B, \pi)和观测序列O,求给定观测序列条件概率P(I | O)最大的状态序列I ,即给定观测序列,求最有可能的对应的状态序列;骰子有几种(隐含状态数量),也知道每种骰子掷出来数字的概率(观测概率矩阵),骰子之间如何转换(状态转移概率矩阵),根据掷骰子掷出的结果(观测序列),想知道每次(骰子共掷了10次)掷出来的都是哪种骰子(状态序列)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Foneone

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值