01 引言
直 接 计 算 法 计 算 量 太 大 , 是 O ( T N T ) 阶 的 , 这 种 算 法 不 可 行 。 直接计算法计算量太大,是O(TN^T)阶的,这种算法不可行。 直接计算法计算量太大,是O(TNT)阶的,这种算法不可行。
下面介绍计算观测序列概率P(O|λ)
的有效算法:前向-后向算法(forward-backward algorithm)
前向后向算法就是来帮助我们在较低的时间复杂度情况下求解这个问题的。
02. 前向算法
对于隐马尔可夫模型第一个基本问题,在介绍前向算法之前,先介绍前向概率
。
前
向
概
率
:
在
给
定
隐
马
尔
科
夫
模
型
λ
=
(
A
,
B
,
C
)
,
定
义
到
时
刻
t
部
分
观
测
序
列
为
o
1
,
o
2
,
.
.
.
,
o
t
且
状
态
为
q
i
的
概
率
为
前
向
概
率
,
记
为
:
α
t
(
i
)
=
P
(
o
1
,
o
2
,
.
.
.
,
o
t
,
i
t
=
q
i
∣
λ
)
前向概率:在给定隐马尔科夫模型λ=(A,B,C),定义到时刻t部分 观测\\序列为o_1,o_2,...,o_t 且状态为q_i的概率为前向概率,记为:\\ \alpha_t(i)=P(o_1,o_2,...,o_t,i_t=q_i|\lambda)
前向概率:在给定隐马尔科夫模型λ=(A,B,C),定义到时刻t部分观测序列为o1,o2,...,ot且状态为qi的概率为前向概率,记为:αt(i)=P(o1,o2,...,ot,it=qi∣λ)
可以根据数据对前向概率公式进行递推,并最终得到观测序列概率P(O|λ)
. 前向概率算法就是根据前向概率递推公式进行计算的,输入为隐马尔可夫模型
和观测序列
,输出的结果为序列概率P(O|λ). 计算的步骤为:
(1) 根据前向概率公式,先设定 t = 1的初值:
在
t
=
1
时
,
且
给
定
λ
条
件
下
,
i
1
的
状
态
为
q
i
且
观
测
为
o
1
的
概
率
为
:
α
1
(
i
)
=
P
(
o
1
,
i
1
=
q
i
∣
λ
)
=
P
(
i
1
=
q
i
∣
λ
)
∗
P
(
o
1
∣
i
1
=
q
i
∣
λ
)
=
c
i
b
i
(
o
1
)
,
i
=
1
,
2
,
.
.
.
,
N
在t=1时,且给定\lambda条件下,i_1的状态为q_i且观测为o_1的概率为:\\ \alpha_1(i)=P(o_1,i_1=q_i|\lambda)\\ =P(i_1=q_i|\lambda)\ast P(o_1|i_1=q_i|\lambda)\\ =c_ib_i(o_1) , i=1,2,...,N
在t=1时,且给定λ条件下,i1的状态为qi且观测为o1的概率为:α1(i)=P(o1,i1=qi∣λ)=P(i1=qi∣λ)∗P(o1∣i1=qi∣λ)=cibi(o1),i=1,2,...,N
C i = P ( i 1 = q i ) b j ( v k ) = P ( o t = v k ∣ i t = q j ) P ( A , B ) = P ( B ) ∗ P ( A ∣ B ) P ( A , B ∣ C ) = P ( B ∣ C ) ∗ P ( A ∣ B ∣ C ) C_i=P(i_1=q_i)\\ b_j(v_k)=P(o_t=v_k|i_t=q_j)\\ P(A,B)=P(B)\ast P(A|B)\\ P(A,B|C)=P(B|C)\ast P(A|B|C) Ci=P(i1=qi)bj(vk)=P(ot=vk∣it=qj)P(A,B)=P(B)∗P(A∣B)P(A,B∣C)=P(B∣C)∗P(A∣B∣C)
(2) 根据前向概率公式对前向概率进行递推,因此对t=1,2,…,N-1有:
α
t
+
1
(
i
)
=
[
∑
j
=
1
N
α
t
(
j
)
a
j
i
]
∗
b
i
(
o
t
+
1
)
,
i
=
1
,
2
,
.
.
.
,
N
\alpha_{t+1}(i)=[\sum_{j=1}^N \alpha_t(j)a_{ji}]\ast b_i(o_{t+1}), i=1,2,...,N
αt+1(i)=[j=1∑Nαt(j)aji]∗bi(ot+1),i=1,2,...,N
解 释 : α 2 ( i ) α 1 ( i ) = [ α 1 ( 1 ) . . . α 1 ( N ) ] 解释:\alpha_{2}(i) \\ \alpha_{1}(i)= \begin{bmatrix} \alpha_{1}(1) \\ ... \\ \alpha_{1}(N) \\ \end{bmatrix} 解释:α2(i)α1(i)=⎣⎡α1(1)...α1(N)⎦⎤
【 ∑ j = 1 N α 1 ( j ) a j i 】 : α 1 ( j = 1 ) 乘 以 状 态 转 移 矩 阵 A 1 的 第 一 整 列 ( 即 , 乘 以 a 1 i ) , 一 直 加 到 α 1 ( N ) 乘 以 状 态 转 移 矩 阵 A 1 的 第 N 整 列 。 然 后 , 再 乘 以 , 在 状 态 i 2 = q i 时 , 观 测 为 o 2 的 概 率 【\sum_{j=1}^N\alpha_1(j)a_{ji}】:\alpha_1(j=1)乘以状态转移矩阵A_1的第一整列 (即,乘以a_{1i}),一直加\\到\alpha_1(N)乘以状态转移矩阵A_1的第N整列。 然后,再乘以,在状态i_2=q_i时,\\观测为o_2的概率 【j=1∑Nα1(j)aji】:α1(j=1)乘以状态转移矩阵A1的第一整列(即,乘以a1i),一直加到α1(N)乘以状态转移矩阵A1的第N整列。然后,再乘以,在状态i2=qi时,观测为o2的概率
(3) 最后对所有的前向概率进行求和得到最终的结果,即为:
P
(
O
∣
λ
)
=
∑
i
=
1
N
α
T
(
i
)
P(O|\lambda)=\sum_{i=1}^N\alpha_T(i)
P(O∣λ)=i=1∑NαT(i)
该算法所表示的递推关系图为:
步骤(1):
初 始 化 前 向 概 率 , 是 初 始 时 刻 的 状 态 i 1 = q 1 和 观 测 o 1 的 联 合 概 率 。 初始化前向概率,是初始时刻的状态i_1 = q_1和观测o_1的联合概率。 初始化前向概率,是初始时刻的状态i1=q1和观测o1的联合概率。步骤(2):
是 前 向 概 率 的 递 推 公 式 , 计 算 到 时 刻 t + 1 部 分 观 测 序 列 为 o 1 , o 2 , . . . , o t , o t + 1 且 在 时 刻 t + 1 处 于 状 态 q i 的 前 向 概 率 。 如 上 图 所 示 , 既 然 α t ( j ) 是 得 到 时 刻 t 观 测 到 o 1 , o 2 , . . . , o t 并 在 时 刻 t 处 于 状 态 的 q j 前 向 概 率 , 那 么 乘 积 α t ( j ) a j i 就 是 到 时 刻 t 观 测 到 o 1 , o 2 , . . . , o t 并 在 是 时 刻 t 处 于 q j 状 态 而 在 时 刻 t + 1 到 达 q i 状 态 的 联 合 概 率 。 对 于 这 个 乘 积 在 时 刻 t 的 所 有 可 能 的 N 个 状 态 q j 求 和 , 其 结 果 就 是 到 时 刻 t 观 测 为 o 1 , o 2 , . . . , o t , 并 在 时 刻 t + 1 处 于 状 态 q i 的 联 合 概 率 。 方 括 号 里 的 值 与 观 测 概 率 b i ( o t + 1 ) 的 乘 积 恰 好 是 时 刻 t + 1 观 测 到 o 1 , o 2 , . . . , o t , o t + 1 并 在 时 刻 t + 1 处 于 状 态 q i 的 前 向 概 率 α t + 1 ( j ) 。 是前向概率的递推公式,计算到时刻t+1部分观测序列为o_1,o_2,..., o_t,o_{t+1} 且在时刻\\t+1处于状态q_i的前向概率。如上图所示,既然 \alpha_t(j)是得到时刻t观测到o_1,o_2,...,o_t\\并在时刻t处于状态的q_j前向 概率,那么乘积\alpha_t(j)a_{ji}就是到时刻t观测到o_1,o_2,...,o_t并\\在是时刻 t处于q_j状态而在时刻t+1到达q_i状态的联合概率。对于这个乘积在时 刻t的\\所有可能的N个状态q_j求和,其结果就是到时刻t观测为o_1,o_2,..., o_t,并在时刻t+1\\处于状态q_i的联合概率。方括号里的值与观测概率 b_i(o_{t+1})的乘积恰好是时刻t+1观\\测到o_1,o_2,...,o_t,o_{t+1}并在时刻 t+1处于状态q_i的前向概率\alpha_{t+1}(j)。 是前向概率的递推公式,计算到时刻t+1部分观测序列为o1,o2,...,ot,ot+1且在时刻t+1处于状态qi的前向概率。如上图所示,既然αt(j)是得到时刻t观测到o1,o2,...,ot并在时刻t处于状态的qj前向概率,那么乘积αt(j)aji就是到时刻t观测到o1,o2,...,ot并在是时刻t处于qj状态而在时刻t+1到达qi状态的联合概率。对于这个乘积在时刻t的所有可能的N个状态qj求和,其结果就是到时刻t观测为o1,o2,...,ot,并在时刻t+1处于状态qi的联合概率。方括号里的值与观测概率bi(ot+1)的乘积恰好是时刻t+1观测到o1,o2,...,ot,ot+1并在时刻t+1处于状态qi的前向概率αt+1(j)。
步骤(3):
计 算 出 P ( O ∣ λ ) 的 结 果 。 α T ( i ) = P ( o 1 , o 2 , . . . , o T , i T = q i ∣ λ ) P ( O ∣ λ ) = ∑ i = 1 N α T ( i ) 计算出P(O|\lambda)的结果。\\ \alpha_T(i)=P(o_1,o_2,...,o_T,i_T=q_i|\lambda)\\ P(O|\lambda)=\sum_{i=1}^N\alpha_T(i) 计算出P(O∣λ)的结果。αT(i)=P(o1,o2,...,oT,iT=qi∣λ)P(O∣λ)=i=1∑NαT(i)
在 时 刻 t = 1 , 计 算 α 1 ( i ) 的 N 个 值 ( i = 1 , 2 , . . . , N ) ; 在 各 个 时 刻 t = 1 , 2 , . . . , T − 1 , 计 算 α t + 1 ( i ) 的 N 个 值 ( i = 1 , 2 , . . . , N ) , 而 且 每 个 α t + 1 ( i ) 的 计 算 利 用 前 一 时 刻 N 个 α t ( i ) 。 减 少 计 算 量 的 原 因 在 于 每 一 次 计 算 直 接 引 用 前 一 个 时 刻 的 计 算 结 果 , 避 免 重 复 计 算 。 在时刻t=1,计算\alpha_1(i)的N个值(i=1,2,...,N);在各个时刻t=1, 2,...,T-1,计算\alpha_{t+1}(i)\\的N个值(i=1,2,...,N),而且每个\alpha_{t+1}(i) 的计算利用前一时刻N个\alpha_{t}(i)。减少计算量的\\原因在于每一次计算直接 引用前一个时刻的计算结果,避免重复计算。\\ 在时刻t=1,计算α1(i)的N个值(i=1,2,...,N);在各个时刻t=1,2,...,T−1,计算αt+1(i)的N个值(i=1,2,...,N),而且每个αt+1(i)的计算利用前一时刻N个αt(i)。减少计算量的原因在于每一次计算直接引用前一个时刻的计算结果,避免重复计算。
03. 举个小栗子
问题:考虑盒子和球模型λ=(A,B,C),状态集合Q = { 1 , 2 , 3 } ,观测集合V = { 红 , 白 }
A
=
[
0.5
0.2
0.3
0.3
0.5
0.2
0.2
0.3
0.5
]
,
B
=
[
0.5
0.5
0.4
0.6
0.7
0.3
]
,
C
=
[
0.2
0.4
0.4
]
A= \begin{bmatrix} 0.5 & 0.2 & 0.3\\ 0.3 & 0.5 & 0.2\\ 0.2 & 0.3 & 0.5\\ \end{bmatrix}, B= \begin{bmatrix} 0.5 & 0.5 \\ 0.4 & 0.6 \\ 0.7 & 0.3\\ \end{bmatrix}, C= \begin{bmatrix} 0.2 \\ 0.4 \\ 0.4 \\ \end{bmatrix}
A=⎣⎡0.50.30.20.20.50.30.30.20.5⎦⎤,B=⎣⎡0.50.40.70.50.60.3⎦⎤,C=⎣⎡0.20.40.4⎦⎤
设T=3,O=(红,白,红),试用前向算法计算P(O|λ)。
- (1)计算初值
α 1 ( 1 ) = C 1 b 1 ( o 1 ) = 0.2 ∗ 0.5 = 0.10 α 1 ( 2 ) = C 2 b 2 ( o 1 ) = 0.4 ∗ 0.4 = 0.16 α 1 ( 3 ) = C 3 b 3 ( o 1 ) = 0.4 ∗ 0.7 = 0.28 \alpha_{1}(1)=C_1b_1(o_1)=0.2*0.5=0.10\\ \alpha_{1}(2)=C_2b_2(o_1)=0.4*0.4=0.16\\ \alpha_{1}(3)=C_3b_3(o_1)=0.4*0.7=0.28 α1(1)=C1b1(o1)=0.2∗0.5=0.10α1(2)=C2b2(o1)=0.4∗0.4=0.16α1(3)=C3b3(o1)=0.4∗0.7=0.28
(2)递推计算α 2 ( 1 ) = [ ∑ i = 1 3 α 1 ( i ) a i 1 ] b 1 ( o 2 ) = [ 0.1 ∗ 0.5 + 0.16 ∗ 0.3 + 0.28 ∗ 0.2 ] ∗ 0.5 = 0.077 α 2 ( 2 ) = [ ∑ i = 1 3 α 1 ( i ) a i 2 ] b 2 ( o 2 ) = 0.1104 α 2 ( 3 ) = [ ∑ i = 1 3 α 1 ( i ) a i 3 ] b 3 ( o 2 ) = 0.0606 α 3 ( 1 ) = [ ∑ i = 1 3 α 2 ( i ) a i 1 ] b 1 ( o 3 ) = 0.04187 α 3 ( 2 ) = [ ∑ i = 1 3 α 2 ( i ) a i 2 ] b 2 ( o 3 ) = 0.03551 α 3 ( 3 ) = [ ∑ i = 1 3 α 2 ( i ) a i 3 ] b 3 ( o 3 ) = 0.05284 \alpha_2(1)=[\sum_{i=1}^3 \alpha_1(i)a_{i1}]b_1(o_{2})\\=[0.1*0.5+0.16*0.3+0.28*0.2]*0.5=0.077\\ \alpha_2(2)=[\sum_{i=1}^3 \alpha_1(i)a_{i2}]b_2(o_{2})=0.1104\\ \alpha_2(3)=[\sum_{i=1}^3 \alpha_1(i)a_{i3}]b_3(o_{2})=0.0606\\ \alpha_3(1)=[\sum_{i=1}^3 \alpha_2(i)a_{i1}]b_1(o_{3})=0.04187\\ \alpha_3(2)=[\sum_{i=1}^3 \alpha_2(i)a_{i2}]b_2(o_{3})=0.03551\\ \alpha_3(3)=[\sum_{i=1}^3 \alpha_2(i)a_{i3}]b_3(o_{3})=0.05284 α2(1)=[i=1∑3α1(i)ai1]b1(o2)=[0.1∗0.5+0.16∗0.3+0.28∗0.2]∗0.5=0.077α2(2)=[i=1∑3α1(i)ai2]b2(o2)=0.1104α2(3)=[i=1∑3α1(i)ai3]b3(o2)=0.0606α3(1)=[i=1∑3α2(i)ai1]b1(o3)=0.04187α3(2)=[i=1∑3α2(i)ai2]b2(o3)=0.03551α3(3)=[i=1∑3α2(i)ai3]b3(o3)=0.05284
(3)终止
P ( O ∣ λ ) = ∑ i = 1 3 α 3 ( i ) = 0.13022 P(O|\lambda)=\sum_{i=1}^3\alpha_3(i)=0.13022 P(O∣λ)=i=1∑3α3(i)=0.13022
04. 后向算法
在介绍后向算法之前,先介绍后向概率
。
后
向
概
率
:
在
给
定
隐
马
尔
科
夫
模
型
λ
=
(
A
,
B
,
C
)
,
定
义
到
时
刻
t
部
分
状
态
为
q
i
的
条
件
下
,
从
t
+
1
到
T
的
部
分
观
测
序
列
为
o
t
+
1
,
o
t
+
2
,
.
.
.
,
o
T
的
概
率
为
后
向
概
率
,
记
为
:
β
t
(
i
)
=
P
(
o
t
+
1
,
o
t
+
2
,
.
.
.
,
o
T
∣
i
t
=
q
i
,
λ
)
后向概率:在给定隐马尔科夫模型λ=(A,B,C),定义到时刻t部分状态\\ 为q_i的条件下,从t+1到T的部分观测序列为o_{t+1},o_{t+2},...,o_T的概率为\\后向概率,记为:\\ \beta_t(i)=P(o_{t+1},o_{t+2},...,o_T|i_t=q_i,\lambda)
后向概率:在给定隐马尔科夫模型λ=(A,B,C),定义到时刻t部分状态为qi的条件下,从t+1到T的部分观测序列为ot+1,ot+2,...,oT的概率为后向概率,记为:βt(i)=P(ot+1,ot+2,...,oT∣it=qi,λ)
可以根据数据对后向概率公式进行递推,并最终得到观测序列概率P(O|λ)
. 后向概率算法就是根据后向概率递推公式进行计算的,输入为隐马尔可夫模型λ
和观测序列O
,输出的结果为序列概率P(O|λ)
. 计算的步骤为:
(1) 根据后向概率公式,先设定 t = T的初值:
在
t
=
T
时
,
i
T
的
状
态
为
q
i
且
给
定
λ
条
件
下
,
观
测
为
o
T
的
概
率
为
:
β
T
(
i
)
=
P
(
o
T
∣
i
T
=
q
i
,
λ
)
=
1
,
i
=
1
,
2
,
.
.
.
,
N
在t=T时,i_T的状态为q_i且给定\lambda条件下,观测为o_T的概率为:\\ \beta_T(i)=P(o_T|i_T=q_i,\lambda)=1, i=1,2,...,N
在t=T时,iT的状态为qi且给定λ条件下,观测为oT的概率为:βT(i)=P(oT∣iT=qi,λ)=1,i=1,2,...,N
全 概 思 想 : P ( o T ∣ i T = q i ) = P ( o T ∣ i T = q 1 ) + P ( o T ∣ i T = q 2 ) + . . . + P ( o T ∣ i T = q T ) = 1 全概思想:P(o_T|i_T=q_i)=P(o_T|i_T=q_1)+P(o_T|i_T=q_2)+...\\ +P(o_T|i_T=q_T)=1 全概思想:P(oT∣iT=qi)=P(oT∣iT=q1)+P(oT∣iT=q2)+...+P(oT∣iT=qT)=1
(2) 对t=T-1,T-2,…,1有:
β
t
(
i
)
=
∑
j
=
1
N
a
i
j
∗
b
j
(
o
t
+
1
)
∗
β
t
+
1
(
j
)
,
i
=
1
,
2
,
.
.
.
,
N
b
j
(
v
k
)
=
P
(
o
t
=
v
k
∣
i
t
=
q
j
)
a
i
j
=
P
(
i
t
+
1
=
q
j
∣
i
t
=
q
i
)
\beta_{t}(i)=\sum_{j=1}^N a_{ij}\ast b_j(o_{t+1})\ast\beta_{t+1}(j), i=1,2,...,N\\ b_j(v_k)=P(o_t=v_k|i_t=q_j)\\ a_{ij}=P(i_{t+1}=q_j|i_{t}=q_i)\\
βt(i)=j=1∑Naij∗bj(ot+1)∗βt+1(j),i=1,2,...,Nbj(vk)=P(ot=vk∣it=qj)aij=P(it+1=qj∣it=qi)
(2) 有:
P
(
O
∣
λ
)
=
∑
i
=
1
N
C
i
b
i
(
o
1
)
β
1
(
i
)
P(O|\lambda)=\sum_{i=1}^N C_{i}b_i(o_{1})\beta_{1}(i)
P(O∣λ)=i=1∑NCibi(o1)β1(i)
- 公式证明:
知 识 补 充 : o t + 1 T = o t + 1 , o t + 2 , . . . , o T P ( A ∣ B ) = P ( A , B ) P ( B ) , ∑ j = 1 N P ( i t = q i ) = 1 知识补充:o_{t+1}^T=o_{t+1},o_{t+2},...,o_T\\P(A|B)=\frac{P(A,B)}{P(B)} , \sum_{j=1}^N P(i_t=q_i)=1\\ 知识补充:ot+1T=ot+1,ot+2,...,oTP(A∣B)=P(B)P(A,B),j=1∑NP(it=qi)=1
该算法所表示的递推关系图为:
步骤(1):
初 始 化 后 向 概 率 , 对 最 终 时 刻 的 所 有 状 态 q i 规 定 β T ( i ) = 1 。 初始化后向概率,对最终时刻的所有状态q_i规定\beta_T(i)=1。 初始化后向概率,对最终时刻的所有状态qi规定βT(i)=1。步骤(2):
是 后 向 概 率 的 递 推 公 式 , 如 上 图 所 示 , 为 了 计 算 在 时 刻 t 状 态 为 q i 条 件 下 时 刻 t + 1 之 后 的 观 测 序 列 为 o t + 1 , o t + 2 , . . . , o T 的 后 向 概 率 β t ( i ) , 只 需 考 虑 在 时 刻 t + 1 所 有 可 能 的 N 个 状 态 q j 的 转 移 概 率 ( 即 , a i j 项 ) 以 及 在 此 状 态 下 的 观 测 o t + 1 的 观 测 概 率 ( 即 , b j ( o t + 1 ) 项 ) , 然 后 考 虑 状 态 q j 之 后 的 观 测 序 列 的 后 向 概 率 ( 即 , β t + 1 ( j ) 项 ) 。 是后向概率的递推公式,如上图所示,为了计算在时刻t状态为q_i条件下 时刻t+1之后\\的观测序列为o_{t+1},o_{t+2},...,o_{T}的后向概率\beta_t(i), 只需考虑在时刻t+1所有可能的N个\\状态q_j的转移概率(即,a_{ij}项) 以及在此状态下的观测o_{t+1}的观测概率(即,b_j(o_{t+1})项),\\然后考虑 状态q_j之后的观测序列的后向概率(即,\beta_{t+1}(j)项)。\\ 是后向概率的递推公式,如上图所示,为了计算在时刻t状态为qi条件下时刻t+1之后的观测序列为ot+1,ot+2,...,oT的后向概率βt(i),只需考虑在时刻t+1所有可能的N个状态qj的转移概率(即,aij项)以及在此状态下的观测ot+1的观测概率(即,bj(ot+1)项),然后考虑状态qj之后的观测序列的后向概率(即,βt+1(j)项)。
步骤(3):
求 P ( O ∣ λ ) 的 思 路 与 步 骤 ( 2 ) 一 致 , 只 是 初 始 概 率 C i 代 替 转 移 概 率 。 求P(O|\lambda)的思路与步骤(2)一致,只是初始概率C_i代替转移概率。\\ 求P(O∣λ)的思路与步骤(2)一致,只是初始概率Ci代替转移概率。
利 用 前 向 概 率 和 后 向 概 率 的 定 义 可 以 将 观 测 序 列 概 率 P ( O ∣ λ ) 统 一 写 成 : P ( O ∣ λ ) = ∑ i = 1 N ∑ j = 1 N α t ( i ) a i j b j ( o t + 1 ) β t + 1 ( j ) t = 1 , 2 , . . . , T − 1 利用前向概率和后向概率的定义可以将观测序列概率P(O|\lambda)统一写成:\\ P(O|\lambda)=\sum_{i=1}^N\sum_{j=1}^N\alpha_t(i)a_{ij}b_j(o_{t+1}) \beta_{t+1}(j)\\ t=1,2,...,T-1 利用前向概率和后向概率的定义可以将观测序列概率P(O∣λ)统一写成:P(O∣λ)=i=1∑Nj=1∑Nαt(i)aijbj(ot+1)βt+1(j)t=1,2,...,T−1
步骤(3):
求 P ( O ∣ λ ) 的 思 路 与 步 骤 ( 2 ) 一 致 , 只 是 初 始 概 率 C i 代 替 转 移 概 率 。 求P(O|\lambda)的思路与步骤(2)一致,只是初始概率C_i代替转移概率。\\ 求P(O∣λ)的思路与步骤(2)一致,只是初始概率Ci代替转移概率。
利 用 前 向 概 率 和 后 向 概 率 的 定 义 可 以 将 观 测 序 列 概 率 P ( O ∣ λ ) 统 一 写 成 : P ( O ∣ λ ) = ∑ i = 1 N ∑ j = 1 N α t ( i ) a i j b j ( o t + 1 ) β t + 1 ( j ) t = 1 , 2 , . . . , T − 1 利用前向概率和后向概率的定义可以将观测序列概率P(O|\lambda)统一写成:\\ P(O|\lambda)=\sum_{i=1}^N\sum_{j=1}^N\alpha_t(i)a_{ij}b_j(o_{t+1}) \beta_{t+1}(j)\\ t=1,2,...,T-1 利用前向概率和后向概率的定义可以将观测序列概率P(O∣λ)统一写成:P(O∣λ)=i=1∑Nj=1∑Nαt(i)aijbj(ot+1)βt+1(j)t=1,2,...,T−1