隐马尔科夫模型HMM

HMM的贝叶斯网络

HMM (Hidden Markov Model)是关于时序的概率模型,描述由一个隐藏的马尔科夫链生成不可观测的状态随机序列,再由各个状态生成观测随机序列的过程.

HMM的定义

HMM的参数

是所有可能的状态的集合, 其中 是可能的状态数;

是所有可能的观测的集合, 其中 是可能的观测数;

是长度为 的状态序列; 是对应的观测序列:

HMM的三要素

HMM由初始概率分布 (向量)、状态转移概率分布 (矩阵) 以及观测概率分布 (矩阵) 确定. 决定状态序列, 决定观测序列。因此, HMM可以用三元符号表示, 称为HMM的三要素:

  • 是状态转移概率矩阵:

    其中, 是在时刻 处于状态 的条件下时刻 转移到状态 的概率:

    {% math %}a{ij}=P(i{t+1}=q_j\mid i_t=q_i), \quad i=1,2,\cdots,N;j=1,2,\cdots,N{% endmath %}

  • 是观测转移概率矩阵:

    {% math %}B=[b{j}(k)]{N\times M}{% endmath %}

    其中, 是在时刻 处于状态 的条件下生成观测 的概率:

    {% math %}b_j(k)=P(o_t=v_k\mid i_t=q_j),\quad k=1,2,\cdots,M;j=1,2,\cdots,N{% endmath %}

  • 是初始状态概率向量:

    其中, {% math %}\pi_i{% endmath %} 是时刻 {% math %}t=1{% endmath %} 处于状态 {% math %}q_i{% endmath %} 的概率

    {% math %}\pi_i=P(i_1=q_i),\quad i=1,2,\cdots,N{% endmath %}

HMM的两个假设

  • 齐次马尔可夫性假设 任意时刻 t 的状态, 只依赖于其前一刻的状态, 与其他时刻的状态及观测无关, 也与时刻 t 无关.

    {% math %}P(it\mid i{t-1},o{t-1},\cdots,i_1,o_1)=P(i_t\mid i{t-1}), \quad t=1,2,\cdots,T{% endmath %}

  • 观测独立性假设 任何时刻的观测只依赖于该时刻的马尔科夫链状态. 与其他观测及状态无关.

    {% math %}P(ot\mid i{T},o{T},\cdots,i{t},o{t},\cdots,i_1,o_1)=P(o_t\mid i{t}), \quad t=1,2,\cdots,T{% endmath %}

HMM的三个基本问题

  • 概率计算问题: 前向-后向算法——动态规划
    • 给定模型 和观测序列
    • 计算模型 下观测序列 出现的概率
  • 学习问题: Baum-Welch算法(状态未知)——EM
    • 已知观测序列
    • 估计模型 的参数,使得在该模型下观测序列 最大
  • 预测问题: Viterbi算法——动态规划
    • 已知模型 , 和观测序列
    • 求给定观测序列条件概率 最大的状态序列

概率计算问题

直接计算法

  • 状态序列 的概率:

  • 对固定的状态序列 ,观测序列 的概率是:

  • O 和 I 同时出现的联合概率:

  • 对所有可能的状态序列I求和,得到观测序列O的概率

前向 - 后向概率

  • 前向概率: 给定隐马尔科夫模型 λ, 定义到时刻 t , 部分观测序列为 且状态为 的概率

  • 后向概率: 给定隐马尔科夫模型 λ, 定义到时刻 t , 状态为 的条件下, 从 t+1 到 T 的部分 观测序列为 的概率

前向算法

(1) 初值:

(2) 递推: 对于

(3) 最终:

后向算法

(1) 初值:

(2) 递推: 对于

(3) 最终:

学习问题

Baum-Welch算法

预测算法

Viterbi算法


反馈与建议

参考文献

results matching ""

    No results matching ""