计算在时刻 t 处于状态 i 的概率

1. 前向概率 α t ( i ) \alpha_t(i) αt(i) 的真正含义

公式:
α t ( i ) = P ( O 1 , O 2 , … , O t , q t = i ∣ λ ) \alpha_t(i) = P(O_1, O_2, \dots, O_t, q_t = i \mid \lambda) αt(i)=P(O1,O2,,Ot,qt=iλ)

解释:

  • α t ( i ) \alpha_t(i) αt(i) 表示:
    • 从初始状态开始
    • 经历 t t t
    • 恰好在状态 i i i
    • 并且观察到了前 t t t 个观测值 O 1 , O 2 , . . . , O t O_1, O_2, ..., O_t O1,O2,...,Ot 的概率

不是 “在 t t t 时刻生成某个具体观测值的概率”,而是 “经历 t t t 步到达状态 i i i 并生成整个序列 O 1 , O 2 , . . . , O t O_1, O_2, ..., O_t O1,O2,...,Ot 的概率”

问题:

"如果 O t O_t Ot 不能由状态 i i i 生成,那为什么还会有 α t ( i ) \alpha_t(i) αt(i) ?

回答:如果状态 i i i 在时刻 t t t 不能生成观测 O t O_t Ot,那么对应的状态输出概率 b i ( O t ) b_i(O_t) bi(Ot) 会是 0,使得 α t ( i ) \alpha_t(i) αt(i) 变得很小或为 0,但不代表它不成立。因为前向概率不仅仅依赖于当前状态的观测输出,还考虑了所有可能的路径。


2. 前向概率递推公式

α t ( i ) = ∑ j α t − 1 ( j ) a j i b i ( O t ) \alpha_t(i) = \sum_{j} \alpha_{t-1}(j) a_{ji} b_i(O_t) αt(i)=jαt1(j)ajibi(Ot)

拆解含义

  • α t − 1 ( j ) \alpha_{t-1}(j) αt1(j):在时刻 t − 1 t-1 t1 处于状态 j j j 并生成观测 O 1 , O 2 , . . . , O t − 1 O_1, O_2, ..., O_{t-1} O1,O2,...,Ot1 的概率。
  • a j i a_{ji} aji:从状态 j j j 转移到状态 i i i 的概率。
  • b i ( O t ) b_i(O_t) bi(Ot):状态 i i i 生成观测 O t O_t Ot 的概率。

为什么它计算的是 “到达状态 i i i 的概率”?

  • α t ( i ) \alpha_t(i) αt(i) 只计算在 t t t 时刻到达状态 i i i 的所有可能路径的概率。
  • 它不关心最终状态是什么,也不关心未来会发生什么,只关心目前是否处于状态 i i i

什么时候 α t ( i ) = 0 \alpha_t(i) = 0 αt(i)=0

如果:

  1. 状态 i i i 不能生成 O t O_t Ot,即 b i ( O t ) = 0 b_i(O_t) = 0 bi(Ot)=0,那么不管之前概率多大,最终 α t ( i ) \alpha_t(i) αt(i) 也会变成 0。
  2. 没有任何路径能让系统在时刻 t t t 进入状态 i i i,即 ∑ j α t − 1 ( j ) a j i = 0 \sum_j \alpha_{t-1}(j) a_{ji} = 0 jαt1(j)aji=0,那么 α t ( i ) \alpha_t(i) αt(i) 也会是 0。

因此:

  • α t ( i ) \alpha_t(i) αt(i) 计算的是 “所有可能路径最终到达状态 i i i 并生成观测 O t O_t Ot 的概率”。

3. 后向概率 β t ( i ) \beta_t(i) βt(i) 的真正含义

公式:
β t ( i ) = P ( O t + 1 , O t + 2 , . . . , O T ∣ q t = i , λ ) \beta_t(i) = P(O_{t+1}, O_{t+2}, ..., O_T \mid q_t = i, \lambda) βt(i)=P(Ot+1,Ot+2,...,OTqt=i,λ)

解释:

  • 假设已经确定在 t t t 时刻处于状态 i i i,那么从 t t t 到最终时刻 T T T 还能观察到后续序列 O t + 1 , O t + 2 , . . . , O T O_{t+1}, O_{t+2}, ..., O_T Ot+1,Ot+2,...,OT 的概率是多少?
  • 它不考虑到达状态 i i i 的概率,只计算如果已经在状态 i i i,后续还会发生的概率。

