目录
阐述
隐马尔可夫模型(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个)。
I是长度为T的状态序列,O是对应的观测数据序列。
A是状态转移概率矩阵:
其中,,是在时刻t处于状态
的条件下在时刻t+1转移到状态
的概率。
B是观测概率矩阵:
其中,,是在时刻t处于
状态的条件下生成观测序列
的概率。
是初始状态概率向量:
其中,,是时刻t=1处于状态
的概率。
隐马尔可夫模型由初始状态概率向量,状态转移概率矩阵A和观测概率矩阵B决定。
和A决定状态序列,B决定观测序列。因此,隐马尔可夫模型
可以用三元符号表示,即
隐马尔可夫模型有3个基本问题:
(1)概率计算问题,在给定模型和观测序列O的情况下,计算在模型
下观测序列O出现的概率
;知道骰子有几种(隐含状态数量),也知道每种骰子掷出来数字的概率(观测概率矩阵),骰子之间如何转换比如现在是D4,下一个是D4,D6,D8的概率(状态转移概率矩阵),根据掷骰子掷出的结果(观测序列),想知道掷出这个结果(观测序列)的概率。
(2)预测问题(解码问题),已知模型和观测序列O,求给定观测序列条件概率
最大的状态序列I ,即给定观测序列,求最有可能的对应的状态序列;骰子有几种(隐含状态数量),也知道每种骰子掷出来数字的概率(观测概率矩阵),骰子之间如何转换(状态转移概率矩阵),根据掷骰子掷出的结果(观测序列),想知道每次(骰子共掷了10次)掷出来的都是哪种骰子(状态序列)