明天中午吃什么(马尔可夫链)<1>
· 一个奇特的汉堡店
传说,在有巨龙盘踞的北理工,有这样一家神奇的汉堡店:每天中午只售卖汉堡、披萨、热狗三种食品,且售卖的产品完全由前一天售卖的产品来决定。如果前一天卖了热狗今天就不能卖汉堡,前一天卖了披萨今天就只能继续卖披萨。用状态图表示就会得到如下的图片:
如果上述过程中的每一条转换路径的概率均是已知值,那么这个过程我们就可以称之为一条马尔可夫链。
下面我们来从数学角度对马尔可夫链进行分析:
假定随机过程X(t)在每一个时刻tn的采样为
X
n
=
X
(
t
n
)
Xn=X(t_n)
Xn=X(tn),Xn所可能取的状态(即可能值)为a1,a2,…,an之一,而且过程只在
t
1
,
t
2
,
.
.
.
,
t
n
t_1,t_2,...,t_n
t1,t2,...,tn可列个时刻发生状态转移。在这一情况下,若过程X(t)在t{m+k}时刻变成任一状态
a
i
m
+
k
a^{i_{m+k}}
aim+k(i=1,2,…,N)的概率,只与过程在
t
m
t_m
tm时刻的状态有关,而与过程在t_m时刻以前的状态无关,用公式表示即为下式
这样的随机过程被称为马尔可夫链。本质上就是在时间维度上也离散的马尔可夫序列。
· 汉堡店的惊天秘辛(隐马尔科夫模型)
由于汉堡店的地理位置位于巨龙的巢穴旁边,所以实际上这个汉堡店售卖的食品我们是没有办法得知的。但是脑子不太正常的汉堡店老板却想要躺在宿舍统计出每天售卖的食品种类。这个难题难住了汉堡店的所有员工。
面对这个难题,北理工的勇士们想出了一个办法。因为巨龙每天中午都会在汉堡店就餐,巨龙的心情状态有两种:高兴和不悦,这完全取决于午饭是否符合巨龙的胃口。此时,汉堡店售卖的商品的这一条马尔可夫链就被隐藏了起来,但是我们仍然可以通过观察巨龙的心情状态来推测汉堡店售卖的食品种类。这样汉堡店售卖的商品与巨龙的心情就共同构成了一个隐马尔可夫过程。用状态转换图,就可以表示程如下的过程:
隐马尔可夫模型是一个统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。是马尔可夫链的一种,它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率密度分布表现为各种状态,每一个观测向量都是由一个具有相应概率密度分布的状态序列产生。可以视为是一个具有有限状态数的隐含马尔可夫链以及其的观测随机函数集组成的。其中,我们把马尔可夫链生成的序列称为状态序列,观测到的随机变量组成的序列称为观测序列。
隐马尔可夫模型实际上是可以由初始状态概率向量 π \mathbf{\pi} π、状态转移概率矩阵A和观测概率矩阵B确定,这三者被称为隐马尔可夫过程的三要素,其中 π \mathbf{\pi} π和A决定状态序列,B决定观测序列。所以一个隐马尔可夫模型λ可以用三要素的一个三元表达式表示: λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π).
我们继续回头看这个巨龙的例子,不难发现,我们做出了两个假设,分别是:
-
观测独立性假设,即假设任意时刻的观测只依赖于该时刻的马尔可夫链的状态,与其他观测及状态无关。
-
模型中的马尔可夫链是齐次的。
下面我们对隐马尔科夫模型进行求解,不难发现实际上要解决的问题一共有三个,分别是:
(1) 概率求解问题:给定模型λ与一个观测序列,计算在模型λ下此观测序列出现的概率。
(2) 模型学习问题:给定观测序列如何确定模型λ的各项参数。
(3) 模型预测问题:给定观测序列如何确定出现概率最大的状态序列。
至于此部分内容,还请看下回分享。
鄙人才疏学浅,文章难免有所漏洞,望各位不吝赐教!