后向概率递推公式

β t ( i ) = ∑ j a i j b j ( O t + 1 ) β t + 1 ( j ) \beta_t(i) = \sum_j a_{ij} b_j(O_{t+1}) \beta_{t+1}(j) βt(i)=jaijbj(Ot+1)βt+1(j)

拆解含义

  • a i j a_{ij} aij:从状态 i i i 转移到状态 j j j 的概率。
  • b j ( O t + 1 ) b_j(O_{t+1}) bj(Ot+1):状态 j j j 生成观测 O t + 1 O_{t+1} Ot+1 的概率。
  • β t + 1 ( j ) \beta_{t+1}(j) βt+1(j):状态 j j j t + 1 t+1 t+1 之后观察到所有剩余序列的概率。

前向算法(Forward Algorithm)计算的是 在时刻 t t t 生成观测序列的概率,但它不是指 “仅仅在时刻 t t t 生成观测值 O t O_t Ot 的概率”,而是指 “从起始状态开始,经过 t t t 步,到达某个状态 i i i 并生成完整的部分观测序列 O 1 , O 2 , . . . , O t O_1, O_2, ..., O_t O1,O2,...,Ot 的概率”。

前向算法的核心目标

P ( O ∣ λ ) = ∑ i α T ( i ) P(O \mid \lambda) = \sum_{i} \alpha_T(i) P(Oλ)=iαT(i)
它的目的是高效地计算整个观测序列 O = ( O 1 , O 2 , . . . , O T ) O = (O_1, O_2, ..., O_T) O=(O1,O2,...,OT) 发生的概率。


前向概率 α t ( i ) \alpha_t(i) αt(i) 的真正含义

α t ( i ) = P ( O 1 , O 2 , . . . , O t , q t = i ∣ λ ) \alpha_t(i) = P(O_1, O_2, ..., O_t, q_t = i \mid \lambda) αt(i)=P(O1,O2,...,Ot,qt=iλ)
它表示:

  1. 从初始状态开始
  2. 经过 t t t 步,刚好到达状态 i i i
  3. 并且已经生成了观测序列 O 1 , O 2 , . . . , O t O_1, O_2, ..., O_t O1,O2,...,Ot
  4. 的概率

所以,前向概率 累积了所有可能路径,它不仅仅是 “单独在时刻 t t t 生成 O t O_t Ot 的概率”,而是 “所有能走到 i i i 并生成完整部分观测的概率”。


前向算法的递推公式

α t ( i ) = ∑ j α t − 1 ( j ) a j i b i ( O t ) \alpha_t(i) = \sum_{j} \alpha_{t-1}(j) a_{ji} b_i(O_t) αt(i)=jαt1(j)ajibi(Ot)

  • α t − 1 ( j ) \alpha_{t-1}(j) αt1(j): 之前一步 t − 1 t-1 t1 处于状态 j j j 并生成了 O 1 , . . . , O t − 1 O_1, ..., O_{t-1} O1,...,Ot1 的概率。
  • a j i a_{ji} aji: 从状态 j j j 迁移到 i i i 的概率。
  • b i ( O t ) b_i(O_t) bi(Ot): 处于状态 i i i 时生成 O t O_t Ot 的概率。

这个递推过程意味着:

  1. 考虑了所有路径,只要到达了 t t t 时刻的状态 i i i,都被纳入计算。
  2. 并非仅仅是 P ( O t ∣ q t = i ) P(O_t \mid q_t = i) P(Otqt=i),它还包含了到达 t t t 的所有可能路径的加权概率。

最终的前向算法目标

计算整个观测序列 O O O 发生的概率:
P ( O ∣ λ ) = ∑ i α T ( i ) P(O \mid \lambda) = \sum_{i} \alpha_T(i) P(Oλ)=iαT(i)
即所有可能的路径加总后,生成 O 1 , O 2 , . . . , O T O_1, O_2, ..., O_T O1,O2,...,OT 的概率。


直观理解:前向算法 ≠ 只计算单个 O t O_t Ot 的生成概率

