隐马尔可夫基本思想(HMM)

写在前面

我在学习语音处理的时候,课上老师花了很大的精力给我们讲解 HMM 算法。然而当时没有认真听,直到快考试了,才去学。一直觉得 HMM 是一个很神奇的东西,但搞懂它的思想其实并不难。本文不讲算法,只为读者介绍 HMM 的基本思想。

马尔科夫链

开始,一定要明白马尔科夫链是个什么东西,这是理解 HMM 的基础。

马尔科夫链是马尔科夫随机过程的特殊情况,它有两个参数——时间和状态,这两个参数都是离散的。数学上的定义如下:

随机序列 X t X_t Xt,在任一时刻 t t t,它可以处在状态 θ 1 , . . . , θ N \theta_1, ..., \theta_N θ1,...,θN,且它在 t + k t + k t+k 时刻所处的状态为 q t + k q_{t+k} qt+k 的概率,只与它在 t 时刻的状态 q t q_t qt 有关,而与 t 时刻以前它所处的状态无关,即有
P ( X t + k = q t + k ∣ X t = q t , X t − 1 = q t − 1 , . . . , X 1 = q 1 ) = P ( X t + k = q t + k ∣ X t = q t ) P(X_{t+k} = q_{t+k}|X_t=q_t, X_{t-1}=q_{t-1}, ..., X_1 = q_1) = P(X_{t+k} = q_{t+k}|X_t=q_t) P(Xt+k=qt+kXt=qt,Xt1=qt1,...,X1=q1)=P(Xt+k=qt+kXt=qt)式中 q 1 , q 2 , q 3 , . . . , q m , q m + k ∈ ( θ 1 , θ 2 , . . . , θ N ) q_1,q_2,q_3, ..., q_m,q_{m+k}\in(\theta_1,\theta_2,...,\theta_N) q1,q2,q3,...,qm,qm+k(θ1,θ2,...,θN)则称 X t X_t Xt 为马尔科夫链,并且称 P i j P_{ij} Pij 为 k 步转移概率,表示如下:
P i j ( t , t + k ) = P ( q t + k = θ j ∣ q t = θ i ) P_{ij}(t,t+k) = P(q_{t+k} = \theta_j|q_t=\theta_i) Pij(t,t+k)=P(qt+k=θjqt=θi)

简单地说,就是当前时刻 t 的状态,只与之前的一个时刻 t-k 的状态有关,跟其他任何状态都没关系。

这个定义也有特殊的情况,如果状态转移与时刻 t 无关,即任一时刻 t 的状态,它对 t + k 时刻的状态影响是相同的,那么公式就可以表示为:

P i j ( t , t + k ) = P i j ( k ) P_{ij}(t,t+k) = P_{ij}(k) Pij(t,t+k)=Pij(k)

这时的马尔科夫链称为齐次马尔科夫链

更特殊的话,就可以令 k = 1,这时,当前时刻的状态,就只与前一个时刻的状态有关,此时, P i j ( 1 ) P_{ij}(1) Pij(1) 称为一步转移概率,简称转移概率,记为 a i j a_{ij} aij

由于 1 ≤ i , j ≤ N 1\leq i,j\leq N 1i,jN,于是, a i j a_{ij} aij 就可以构成一个N * N 的转移矩阵。这就是我们本文需要用到的转移矩阵,可以如下表示:

A = [ a 11 ⋯ a 1 N ⋮ ⋮ a N 1 ⋯ a N N ] A = \begin{bmatrix} a_{11} & \cdots & a_{1N} \\ \vdots & & \vdots \\a_{N1} & \cdots & a_{NN} \end{bmatrix} A=a11aN1a1NaNN

此外,需要注意的是,想到得到概率分布,还需要给定初始的概率 π i \pi_i πi,后面解释 HMM 时再介绍。

HMM 基本思想

HMM 是在马尔科夫链的基础上建立起来的,它是一个双重随机过程

假设有 N 个缸,每个缸中都有多种不同颜色的球,我们根据一个初始概率,随机地选择一个缸 i i i,抓取一个球,记下颜色 o 1 o_1 o1 ;然后再根据转移概率,选择下一个缸,再记下颜色 o 2 o_2 o2

这样循环下去,就可以记下一组颜色值 o 1 , o 2 , … o_1,o_2,\dots o1,o2,。但这个颜色值不是跟状态一一对应的,也就是说,选择哪个缸后,并不能确定从这个缸中取出的球的颜色,还需要根据缸中球的分布来判断。

可以看到,观察序列不止与转移序列有关,还与状态中的颜色分布有关。这就是 HMM 的模型,双重随机过程。

下面看一下它的定义。

首先,定义五个参数:

(1)N:模型中马尔科夫链的状态数目。记 N 个状态为 θ 1 , … , θ N \theta_1,\dots,\theta_N θ1θN。上面的实验中,缸的数目就代表了状态的数目 N。

(2)M:每个状态对应的可能观察值的数目。记 M 个观察值为 V 1 , … , V M V_1,\dots,V_M V1,,VM。上面的实验中,球的颜色就代表了观察值,其数目就是 M。

(3) π \pi π初始状态概率,即初始的时候,选择哪个缸的概率。公示表示为:
π i = P ( q 1 = θ i ) , 1 ≤ i ≤ N \pi_i = P(q_1 = \theta_i),1 \leq i \leq N πi=P(q1=θi),1iN

(4)A:转移状态概率矩阵,即上面所说的状态之间的转移概率矩阵。实验中,当前缸选择下一个缸的概率就是从转移矩阵中获得的。

(5)B:观察值概率矩阵。即在第 j 个缸中,选择第 k 个颜色的概率。公示表示为:
b j k = P ( o t = V k ∣ q t = θ j ) , 1 ≤ j ≤ N , 1 ≤ k ≤ M b_{jk} = P(o_t = V_k | q_t = \theta_j), 1 \leq j \leq N, 1 \leq k \leq M bjk=P(ot=Vkqt=θj),1jN,1kM

这样,HMM 就可以表示为:

λ = ( N , M , π , A , B ) \lambda = (N,M,\pi,A,B) λ=(N,M,π,A,B)

简写为:

λ = ( π , A , B ) \lambda = (\pi,A,B) λ=(π,A,B)

最后

通俗地说,HMM 分为两部分,一部分是马尔科夫链,由 π , A \pi, A π,A 表示。代表了状态的转移概率,即实验中选择缸的概率。另一部分是一个随机过程,由 B B B 表示,产生的输出是观察序列。实验中,球的颜色分布就代表了 B B B

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值