HMM简述
以骰子为例:
- 骰子的种类数 ——> 隐含状态数量
- 每种骰子是什么 ——> 转换概率
- 掷骰子的结果 ——> 观察状态序列
- 每次所掷的骰子 ——> 隐含状态序列
HMM参数:
- 隐含状态转移概率矩阵A
- 观测状态转移概率矩阵B
- 初始状态矩阵 π \pi π
- 隐含状态序列S
- 观测状态序列O
两个假设:
-
齐次马尔科夫假设。又叫一阶马尔科夫假设,即任意时刻的状态只依赖前一时刻的状态,与其他时刻无关。
-
观测独立性假设。任意时刻的观测只依赖于该时刻的状态,与其他状态无关。
三个问题:
- 评估问题(前向算法):
已知观测序列 O = ( O 1 , O 2 , O 3 , … , O t ) O=(O_1,O_2,O_3,…,O_t) O=(O1,O2,O3,…,Ot)和HMM模型参数λ= ( A , B , π ) (A,B,\pi) (A,B,π),计算得到观测序列的概率,如果存在多个HMM模型,求得的概率最大的就是最佳模型,所以是评估问题。 - 解码问题(Viterbi算法):
已知观测序列 O = ( O 1 , O 2 , O 3 , … , O t ) O=(O_1,O_2,O_3,…,O_t) O=(