假设:

  • 你在公园散步,你的路径是随机的。
  • 你每走一步都会拍一张照片(这就是观测 O t O_t Ot)。
  • 前向算法就是计算:“从起点出发,到达某个位置,并拍到所有这些照片的概率是多少?”
  • 这个概率考虑了所有可能的路径,并不是简单地计算某张照片单独出现的概率,而是 “所有路径导致整个照片序列被拍摄的总概率”。

前向算法计算的是在 t t t 时刻生成观测序列 O 1 , O 2 , . . . , O t O_1, O_2, ..., O_t O1,O2,...,Ot 的概率,而不是仅仅在 t t t 时刻生成 O t O_t Ot 的概率。
它累积了所有可能路径的概率,而不是仅考虑单步 P ( O t ∣ q t = i ) P(O_t \mid q_t = i) P(Otqt=i)
最终目标是计算整个观测序列的概率 P ( O ∣ λ ) P(O \mid \lambda) P(Oλ)

计算在时刻 t 处于状态 i 的概率

理论推导

公式:
γ t ( i ) = α t ( i ) β t ( i ) P ( O ∣ λ ) \gamma_t(i) = \frac{\alpha_t(i) \beta_t(i)}{P(O|\lambda)} γt(i)=P(Oλ)αt(i)βt(i)

其中:

  • γ t ( i ) \gamma_t(i) γt(i):在时刻 t t t 处于状态 i i i 的概率。
  • α t ( i ) \alpha_t(i) αt(i)(前向概率,Forward Probability):在时刻 t t t 到达状态 i i i 并观察到部分观测序列 O 1 , O 2 , . . . , O t O_1, O_2, ..., O_t O1,O2,...,Ot 的概率。
  • β t ( i ) \beta_t(i) βt(i)(后向概率,Backward Probability):在时刻 t t t 处于状态 i i i,并且从时刻 t + 1 t+1 t+1 T T T 观察到剩余的观测序列 O t + 1 , O t + 2 , . . . , O T O_{t+1}, O_{t+2}, ..., O_T Ot+1,Ot+2,...,OT 的概率。
  • P ( O ∣ λ ) P(O|\lambda) P(Oλ)(观测序列的概率):HMM 生成整个观测序列 O O O 的总概率,即:
    P ( O ∣ λ ) = ∑ i α T ( i ) P(O|\lambda) = \sum_{i} \alpha_T(i) P(Oλ)=iαT(i)

我们要计算的是:
γ t ( i ) = P ( q t = i ∣ O , λ ) \gamma_t(i) = P(q_t = i | O, \lambda) γt(i)=P(qt=iO,λ)

即在给定 HMM 参数 λ \lambda λ 和整个观测序列 O O O 的情况下,在时刻 t t t 处于状态 i i i 的概率。

利用 Bayes 公式:
P ( A ∣ B ) = P ( A , B ) P ( B ) P(A|B) = \frac{P(A, B)}{P(B)} P(AB)=P(B)P(A,B)

在这里, A A A 是 “时刻 t t t 处于状态 i i i”, B B B 是 “观测序列 O O O 发生”。因此:
γ t ( i ) = P ( q t = i , O ∣ λ ) P ( O ∣ λ ) \gamma_t(i) = \frac{P(q_t = i, O | \lambda)}{P(O | \lambda)} γt(i)=P(Oλ)P(qt=i,Oλ)

由于 HMM 的马尔科夫性质 P ( q t = i , O ∣ λ ) P(q_t = i, O | \lambda) P(qt=i,Oλ) 可以分解为:
P ( q t = i , O ∣ λ ) = P ( O 1 : t , q t = i ∣ λ ) P ( O t + 1 : T ∣ q t = i , λ ) P(q_t = i, O | \lambda) = P(O_{1:t}, q_t = i | \lambda) P(O_{t+1:T} | q_t = i, \lambda) P(qt=i,Oλ)=P(O1:t,qt=iλ)P(Ot+1:Tqt=i,λ)

前向概率 α t ( i ) \alpha_t(i) αt(i) 定义为:
α t ( i ) = P ( O 1 : t , q t = i ∣ λ ) \alpha_t(i) = P(O_{1:t}, q_t = i | \lambda) αt(i)=P(O1:t,qt=iλ)

