Fuck me on GayHub

隐马尔科夫模型介绍(续)

在前一篇文章隐马尔科夫模型介绍中,我阐述了从概率论到随机过程以及马尔科夫过程的发展,然后简单说明了隐马尔科夫模型。这些都是逐渐从简单到复杂演变的。其实做事情,学习不都是如此吗,我见过有的研究生一上来就看IEEE/EI的论文,希望通过这样的途径去学习一个新的知识,涉足新的领域,最后往往是半途而废,浪费了时间,耽误了自己的前程,最后什么都没学会。因为论文大部分都是在一个领域的某一个小的问题上论述,属于比较高级的知识,没有打好坚实的基础,那些你是看不懂的。

这一篇文章中,我主要简单阐述HMM的定义及三个基本问题。

HMM 的定义

例子:假设有4个盒子,每个盒子里面都装有红白两种颜色的球,盒子里面的红白球数有下表给出:

盒子 1 2 3 4
红球数 5 3 6 8
白球数 5 7 4 2
按照下面的方法抽球,产生一个球的颜色的观测序列:开始,从4个盒子里以等概率随机选取1个盒子,从这个盒子里随机抽取1个球,记录其颜色后,放回。然后,从当前盒子随机转移到下一个盒子,规则是:如果当前盒子是盒子1,那么下一个盒子一定是盒子2,如果当前是盒子2或3,那么分别以概率0.4和0.6转移到左边或者右边的盒子,如果当前是盒子4,那么各以0.5的概率停留在盒子4或者转移到盒子3;确定转移的盒子后,再从这个盒子里随机抽取1个球,记录其颜色,放回;如此下去,重复进行5次,得到一个球的颜色观测序列:
$O=\{红, 红, 白, 白, 红\}$

在这个过程中,观察者只能观测到球的颜色的序列,观测不到球是从哪个盒子取出的,即观测不到盒子的序列。

在这个例子中有两个随机序列,一个是盒子的序列(状态序列),一个是球的颜色序列(观测序列)。前者是隐藏的,后者是可观测的。

隐马尔科夫模型所要做的,就是来为上面的例子建模,通过观测序列,求解最优的的状态序列。由上面的例子可知道,从一个盒子转到下一个盒子有一个转移概率,在一个盒子中,取出一个球,也有一个概率,最开始选择哪个盒子也有一个概率,如果这三个概率确定了,那么,这个隐马尔科夫模型也就确定了。前面的三个概率就分别叫做状态之间的转移概率,由状态生成观测的概率,和初始状态选择概率。这里采用以下符号表示HMM:

$\lambda = (\pi, A, B)$
其中, $\pi$表示初始状态选择概率,$A$表示状态转移概率矩阵,$B$表示由状态生成观测的概率矩阵。

三个基本问题

上面定义的HMM,一般在使用HMM模型的过程中,主要会碰到三个基本问题,如下:

1, 学习问题,已知观测序列

$O = (o_{1}, ...)$
估计模型
$\lambda = (\pi, A, B)$
的参数。

2, 预测问题,已知模型

$\lambda = (\pi, A, B)$
和观测序列
$O = (o_{1})$
求对给定观测序列$I$条件概率$P(I|O)$最大的状态序列$I=(i_{1}, i_{2}, \dots, i_{T})$

3, 概率计算问题。给定模型$\lambda = (\pi, A, B)$和观测序列$O=(o_{1}, o_{2}, \dots, o_{T})$,计算在该模型下,观测序列$O$出现的概率$P(O|\lambda)$。