如题, 希望我不会说得太啰嗦.
Intro
这是一种可用于标注问题的统计学模型, 其描述由隐藏的Markov
链随机生成观测序贯的过程, 本质上属于生成模型.
或将从两个方面切入隐Markov
模型: 隐Markov
模型的基本概念, 与隐Markov
模型的概率计算算法, 学习算法以及预测算法.
Definitions
Definition 10.1
: HMM (Hidden Markov Model, 隐Markov
模型) 1 2 是关于时间序贯的概率模型, 描述由一个隐藏的Markov
链生成不可观测的状态随机序贯, 再由各个状态生成一个观测而产生观测随机序贯的过程.
隐藏的Markov
链随机生成的状态所组成的序贯称为状态序贯 (State Sequence); 每个状态生成一个观测, 而由此产生的观测的随机序贯称为观测序贯 (Observation Sequence).
序贯的每一个位置又可以看作是一个时刻.
HMM由初始概率分布
, 状态转移概率分布
, 以及观测概率分布
所确定.
其形式定义如下: 设
- $ Q = \{ q_1, q_2, \cdots, q_M \} $ 是所有可能的状态的集合, $ V = \{ v_1, v_2, \cdots, v_N \} $ 是所有可能的观测的集合, 其中
M
为可能的状态数,N
为可能的观测数; - $ I = (i_1, i_2, \cdots, i_T) $ 是长度为
T
的状态序贯, $ O = (o_1, o_2, \cdots, o_T) $ 为对应的观测序贯; - $ A = [a_{kl}]_{M \times M} = [ \Pr(i_{\tau + 1} = q_l | i_\tau = q_k) ]_{M \times M} $ 为状态转移概率矩阵, 其中
k, l = 1, 2, ..., M
, 同时 $ a_{kl} = \Pr(i_{\tau + 1} = q_l | i_\tau = q_k) $ 为在时刻 $ \tau $ 处于状态 $ q_k $ 的条件下在下一时刻( $ \tau + 1 $ )转移到状态 $ q_l $ 的概率; - $ B = [b_l(j)]_{M \times N} = [\Pr(o_\tau = v_j | i_\tau = q_l)]_{M \times N} $ 为观测概率矩阵, 其中
j = 1, 2, ..., N
, 同时 $ b_l(j) = \Pr(o_\tau = v_j | i_\tau = q_l) $ 为在时刻 $ \tau $ 处于状态 $ q_l $ 条件下生成观测 $ v_j $ 的概率; - $ \pi = (\Pr(i_1 = q_k))_{k=1}^M $ 为初始状态的概率矢量, 其中的第
k
个分量为处于状态 $ q_k $ 的概率;
如上文所属, 隐Markov
模型由初始状态概率矢量 $ \pi $, 状态转移概率矩阵A
, 与观测概率矩阵B
所决定.
$ \pi $ 和A
决定状态序贯, B
决定观测序贯.
因此, 隐Markov
模型可以用三元组 $ \lambda = (A, B, \pi) $ 表示, 这也称为隐Markov
模型的三要素.
Instance: Boxes & Balls
Instance 10.1
: 假设有4
个盒子, 每个盒子里都装有青蓝两种颜色的球, 盒子里的青蓝球数如下
Box ID | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Num of Cyan Balls | 5 | 3 | 6 | 8 |
Num of Blue Balls | 5 | 7 | 4 | 2 |
现按照如下方法抽选球, 产生一个球的颜色的观测序贯:
- 开始, 从
4
个盒子里以等概率随机选取1
个盒子, 从中随机抽选一个球, 记录颜色后放回; - 然后, 从当前盒子随即转移至下一个盒子, 规则是:
- 如若当前盒子是盒子
1
, 则下一个盒子一定是盒子2
, - 如若当前是盒子
2
或3
, 则分别以概率0.4
或0.6
转移至左边(id-1)
或右边(id+1)
的盒子, - 如若当前是盒子
4
, 则各以0.5
的概率停留在盒子4
或转移至盒子3
;
- 如若当前盒子是盒子
- 确定转移的盒子后, 再从这个盒子里随机抽选
1
个球, 记录其颜色, 放回;
如此往复, 重复进行5
次, 得到一个球的颜色的观测序贯:
在这个过程中, 观察者只能观测到球的颜色的序贯, 观测不到球是从哪个盒子取出的, 即观测不到盒子的序贯.
在这个例子中有两个随机序贯, 一个是盒子的序贯(状态序贯), 一个是球的颜色的观测序贯(观测序贯), 前者是隐藏的, 只有后者是可观测的.
这是一个隐马尔可夫模型的例子, 根据所给条件, 可以明确状态集合
, 观测集合
, 序贯长度
, 以及模型的三要素.
盒子对应状态, 其集合为
球的颜色对应观测, 其集合为
状态序贯与观测序贯的长度T=5
.
初始概率分布 $ \pi = (0.25, 0.25, 0.25, 0.25)^T $,
状态转移概率分布为
观测概率分布为
Generating Observation Sequence
根据HMM定义, 可以把一个长度为T
的观测序贯 $ O = \{ o_1, o_2, \cdots, o_T \} $ 的生成过程描述如下:
Algorithm 10.1
: 观测序贯的生成
- Input: HMM $ \lambda = (A, B, \pi) $, 观测序贯长度
T
; - Output: 观测序贯 $ O = \{ o_1, o_2, \cdots, o_T \} $;
- 根据初始状态分布 $ \pi $ 产生状态 $ i_1 $;
- 令 $ \tau = 1 $;
- 根据状态 $ i_1 $ 的观测概率分布 $ b_{i_\tau}(j) $ 生成 $ o_\tau $;
- 根据状态 $ i_1 $ 的状态转移概率分布 $ \{ a_{ {i_\tau}{i_{\tau+1} } } \} $ 产生状态 $ i_{\tau + 1} $, 其值域为
{1,...,M}
; - 令 $ \tau += 1 $; 如若 $ \tau < T $ 则回到第
3
步, 否则终止.
3 Basic Problems
HMM有如下所述的三个基本问题:
- 概率计算问题: 给定模型 $ \lambda = (A, B, \pi) $ 和观测序贯 $ O = (o_1, o_2, \cdots, o_T) $, 计算在模型 $ \lambda $ 下观测序贯
O
出现的概率 $ P(O | \lambda) $; - 学习问题: 已知观测序贯 $ O = (o_1, o_2, \cdots, o_T) $, 估计模型 $ \lambda = (A, B, \pi) $ 参数, 使得在该模型下观测序贯概率 $ P(O | \lambda) $ 最大, 即用极大似然估计的方法估计参数;
- 预测问题, 也称为解码(decoding)问题: 已知模型 $ \lambda = (A, B, \pi) $ 和观测序贯 $ O = (o_1, o_2, \cdots, o_T) $, 求对给定观测序贯条件概率 $ P(I|O) $ 最大的状态序贯 $ I = (i_1, i_2, \cdots, i_T) $ 即给定观测序贯, 求最有可能的对应的状态序贯;
后面会补充这些问题的解法.
References
1. 李航, 统计学习方法 (第一版), 清华大学出版社, 2012, ISBN: 978-7-302-27595-4
↩
2. 参考 pinard
的博客园文章 隐马尔科夫模型HMM(一)HMM模型 以及其它资料 3 4 5 6 ↩
3. liusisi_
的CSDN博客 HMM(隐马尔可夫)简介 ↩
4. 百度百科词条 隐马尔可夫模型 ↩
5. Tecdat 隐马尔可夫模型hmm识别不断变化的市场条件 ↩
6. 「隐马尔可夫模型HMM1」你了解隐马尔可夫模型吗? Bilibili: av498230356
↩