隐马尔可夫模型
隐马尔可夫模型,(hidden Markov model)是可用于标注问题的统计学习模型,描述由隐藏的马尔可夫链随机生成观测序列的模型,属于生成模型。本章首先介绍隐马尔可夫模型的基本概念,然后分别叙述隐马尔可夫模型的概率计算方法,学习算法以及预测算法。隐马尔可夫模型再语音识别,自然语言处理,生物信息,模式识别等领域有着广泛的应用。
内容出自李航老师的《统计学习方法》,结合个人理解补充一些推导过程。
1.隐马尔可夫模型的基本概念
定义: 隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测从而产生观测随机序列的过程。
- 隐藏的马尔可夫链随机生成的状态的序列,称为
状态序列
。(state sequence) - 每个状态生成一个观测,由此产生的观测的随机序列,称为观测序列。( observation sequence)
- 系列的每一个未知又可以看作是一个
时刻
。
隐马尔可夫模型由初始概率分布
,状态转移概率分布
以及观测概率分布
确定。隐马尔可夫模型的形式定义如下:
- Q Q Q是所有可能状态的集合, V V V是所有可能的观测的集合:所有可能的情况在这里
Q = { q 1 , . . . q N } , V = { v 1 , . . . v M } Q=\{q_1,...q_N\},V=\{v_1,...v_M\} Q={q1,...qN},V={v1,...vM}
-
N N N是可能的状态数, M M M是可能的观测数。
-
I I I是长度为 T T T的状态序列, O O O是对应的观测序列。这里表示当前情况的状态和观测
I = { i 1 , . . . i T } , O = { o 1 , . . . o T } I=\{i_1,...i_T\},O=\{o_1,...o_T\} I={i1,...iT},O={o1,...oT} -
A A A是状态转移概率矩阵:
A = [ a i j ] N × N A=[a_{ij}]_{N\times N} A=[aij]N×N
其中:
a
i
j
=
P
(
i
t
+
1
=
q
j
∣
i
t
=
q
i
)
,
i
=
1
,
2
,
.
.
.
,
N
;
j
=
1
,
2
,
.
.
.
,
N
a_{ij}=P(i_{t+1}=q_j|i_t=q_i),i=1,2,...,N;j=1,2,...,N
aij=P(it+1=qj∣it=qi),i=1,2,...,N;j=1,2,...,N
a i j a_{ij} aij是时刻 t t t处于状态 q i q_i qi的条件下在时刻 t + 1 t+1 t+1状态转移到状态 q j q_j qj的概率。
-
B
B
B是观测概率矩阵:
B = [ b j ( K ) ] N × M B=[b_j(K)]_{N \times M} B=[bj(K)]N×M
其中:
b
i
j
=
P
(
o
t
=
v
k
∣
i
t
=
q
j
)
,
k
=
1
,
2
,
.
.
.
,
M
;
j
=
1
,
2
,
.
.
.
,
N
b_{ij}=P(o_{t}=v_k|i_t=q_j),k=1,2,...,M;j=1,2,...,N
bij=P(ot=vk∣it=qj),k=1,2,...,M;j=1,2,...,N
b i j b_{ij} bij是时刻 t t t处于状态 q j q_j qj的条件下生成观测 v k v_k vk的概率。
- π \pi π是初始状态概率向量
π = ( π i ) \pi=(\pi_i) π=(πi)
其中,
π
i
=
P
(
i
1
=
q
1
)
,
i
=
1
,
2
,
.
.
.
,
N
\pi_i=P(i_1=q_1), \ i=1,2,...,N
πi=P(i1=q1), i=1,2,...,N
π i \pi_{i} πi是时刻 t = 1 t=1 t=1时处于状态 q i q_i qi的概率。
隐马尔可夫模型由初始状态概况向量 π \pi π、状态转移矩阵 A A A和观测矩阵 B B B决定。
- π \pi π和 A A A决定状态序列;
- B B B决定观测序列;
因此,隐马尔可夫模型可以用三元符号表示,称为隐马尔可夫模型的三要素,即
λ
=
(
A
,
B
,
π
)
\lambda=(A,B,\pi)
λ=(A,B,π)
-
状态转移矩阵 A A A和初始状态概率向量 π \pi π确定了隐藏的马尔可夫链,生成
不可观测
的状态序列。 -
观测概率矩阵 B B B确定了
如何从状态生成观测
,与状态序列综合确定了如何产生观测序列。
从定义可知,隐马尔可夫模型作了两个基本假设:
(1) 齐次马尔可夫决策,即假设隐藏的马尔可夫链在任意时刻 t t t的状态只依赖于前一时刻的状态,与其他时刻 t t t无关;
(2)观测独立性假设,即假设任意时刻的观测只依赖于该时刻的马尔可夫链的状态,与其他观测及其状态无关;
隐马尔可夫模型可以用于标注,这时状态对应着标记。标注问题
是给定观测的序列预测其对应的标记序列。可以假设标注问题的数据是由隐马尔可夫模型生成的。这样就可以利用隐马尔可夫模型的学习和预测算法进行标注。
例1:盒子和球的模型,假设有 4 4 4个盒子,每个盒子里都装有红色和白色两种颜色的球:
盒子号 | 1 | 2 | 3 | 4 |
---|---|---|---|---|
红球数 | 5 | 3 | 6 | 8 |
白球树 | 5 | 7 | 4 | 2 |
按照下面的方法抽球,产生一个球的颜色的观测序列:
- 开始,从 4 4 4个盒子里以等概率随机选取 1 1 1个盒子,从这个盒子里随机抽出 1 1 1个球,记录其颜色后,放回;
- 然后,从当前盒子随机转移到下一个盒子,规则是:如果当前的盒子是盒子 1 1 1,那么下一个盒子一定是盒子 2 2 2;如果当前是盒子 2 2 2或 3 3 3,那么分别以 0.4 0.4 0.4和 0.6 0.6 0.6的概率转移到左边或者右边的盒子;如果当前盒子是盒子 4 4 4,那么各以0.5的概率停留在盒子4或者转移到盒子 3 3 3;
- 确定转移的盒子后,再从这个盒子里随机抽出 1 1 1个球,记录其颜色,放回;
- 如此下去,重复进行 5 5 5次,得到一个球的颜色的观测序列:
O = ( R e d , R e d , W h i t e , W h i t e , R e d ) O=(Red,Red,White,White,Red) O=(Red,Red,White,White,Red)
在这个过程中,观察者只能观测到球的颜色的序列,观测不到球是从哪个盒子取出的,即观测不到盒子的序列。
在这个例子中有两个随机序列,一个是盒子的序列(状态序列),一个是球的颜色(观测序列)。盒子的序列是隐藏的,只有后者球的颜色是可观测的。根据所给条件,可以确定状态集合,序列长度以及模型的三要素。
盒子对应状态,状态的集合是:
Q
=
{
B
o
x
1
,
B
o
x
2
,
B
o
x
3
,
B
o
x
4
}
,
N
=
4
Q=\{Box1,Box2,Box3,Box4\},N=4
Q={Box1,Box2,Box3,Box4},N=4
球的颜色对应观测,观测的集合是:
V
=
{
R
e
d
,
W
h
i
t
e
}
,
M
=
2
V=\{Red,White\},M=2
V={Red,White},M=2
状态序列和观测序列长度为
T
=
5
T=5
T=5,重复进行了5次。
初始的概率分布为,即随机从4个盒子里抽取一个:
π
=
(
0.25
,
0.25
,
0.25
,
0.25
)
T
\pi=(0.25,0.25,0.25,0.25)^T
π=(0.25,0.25,0.25,0.25)T
状态转移概率分布为,横向和纵向分别表示盒子1234,一共有16种转移的可能:
A
=
[
0
1
0
0
0.4
0
0.6
0
0
0.4
0
0.6
0
0
0.5
0.5
]
\begin{aligned} A=\begin{bmatrix} 0 & 1 & 0 & 0 \\ 0.4 & 0 & 0.6 & 0 \\ 0 & 0.4 & 0 & 0.6 \\ 0 & 0 & 0.5 & 0.5 \\ \end{bmatrix} \end{aligned}
A=⎣⎢⎢⎡00.400100.4000.600.5000.60.5⎦⎥⎥⎤
观测概率分布为:
B
=
[
0.5
0.5
0.3
0.7
0.6
0.4
0.8
0.2
]
\begin{aligned} B=\begin{bmatrix} 0.5 & 0.5 \\ 0.3 & 0.7 \\ 0.6 & 0.4 \\ 0.8 & 0.2 \\ \end{bmatrix} \end{aligned}
B=⎣⎢⎢⎡0.50.30.60.80.50.70.40.2⎦⎥⎥⎤
1.1 隐马尔可夫模型的三个基本问题
隐马尔可夫模型有三个基本问题:
-
概率计算问题。给定模型 λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π)和观测序列 O = ( o 1 , . . . , o T ) O=(o_1,...,o_T) O=(o1,...,oT),计算在模型 λ \lambda λ下观测序列 O O O出现的概率 P ( O ∣ λ ) P(O|\lambda) P(O∣λ)。
-
学习问题。已知观测序列 O = ( o 1 , . . . , o T ) O=(o_1,...,o_T) O=(o1,...,oT),估计模型 λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π)的参数,使得该模型下观测序列的 P ( O ∣ λ ) P(O|\lambda) P(O∣λ)最大。即用极大似然估计的方法估计参数。
-
预测问题,也称为解码问题。已知模型 λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π)和观测序列 O = ( o 1 , . . . , o T ) O=(o_1,...,o_T) O=(o1,...,oT),求对给定观测序列条件概率 P ( O ∣ λ ) P(O|\lambda) P(O∣λ)最大的状态序列 I = { i 1 , . . . i T } I=\{i_1,...i_T\} I={i1,...iT}。即给定观测序列,求最有可能的对应的状态序列。
基本问题 已知 决策变量 目标 概率计算问题 模型 λ \lambda λ,观测序列 O O O 无 计算出 P ( O ∣ λ ) P(O\mid\lambda) P(O∣λ) 学习问题 观测序列 O O O 模型 λ \lambda λ的参数 m a x P ( O ∣ λ ) max\ P(O\mid\lambda) max P(O∣λ) 预测问题 模型 λ \lambda λ,观测序列 O O O 状态序列 I I I m a x P ( O ∣ λ ) max\ P(O\mid\lambda) max P(O∣λ)
三要素 | 矩阵内元素的含义 | 计算公式 |
---|---|---|
状态转概率矩阵 A A A | a i j a_{ij} aij是时刻 t t t处于状态 q i q_i qi的条件下在时刻 t + 1 t+1 t+1状态转移到状态 q j q_j qj的概率。 | a i j = P ( i t + 1 = q j ∣ i t = q i ) a_{ij}=P(i_{t+1}=q_j\mid i_t=q_i) aij=P(it+1=qj∣it=qi) |
观测概率矩阵 B B B | b i j b_{ij} bij是时刻 t t t处于状态 q j q_j qj的条件下生成观测 v k v_k vk的概率。 | b i j = P ( o t = v k ∣ i t = q j ) b_{ij}=P(o_{t}=v_k\mid i_t=q_j) bij=P(ot=vk∣it=qj) |
初始状态概率向量 π \pi π | π i \pi_{i} πi是时刻 t = 1 t=1 t=1时处于状态 q i q_i qi的概率。 | π i = P ( i 1 = q 1 ) \pi_i=P(i_1=q_1) πi=P(i1=q1) |
2.概率计算方法
主要包括观测序列概率 P ( O ∣ λ ) P(O|\lambda) P(O∣λ)的前向和后向算法。
2.1 直接计算法
状态序列
I
=
(
i
1
,
i
2
,
.
.
.
,
i
T
)
I=(i_1,i_2,...,i_T)
I=(i1,i2,...,iT)的概率是,从初始概率
π
\pi
π出发,依次转移相乘直到最后一个状态:
P
(
I
∣
λ
)
=
π
i
1
a
i
1
i
2
a
i
2
i
3
.
.
.
a
i
T
−
1
i
T
P(I|\lambda)=\pi_{i_1}a_{i_1i_2}a_{i_2i_3}...a_{i_{T-1}i_{T}}
P(I∣λ)=πi1ai1i2ai2i3...aiT−1iT
对固定的状态序列
I
=
(
i
1
,
i
2
,
.
.
.
,
i
T
)
I=(i_1,i_2,...,i_T)
I=(i1,i2,...,iT),观测序列
O
=
(
o
1
,
o
2
,
.
.
.
,
o
T
)
O=(o_1,o_2,...,o_T)
O=(o1,o2,...,oT)的概率是:
P
(
O
∣
I
,
λ
)
=
P
(
O
1
∣
I
1
,
λ
)
P
(
O
2
∣
I
2
,
λ
)
.
.
.
P
(
O
T
∣
I
T
,
λ
)
=
b
i
1
(
o
1
)
b
i
2
(
o
2
)
.
.
.
b
i
T
(
o
T
)
P(O|I,\lambda)=P(O_1|I_1,\lambda)P(O_2|I_2,\lambda)...P(O_T|I_T,\lambda)=b_{i_1}(o_1)b_{i_2}(o_2)...b_{i_T}(o_T)
P(O∣I,λ)=P(O1∣I1,λ)P(O2∣I2,λ)...P(OT∣IT,λ)=bi1(o1)bi2(o2)...biT(oT)
P ( O ∣ I , λ ) P(O|I,\lambda) P(O∣I,λ)中 O O O和 I I I有关,是从某状态 I I I下观测到状态 O O O的概率,有 T T T个。而 P ( I ∣ λ ) P(I|\lambda) P(I∣λ)是状态之间的转移过程,有 T − 1 T-1 T−1个,只和下一个状态有关,表现为转移状态的乘积。
O
O
O和
I
I
I同时出现的联合概率为:
P
(
O
,
I
∣
λ
)
=
P
(
O
∣
I
,
λ
)
P
(
I
∣
λ
)
=
π
i
1
a
i
1
i
2
a
i
2
i
3
.
.
.
a
i
T
−
1
i
T
×
b
i
1
(
o
1
)
b
i
2
(
o
2
)
.
.
.
b
i
T
(
o
T
)
=
π
i
1
b
i
1
(
o
1
)
a
i
1
i
2
b
i
2
(
o
2
)
a
i
2
i
3
.
.
.
a
i
T
−
1
i
T
b
i
T
(
o
T
)
\begin{aligned} P(O,I|\lambda)&=P(O|I,\lambda)P(I|\lambda) \\ &=\pi_{i_1}a_{i_1i_2}a_{i_2i_3}...a_{i_{T-1}i_{T}}\times b_{i_1}(o_1)b_{i_2}(o_2)...b_{i_T}(o_T) \\ &=\pi_{i_1}b_{i_1}(o_1)a_{i_1i_2}b_{i_2}(o_2)a_{i_2i_3}...a_{i_{T-1}i_{T}}b_{i_T}(o_T) \end{aligned}
P(O,I∣λ)=P(O∣I,λ)P(I∣λ)=πi1ai1i2ai2i3...aiT−1iT×bi1(o1)bi2(o2)...biT(oT)=πi1bi1(o1)ai1i2bi2(o2)ai2i3...aiT−1iTbiT(oT)
然后,对所有可能的状态序列
I
I
I求和,得到观测序列
O
O
O的概率
P
(
O
∣
λ
)
P(O|\lambda)
P(O∣λ),即:
P
(
O
,
I
∣
λ
)
=
∑
I
P
(
O
∣
I
,
λ
)
P
(
I
∣
λ
)
=
∑
i
1
,
.
.
.
,
i
T
π
i
1
b
i
1
(
o
1
)
a
i
1
i
2
b
i
2
(
o
2
)
a
i
2
i
3
.
.
.
a
i
T
−
1
i
T
b
i
T
(
o
T
)
\begin{aligned} P(O,I|\lambda)&=\sum_IP(O|I,\lambda)P(I|\lambda) \\ &=\sum_{i_1,...,i_T}\pi_{i_1}b_{i_1}(o_1)a_{i_1i_2}b_{i_2}(o_2)a_{i_2i_3}...a_{i_{T-1}i_{T}}b_{i_T}(o_T) \end{aligned}
P(O,I∣λ)=I∑P(O∣I,λ)P(I∣λ)=i1,...,iT∑πi1bi1(o1)ai1i2bi2(o2)ai2i3...aiT−1iTbiT(oT)
2.2 前向算法
前向概率:给定隐马尔可夫模型 λ \lambda λ,定义到时刻 t t t部分观测序列为 o 1 , . . . , o t o_1,...,o_t o1,...,ot且状态为 q i q_i qi的概率为前向概率,即为
α i = P ( o 1 , o 2 , . . . , o t , i t = q i ∣ λ ) \alpha_i=P(o_1,o_2,...,o_t,i_t=q_i|\lambda) αi=P(o1,o2,...,ot,it=qi∣λ)
可以递推地求得前向概率 α t ( i ) \alpha_t(i) αt(i)及观测序列 P ( O ∣ λ ) P(O|\lambda) P(O∣λ)。
算法:观测序列的前向算法
输入:隐马尔可夫模型 λ \lambda λ,观测序列 O O O;
输出:观测序列概率 P ( O ∣ λ ) P(O|\lambda) P(O∣λ)
(1)初值,表示初始时刻的状态
i
1
=
q
i
i_1=q_i
i1=qi和观测
o
1
o_1
o1的联合概率
α
1
(
i
)
=
π
i
b
i
(
o
i
)
\alpha_1(i)=\pi_ib_i(o_i)
α1(i)=πibi(oi)
(2)递推,对
t
=
1
,
2
,
.
.
.
,
T
−
1
t=1,2,...,T-1
t=1,2,...,T−1,计算到时刻
t
+
1
t+1
t+1部分观测序列为
o
1
,
o
2
,
.
.
.
,
o
t
,
o
t
+
1
o_1,o_2,...,o_t,o_{t+1}
o1,o2,...,ot,ot+1且在时刻
t
+
1
t+1
t+1处于状态
q
i
q_i
qi的前向概率。
- α t ( j ) \alpha_t(j) αt(j)是到时刻 t t t观察到 o 1 , . . . , o t o_1,...,o_t o1,...,ot并在时刻 t t t处于状态 q j q_j qj的前向概率
- α t ( j ) a j i \alpha_t(j)a_{ji} αt(j)aji是到时刻 t t t观察到 o 1 , . . . , o t o_1,...,o_t o1,...,ot并在时刻 t t t处于状态 q j q_j qj的前向概率而在时刻 t + 1 t+1 t+1到达状态 q i q_i qi的联合概率
- ∑ j = 1 N α t ( j ) a j i ] b i ( o t + 1 ) \sum_{j=1}^N\alpha_t(j)a_{ji}]b_i(o_{t+1}) ∑j=1Nαt(j)aji]bi(ot+1)即时刻 t + 1 t+1 t+1观测到 o 1 , . . . , o t + 1 o_1,...,o_{t+1} o1,...,ot+1并在时刻 t + 1 t+1 t+1处于状态 q i q_i qi的前向概率 α t + 1 ( i ) \alpha_{t+1}(i) αt+1(i)
α t + 1 = [ ∑ j = 1 N α t ( j ) a j i ] b i ( o t + 1 ) = [ α t ( 1 ) a 1 i + α t ( 2 ) a 2 i + . . . + α t ( N ) a N i ] b i ( o t + 1 ) \begin{aligned} \alpha_{t+1}&=[\sum_{j=1}^N\alpha_t(j)a_{ji}]b_i(o_{t+1}) \\ &=[\alpha_t(1)a_{1i}+\alpha_t(2)a_{2i}+...+\alpha_t(N)a_{Ni}]b_i(o_{t+1}) \\ \end{aligned} αt+1=[j=1∑Nαt(j)aji]bi(ot+1)=[αt(1)a1i+αt(2)a2i+...+αt(N)aNi]bi(ot+1)
(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)
例2 考虑盒子和球模型
λ
=
(
A
,
B
,
π
)
\lambda=(A,B,\pi)
λ=(A,B,π),状态集合
Q
=
{
1
,
2
,
3
}
Q=\{1,2,3\}
Q={1,2,3},观测集合
V
=
{
R
e
d
,
W
h
i
t
e
}
V=\{Red,White\}
V={Red,White}
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
]
,
π
=
[
0.2
0.4
0.4
]
\begin{aligned} 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}, \pi=\begin{bmatrix} 0.2 \\ 0.4 \\ 0.4 \\ \end{bmatrix} \end{aligned}
A=⎣⎡0.50.30.20.20.50.30.30.20.5⎦⎤,B=⎣⎡0.50.40.70.50.60.3⎦⎤,π=⎣⎡0.20.40.4⎦⎤
设
T
=
3
T=3
T=3,
O
=
(
R
e
d
,
W
h
i
t
e
,
W
h
i
t
e
)
O=(Red,White,White)
O=(Red,White,White),试用前向算法计算
P
(
O
∣
λ
)
P(O|\lambda)
P(O∣λ)
简单理解一下这三个矩阵的含义, A A A表示转移概率,一共有三个状态,因此分别对应三个状态转移到三个状态的概率,因此一共有9种可能, B B B矩阵表示观测概率,一共有两个观测状态,白球和红球,也就是每一行表示从当前状态 1 1 1下,观测到红球和白球的概率分别为 0.5 和 0.5 0.5和0.5 0.5和0.5,一共有三个状态,因此共有6个元素,而 π \pi π表示状态概率向量,分别表示处于状态 1 , 2 , 3 1,2,3 1,2,3的概率,共有3个元素。
(1)计算初值
α
1
(
1
)
=
π
1
b
1
(
o
1
)
=
0.2
×
0.5
=
0.1
α
1
(
2
)
=
π
2
b
2
(
o
1
)
=
0.4
×
0.4
=
0.16
α
1
(
3
)
=
π
3
b
3
(
o
1
)
=
0.4
×
0.7
=
0.28
(
2
)
\alpha_1(1)=\pi_1b_1(o_1)=0.2 \times 0.5=0.1 \\ \alpha_1(2)=\pi_2b_2(o_1)=0.4 \times 0.4=0.16 \\ \alpha_1(3)=\pi_3b_3(o_1)=0.4 \times 0.7=0.28 \\(2)
α1(1)=π1b1(o1)=0.2×0.5=0.1α1(2)=π2b2(o1)=0.4×0.4=0.16α1(3)=π3b3(o1)=0.4×0.7=0.28(2)
(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.154
×
0.5
=
0.077
α
2
(
2
)
=
[
∑
i
=
1
3
α
1
(
i
)
a
i
1
]
b
1
(
o
2
)
=
0.1104
α
2
(
3
)
=
[
∑
i
=
1
3
α
1
(
i
)
a
i
1
]
b
1
(
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
1
]
b
1
(
o
3
)
=
0.03551
α
3
(
3
)
=
[
∑
i
=
1
3
α
2
(
i
)
a
i
1
]
b
1
(
o
3
)
=
0.05284
\alpha_2(1)=[\sum_{i=1}^3\alpha_1(i)a_{i1}]b_1(o_{2})=0.1\times 0.5+0.16\times 0.3+0.28\times 0.2=0.154\times 0.5=0.077 \\ \alpha_2(2)=[\sum_{i=1}^3\alpha_1(i)a_{i1}]b_1(o_{2}) =0.1104\\ \alpha_2(3)=[\sum_{i=1}^3\alpha_1(i)a_{i1}]b_1(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_{i1}]b_1(o_{3}) =0.03551\\ \alpha_3(3)=[\sum_{i=1}^3\alpha_2(i)a_{i1}]b_1(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.154×0.5=0.077α2(2)=[i=1∑3α1(i)ai1]b1(o2)=0.1104α2(3)=[i=1∑3α1(i)ai1]b1(o2)=0.0606α3(1)=[i=1∑3α2(i)ai1]b1(o3)=0.04187α3(2)=[i=1∑3α2(i)ai1]b1(o3)=0.03551α3(3)=[i=1∑3α2(i)ai1]b1(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