问题举例
假设我们有3个盒子,每个盒子里都有红 {MOD}和白 {MOD}两种球,这三个盒子里球的数量分别是:
盒子 |
1 |
2 |
3 |
红球数
5
4
7
白球数
5
6
3
按照下面的方法从盒子里抽球,开始的时候,从第一个盒子抽球的概率是0.2,从第二个盒子抽球的概率是0.4,从第三个盒子抽球的概率是0.4。以这个概率抽一次球后,将球放回。然后从当前盒子转移到下一个盒子进行抽球。规则是:如果当前抽球的盒子是第一个盒子,则以0.5的概率仍然留在第一个盒子继续抽球,以0.2的概率去第二个盒子抽球,以0.3的概率去第三个盒子抽球。如果当前抽球的盒子是第二个盒子,则以0.5的概率仍然留在第二个盒子继续抽球,以0.3的概率去第一个盒子抽球,以0.2的概率去第三个盒子抽球。如果当前抽球的盒子是第三个盒子,则以0.5的概率仍然留在第三个盒子继续抽球,以0.2的概率去第一个盒子抽球,以0.3的概率去第二个盒子抽球。如此下去,直到重复三次,得到一个球的颜 {MOD}的观测序列:O={红,白,红}
注意在这个过程中,观察者只能看到球的颜 {MOD}序列,却不能看到球是从哪个盒子里取出的。
我们的观察集合是:V={红,白},M=2
我们的状态集合是:Q={盒子1,盒子2,盒子3},N=3
而观察序列和状态序列的长度为3.
初始状态分布为:Π=(0.2,0.4,0.4)T
状态转移概率分布矩阵为:
A=⎛⎝⎜0.50.30.20.20.50.30.30.20.5⎞⎠⎟
观测状态概率矩阵为:
B=⎛⎝⎜0.50.40.70.50.60.3⎞⎠⎟
从上一节的例子,我们也可以抽象出HMM观测序列生成的过程。
输入的是HMM的模型λ=(A,B,Π),观测序列的长度T
输出是观测序列O={o1,o2,...oT}