后向概率 β t ( i ) \beta_t(i) βt(i) 定义为:
β t ( i ) = P ( O t + 1 : T ∣ q t = i , λ ) \beta_t(i) = P(O_{t+1:T} | q_t = i, \lambda) βt(i)=P(Ot+1:Tqt=i,λ)

因此:
P ( q t = i , O ∣ λ ) = α t ( i ) β t ( i ) P(q_t = i, O | \lambda) = \alpha_t(i) \beta_t(i) P(qt=i,Oλ)=αt(i)βt(i)

结合 Bayes 公式:
γ t ( i ) = α t ( i ) β t ( i ) P ( O ∣ λ ) \gamma_t(i) = \frac{\alpha_t(i) \beta_t(i)}{P(O|\lambda)} γt(i)=P(Oλ)αt(i)βt(i)


生活例子理解

假设你在一个公园散步,而这个公园里有三种不同的区域:

  1. 草地(状态 1)
  2. 湖边(状态 2)
  3. 森林(状态 3)

你在公园里走了一整天(观测序列 O O O),但你不记得自己每个时刻具体在哪个区域,只能通过你的照片和 GPS 数据(观测数据)来推测。

1. 前向概率 α_t(i) 的意义

假设你在第 t t t 分钟收到一张带有草地背景的照片(当前观测),前向概率 α t ( i ) \alpha_t(i) αt(i) 代表的是:

  • “从早上开始散步到当前时间点,刚好走到草地的概率。”
    即考虑所有可能的路径,只要最后到达草地都算进去。
2. 后向概率 β_t(i) 的意义

假设你在第 t t t 分钟收到一条朋友发来的信息,说你半小时后会出现在湖边。后向概率 β t ( i ) \beta_t(i) βt(i) 代表的是:

  • “如果我现在在草地,那从这个时间点到散步结束,按照正常路径行走,并最终达到所有可能的观测序列的概率。”
3. 计算 γ_t(i)

现在你要计算 在第 t t t 分钟你在草地上的概率。 这意味着你需要结合:

  • 前面的路径可能性(你早上是怎么走到这里的?)
  • 后面的路径可能性(如果你现在在草地,未来的观察数据是否支持这个假设?)

公式:
γ t ( i ) = α t ( i ) β t ( i ) P ( O ∣ λ ) \gamma_t(i) = \frac{\alpha_t(i) \beta_t(i)}{P(O|\lambda)} γt(i)=P(Oλ)αt(i)βt(i)

其中:

  • 分子 α t ( i ) β t ( i ) \alpha_t(i) \beta_t(i) αt(i)βt(i):表示你在 t t t 分钟在草地的所有可能路径的总概率
  • 分母 P ( O ∣ λ ) P(O|\lambda) P(Oλ):表示 所有可能路径下能看到你所有照片和 GPS 数据的概率,用于归一化。
4. 直观理解

假设:

  • 你的 GPS 记录显示,你早上 9 点时大概率在草地上(前向概率 α t ( i ) \alpha_t(i) αt(i) 很高)。
  • 你的朋友发来消息,说你 10 点左右通常会到湖边(后向概率 β t ( i ) \beta_t(i) βt(i))。
  • 但是 GPS 数据也显示,偶尔你会走不同的路径,影响整体概率 P ( O ∣ λ ) P(O|\lambda) P(Oλ)

最终:
γ t ( i ) = 你在第  t  分钟在草地的路径概率 所有可能路径的总概率 \gamma_t(i) = \frac{\text{你在第 $t$ 分钟在草地的路径概率}}{\text{所有可能路径的总概率}} γt(i)=所有可能路径的总概率你在第 t 分钟在草地的路径概率

这个值就是 “在时间 t t t 你在草地上的可能性”。


总结

  1. 前向概率 α t ( i ) \alpha_t(i) αt(i):从一开始到 t t t 的可能性。
  2. 后向概率 β t ( i ) \beta_t(i) βt(i):从 t t t 开始到结束的可能性。
  3. 归一化 P ( O ∣ λ ) P(O|\lambda) P(Oλ):所有路径的总可能性。
  4. 最终 γ t ( i ) \gamma_t(i) γt(i):你在某个时刻 t t t 处于状态 i i i 的概率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值