Hidden Markov Model,隐马尔可夫模型
一种对时间(或状态)序列建模的模型。HMM 依赖于一阶马尔可夫假设。
HMM 假设模型有多个内部状态,各个内部状态会互相转变。每个内部状态会引出一组可观测的状态。人们仅能从可观测状态了解 HMM 的变化。
模型简述
HMM 是一个图,从状态看分为两个部分:
- 所有可能的隐藏状态
- 所有可能的可见状态
HMM 在时间上的演变,得到一个以 T 为长度的序列
- 隐藏状态序列
- 观察状态序列
- 一阶齐次马尔可夫假设- 描述状态转移:t 时刻的隐藏状态仅取决于前一个隐藏状态。
由此组成状态转移矩阵
- 观测独立性假设 - 对于输出单元的概率假设:能观测到状态仅依赖于当前的隐藏状态
由此组成生成概率矩阵
- 初始状态:再定义一个初始状态
局限:可能不适应复杂依赖关系;需要处理数值下溢
HMM 的基本构成
- 隐藏状态和可见状态:模型的内部状态是隐藏的,可观测的数据由隐藏状态导出。
- 隐藏状态是内部状态,无法被直接观测,表示事物的真实发展规律
- 可见状态可被观测,但是只能从观测的数值间接了解到隐藏的内部状态
- 三部分参数:
- 初始状态分布 ,初始状态概率
- 状态转移矩阵 A,状态之间发生转换的概率, 表示 i 到 j 的转移概率
- 观测概率矩阵 B,表示状态生成观测概率, 表示 j 生成观测 k 的概率。
三大问题
评估问题:模型参数 - 观测序列
目标:
O 表示观测序列, 表示模型参数。意为在参数模型的基础上,获得观测序列的概率。
前向算法:从初始状态开始,递推计算后续各个序列的概率。
:处于 t 时刻,状态 i ,且观测到前 t 个数据的概率
初始化,计算 t=1 的概率值:
递推,从 t=1 开始,向后计算每个时刻的概率值:
使用状态转移矩阵和观测矩阵,计算一个累加,获得当前状态的概率。
终止,一直计算到 t=T 的最终状态。
与此类似的,还有后向算法,逆向计算后向概率
解码问题:模型参数和观测序列 - 内部状态
目标:
递推公式:
解释:
- : t 时刻到达状态 i 的最大概率
- :记录路径
- 对当前状态,取上一个状态的最大值求解。
- 每一个状态的计算的 A B,转移矩阵和概率矩阵
学习问题:观测序列 - 模型参数
EM算法:利用两个期望直接更新参数
- E 步:计算期望统计量,状态转移期望 ,状态占用期望
- M 步:利用期望更新参数: