隐马尔可夫模型(hidden Markov model,HMM)是可用于标注问题的统计学习模型,描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型。
基本概念
隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测从而产生观测随机序列的过程。
- 状态序列(state sequence):隐藏的马尔可夫链随机生成的状态序列;
- 观测序列(observation sequence):每个状态生成一个观测,而由此产生的观测的随机序列。
- 时刻:序列的每一个位置。

通过上图我们可以清楚地看到,状态序列是基于马尔可夫链的性质生成的——当前时刻的状态仅依赖于前一时刻的状态。状态序列中每个状态生成一个专属于当前状态的观测,因此生成了一条观测序列。此外,这条马尔可夫链是无法被观测到的,因此被称为隐马尔可夫模型。
我们可以将上图的隐马尔可夫模型结构图拆分为静态和动态两部分来理解:
- 静态:模型各个节点所代表的含义;
- 动态:数据在模型各个节点的流动。
上图中的所有 state 即为状态的集合,我们用 Q 来表示,用 S 来表示状态的数目;所有的 ob 即为观测的集合,用 V 来表示,用 M 来表示观测的数目。N 表示序列的长度(这里和《统计学习方法》略有不同,使用 S 来表示状态的数目,N 表示序列的长度,这主要是绘制图的时候用 N 代替了 T,捂脸哭.jpg)。
Q={
q1,q2,…,qS},V={
v1,v2,…,vM}I=(i1,i2,…,iN),O=(o1,o2,…,oN) Q = \{q_1, q_2, \ldots, q_S\}, \quad V = \{v_1, v_2, \ldots, v_M\} \\ I = (i_1, i_2, \ldots, i_N), \quad O = (o_1, o_2, \ldots, o_N) Q={
q1,q2,…,qS},V={
v1,v2,…,vM}I=(i1,i2,…,iN),O=(o1,o2,…,oN)
接下来,我们就来了解下隐马尔可夫模型是如何根据马尔可夫链从第一个状态开始,不断随着时间的增长,从而生成一条状态序列。
举个不恰当的例子,我们将人一天的行为归纳为三种状态:娱乐、学习和工作。在这个例子中,状态集合 Q = {娱乐, 学习, 工作},S = 3,即 q1 = 娱乐、q2 = 学习、q3 = 工作。
首先,我们需要确定处于起始时刻人的状态,此时有三种可能:娱乐、学习和工作,每个状态都有相应的发生概率,假设娱乐的概率为 0.3,学习的概率为 0.4,工作的概率为 0.3。这相当于我们为初始时刻的状态设定了一个状态的概率分布,在隐马尔可夫模型中被称为初始概率分布。

通常我们会用 π 来表示初始状态概率向量:
π=(πi)πi=P(i1=qi),i=1,2,…,S \pi = (\pi_i) \quad \pi_i = P(i_1 = q_i), i =1, 2, \ldots, S π=(πi)πi=P(i1=qi),i=1,2,…,S
表示时刻 t = 1 处于状态 qi 的概率。在该例子中:
π1=P(i1=q1=娱乐)=0.3π1=P(i1=q2=学习)=0.4π1=P(i1=q3=工作)=0.3 \pi_1 = P(i_1=q_1=\text{娱乐}) = 0.3 \\ \pi_1 = P(i_1=q_2=\text{学习}) = 0.4 \\ \pi_1 = P(i_1=q_3=\text{工作}) = 0.3 π1=P(i1=q1=娱乐)=0.3π1=P(i1=q2=学习)=0.4π1=P(i1=q3=工作)=0.3
接着,我们需要根据初始时刻(t1)的状态来生成下一个时刻(t2)的状态。假设,初始时刻 t1 的状态为学习,但因为人是有惰性的,前一天学习后,第二天就不会选择学习和工作。因此,t2 时刻的状态只能为娱乐。如果将娱乐、学习和工作当作数据结构中图的三个顶点,则状态间的跳转相当于顶点之间的有向边,例如学习->娱乐,表示从顶点“学习”指向顶点“娱乐”。

本文介绍了隐马尔可夫模型(HMM),一种用于序列标注和预测的统计学习模型。HMM由隐藏的马尔可夫链生成观测序列,涉及初始状态概率向量π、状态转移概率矩阵A和观测概率矩阵B。文章通过实例解释了模型的工作原理和基本假设。
基本概念&spm=1001.2101.3001.5002&articleId=106506110&d=1&t=3&u=6ad0cc6b644848ef91e4e872099fb86d)
1837

被折叠的 条评论
为什么被折叠?



