隐马尔科夫模型(HMM)
1. HMM的数学定义
对于
i
=
1
,
2
,
⋯
,
n
i=1,2,\cdots,n
i=1,2,⋯,n时刻,HMM中有两组变量序列,用
x
=
{
x
1
,
x
2
,
⋯
,
x
n
}
,
x
i
∈
{
o
1
,
o
2
,
⋯
,
o
M
}
x=\{x_1,x_2,\cdots,x_n\},x_i\in \{o_1,o_2,\cdots,o_M\}
x={x1,x2,⋯,xn},xi∈{o1,o2,⋯,oM}表示观测序列(每个观测变量有
M
M
M个可能的取值),
y
=
{
y
1
,
y
2
,
⋯
,
y
n
}
,
y
i
∈
{
s
1
,
s
2
,
⋯
,
s
N
}
y=\{y_1,y_2,\cdots,y_n\},y_i\in\{s_1,s_2,\cdots,s_N\}
y={y1,y2,⋯,yn},yi∈{s1,s2,⋯,sN}(每个状态变量有
N
N
N个可能的取值)表示状态序列。
并且有如下假设:在任一时刻,观测变量的取值仅仅依赖于状态变量,即
x
t
x_t
xt仅由
y
t
y_t
yt决定;同时,
y
t
y_t
yt仅依赖于
y
t
−
1
y_{t-1}
yt−1,即状态变量序列是一个马尔科夫链。由此可以得到所有变量的联合概率分布为:
P
(
x
1
,
y
1
,
⋯
,
x
n
,
y
n
)
=
P
(
y
1
)
P
(
x
1
∣
y
1
)
∏
i
=
2
n
P
(
y
i
∣
y
i
−
1
)
P
(
x
i
∣
y
i
)
(1-1)
P(x_1,y_1,\cdots,x_n,y_n)=P(y_1)P(x_1|y_1)\prod_{i=2}^{n}P(y_i|y_{i-1})P(x_i|y_i)\\ \tag{1-1}
P(x1,y1,⋯,xn,yn)=P(y1)P(x1∣y1)i=2∏nP(yi∣yi−1)P(xi∣yi)(1-1)
要想确定一个HMM模型还需要如下三组参数:
- 状态转移概率矩阵: A = [ a i j ] N × N A=[a_{ij}]_{N\times N} A=[aij]N×N,其中 a i j = P ( y t + 1 = s j ∣ y t = s i ) , 1 ≤ i , j ≤ N a_{ij}=P(y_{t+1}=s_j|y_t=s_i),1\leq i,j\leq N aij=P(yt+1=sj∣yt=si),1≤i,j≤N
- 观测概率矩阵: B = [ b i j ] N × M B=[b_{ij}]_{N\times M} B=[bij]N×M,其中 b i j = P ( x t = o j ∣ y t = s i ) , 1 ≤ i ≤ N , 1 ≤ j ≤ M b_{ij}=P(x_t=o_j|y_t=s_i),1\leq i\leq N,1\leq j\leq M bij=P(xt=oj∣yt=si),1≤i≤N,1≤j≤M
- 初始状态概率向量: π = ( π 1 , π 2 , ⋯ , π N ) \pi=(\pi_1,\pi_2,\cdots,\pi_N) π=(π1,π2,⋯,πN),其中 π i = P ( y 1 = s i ) \pi_i=P(y_1=s_i) πi=P(y1=si)