维特比算法(Viterbi Algorithm) 的公式化描述

1. 初始化:

公式:
v 1 ( j ) = a 0 j b j ( o 1 ) , 1 ≤ j ≤ N v_1(j) = a_{0j} b_j(o_1), \quad 1 \leq j \leq N v1(j)=a0jbj(o1),1jN

  • v 1 ( j ) v_1(j) v1(j):表示在时间 t = 1 t=1 t=1 时,以隐藏状态 j j j 为结束状态的最优路径的概率。
  • a 0 j a_{0j} a0j:表示从初始状态(假设为虚拟状态 q 0 q_0 q0)转移到状态 j j j 的转移概率。
  • b j ( o 1 ) b_j(o_1) bj(o1):表示状态 j j j 发射观测 o 1 o_1 o1 的概率。

初始化的过程计算的是:从起始状态 q 0 q_0 q0 转移到状态 j j j,并在 j j j 状态发射观测 o 1 o_1 o1 的概率。


2. 递归:

公式:
v t ( j ) = max ⁡ i = 1 N [ v t − 1 ( i ) a i j ] b j ( o t ) , 1 ≤ j ≤ N ,   1 < t ≤ T v_t(j) = \max_{i=1}^N \left[ v_{t-1}(i) a_{ij} \right] b_j(o_t), \quad 1 \leq j \leq N, \, 1 < t \leq T vt(j)=i=1maxN[vt1(i)aij]bj(ot),1jN,1<tT

  • v t ( j ) v_t(j) vt(j):表示在时间 t t t 时,以隐藏状态 j j j 为结束状态的最优路径的概率。
  • v t − 1 ( i ) v_{t-1}(i) vt1(i):表示时间 t − 1 t-1 t1 时,以隐藏状态 i i i 为结束状态的最优路径的概率。
  • a i j a_{ij} aij:表示从隐藏状态 i i i 转移到状态 j j j 的转移概率。
  • b j ( o t ) b_j(o_t) bj(ot):表示状态 j j j 发射观测 o t o_t ot 的概率。
含义:

对于每个时间步 t t t 的每个状态 j j j,我们计算:

  1. 从前一个时间 t − 1 t-1 t1 的所有可能状态 i i i 转移到状态 j j j 的概率。
  2. 找到其中概率最大的路径(即选择最优的 i i i)。
  3. 再乘以状态 j j j 发射当前观测 o t o_t ot 的概率 b j ( o t ) b_j(o_t) bj(ot)

公式:
b t t ( j ) = arg ⁡ max ⁡ i = 1 N [ v t − 1 ( i ) a i j b j ( o t ) ] , 1 ≤ j ≤ N ,   1 < t ≤ T bt_t(j) = \arg\max_{i=1}^N \left[ v_{t-1}(i) a_{ij} b_j(o_t) \right], \quad 1 \leq j \leq N, \, 1 < t \leq T btt(j)=argi=1maxN[vt1(i)aijbj(ot)],1jN,1<tT

  • b t t ( j ) bt_t(j) btt(j):是一个回溯指针,用于记录时间 t t t 时状态 j j j 的最优路径是从哪个状态 i i i 转移来的。
含义:

我们不仅需要计算概率最大值,还需要记录路径上每一步的决策(即最优转移路径),以便最终回溯得到完整的最优路径。


3. 结束:

公式:
P ∗ = v T ( q F ) = max ⁡ i = 1 N [ v T ( i ) a i , F ] P^* = v_T(q_F) = \max_{i=1}^N \left[ v_T(i) a_{i,F} \right] P=vT(qF)=i=1maxN[vT(i)ai,F]

  • P ∗ P^* P:是最优路径的概率,即从初始状态到达最终状态 q F q_F qF 的最优路径的最大概率。
  • v T ( i ) v_T(i) vT(i):是时间 T T T 时以状态 i i i 为结束状态的最优路径的概率。
  • a i , F a_{i,F} ai,F:是从状态 i i i 转移到终止状态 q F q_F qF 的转移概率。
含义:

从所有可能的结束状态 i i i 中选择概率最大的路径,并将其作为最终的最优路径。

公式:
q T = b t T ( q F ) = arg ⁡ max ⁡ i = 1 N [ v T ( i ) a i , F ] q_T = bt_T(q_F) = \arg\max_{i=1}^N \left[ v_T(i) a_{i,F} \right] qT=btT(qF)=argi=1maxN[vT(i)ai,F]

  • q T q_T qT:是最优路径在最后一个时间步 T T T 所对应的隐藏状态。

总结过程:

  1. 初始化:计算初始状态到每个可能隐藏状态的概率。
  2. 递归:逐步计算每个时间步中每个状态的最优路径概率,同时记录路径选择。
  3. 结束:找到最优路径的最大概率,确定最终隐藏状态。
  4. 回溯:根据记录的路径选择回溯,得到完整的隐藏状态序列。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值