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

本文介绍了HMM(隐马尔科夫模型)的基本思想,包括马尔科夫链的概念、齐次马尔科夫链、一步转移概率及转移矩阵。同时,通过一个直观的实验例子,阐述了HMM作为双重随机过程的特性,以及其在状态序列和观察序列生成中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面

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

马尔科夫链

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

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

随机序列XtX_tXt,在任一时刻 ttt,它可以处在状态 θ1,...,θN\theta_1, ..., \theta_Nθ1,...,θN,且它在 t+kt + kt+k 时刻所处的状态为 qt+kq_{t+k}qt+k 的概率,只与它在 t 时刻的状态 qtq_tqt 有关,而与 t 时刻以前它所处的状态无关,即有
P(Xt+k=qt+k∣Xt=qt,Xt−1=qt−1,...,X1=q1)=P(Xt+k=qt+k∣Xt=qt)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)式中q1,q2,q3,...,qm,qm+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)则称 XtX_tXt 为马尔科夫链,并且称 PijP_{ij}Pij 为 k 步转移概率,表示如下:
Pij(t,t+k)=P(qt+k=θj∣qt=θ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 时刻的状态影响是相同的,那么公式就可以表示为:

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

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

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

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

A=[a11⋯a1N⋮⋮aN1⋯aNN]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 个缸,每个缸中都有多种不同颜色的球,我们根据一个初始概率,随机地选择一个缸iii,抓取一个球,记下颜色 o1o_1o1 ;然后再根据转移概率,选择下一个缸,再记下颜色 o2o_2o2

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

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

下面看一下它的定义。

首先,定义五个参数:

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

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

(3) π\piπ初始状态概率,即初始的时候,选择哪个缸的概率。公示表示为:
πi=P(q1=θ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 个颜色的概率。公示表示为:
bjk=P(ot=Vk∣qt=θj),1≤j≤N,1≤k≤Mb_{jk} = P(o_t = V_k | q_t = \theta_j), 1 \leq j \leq N, 1 \leq k \leq Mbjk=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 表示。代表了状态的转移概率,即实验中选择缸的概率。另一部分是一个随机过程,由 BBB 表示,产生的输出是观察序列。实验中,球的颜色分布就代表了 BBB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值