1、什么是HMM:
先来看一个例子:假设有4个盒子,每个盒子里面都装有红白两种颜色的球,盒子里面的红白球有下表给出:
盒子 | 1 | 2 | 3 | 4 |
---|---|---|---|---|
红球数 | 5 | 3 | 6 | 8 |
白球数 | 5 | 7 | 4 | 2 |
按照下面的方法抽球,产生一个球的颜色的随机序列:开始,从4个盒子里以等概率随机选取一个盒子,从这个盒子里随机抽出一个球,记录其颜色,放回;然后,从当前盒子随机转移到下一个盒子,规则是:如果当前盒子是盒子1,那么下一个盒子一定是盒子2,如果当前盒子是盒子2或者3,那么分别以概率0.4和0.6转移到左边或者右边盒子,如果当前盒子是4,那么各以0.5概率停留在盒子4或者转移到盒子3;确定转移盒子之后,再从这个盒子随机抽出一个球,记录其颜色,放回;如此下去,重复进行5次,得到一个球颜色的观测序列:
O={红,红,白,白,红}
O
=
{
红
,
红
,
白
,
白
,
红
}
在这个过程中,观察者只能观测到球的颜色序列,观测不到球是从哪个盒子取出的,即观测不到盒子的序列。
在这个例子中有两个随机序列,一个是盒子的序列(状态序列),一个是球颜色序列(观测序列)。前者是隐藏的,只有后者是可以观测的。这是一个隐马尔科夫的例子。根据所给条件,可以明确状态集合、观测集合、序列长度。
盒子对应状态,盒子的状态集合是:
Q={盒子1,盒子2,盒子3,盒子4},N=4
Q
=
{
盒
子
1
,
盒
子
2
,
盒
子
3
,
盒
子
4
}
,
N
=
4
球的颜色对应观测,观测集合是:
V={红,白},M=2
V
=
{
红
,
白
}
,
M
=
2
状态序列和观测序列长度T=5
初始概率分布为(从四个盒子选一个盒子的概率):
π=(0.25,0.25,0.25,0.25)T
π
=
(
0.25
,
0.25
,
0.25
,
0.25
)
T
状态转移概率分布为( A[i][j] A [ i ] [ j ] 表示当前是第 i i 个盒子,下一个盒子是个盒子的概率):
A=⎡⎣⎢⎢⎢00.400100.4000.600.5000.60.5⎤⎦⎥⎥⎥
A
=
[
0
1
0
0
0.4
0
0.6
0
0
0.4
0
0.6
0
0
0.5
0.5
]
观测概率分布为( B[i][j] B [ i ] [ j ] 表示第 i i 个盒子下选择第种颜色球的概率):
B=⎡⎣⎢⎢⎢0.50.30.60.80.50.70.40.2⎤⎦⎥⎥⎥
B
=
[
0.5
0.5
0.3
0.7
0.6
0.4
0.8
0.2
]
HMM H M M 的定义:
隐马尔科夫模型是关于时序的概率模型,描述一个隐藏的马尔科夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。隐马尔科夫模型由初始概率分布、状态转移概率分布以及观测概率分布确定,隐马尔科夫模型的形式定义如下:
设 Q Q 是所有可能的状态的集合,是所有可能的观测的集合:
Q={q1,q2,...,qN}V={v1,v2,...,vM}
Q
=
{
q
1
,
q
2
,
.
.
.
,
q
N
}
V
=
{
v
1
,
v
2
,
.
.
.
,
v
M
}
其中 N N 是可能的状态数,是可能的观测数。
I I 是长度为的状态序列, O O 是对应的观测序列:
A A 是状态转移概率矩阵:
其中
aij=P(it+1=qj|it=qi),i=1,2,3,..,N,j=1,2,...,N
a
i
j
=
P
(
i
t
+
1
=
q
j
|
i
t
=
q
i
)
,
i
=
1
,
2
,
3
,
.
.
,
N
,
j
=
1
,
2
,
.
.
.
,
N
是在时刻 t t 处于的条件下时刻 t+1 t + 1 转移到 qj q j 的概率.
B B 是观测概率矩阵:
其中
bj(k)=P(ot=vk|it=qj),k=1,2,...,M,j=1,2,...,N
b
j
(
k
)
=
P
(
o
t
=
v
k
|
i
t
=
q
j
)
,
k
=
1
,
2
,
.
.
.
,
M
,
j
=
1
,
2
,
.
.
.
,
N
是在时刻 t t 处于状态的条件下生成观测 vk v k 的概率.
π π 是初始状态概率向量:
π=(πi)
π
=
(
π
i
)
其中
πi=P(i1=qi),i=1,2,...,N
π
i
=
P
(
i
1
=
q
i
)
,
i
=
1
,
2
,
.
.
.
,
N
是时刻 t=1 t = 1 处于状态 qi q i 的概率。
隐马尔科夫模型由初始概率向量 π π 、状态转移概率矩阵 A A 和观测概率矩阵决定。 π π 和 A A 决定状态序列,决定观测序列。因此,隐马尔科夫模型 λ λ 可以用三元符号表示:
λ=(A,B,π)
λ
=
(
A
,
B
,
π
)
A,B,λ A , B , λ 称为隐马尔科夫模型的三要素。
隐马尔科夫模型可以用于标注,这时状态对应标记。标注问题是给定观测的序列预测其对应的标记序列,可以假设标注问题的数据是由隐马尔科夫模型生成的。
2、隐马尔科夫模型的三个基本问题:
(1)概率计算问题:给定模型 λ=(A,B,π) λ = ( A , B , π ) 和观测序列 O={o1,o2,...,oT} O = { o 1 , o 2 , . . . , o T } ,计算在模型 λ λ 下观测序列 O O 出现的概率.
(2)学习问题:已知观测序列 O={o1,o2,...,oT} O = { o 1 , o 2 , . . . , o T } ,估计模型 λ=(A,B,π) λ = ( A , B , π ) 的参数,使得在该模型下观测序列的概率 P(O|λ) P ( O | λ ) 最大。即用最大似然估计的方法估计参宿。
(3)预测问题,也称为解码问题。已知模型 λ=(A,B,π) λ = ( A , B , π ) 和观测序列 O={o1,o2,...,oT} O = { o 1 , o 2 , . . . , o T } ,求对给定观测序列条件概率 P(I|O) P ( I | O ) 最大的状态序列 I=(i1,i2,...,iT) I = ( i 1 , i 2 , . . . , i T ) ,即给定观测序列,求最有可能对应的状态序列。
3、概率计算问题:待续。。
4、学习问题:待续。。
5、预测问题:待续。。