0%

HMM

1. 马尔可夫性

如果某一时刻 $t \geq 1$ 的随机变量 $xt$ 与其一时刻随机变量 $x{t-1}$ 之间有条件分布 $P({xt}|{x{t-1}})$, 如果 $xt$ 与 $t-1$ 时刻之前的状态都没有关系, 仅与 $x{t-1}$ 状态有关, 这一性质成为马尔科夫性质。

2. 马尔科夫过程 or 马尔科夫链

具有马尔科夫性质的序列被成为马尔科夫链条。

3. 马尔科夫链中状态的计算

马尔科夫过程中的 状态 $t$ 的状态分布概率的计算,它可以由前一时刻 $t-1$ 的状态分布和状态转移矩阵算出来。

4. 隐马尔科夫模型

4.1 假设
  • 观测独立假设: 观测 只依赖于该时刻的 马尔科夫链的状态, 与其他观测无关。
  • 马尔科夫性质: 当前状态只与前一状态有关。
4.2 组成
  • 状态转移矩阵: $A=[a{ij}]{N \times N}$, $a{ij} = P(y_t=s_j|y{t-1}=s_i)$。表示 $t-1$ 时刻处于状态 $s_i$ 的时候,在 $t$ 时刻处于 $s_j$ 的概率。
  • 观测概率矩阵: $B=[b{ij}]{N \times M}$, $b_{ij} = P(x_t=o_j|y_t=s_i)$。表示在 $t$ 时刻处于状态 $s_i$, 生成观测值 $o_j$ 的概率。
  • 初始状态概率: $\pi=(\pi_1, \pi_2, …, \pi_N)$, $\pi_i=P(y_1=s_i)$。表示初始状态为 $s_i$ 的概率。
4.3 联合概率分布

$P(o1,s_1,…,o_t,s_t) = P(s_1)P(o_1|s_1)\prod{i=2}^{t}P(si|s{i-1})P(o_i|s_i)$

4.4 定义

通过状态集合 $Q$, 观测集合 $V$, 观测概率矩阵 $B$, 状态转移矩阵 $A$, 初始状态概率向量 $\pi$, 确定一个隐马尔科夫模型,即为:

4.5 三个基本问题
  • 识别问题(概率计算算法, 也成为前向算法): 给定模型 $\lambda = (A, B, \pi)$ -> 计算模型与观测序列的匹配程度 $P(O|\lambda)$
    • 前向算法定义: 输入($\lambda, O$), 输出序列概率 $P(O|\lambda)$
  • 学习问题 (鲍勃 - 韦尔奇算法): 给定观测序列 $O(o_1, o_2, …, o_n)$, 如何训练一个模型 $\lambda = (A, B, \pi)$, 能够使 $P(O|\lambda)$ 最大。
  • 预测算法(维特比算法, 动态规划算法): 给定 $\lambda = (A, B, \pi)$ 和观测序列 $O(o_1, o_2, …, o_n)$, 如果找到此观测序列最匹配的状态序列 $S = (s_1, s_2, …, s_n)$。 由观测样本得到隐状态。
问题 解决方法 本质
识别问题 前向算法(Forward Algorithm) 概率的递推计算
学习问题 Baum-Welch Algorithm 极大似然估计
解码问题 Viterbi Algorithm 动态规划求最优路径
4.6 局限性
  • 状态值存在 长距离的依赖
  • 观测值有非独立的 交叉特征
坚持原创技术分享,您的支持将鼓励我继续创作!